/* Shared proportions adapted from the reference, without changing page copy. */
:root{--text-body:clamp(16px,1.32vw,20px);--text-lead:clamp(18px,1.6vw,24px);--text-caption:14px;--panel-radius:28px;--panel-gutter:clamp(24px,3.6vw,64px)}
body section:is(#work,#cases,#services,#training,#reviews,#commitments,#process,#calculator,#gettingstarted,#availability,#journal,#faq,#brief){scroll-margin-top:24px}
body .hero h1 em{display:block;min-height:1.27em;white-space:nowrap}
body .hero .lead{line-height:1.55}
body .montage:hover .showcase-track,body .montage:focus-within .showcase-track{animation-play-state:paused}
body .btn,body .textlink,body .textbutton{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #138cf5;outline-offset:5px}
body #services .service>p,body #services .service>ul,body #services .service>.price{font-size:var(--text-body);line-height:1.65}
body #process .journey-step>p{min-height:0}
body #process .journey-step h4{line-height:1.5}
body #brief form{min-width:0}
body #brief .field input,body #brief .field select,body #brief .field textarea{min-height:52px;padding:14px 16px}
body #brief .field textarea{min-height:130px;resize:vertical}
@media(min-width:801px){body section:is(#services,#reviews,#commitments,#process,#calculator,#gettingstarted,#availability,#journal,#faq,#brief){padding-inline:var(--panel-gutter)}body .hero .actions{flex-wrap:nowrap}body .hero .actions .btn{flex:1;min-width:0}}
@media(max-width:800px){body .wrap{width:100%;max-width:100%;padding-inline:20px}body .hero-copy{padding-inline:24px}body .hero h1{font-size:clamp(24px,5.9vw,43px);line-height:1.25;letter-spacing:-.025em}body .hero .lead{font-size:17px}body .hero .actions{gap:12px}body .hero .actions .btn{font-size:16px;min-height:60px}body .strip{flex-wrap:wrap;gap:16px}body .strip>*{flex:1 1 42%}body section:is(#services,#reviews,#commitments,#process,#calculator,#gettingstarted,#availability,#journal,#faq,#brief){padding-inline:24px}body .reference-menu{gap:12px 20px;flex-wrap:wrap;justify-content:flex-start}body .reference-menu a{min-height:44px;display:inline-flex;align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body .showcase-track,body .cursor{animation:none!important}body *,body *::before,body *::after{transition:none!important}}
