/* ===== Contact page ===== */.ct-hero {	position: relative;	overflow: hidden;	background: linear-gradient(135deg, #5fd0ad 0%, #8ee6cb 55%, #c3f3e3 100%);	padding: 48px 0 44px;	color: #fff;}.ct-hero::after {	content: "";	position: absolute;	right: -100px;	bottom: -160px;	width: 420px;	height: 420px;	border-radius: 50%;	background: rgba(255, 255, 255, .16);	pointer-events: none;}.ct-hero-inner {	position: relative;	z-index: 1;	display: flex;	flex-wrap: wrap;	align-items: flex-end;	justify-content: space-between;	gap: 24px;}.ct-hero-inner > div:first-child {	flex: 1 1 520px;	max-width: 680px;}.ct-eyebrow {	display: inline-flex;	align-items: center;	gap: 8px;	font-size: 13px;	padding: 5px 12px;	border-radius: 999px;	background: rgba(255, 255, 255, .25);	margin-bottom: 12px;}.ct-hero h2 {	color: #fff;	font-size: 34px;	font-weight: 700;	line-height: 1.3;	margin: 0 0 8px;	letter-spacing: 0;}.ct-hero p {	margin: 0;	font-size: 16px;	line-height: 1.7;	color: rgba(255, 255, 255, .95);}.ct-hero-actions {	display: flex;	flex-wrap: wrap;	gap: 10px;}.ct-hero-btn {	display: inline-flex;	align-items: center;	gap: 8px;	padding: 13px 22px;	border-radius: 999px;	font-size: 16px;	font-weight: 600;	text-decoration: none !important;	transition: transform .2s, box-shadow .2s;}.ct-hero-btn:hover {	transform: translateY(-2px);}.ct-hero-btn.is-line {	background: #06c755;	color: #fff !important;	box-shadow: 0 8px 20px rgba(6, 199, 85, .35);}.ct-hero-btn.is-line i {	font-size: 20px;}.ct-hero-btn.is-call {	background: #fff;	color: #238a6a !important;	box-shadow: 0 8px 20px rgba(20, 90, 70, .15);}.ct-section {	background: #f6f8f7;	padding: 36px 0 60px;}.ct-grid {	display: grid;	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));	gap: 16px;}.ct-card {	--ct-color: #3fb892;	--ct-soft: #e9f9f3;	position: relative;	display: flex;	flex-direction: column;	padding: 22px;	background: #fff;	border-radius: 20px;	box-shadow: 0 1px 2px rgba(20, 60, 50, .06), 0 4px 16px rgba(20, 60, 50, .06);	border-top: 4px solid var(--ct-color);	transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s;}.ct-card:hover {	transform: translateY(-4px);	box-shadow: 0 6px 12px rgba(20, 60, 50, .08), 0 16px 36px rgba(20, 60, 50, .12);}.ct-card.is-line { --ct-color: #06c755; --ct-soft: #e6f9ee; }.ct-card.is-mail { --ct-color: #ff8a3d; --ct-soft: #fff1e8; }.ct-card.is-fb { --ct-color: #1877f2; --ct-soft: #e8f1fe; }.ct-card.is-map { --ct-color: #e0322b; --ct-soft: #fdecea; }.ct-icon {	width: 52px;	height: 52px;	border-radius: 16px;	display: flex;	align-items: center;	justify-content: center;	background: var(--ct-soft);	color: var(--ct-color);	font-size: 22px;	margin-bottom: 14px;	transition: transform .3s;}.ct-card.is-line .ct-icon {	font-size: 28px;}.ct-card:hover .ct-icon {	transform: rotate(-8deg) scale(1.08);}.ct-card h3 {	font-size: 18px;	font-weight: 700;	color: #1f2d2a;	margin: 0 0 8px;	letter-spacing: 0;	text-transform: none;}.ct-values {	list-style: none;	margin: 0 0 16px;	padding: 0;}.ct-values li {	display: flex;	align-items: center;	justify-content: space-between;	gap: 8px;	padding: 4px 0;}.ct-values a {	font-size: 17px;	font-weight: 600;	color: #1f2d2a !important;	text-decoration: none !important;	overflow-wrap: anywhere;}.ct-values a:hover {	color: var(--ct-color) !important;}.ct-copy {	flex: 0 0 auto;	width: 34px;	height: 34px;	border-radius: 10px;	border: 1px solid #e6ecea;	background: #fff;	color: #6b7a76;	cursor: pointer;	transition: background-color .2s, color .2s, border-color .2s;}.ct-copy:hover {	background: var(--ct-soft);	color: var(--ct-color);	border-color: var(--ct-color);}.ct-address {	font-size: 15px;	line-height: 1.7;	color: #33423e;	margin: 0 0 16px;}.ct-action {	margin-top: auto;	display: inline-flex;	align-items: center;	justify-content: space-between;	padding: 11px 16px;	border-radius: 12px;	background: var(--ct-soft);	color: var(--ct-color) !important;	font-weight: 600;	font-size: 15px;	text-decoration: none !important;	transition: background-color .2s, color .2s;}.ct-action i {	transition: transform .2s;}.ct-action:hover {	background: var(--ct-color);	color: #fff !important;}.ct-action:hover i {	transform: translateX(4px);}.ct-toast {	position: fixed;	left: 50%;	bottom: 24px;	z-index: 10000;	transform: translate(-50%, 20px);	opacity: 0;	pointer-events: none;	padding: 10px 18px;	border-radius: 999px;	background: #1f2d2a;	color: #fff;	font-size: 14px;	transition: opacity .25s, transform .25s;}.ct-toast.is-show {	opacity: 1;	transform: translate(-50%, 0);}.ct-brief {	margin-top: 28px;	padding: 26px;	background: #fff;	border-radius: 20px;	box-shadow: 0 1px 2px rgba(20, 60, 50, .06), 0 4px 16px rgba(20, 60, 50, .06);}.ct-brief-head {	display: flex;	gap: 14px;	align-items: flex-start;	margin-bottom: 18px;}.ct-brief-icon {	flex: 0 0 auto;	width: 46px;	height: 46px;	border-radius: 14px;	display: flex;	align-items: center;	justify-content: center;	background: #e9f9f3;	color: #3fb892;	font-size: 20px;}.ct-brief h3 {	font-size: 20px;	font-weight: 700;	color: #1f2d2a;	margin: 0 0 4px;	line-height: 1.4;	letter-spacing: 0;	text-transform: none;}.ct-brief-head p {	margin: 0;	color: #6b7a76;	font-size: 15px;}.ct-brief-list {	list-style: none;	counter-reset: brief;	margin: 0;	padding: 0;	display: grid;	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));	gap: 12px;}.ct-brief-list li {	counter-increment: brief;	position: relative;	padding: 14px 14px 14px 52px;	border: 1px solid #eef2f1;	border-radius: 14px;	display: flex;	flex-direction: column;	gap: 2px;}.ct-brief-list li::before {	content: counter(brief);	position: absolute;	left: 14px;	top: 14px;	width: 26px;	height: 26px;	border-radius: 50%;	background: #3fb892;	color: #fff;	font-size: 13px;	font-weight: 700;	display: flex;	align-items: center;	justify-content: center;}.ct-brief-list strong {	font-size: 15px;	color: #1f2d2a;}.ct-brief-list span {	font-size: 13.5px;	line-height: 1.55;	color: #6b7a76;}.ct-privacy {	margin: 18px 0 0;	font-size: 13px;	color: #6b7a76;	text-align: center;}.ct-privacy a {	color: #238a6a;	text-decoration: underline;}@media (max-width: 767px) {	.ct-hero {		padding: 30px 0 28px;	}	.ct-hero h2 {		font-size: 26px;	}	.ct-hero p {		font-size: 15px;	}	.ct-hero-actions {		width: 100%;	}	.ct-hero-btn {		flex: 1 1 0;		justify-content: center;	}	.ct-section {		padding: 20px 0 40px;	}	.ct-grid {		grid-template-columns: minmax(0, 1fr);		gap: 12px;	}	.ct-card {		padding: 18px;	}	.ct-brief {		padding: 18px;	}}@media (prefers-reduced-motion: reduce) {	.ct-card,	.ct-icon,	.ct-hero-btn,	.ct-action i {		transition: none;	}}