/* Responsive and accessible interaction refinements. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}header{position:relative;z-index:20;gap:22px}header .brand{flex-shrink:0}main,section,article,form,.hero-copy,.approach-copy,.service-copy,.service-visual{min-width:0}h1,h2,h3,p,summary,address{overflow-wrap:anywhere}h1,h2,h3{hyphens:auto}.mobile-menu{display:none}.skip-link{position:absolute;top:8px;left:8px;z-index:1000;transform:translateY(-150%);background:var(--ink);color:white;padding:14px 20px}.skip-link:focus{transform:none}.button{min-height:48px;line-height:1.5}.footer-legal-link{min-height:44px;display:inline-flex;align-items:center}input,select,textarea{font-size:16px;line-height:1.5;min-height:48px;max-width:100%}textarea{min-height:140px}label{font-size:13px;line-height:1.6}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}form .button{font-size:14px}form[aria-busy="true"] .button{cursor:wait}.form-privacy{font-size:12px}.contact-note{font-size:13px}.contact-note a{display:inline-block;padding:6px 0}.form-honeypot input{min-height:0}#status{font-size:14px;overflow-wrap:anywhere}#status:empty{display:none}.service-index a,.services article>a{min-height:44px;display:flex;align-items:center}.service-index a{max-width:100%;overflow-wrap:anywhere}.services-process h2{overflow-wrap:anywhere}.contact h2{font-size:clamp(48px,7vw,73px)}footer>small{font-size:11px;line-height:1.8}
@media(max-width:960px){header>nav{display:none}header{height:94px}.mobile-menu{display:block;margin-left:auto;flex-shrink:0}.mobile-menu summary{cursor:pointer;list-style:none;min-height:44px;min-width:76px;padding:12px 8px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{display:flex;flex-direction:column;gap:0;position:absolute;top:calc(100% - 1px);right:6%;width:min(340px,88vw);background:#fff;border:1px solid #d3d6cb;box-shadow:0 15px 30px #20292f20;padding:12px}.mobile-menu nav a{display:flex;align-items:center;min-height:48px;padding:12px;font-size:15px;border-bottom:1px solid #e5e8dd}.mobile-menu nav a:last-child{border:0}.mobile-menu[open] summary{background:#eeeae2}.contact{grid-template-columns:minmax(0,1fr);gap:35px}.contact>div>p,.contact-note{max-width:600px}.contact-note{margin-top:25px}.hero-copy h1{overflow-wrap:normal}.hero-bottom{gap:12px;flex-wrap:wrap}}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{padding:45px 6% 30px}.hero-copy h1{font-size:clamp(56px,13vw,80px);letter-spacing:-3px}.hero-photo{min-height:460px}.hero p{max-width:520px}.hero-bottom{margin-top:36px;padding-top:0}.hero .button{font-size:13px}.section-head{align-items:start}}
@media(max-width:650px){header{height:85px;gap:8px}header>.nav-cta{display:none}header .logo-frame{width:clamp(165px,48vw,220px)}.mobile-menu{margin-left:0}.hero-photo{min-height:420px}.hero-copy h1{font-size:clamp(56px,16.5vw,75px)}.contact{padding:48px 6%}.service-copy h2{font-size:29px}.legal-page h1{font-size:clamp(40px,12vw,48px)}.services-process h2{font-size:clamp(29px,8.5vw,36px)}.services-intro h1{font-size:clamp(36px,10vw,43px)}.services-intro .eyebrow{font-size:9px;letter-spacing:1.5px}.service-index{display:flex}.service-index a{min-height:44px;font-size:12px}.form-row{grid-template-columns:minmax(0,1fr);gap:0}footer{gap:18px}.legal-grid h2{font-size:19px}.privacy-sections h2{font-size:23px}}
@media(max-width:370px){.hero .button{padding:16px;font-size:12px;gap:12px}.hero h1{font-size:56px}.hero-photo{min-height:380px}.contact h2{font-size:48px}.social-section h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
