:root{
  --contact-paper:#f4f8fb;
  --contact-cream:#fbfaf5;
  --contact-ink:#0b2d4d;
  --contact-blue:#004c97;
  --contact-deep:#002b5c;
  --contact-green:#008e3b;
  --contact-sky:#66c8ea;
  --contact-line:#c7dce9;
  --contact-ease:cubic-bezier(.16,1,.3,1);
  --contact-display:var(--font-display,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif);
}

.contact-page{background:var(--contact-paper);color:var(--contact-ink);font-family:var(--font-body,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif)}
.contact-page #siteHeader{background:var(--contact-paper)}
.contact-page .header-nav a.active{background:#e2edf5;color:var(--brand);font-weight:800}
.contact-page footer{margin-top:0}
.contact-wrap{width:min(1180px,92vw);margin-inline:auto}
.contact-section{padding:clamp(4.2rem,7vw,7rem) 0}
.contact-label{display:inline-flex;align-items:center;gap:.55rem;color:var(--contact-green);font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.contact-label::before,
.contact-label::after{content:"";width:24px;height:2px;flex:0 0 24px;border-radius:999px;background:currentColor;opacity:.9}
.contact-section h2{color:var(--contact-deep);font-family:var(--contact-display);font-size:clamp(2rem,3.6vw,3.15rem);font-weight:800;line-height:1.08;letter-spacing:-.04em;text-wrap:balance}

/* Compact panoramic contact hero */
.contact-hero{position:relative;isolation:isolate;min-height:clamp(240px,19vw,290px);overflow:hidden;border-bottom:1px solid #0b6e9c;background:#001b43;color:#eef8ff}
.contact-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 42% 96% at 50% 50%,rgba(0,13,34,.82) 0%,rgba(0,18,44,.56) 58%,rgba(0,25,58,.14) 100%),linear-gradient(90deg,rgba(0,25,58,.14),rgba(0,16,39,.3) 50%,rgba(0,78,68,.1))}
.contact-hero::after{content:"";position:absolute;z-index:3;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#0057b8 0%,#42b7e5 46%,#19ac55 100%);box-shadow:0 -8px 24px rgba(66,183,229,.18)}
.contact-hero-media{position:absolute;z-index:-2;inset:0;display:block;background:#001b43}
.contact-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:saturate(1.04) contrast(1.03) brightness(.98);animation:contactHeroMediaIn 480ms var(--contact-ease) both}
.contact-hero-inner{display:grid;min-height:clamp(240px,19vw,290px);place-items:center;padding-block:1.5rem}
.contact-hero-copy{position:relative;width:100%;padding-top:1rem;text-align:center}
.contact-hero-copy::before{content:"";position:absolute;top:0;left:50%;width:84px;height:3px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(90deg,rgba(66,183,229,0),#42b7e5 28%,#34c66a 72%,rgba(52,198,106,0));box-shadow:0 0 18px rgba(66,183,229,.38)}
.contact-hero h1{margin:0;color:#f5faff;font-family:var(--contact-display);font-size:clamp(2.55rem,4.45vw,4.3rem);font-weight:900;line-height:.98;letter-spacing:.035em;text-indent:.035em;text-shadow:0 3px 22px rgba(0,10,29,.82),0 0 1px rgba(245,250,255,.9);text-wrap:balance;animation:contactHeroCopyIn 420ms 70ms var(--contact-ease) both}
.contact-hero-copy p{max-width:760px;margin:.85rem auto 0;color:#e2f0f8;font-size:clamp(.9rem,1.35vw,1.08rem);font-weight:680;line-height:1.45;letter-spacing:.04em;text-shadow:0 2px 12px rgba(0,10,29,.94);animation:contactHeroCopyIn 420ms 120ms var(--contact-ease) both}
@keyframes contactHeroCopyIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes contactHeroMediaIn{from{opacity:.42;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}

/* Immediate contact rail */
.contact-rail{position:relative;z-index:6;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #a9c8da;background:#f7fbfd;box-shadow:0 12px 32px rgba(0,43,92,.08)}
.contact-rail>a,.contact-rail>div{min-width:0;display:flex;align-items:center;gap:.8rem;padding:1.15rem clamp(.9rem,1.8vw,1.4rem);color:inherit}
.contact-rail>*+*{border-left:1px solid #cbdfe9}
.contact-rail>a{transition:background-color .18s linear,color .18s linear}
.contact-rail>a:hover{background:#eaf4f9;color:var(--contact-blue)}
.contact-rail-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:50%;background:#e4f1f7;color:var(--contact-blue)}
.contact-rail-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-rail>*>span:last-child{min-width:0;display:grid;gap:.12rem}
.contact-rail strong{overflow-wrap:anywhere;color:var(--contact-deep);font-size:.8rem;font-weight:800;line-height:1.25}
.contact-rail-phones strong{display:grid;gap:.12rem}
.contact-rail-phones strong a{width:max-content;max-width:100%;color:inherit;text-decoration:none}
.contact-rail-phones strong a:hover{color:var(--contact-blue);text-decoration:underline;text-underline-offset:3px}
.contact-rail small{color:#647d90;font-size:.65rem;font-weight:650;line-height:1.4}

/* Conversation and form */
.contact-conversation{background:var(--contact-cream)}
.contact-conversation-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.contact-conversation-copy{position:sticky;top:118px}
.contact-conversation-copy h2{max-width:13ch;margin-top:.85rem}
.contact-conversation-copy>p{max-width:54ch;margin:1.2rem 0 1.8rem;color:#536f82;font-size:.94rem;line-height:1.75}
.contact-trust-note{display:grid;grid-template-columns:40px minmax(0,1fr);gap:.9rem;padding:1rem 0;border-top:1px solid #c8dce7}
.contact-trust-note>span{width:32px;height:32px;display:grid;place-items:center;margin-top:.08rem;border-radius:50%;background:var(--contact-deep);color:#eef7fb;font-size:.6rem;font-weight:800}
.contact-trust-note strong{color:var(--contact-deep);font-size:.86rem;font-weight:800}
.contact-trust-note p{margin-top:.2rem;color:#60798b;font-size:.76rem;line-height:1.55}
.contact-direct-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.3rem;padding-bottom:.2rem;border-bottom:1px solid #8db6ce;color:var(--contact-blue);font-size:.8rem;font-weight:850}

.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:clamp(1.3rem,3vw,2.1rem);border:1px solid #c4d9e6;border-radius:15px;background:#f9fcfe;box-shadow:10px 10px 0 #b8d5e3}
.contact-field{min-width:0;display:grid;align-content:start;gap:.42rem}
.contact-field-wide,.contact-submit,.contact-status,.contact-fallback{grid-column:1/-1}
.contact-field label{color:#244b68;font-size:.72rem;font-weight:800;letter-spacing:.015em}
.contact-field label span{margin-left:.25rem;color:#758b9b;font-size:.62rem;font-weight:650}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-height:48px;padding:.72rem .85rem;border:1px solid #bfd2df;border-radius:9px;background:#f2f7fa;color:var(--contact-ink);font:inherit;font-size:.85rem;transition:border-color .16s linear,box-shadow .16s linear,background-color .16s linear}
.contact-field textarea{min-height:126px;resize:vertical;line-height:1.55}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#8596a4}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:none;border-color:#4b9ac5;background:#fff;box-shadow:0 0 0 3px rgba(75,154,197,.14)}
.contact-field [aria-invalid="true"]{border-color:#b34141;background:#fff8f8;box-shadow:0 0 0 3px rgba(179,65,65,.08)}
.contact-error{min-height:1.05rem;color:#a13535;font-size:.66rem;font-weight:700;line-height:1.35}
.contact-submit{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.15rem;border:0;border-radius:10px;background:linear-gradient(135deg,var(--contact-blue),#0065b9);color:#f7fbfe;font-size:.86rem;font-weight:850;box-shadow:0 9px 20px rgba(0,76,151,.2);cursor:pointer;transition:transform .2s var(--contact-ease),box-shadow .2s var(--contact-ease)}
.contact-submit:hover{transform:translateY(-2px);box-shadow:0 13px 27px rgba(0,76,151,.26)}
.contact-submit span:last-child{font-size:1.1rem}
.contact-status{min-height:1.2rem;color:#225d38;font-size:.72rem;font-weight:750;line-height:1.5}
.contact-fallback{width:max-content;color:var(--contact-blue);font-size:.72rem;font-weight:800;border-bottom:1px solid #8db6ce}

/* Details checklist */
.contact-prep{background:#f3f8fb}
.contact-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:3rem;align-items:end;margin-bottom:clamp(2.5rem,4vw,4rem)}
.contact-section-head h2{max-width:16ch;margin-top:.85rem}
.contact-section-head>p{color:#60798b;font-size:.88rem;line-height:1.7}
.contact-prep-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none}
.contact-prep-track::before{content:"";position:absolute;top:24px;right:8%;left:8%;height:1px;background:#9fc4d7}
.contact-prep-track li{position:relative;min-width:0;padding-right:clamp(1rem,2vw,2rem)}
.contact-prep-track li:nth-child(even){padding-top:2.35rem}
.contact-prep-track li:nth-child(even)>span{margin-top:-2.35rem}
.contact-prep-track>li>span{position:relative;z-index:1;width:49px;height:49px;display:grid;place-items:center;border:5px solid #f3f8fb;border-radius:50%;background:var(--contact-blue);color:#f3f9fc;font-size:.66rem;font-weight:800;box-shadow:0 0 0 1px #8ebacf}
.contact-prep-track h3{margin-top:1.15rem;color:var(--contact-deep);font-size:1rem;font-weight:800}
.contact-prep-track p{max-width:25ch;margin-top:.55rem;color:#617a8c;font-size:.78rem;line-height:1.65}

/* Support boundary */
.contact-support{position:relative;overflow:hidden;background:var(--contact-deep);color:#dcebf3}
.contact-support::after{content:"";position:absolute;right:-110px;bottom:-150px;width:410px;height:410px;border:1px solid rgba(111,195,224,.22);border-radius:50%;box-shadow:0 0 0 60px rgba(7,61,105,.55)}
.contact-support-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.78fr) minmax(470px,1.22fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.contact-label-light{color:#70d79a}
.contact-support-copy h2{max-width:12ch;margin-top:.85rem;color:#f2f8fb}
.contact-support-copy p{max-width:48ch;margin-top:1.2rem;color:#c1d8e5;font-size:.9rem;line-height:1.75}
.contact-support-copy>a{display:inline-flex;gap:.5rem;margin-top:1.35rem;padding-bottom:.2rem;border-bottom:1px solid #6ba9c8;color:#f2f8fb;font-size:.8rem;font-weight:850}
.contact-support-list{border-top:1px solid rgba(189,219,233,.28)}
.contact-support-list>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:1rem;padding:1.15rem 0;border-bottom:1px solid rgba(189,219,233,.22)}
.contact-support-list>div>span{color:#70a8c6;font-size:.68rem;font-weight:800}
.contact-support-list strong{color:#f4f9fc;font-size:.93rem;font-weight:800}
.contact-support-list p{margin-top:.3rem;color:#bdd3df;font-size:.76rem;line-height:1.58}

/* FAQs */
.contact-faq{background:var(--contact-cream)}
.contact-faq-grid{display:grid;grid-template-columns:minmax(0,.65fr) minmax(500px,1.35fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.contact-faq-grid>header{position:sticky;top:118px}
.contact-faq-grid h2{max-width:13ch;margin-top:.85rem}
.contact-faq-grid header>p{max-width:42ch;margin-top:1.1rem;color:#61798b;font-size:.86rem;line-height:1.7}
.contact-faq-list{border-top:1px solid #b7cfdd}
.contact-faq-list details{border-bottom:1px solid #c8dbe6}
.contact-faq-list summary{min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem .2rem;color:var(--contact-deep);font-size:.96rem;font-weight:800;cursor:pointer;list-style:none}
.contact-faq-list summary::-webkit-details-marker{display:none}
.contact-faq-list summary span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #9fbdce;border-radius:50%;transition:transform .25s var(--contact-ease),background-color .18s linear,color .18s linear}
.contact-faq-list details[open] summary span{transform:rotate(45deg);background:var(--contact-blue);color:#fff}
.contact-faq-list details p{max-width:68ch;padding:0 3.2rem 1.25rem 0;color:#60798b;font-size:.78rem;line-height:1.7}

/* Closing CTA */
.contact-final{padding:0 0 clamp(4rem,7vw,6.5rem);background:var(--contact-cream)}
.contact-final-inner{position:relative;overflow:hidden;padding:clamp(2rem,4vw,3.4rem);background:var(--contact-green);color:#eefaf3;box-shadow:12px 12px 0 #d4eadc}
.contact-final-inner::after{content:"";position:absolute;right:-8%;bottom:-80%;width:360px;height:360px;border:1px solid rgba(238,250,243,.27);border-radius:50%;box-shadow:0 0 0 45px rgba(0,107,48,.28)}
.contact-final p{position:relative;z-index:1;font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.contact-final h2{position:relative;z-index:1;max-width:18ch;margin:.65rem 0 1.5rem;color:#f3faf6;font-family:var(--contact-display);font-size:clamp(2rem,4.5vw,4rem);font-weight:800;line-height:1.05;letter-spacing:-.045em}
.contact-final-inner>div{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:1rem}
.contact-final-inner>div>a{color:#f3faf6;font-size:.8rem;font-weight:800}
.contact-final-inner .contact-final-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.2rem;border-radius:999px;background:#f3faf6;color:#08632f;box-shadow:0 9px 22px rgba(0,77,32,.18)}

/* Progressive enhancement */
.js [data-contact-reveal]{opacity:0;transform:translateY(24px);transition:opacity .68s linear,transform .78s var(--contact-ease);transition-delay:var(--contact-delay,0s)}
.js [data-contact-reveal].is-visible{opacity:1;transform:translateY(0)}
.js .contact-hero [data-contact-reveal]{opacity:1;transform:none;transition:none}

@media(max-width:1020px){
  .contact-conversation-grid{grid-template-columns:minmax(0,.7fr) minmax(500px,1.3fr);gap:3rem}
  .contact-support-grid{gap:3rem}
}

@media(max-width:820px){
  .contact-section{padding:4.5rem 0}
  .contact-hero,.contact-hero-inner{min-height:220px}
  .contact-hero-inner{padding-block:1.15rem}
  .contact-hero h1{font-size:clamp(2.15rem,8vw,3rem)}
  .contact-hero-copy p{margin-top:.7rem;font-size:.86rem;line-height:1.5}
  .contact-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-rail>*:nth-child(3){border-left:0;border-top:1px solid #cbdfe9}
  .contact-rail>*:nth-child(4){border-top:1px solid #cbdfe9}
  .contact-conversation-grid,.contact-support-grid,.contact-faq-grid{grid-template-columns:1fr}
  .contact-conversation-copy,.contact-faq-grid>header{position:static}
  .contact-conversation-copy h2,.contact-support-copy h2,.contact-faq-grid h2{max-width:17ch}
  .contact-section-head{grid-template-columns:1fr;align-items:start}
  .contact-prep-track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.2rem}
  .contact-prep-track::before{display:none}
  .contact-prep-track li:nth-child(even){padding-top:0}
  .contact-prep-track li:nth-child(even)>span{margin-top:0}
}

@media(max-width:640px){
  .contact-page{padding-bottom:80px}
  .contact-section{padding:3.6rem 0}
  .contact-wrap{width:calc(100% - 2rem)}
  .contact-hero,.contact-hero-inner{min-height:210px}
  .contact-hero::before{background:radial-gradient(ellipse 74% 96% at 50% 50%,rgba(0,13,34,.84),rgba(0,18,44,.56) 60%,rgba(0,25,58,.14) 100%),linear-gradient(90deg,rgba(0,31,74,.12),rgba(0,17,42,.3),rgba(0,77,68,.1))}
  .contact-hero-media img{object-position:center 52%}
  .contact-hero-inner{padding-block:1rem}
  .contact-hero h1{font-size:clamp(1.9rem,8.4vw,2.65rem);line-height:1.02;letter-spacing:.025em}
  .contact-hero-copy p{max-width:34ch;margin-top:.64rem;color:#dcecf6;font-size:.8rem;line-height:1.45}
  .contact-rail{width:100%;box-shadow:none}
  .contact-rail>a,.contact-rail>div{gap:.65rem;padding:.9rem .75rem}
  .contact-rail-icon{width:34px;height:34px}
  .contact-rail strong{font-size:.7rem}.contact-rail small{font-size:.58rem}
  .contact-section h2{font-size:clamp(1.8rem,8.3vw,2.35rem)}
  .contact-form{grid-template-columns:1fr;padding:1rem;box-shadow:7px 7px 0 #b8d5e3}
  .contact-field-wide,.contact-submit,.contact-status,.contact-fallback{grid-column:auto}
  .contact-prep-track{grid-template-columns:1fr;gap:1.8rem}
  .contact-prep-track li{display:grid;grid-template-columns:49px minmax(0,1fr);column-gap:1rem;padding:0}
  .contact-prep-track h3{align-self:end;margin-top:0}.contact-prep-track p{grid-column:2}
  .contact-support-list>div{grid-template-columns:30px minmax(0,1fr);gap:.7rem}
  .contact-faq-list summary{min-height:64px;font-size:.86rem}
  .contact-faq-list details p{padding-right:2.4rem;font-size:.76rem}
  .contact-final-inner{padding:1.7rem 1.35rem;box-shadow:7px 7px 0 #d4eadc}
  .contact-final-inner>div{align-items:stretch;flex-direction:column}
  .contact-final-inner>div>a{text-align:center}
}

@media(max-width:370px){
  .contact-hero,.contact-hero-inner{min-height:200px}
  .contact-hero h1{font-size:1.9rem}
  .contact-hero-copy p{font-size:.76rem}
  .contact-rail strong{font-size:.66rem}.contact-rail small{font-size:.54rem}
}

@media (max-width:767.98px), (max-height:500px) and (pointer:coarse){
  body[data-mobile-page="contact"]{min-width:0;padding-bottom:0}
  body[data-mobile-page="contact"] main,
  body[data-mobile-page="contact"] main>*{min-width:0}
  body.contact-page[data-mobile-page="contact"] .product-search input{font-size:16px}
  body[data-mobile-page="contact"] .contact-wrap{width:calc(100% - 24px);max-width:none}
  body[data-mobile-page="contact"] .contact-section{padding:clamp(3rem,14vw,3.6rem) 0}
  body[data-mobile-page="contact"] .contact-section h2{max-width:18ch;margin-inline:auto;font-size:clamp(1.75rem,8vw,2.35rem);line-height:1.1;text-align:center;overflow-wrap:anywhere}
  body[data-mobile-page="contact"] .contact-label{display:flex;width:max-content;max-width:100%;justify-content:center;margin-inline:auto;font-size:.66rem;line-height:1.4;text-align:center;white-space:normal}
  body[data-mobile-page="contact"] .contact-label::before,
  body[data-mobile-page="contact"] .contact-label::after{content:"";width:clamp(20px,6vw,28px);height:2px;flex:0 0 clamp(20px,6vw,28px);border-radius:999px;background:currentColor;opacity:.9}

  body[data-mobile-page="contact"] .contact-hero,
  body[data-mobile-page="contact"] .contact-hero-inner{min-height:clamp(200px,56vw,220px)}
  body[data-mobile-page="contact"] .contact-hero-inner{width:calc(100% - 24px);padding-block:1rem}
  body[data-mobile-page="contact"] .contact-hero-copy{min-width:0;padding-top:.75rem}
  body[data-mobile-page="contact"] .contact-hero h1{font-size:clamp(1.9rem,8.4vw,2.7rem);line-height:1.04}
  body[data-mobile-page="contact"] .contact-hero-copy p{max-width:36ch;margin-top:.65rem;font-size:clamp(.76rem,3.5vw,.86rem);line-height:1.5;overflow-wrap:anywhere}

  body[data-mobile-page="contact"] .contact-rail{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:none}
  body[data-mobile-page="contact"] .contact-rail>a,
  body[data-mobile-page="contact"] .contact-rail>div{min-width:0;min-height:112px;gap:.55rem;padding:.9rem .65rem}
  body[data-mobile-page="contact"] .contact-rail>*:nth-child(3){border-top:1px solid #cbdfe9;border-left:0}
  body[data-mobile-page="contact"] .contact-rail>*:nth-child(4){border-top:1px solid #cbdfe9}
  body[data-mobile-page="contact"] .contact-rail-icon{width:34px;height:34px}
  body[data-mobile-page="contact"] .contact-rail strong{font-size:clamp(.66rem,3.2vw,.76rem)}
  body[data-mobile-page="contact"] .contact-rail small{font-size:clamp(.58rem,2.8vw,.66rem)}
  body[data-mobile-page="contact"] .contact-rail strong,
  body[data-mobile-page="contact"] .contact-rail small{overflow-wrap:anywhere}

  body[data-mobile-page="contact"] .contact-conversation-grid,
  body[data-mobile-page="contact"] .contact-support-grid,
  body[data-mobile-page="contact"] .contact-faq-grid{grid-template-columns:minmax(0,1fr);gap:2rem}
  body[data-mobile-page="contact"] .contact-conversation-copy,
  body[data-mobile-page="contact"] .contact-faq-grid>header{position:static;top:auto}
  body[data-mobile-page="contact"] .contact-conversation-copy h2,
  body[data-mobile-page="contact"] .contact-support-copy h2,
  body[data-mobile-page="contact"] .contact-faq-grid h2{max-width:18ch}
  body[data-mobile-page="contact"] .contact-conversation-copy>p,
  body[data-mobile-page="contact"] .contact-section-head>p,
  body[data-mobile-page="contact"] .contact-support-copy>p,
  body[data-mobile-page="contact"] .contact-faq-grid header>p{max-width:100%;overflow-wrap:anywhere}
  body[data-mobile-page="contact"] .contact-trust-note{grid-template-columns:34px minmax(0,1fr);gap:.75rem}
  body[data-mobile-page="contact"] .contact-trust-note>div{min-width:0}
  body[data-mobile-page="contact"] .contact-trust-note p{overflow-wrap:anywhere}
  body[data-mobile-page="contact"] .contact-direct-link,
  body[data-mobile-page="contact"] .contact-support-copy>a{min-height:44px;max-width:100%;align-items:center;padding-block:.55rem;overflow-wrap:anywhere}

  body[data-mobile-page="contact"] .contact-form{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:.85rem;padding:1rem;box-shadow:6px 6px 0 #b8d5e3}
  body[data-mobile-page="contact"] .contact-field-wide,
  body[data-mobile-page="contact"] .contact-submit,
  body[data-mobile-page="contact"] .contact-status,
  body[data-mobile-page="contact"] .contact-fallback{grid-column:auto}
  body[data-mobile-page="contact"] .contact-field input,
  body[data-mobile-page="contact"] .contact-field select,
  body[data-mobile-page="contact"] .contact-field textarea{min-height:49px;font-size:16px}
  body[data-mobile-page="contact"] .contact-field textarea{min-height:126px}
  body[data-mobile-page="contact"] .contact-submit{width:100%;min-height:52px}
  body[data-mobile-page="contact"] .contact-fallback{width:auto;max-width:100%;overflow-wrap:anywhere}

  body[data-mobile-page="contact"] .contact-section-head{grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:2rem}
  body[data-mobile-page="contact"] .contact-section-head h2,
  body[data-mobile-page="contact"] .contact-section-head>p{max-width:100%}
  body[data-mobile-page="contact"] .contact-prep-track{grid-template-columns:minmax(0,1fr);gap:1.65rem}
  body[data-mobile-page="contact"] .contact-prep-track::before{display:none}
  body[data-mobile-page="contact"] .contact-prep-track li,
  body[data-mobile-page="contact"] .contact-prep-track li:nth-child(even){display:grid;grid-template-columns:49px minmax(0,1fr);column-gap:1rem;min-width:0;padding:0}
  body[data-mobile-page="contact"] .contact-prep-track li:nth-child(even)>span{margin-top:0}
  body[data-mobile-page="contact"] .contact-prep-track h3{align-self:end;margin-top:0}
  body[data-mobile-page="contact"] .contact-prep-track p{grid-column:2;margin-top:.3rem;overflow-wrap:anywhere}

  body[data-mobile-page="contact"] .contact-support-list>div{grid-template-columns:30px minmax(0,1fr);gap:.7rem}
  body[data-mobile-page="contact"] .contact-support-list>div>div{min-width:0}
  body[data-mobile-page="contact"] .contact-support-list strong,
  body[data-mobile-page="contact"] .contact-support-list p{overflow-wrap:anywhere}

  body[data-mobile-page="contact"] .contact-faq-list summary{min-height:64px;gap:.75rem;padding:.85rem 0;font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}
  body[data-mobile-page="contact"] .contact-faq-list summary span{flex:none}
  body[data-mobile-page="contact"] .contact-faq-list details p{max-width:100%;padding:0 0 1.1rem;font-size:.78rem;overflow-wrap:anywhere}

  body[data-mobile-page="contact"] .contact-final{padding:0 0 3.5rem}
  body[data-mobile-page="contact"] .contact-final-inner{padding:1.5rem 1rem;box-shadow:6px 6px 0 #d4eadc}
  body[data-mobile-page="contact"] .contact-final p{text-align:center}
  body[data-mobile-page="contact"] .contact-final h2{max-width:100%;margin-inline:auto;font-size:clamp(1.8rem,8.2vw,2.4rem);line-height:1.08;text-align:center;overflow-wrap:anywhere}
  body[data-mobile-page="contact"] .contact-final-inner>div{align-items:stretch;flex-direction:column;gap:.75rem}
  body[data-mobile-page="contact"] .contact-final-inner>div>a{display:flex;width:100%;min-height:49px;align-items:center;justify-content:center;padding:.72rem 1rem;text-align:center;overflow-wrap:anywhere}
  body[data-mobile-page="contact"] .contact-final-inner>div>a:not(.contact-final-button){border:1px solid rgba(243,250,246,.58);border-radius:999px}

  body[data-mobile-page="contact"] footer{padding-bottom:calc(1.5rem + var(--mobile-nav-height,64px) + max(20px,env(safe-area-inset-bottom)));overflow-wrap:anywhere}
  body[data-mobile-page="contact"] .footer-inner,
  body[data-mobile-page="contact"] .foot-bottom{width:calc(100% - 24px);max-width:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-contact-reveal]{opacity:1;transform:none;transition:none}
  .contact-hero-media img,.contact-hero h1,.contact-hero-copy p{animation:none}
  .contact-submit,.contact-rail>a,.contact-faq-list summary span{transition:none}
}
