html,body{max-width:100%;overflow-x:hidden}
.cta-short,.menu-toggle{display:none}

@media(max-width:1050px){
  .site-header{grid-template-columns:auto 1fr auto}
  .site-header nav.is-open{display:flex;position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:18px 20px;flex-direction:column;gap:0;background:#171717;color:#fff;border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.25)}
  .site-header nav.is-open a{padding:14px 7px;border-bottom:1px solid rgba(255,255,255,.15);font-size:16px}
  .site-header nav.is-open a:last-child{border-bottom:0}
  .menu-toggle{width:44px;height:44px;padding:10px;display:flex;flex-direction:column;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:transparent}
  .menu-toggle span{display:block;width:100%;height:2px;background:var(--ink);transition:.2s}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

@media(max-width:700px){
  body{font-size:17px}
  .site-header{height:92px;padding:8px 18px;gap:10px;grid-template-columns:108px 1fr 42px}
  .brand{width:108px;height:76px}
  .header-cta{justify-self:end;padding:13px 18px;font-size:13px;white-space:nowrap}
  .cta-wide{display:none}.cta-short{display:inline}
  .menu-toggle{width:42px;height:42px;padding:9px}

  .hero-copy{padding:50px 22px 38px;min-height:auto}
  .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.13em;margin-bottom:18px}
  .hero h1{font-size:clamp(49px,14vw,59px);line-height:1.02;letter-spacing:-.06em}
  .title-mark{width:100px;height:7px;margin:27px 0 25px}
  .hero-lead{font-size:18px;line-height:1.65;max-width:none}
  .actions{display:grid;grid-template-columns:1fr;margin-top:30px;gap:12px}
  .button{width:100%;padding:16px 18px;font-size:14px;text-align:center}
  .hero-proof{margin-top:31px;padding-top:0;margin-bottom:10px;gap:11px;font-size:12px;line-height:1.4}
  .hero-visual{min-height:470px;background-position:69% center}
  .red-stripe{width:34px;left:10%}
  .image-note{left:18px;right:18px;bottom:18px;padding:18px 20px;font-size:14px;line-height:1.45;border-radius:12px}
  .image-note strong{font-size:18px;margin-top:3px}

  .gateway{padding:22px 18px;gap:14px}
  .gateway a{min-height:128px;padding:23px 21px;gap:17px;border-radius:14px}
  .gateway b{font-size:13px}.gateway small{font-size:11px;line-height:1.4}.gateway h2{font-size:29px;margin-top:6px}.gateway span{font-size:28px}
  .intro-band{padding:22px 20px;font-size:12px;line-height:1.7}

  .shell{width:calc(100% - 40px)}
  .services,.team{padding:84px 0}
  .heading{margin-bottom:58px}.heading h2{font-size:43px;line-height:1.08}.heading>p:last-child{font-size:18px;line-height:1.7;margin-top:24px}
  .service{padding:42px 0 66px;gap:29px}
  .service aside{font-size:12px}.service h3{font-size:42px;line-height:1.08}.service p:not(.eyebrow){font-size:18px;line-height:1.7}
  .service ul{gap:15px}.service li{font-size:16px;line-height:1.55}.text-link{font-size:15px;line-height:1.5}.service figure{min-height:360px;border-radius:16px}

  .community,.process,.mission{padding:84px 0}
  .community-mark{min-height:380px;padding:27px}.community-mark em{font-size:12px}.community h2,.process h2,.mission h2{font-size:43px;line-height:1.08}.community>div>div>p:not(.eyebrow){font-size:18px;line-height:1.7}
  .community-points{gap:12px}.community-points>div{padding:22px}.community-points h3{font-size:22px}.community-points p{font-size:16px;line-height:1.55}
  .process-grid{gap:12px}.process-grid>div,.process-grid>div:nth-child(2){min-height:205px;padding:25px;border:1px solid rgba(255,255,255,.2);border-radius:12px}.process-grid h3{font-size:24px}.process-grid p{font-size:16px;line-height:1.6}
  .mission p:last-child{font-size:18px;line-height:1.7}

  .team-grid{gap:18px}.team-grid article{border-radius:16px}.team-grid img{height:450px;min-height:450px}.team-grid article>div{padding:29px 25px}.team h3{font-size:39px}.team h4{font-size:17px}.team small{font-size:13px;line-height:1.55}.team-grid article>div>p:last-child{font-size:17px;line-height:1.65}
  .team-vision{padding:31px 25px}.team-vision h3{font-size:35px;line-height:1.12}.team-vision p{font-size:17px;line-height:1.65}
  .contact{padding:88px 22px}.contact h2{font-size:45px}.contact>p:not(.eyebrow){font-size:18px;line-height:1.65}
  footer{padding:42px 22px}footer img{width:190px;height:110px}footer p,footer small{font-size:14px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal,.motion-ready .service,.motion-ready .community-grid,.motion-ready .team-grid,.motion-ready .process-grid{opacity:1;transform:none;transition:none}}
