.contact-page { min-height:100vh; background:#f5f7fb; }
.contact-header { position:absolute; }
.main-nav a.active:not(.nav-cta) { color:#18224b; }
.main-nav a.active:not(.nav-cta)::after { right:0; }
.contact-hero { position:relative; padding:158px max(6vw,36px) 72px; display:flex; align-items:flex-end; justify-content:space-between; gap:48px; overflow:hidden; background:linear-gradient(rgba(255,255,255,.72) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.72) 1px,transparent 1px),radial-gradient(circle at 88% 8%,#dbf8f3 0,transparent 30%),radial-gradient(circle at 8% 90%,#eae4ff 0,transparent 28%),linear-gradient(145deg,#fcfdff,#f4f9f8); background-size:44px 44px,44px 44px,auto,auto,auto; }
.contact-hero-copy { max-width:820px; }
.contact-hero h1 { margin:20px 0 18px; font-size:clamp(58px,7vw,92px); line-height:.93; letter-spacing:-.07em; }
.contact-hero h1 span { color:transparent; background:linear-gradient(100deg,#ff4b65,#6b38cb 56%,#008fd6); -webkit-background-clip:text; background-clip:text; }
.contact-hero p { max-width:720px; margin:0; color:#596482; font-size:17px; line-height:1.75; }
.contact-promise { width:min(350px,100%); padding:20px; display:flex; align-items:flex-start; gap:13px; border:1px solid rgba(255,255,255,.95); border-radius:20px; background:rgba(255,255,255,.8); box-shadow:0 18px 45px rgba(33,42,97,.09); backdrop-filter:blur(14px); }
.contact-promise>span { width:44px; height:44px; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; color:white; background:linear-gradient(135deg,#087d68,#14b8a0); font-size:18px; font-weight:900; }
.contact-promise b,.contact-promise small { display:block; }
.contact-promise b { margin:2px 0 6px; color:#1f294d; font-size:13px; }
.contact-promise small { color:#65708d; font-size:11px; line-height:1.55; }
.contact-shell { max-width:1240px; margin:45px auto 64px; padding:0 24px; display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:22px; align-items:start; }
.contact-info,.contact-form-card { border:1px solid #dfe3ee; border-radius:26px; background:#fff; box-shadow:0 18px 48px rgba(27,37,86,.07); }
.contact-info { padding:34px; position:sticky; top:24px; }
.contact-kicker,.contact-form-heading span { color:#087d68; font-size:9px; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.contact-info h2 { margin:10px 0 9px; font-size:31px; letter-spacing:-.045em; }
.contact-info>p { margin:0; color:#75809a; font-size:12px; line-height:1.65; }
.contact-reasons { margin-top:27px; display:grid; gap:9px; }
.contact-reasons>div { padding:13px; display:flex; align-items:flex-start; gap:12px; border:1px solid #e2e5ee; border-radius:14px; background:#fafbfe; }
.contact-reasons>div>span { width:31px; height:31px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:#5f49b7; background:#eeeafd; font-size:9px; font-weight:900; }
.contact-reasons b,.contact-reasons small { display:block; }
.contact-reasons b { margin:1px 0 4px; color:#263151; font-size:11px; }
.contact-reasons small { color:#7a849e; font-size:9px; line-height:1.5; }
.contact-email-card { margin-top:18px; padding:15px; display:flex; gap:12px; border:1px solid #bee7d8; border-radius:15px; background:#effbf6; }
.contact-email-card>span { width:35px; height:35px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:white; background:#0a9874; font-size:16px; font-weight:900; }
.contact-email-card b,.contact-email-card a,.contact-email-card small { display:block; }
.contact-email-card b { margin:0 0 3px; color:#184d3e; font-size:10px; }
.contact-email-card a { color:#087d68; font-size:11px; font-weight:900; overflow-wrap:anywhere; }
.contact-email-card small { margin-top:4px; color:#668279; font-size:8px; }
.contact-form-card { padding:34px; }
.contact-form-heading { margin-bottom:27px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.contact-form-heading h2 { margin:7px 0 0; font-size:27px; letter-spacing:-.04em; }
.contact-form-heading>b { padding:7px 10px; border-radius:999px; color:#087b55; background:#e8f9f2; font-size:9px; white-space:nowrap; }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.contact-field { min-width:0; margin-bottom:15px; }
.contact-field label { margin:0 0 8px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#4f5a78; font-size:11px; font-weight:900; }
.contact-field label>span { color:#d64057; }
.contact-field label small { color:#8a93aa; font-size:8px; font-weight:700; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; min-height:50px; padding:0 14px; border:1px solid #d8dce8; border-radius:12px; outline:0; color:#1b2550; background:#fff; font:700 12px/1.45 Inter,Arial,sans-serif; }
.contact-field textarea { min-height:180px; padding:14px; resize:vertical; line-height:1.65; font-weight:600; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:#5e48bd; box-shadow:0 0 0 3px rgba(94,72,189,.09); }
.contact-field input.invalid,.contact-field select.invalid,.contact-field textarea.invalid { border-color:#d94c61; box-shadow:0 0 0 3px rgba(217,76,97,.08); }
.message-meta { margin-top:7px; display:flex; justify-content:space-between; gap:10px; color:#8a93aa; font-size:8px; }
.contact-consent { margin:3px 0 20px; display:flex; align-items:flex-start; gap:10px; color:#6f7995; font-size:9px; line-height:1.55; cursor:pointer; }
.contact-consent input { margin-top:2px; accent-color:#5f48b8; }
.contact-submit { min-height:52px; padding:0 21px; display:inline-flex; align-items:center; justify-content:center; gap:15px; border:0; border-radius:13px; color:#fff; background:linear-gradient(110deg,#15235d,#6040bd 65%,#078ea8); box-shadow:0 12px 25px rgba(60,49,154,.18); cursor:pointer; font-size:11px; font-weight:900; }
.contact-submit:disabled { cursor:wait; opacity:.58; box-shadow:none; }
.contact-status { min-height:20px; margin-top:14px; color:#68728e; font-size:10px; line-height:1.55; }
.contact-status.success { padding:13px; border:1px solid #bee7d8; border-radius:12px; color:#176049; background:#effbf6; }
.contact-status.error { padding:13px; border:1px solid #efc5cc; border-radius:12px; color:#a33145; background:#fff3f5; }
.contact-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-footer { margin-top:58px; }
@media (max-width:980px) { .contact-hero { align-items:flex-start; flex-direction:column; } .contact-promise { width:100%; } .contact-shell { grid-template-columns:1fr; } .contact-info { position:static; } }
@media (max-width:680px) { .contact-hero { padding:128px 18px 50px; gap:28px; } .contact-hero h1 { font-size:54px; } .contact-hero p { font-size:14px; } .contact-shell { margin-top:26px; padding:0 12px; } .contact-info,.contact-form-card { padding:21px; border-radius:21px; } .contact-grid { grid-template-columns:1fr; gap:0; } .contact-submit { width:100%; } .message-meta { flex-direction:column; } }
