.page-contact { background:#eef6f7; }
.page-contact .contact-scroll-scene { position:relative; z-index:2; height:250svh; }
.page-contact .contact-stage { position:sticky; top:0; min-height:100svh; overflow:hidden; isolation:isolate; }
.contact-hero { color:#fff; background:#020b12; }
.contact-hero-media,.contact-hero-shade,.contact-field { position:absolute; inset:0; }
.contact-hero-media img { width:100%; height:100%; object-fit:cover; transform:scale(calc(1.04 + var(--contact-hero-progress,0) * .08)); filter:saturate(1.12) contrast(1.05); }
.contact-hero-shade { z-index:1; background:linear-gradient(90deg,rgba(1,8,14,.94) 0%,rgba(1,10,18,.73) 46%,rgba(1,12,19,.26) 78%,rgba(1,8,14,.58)),linear-gradient(0deg,rgba(1,8,14,.86),transparent 48%); }
.contact-field { z-index:2; width:100%; height:100%; pointer-events:none; }
.contact-hero-layout { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,.92fr) minmax(430px,.7fr); gap:6vw; align-items:center; min-height:100svh; padding-top:128px; padding-bottom:76px; }
.contact-hero-copy { max-width:750px; opacity:calc(1 - var(--contact-hero-progress,0) * .58); transform:translate3d(0,calc(var(--contact-hero-progress,0) * -42px),0); }
.contact-hero-copy h1 { max-width:780px; margin:18px 0 24px; font-size:clamp(3.3rem,5.8vw,6.8rem); line-height:.88; }
.contact-hero-copy h1 span { display:block; }
.contact-hero-copy h1 span:nth-child(2) { color:#90e719; }
.contact-hero-copy > p:not(.eyebrow) { max-width:670px; margin:0 0 12px; color:rgba(230,244,248,.74); font-size:clamp(.94rem,1.08vw,1.12rem); line-height:1.65; }
.contact-hero-copy .hero-actions { margin-top:28px; }
.contact-site-radar { position:relative; width:min(42vw,590px); aspect-ratio:1; justify-self:end; perspective:1000px; transform:translate3d(calc((1 - var(--contact-radar-enter,.4)) * 80px),0,0) rotateX(var(--radar-rx,0deg)) rotateY(calc((1 - var(--contact-radar-enter,.4)) * -18deg + var(--radar-ry,0deg))); opacity:var(--contact-radar-enter,.4); }
.contact-site-radar::before { content:""; position:absolute; inset:8%; border:1px solid rgba(22,217,255,.26); border-radius:50%; box-shadow:0 0 70px rgba(22,217,255,.13),inset 0 0 60px rgba(22,217,255,.05); }
.contact-radar-core { position:absolute; z-index:4; top:50%; left:50%; display:grid; width:150px; aspect-ratio:1; place-content:center; border:1px solid rgba(144,231,25,.6); border-radius:50%; background:rgba(1,13,22,.72); box-shadow:0 0 44px rgba(144,231,25,.14); text-align:center; transform:translate(-50%,-50%); backdrop-filter:blur(10px); }
.contact-radar-core span { color:#19d9ff; font-size:.66rem; font-weight:800; text-transform:uppercase; }
.contact-radar-core strong { margin-top:4px; font-size:1rem; }
.contact-radar-ring,.contact-radar-ring i { position:absolute; border:1px solid rgba(22,217,255,.18); border-radius:50%; }
.contact-radar-ring { inset:17%; animation:contact-ring 20s linear infinite; }
.contact-radar-ring i:nth-child(1) { inset:-28%; border-style:dashed; }
.contact-radar-ring i:nth-child(2) { inset:18%; border-color:rgba(144,231,25,.22); }
.contact-radar-ring i:nth-child(3) { top:50%; left:-34%; width:9px; height:9px; border:0; background:#90e719; box-shadow:0 0 18px #90e719; }
.contact-site-radar article { position:absolute; z-index:5; top:var(--y); left:var(--x); width:165px; padding:13px 14px; border-left:2px solid #19d9ff; background:linear-gradient(90deg,rgba(3,20,31,.82),rgba(3,20,31,.3)); box-shadow:0 12px 32px rgba(0,0,0,.2); transform:translate(-50%,-50%); backdrop-filter:blur(8px); }
.contact-site-radar article span,.contact-site-radar article strong,.contact-site-radar article small { display:block; }
.contact-site-radar article span { color:#90e719; font-size:.58rem; font-weight:900; }
.contact-site-radar article strong { margin:3px 0; font-size:.9rem; }
.contact-site-radar article small { color:rgba(255,255,255,.56); font-size:.64rem; line-height:1.35; }
.contact-scroll-cue { position:absolute; z-index:4; bottom:28px; left:50%; display:flex; gap:12px; align-items:center; color:rgba(255,255,255,.58); font-size:.65rem; font-weight:800; text-transform:uppercase; transform:translateX(-50%); }
.contact-scroll-cue i { position:relative; display:block; width:78px; height:1px; overflow:hidden; background:rgba(255,255,255,.22); }
.contact-scroll-cue i::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#19d9ff,#90e719); transform:translateX(-100%); animation:contact-cue 2.4s ease-in-out infinite; }

.contact-intake { position:relative; z-index:3; overflow:hidden; color:#071522; background:#eef6f7; }
.contact-intake::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,rgba(255,255,255,.82),transparent 52%),repeating-linear-gradient(0deg,transparent 0 62px,rgba(10,93,123,.035) 63px); }
.contact-intake-field { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.62; }
.contact-intake-layout { position:relative; display:grid; grid-template-columns:minmax(300px,.65fr) minmax(600px,1fr); gap:6vw; align-items:start; padding-top:120px; padding-bottom:120px; }
.contact-intake-copy { position:sticky; top:130px; }
.contact-intake-copy h2 { max-width:660px; margin:18px 0 22px; font-size:clamp(2.6rem,4.2vw,5.3rem); line-height:.94; }
.contact-intake-copy > p { max-width:620px; color:#526b79; font-size:1rem; line-height:1.7; }
.contact-brief-inputs { display:grid; gap:0; margin-top:36px; border-top:1px solid rgba(17,104,132,.18); }
.contact-brief-inputs article { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid rgba(17,104,132,.18); }
.contact-brief-inputs article > span { color:#19a8d0; font-size:.66rem; font-weight:900; }
.contact-brief-inputs strong { font-size:.9rem; }
.contact-brief-inputs p { margin:5px 0 0; color:#607984; font-size:.78rem; line-height:1.5; }
.contact-privacy-note { margin-top:20px!important; font-size:.74rem!important; }
.contact-privacy-note a { color:#067da7; font-weight:800; }
.contact-form-shell { position:relative; min-width:0; padding:18px; border:1px solid rgba(14,126,162,.2); background:rgba(255,255,255,.66); box-shadow:0 32px 80px rgba(12,52,66,.12); backdrop-filter:blur(14px); }
.contact-form-shell::before { content:""; position:absolute; top:-1px; right:18%; left:0; height:2px; background:linear-gradient(90deg,#19d9ff,#90e719,transparent); }
.contact-form-status { display:flex; justify-content:space-between; padding:6px 7px 15px; color:#6a818b; font-size:.62rem; font-weight:800; text-transform:uppercase; }
.contact-form-status span:first-child { display:flex; gap:7px; align-items:center; }
.contact-form-status i { width:6px; height:6px; border-radius:50%; background:#90e719; box-shadow:0 0 10px rgba(144,231,25,.8); }
.contact-form-shell iframe { display:block; width:100%; height:1515px; border:0; background:transparent; }

.contact-route { color:#fff; background:#020b12; }
.contact-route .contact-stage { background:radial-gradient(circle at 78% 40%,rgba(9,106,139,.2),transparent 35%),linear-gradient(135deg,#020b12,#061723); }
.contact-route-field { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.contact-route-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(330px,.7fr) minmax(520px,1fr); gap:8vw; align-items:center; min-height:100svh; padding-top:120px; padding-bottom:80px; }
.contact-route-heading h2 { margin:18px 0 22px; font-size:clamp(3rem,5vw,6rem); line-height:.93; }
.contact-route-heading > p:last-child { max-width:600px; color:rgba(223,239,244,.62); line-height:1.7; }
.contact-route-steps { position:relative; display:grid; gap:16px; padding-left:38px; }
.contact-route-line { position:absolute; top:16px; bottom:16px; left:11px; width:2px; background:rgba(22,217,255,.14); }
.contact-route-line i { display:block; width:100%; height:calc(var(--contact-route-progress,0) * 100%); background:linear-gradient(#19d9ff,#90e719); box-shadow:0 0 12px rgba(22,217,255,.68); }
.contact-route-steps article { position:relative; display:grid; grid-template-columns:64px 1fr; gap:18px; min-height:150px; padding:24px 26px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); opacity:var(--step-opacity,.18); transform:translate3d(var(--step-x,70px),0,0) rotateY(var(--step-ry,-8deg)); transform-origin:left center; backdrop-filter:blur(12px); }
.contact-route-steps article::before { content:""; position:absolute; top:50%; left:-34px; width:10px; height:10px; border:2px solid #19d9ff; border-radius:50%; background:#020b12; box-shadow:0 0 16px rgba(22,217,255,.6); transform:translateY(-50%); }
.contact-route-steps article > span { color:#90e719; font-size:.72rem; font-weight:900; }
.contact-route-steps strong { font-size:1.2rem; }
.contact-route-steps p { margin:9px 0 0; color:rgba(225,241,246,.64); font-size:.85rem; line-height:1.55; }

.contact-direct { position:relative; z-index:4; overflow:hidden; color:#071522; background:#edf6f7; }
.contact-direct::after { content:""; position:absolute; top:-34%; right:-8%; width:min(58vw,840px); aspect-ratio:1; border:1px solid rgba(22,168,210,.14); border-radius:50%; box-shadow:0 0 0 70px rgba(22,168,210,.025),0 0 0 140px rgba(144,231,25,.02); pointer-events:none; }
.contact-direct-layout { position:relative; z-index:2; display:grid; grid-template-columns:1fr .55fr; gap:10vw; align-items:end; padding-top:110px; padding-bottom:110px; }
.contact-direct h2 { max-width:760px; margin:18px 0 20px; font-size:clamp(3rem,5.5vw,6.4rem); line-height:.92; }
.contact-direct p { max-width:700px; color:#536e79; line-height:1.7; }
.contact-email { display:flex; justify-content:space-between; align-items:center; max-width:720px; margin-top:32px; padding:20px 0; color:#071522; border-top:1px solid #aac7d0; border-bottom:1px solid #aac7d0; font-size:clamp(1.05rem,2vw,1.65rem); font-weight:800; }
.contact-email i { display:grid; width:34px; height:34px; place-items:center; color:#071522; border-radius:50%; background:#90e719; font-style:normal; transition:transform .25s ease; }
.contact-email:hover i { transform:rotate(90deg); }
.contact-direct address { padding:28px; border-left:2px solid #19d9ff; background:rgba(255,255,255,.52); font-style:normal; }
.contact-direct address > span { display:block; margin-bottom:16px; color:#159fc7; font-size:.68rem; font-weight:900; text-transform:uppercase; }
.contact-direct address > strong { display:block; margin-bottom:20px; }
.contact-direct address p { margin:0; font-size:.82rem; }

@keyframes contact-ring { to { transform:rotate(360deg); } }
@keyframes contact-cue { 45%,65% { transform:translateX(0); } 100% { transform:translateX(100%); } }

@media (max-width:1100px) {
  .contact-hero-layout,.contact-route-layout { grid-template-columns:1fr 420px; gap:40px; }
  .contact-intake-layout { grid-template-columns:1fr; }
  .contact-intake-copy { position:relative; top:auto; }
}
@media (max-width:900px) {
  .page-contact .contact-scroll-scene { height:auto; }
  .page-contact .contact-stage { position:relative; min-height:auto; }
  .contact-hero-layout,.contact-route-layout,.contact-direct-layout { grid-template-columns:1fr; }
  .contact-hero-layout { padding-top:145px; }
  .contact-site-radar { width:min(88vw,560px); justify-self:center; margin-top:24px; }
  .contact-route-layout { padding-top:110px; padding-bottom:90px; }
  .contact-route-steps article { opacity:1; transform:none; }
  .contact-route-line i { height:100%; }
  .contact-direct address { max-width:520px; }
}
@media (max-width:600px) {
  .contact-hero-copy h1 { font-size:3.35rem; }
  .contact-site-radar article { width:128px; padding:10px; }
  .contact-site-radar article small { display:none; }
  .contact-radar-core { width:116px; }
  .contact-intake-layout { padding-top:84px; padding-bottom:84px; }
  .contact-form-shell { padding:10px 4px; }
  .contact-form-status { padding-inline:10px; }
  .contact-form-shell iframe { height:1830px; }
  .contact-route-steps { padding-left:24px; }
  .contact-route-steps article { grid-template-columns:42px 1fr; padding:20px 16px; }
  .contact-route-line { left:5px; }
  .contact-route-steps article::before { left:-24px; }
  .contact-direct-layout { padding-top:84px; padding-bottom:84px; }
  .contact-direct h2 { font-size:3.1rem; }
}

html.experience-static .page-contact .contact-scroll-scene { height:auto!important; }
html.experience-static .page-contact .contact-stage { position:relative!important; min-height:100svh; }
html.experience-static .contact-hero-copy,
html.experience-static .contact-site-radar,
html.experience-static .contact-route-steps article { opacity:1!important; transform:none!important; }
html.experience-static .contact-route-line i { height:100%!important; }

@media (prefers-reduced-motion:reduce) {
  .contact-radar-ring,.contact-scroll-cue i::after { animation:none; }
  .contact-hero-copy,.contact-site-radar,.contact-route-steps article { opacity:1!important; transform:none!important; }
}
