.contact-page{
	--navy:#053651;
	--blue:#087fbd;
	--sky:#eaf6fb;
	--gold:#f4a62a;
	--ink:#102a3c;
	--muted:#5d7180;
	--line:#dce8ee;
	background:#f4f8fa;
	color:var(--ink);
	overflow-x:hidden;
}
.contact-hero{
	position:relative;
	overflow:hidden;
	padding:48px 0 108px;
	background:linear-gradient(120deg,#053651 0%,#07567d 55%,#087fbd 100%);
	color:#fff;
}
.contact-hero:before,
.contact-hero:after{
	content:"";
	position:absolute;
	border:1px solid rgba(255,255,255,.13);
	border-radius:50%;
}
.contact-hero:before{top:-255px;right:-110px;width:420px;height:420px}
.contact-hero:after{top:-190px;right:65px;width:270px;height:270px}
.contact-hero .container{position:relative;z-index:1}
.contact-hero__crumb{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:22px;
	color:rgba(255,255,255,.72);
	font-size:13px;
}
.contact-hero__crumb a{color:#fff;text-decoration:none}
.contact-hero__crumb a:hover{text-decoration:underline}
.contact-hero__eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-bottom:12px;
	color:#8edcff;
	font-size:12px;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.contact-page .contact-hero h1{
	max-width:720px;
	margin:0 0 12px;
	color:#fff;
	font-size:clamp(34px,4.4vw,56px);
	font-weight:800;
	line-height:1.08;
	letter-spacing:-.03em;
}
.contact-hero p{
	max-width:620px;
	margin:0;
	color:#d9edf7;
	font-size:17px;
	line-height:1.65;
}
.contact-shell{
	position:relative;
	z-index:2;
	margin-top:-72px;
	padding:0 0 72px;
}
.contact-layout{
	display:grid;
	grid-template-columns:minmax(280px,.86fr) minmax(0,1.2fr);
	gap:24px;
	align-items:start;
}
.contact-card{
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	box-shadow:0 20px 50px rgba(13,61,86,.1);
}
.contact-info{padding:28px 26px 24px}
.contact-info__title{
	margin:0 0 6px;
	color:var(--navy);
	font-size:22px;
	font-weight:800;
}
.contact-info__lead{
	margin:0 0 22px;
	color:var(--muted);
	font-size:15px;
	line-height:1.55;
}
.contact-info__list{
	display:grid;
	gap:14px;
	margin:0;
	padding:0;
	list-style:none;
}
.contact-info__item{
	display:flex;
	gap:14px;
	align-items:flex-start;
	padding:14px;
	border:1px solid #e7eef2;
	border-radius:14px;
	background:#f8fbfd;
}
.contact-info__icon{
	display:grid;
	flex:0 0 42px;
	place-items:center;
	width:42px;
	height:42px;
	border-radius:12px;
	background:var(--sky);
	color:var(--blue);
	font-size:16px;
}
.contact-info__item strong{
	display:block;
	margin-bottom:4px;
	color:var(--navy);
	font-size:13px;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
}
.contact-info__item a,
.contact-info__item span{
	display:block;
	color:#3f5866;
	font-size:15px;
	font-weight:600;
	line-height:1.45;
	text-decoration:none;
}
.contact-info__item a:hover{color:var(--blue)}
.contact-info__actions{
	display:grid;
	gap:10px;
	margin-top:18px;
}
.contact-chip{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:46px;
	border-radius:10px;
	font-size:14px;
	font-weight:800;
	text-decoration:none !important;
}
.contact-chip--wa{background:#25d366;color:#fff !important}
.contact-chip--wa:hover{background:#1ebe5d;color:#fff !important}
.contact-chip--call{background:var(--sky);color:var(--navy) !important}
.contact-chip--call:hover{background:#d7eef8;color:var(--navy) !important}
.contact-social{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:18px;
}
.contact-social a{
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	border:1px solid var(--line);
	border-radius:10px;
	background:#fff;
	color:var(--navy);
	text-decoration:none;
}
.contact-social a:hover{border-color:var(--blue);color:var(--blue)}
.contact-form-card{padding:30px 28px 26px}
.contact-form-card h2{
	margin:0 0 6px;
	color:var(--navy);
	font-size:26px;
	font-weight:800;
}
.contact-form-card > p{
	margin:0 0 22px;
	color:var(--muted);
	font-size:15px;
}
.contact-form-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:16px;
}
.contact-field--full{grid-column:1/-1}
.contact-field label{
	display:block;
	margin-bottom:7px;
	color:#183849;
	font-size:14px;
	font-weight:700;
}
.contact-field input,
.contact-field textarea{
	display:block;
	width:100%;
	min-height:50px;
	padding:12px 14px;
	border:1px solid #cbdce4;
	border-radius:10px;
	background:#fff;
	color:var(--ink);
	font:inherit;
	font-size:15px;
	outline:none;
	transition:border-color .2s,box-shadow .2s;
}
.contact-field textarea{min-height:140px;resize:vertical}
.contact-field input:focus,
.contact-field textarea:focus{
	border-color:var(--blue);
	box-shadow:0 0 0 4px rgba(8,127,189,.12);
}
.contact-error{
	display:block;
	min-height:16px;
	margin-top:4px;
	color:#b33f32;
	font-size:13px;
}
.contact-success{
	margin-bottom:18px;
	padding:14px 16px;
	border:1px solid #9cd8bd;
	border-radius:10px;
	background:#ebf9f2;
	color:#176547;
	font-size:15px;
	line-height:1.5;
}
.contact-success.is-error{
	border-color:#f0c2bc;
	background:#fdeeee;
	color:#9a2f24;
}
.contact-submit{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	width:100%;
	min-height:54px;
	margin-top:8px;
	border:0;
	border-radius:10px;
	background:linear-gradient(90deg,#087cad,#0b9bd1);
	box-shadow:0 11px 22px rgba(8,127,189,.22);
	color:#fff;
	font-size:15px;
	font-weight:800;
	letter-spacing:.03em;
	text-transform:uppercase;
	cursor:pointer;
}
.contact-submit:hover{color:#fff;filter:brightness(1.04)}
.contact-submit:disabled{cursor:wait;opacity:.7}
.contact-note{
	margin:12px 0 0;
	text-align:center;
	color:#607682;
	font-size:13px;
}
.contact-map{
	margin-top:24px;
	overflow:hidden;
	padding:10px;
	content-visibility:auto;
	contain-intrinsic-size:380px;
}
.contact-map iframe,
.contact-map img{
	display:block;
	width:100%;
	min-height:360px;
	border:0;
	border-radius:12px;
}
@media (max-width:991.98px){
	.contact-layout{grid-template-columns:1fr}
	.contact-hero{padding:40px 0 92px}
	.contact-shell{margin-top:-56px}
}
@media (max-width:767.98px){
	.contact-form-grid{grid-template-columns:1fr}
	.contact-field--full{grid-column:auto}
	.contact-form-card,
	.contact-info{padding:22px 18px}
	.contact-page .contact-hero h1{font-size:34px}
}
