/* Pass A: five page-text sizes. SVG artwork retains its intrinsic label scale. */
:root{--pa-h1:68px;--pa-h2:42px;--pa-h3:24px;--pa-body:18px;--pa-small:13px;--pa-space:120px}
body{font-size:var(--pa-body);line-height:1.65}
main :where(p,li,dt,dd,q,a,span,b,strong,em,small,summary,td,th,label){font-size:inherit!important}
main :is(h1,.phead h1,.sv-pg h1){font-size:var(--pa-h1)!important;line-height:1.08}
main :is(h2,.sec__head h2,.cat__side h2,.sv-pg h2){font-size:var(--pa-h2)!important;line-height:1.15}
main :is(h3,.sv-card h3,.form-card h3,.approach-story h3,.compact-service h3,.sv-matrix-heading){font-size:var(--pa-h3)!important;line-height:1.25}
main h4{font-size:var(--pa-body)!important}
main .sv-txt{font-size:var(--pa-small)!important}
main .sv-manifest li{font-size:var(--pa-body)!important}
main :is(.lede,.sv-lede,.sv-intro,.sv-hook,.hero-summary,.prose,.why-copy,.form-card__body p,.sv-hook,.sv-not,.sv-scoped,.practice-scope){font-size:var(--pa-body)!important;line-height:1.65}
main :is(.label,.eyebrow,.sec__num,.note,.crumbs,.sv-lbl,.sv-num,.sv-mono,.sv-stage-label,.sv-dlv,.sv-dl,.sv-unified-caption,.sv-txt summary,.sv-swipe,.sv-memo-hd,.sv-readout-hd,.sv-ticket>.sv-mono,.sv-toc,.sv-crit th,.sv-crit td,.sv-manifest span,.sv-memo-rows dt){font-size:var(--pa-small)!important;line-height:1.5}
main .sv-catalogue-number{font-size:48px!important;line-height:1}
main .sculpt-hero h1.display-pair{font-size:clamp(2.6rem,4.5vw,3.5rem)!important}
main :is(p,.prose,.why-copy){max-width:70ch}
main :is(.sec,.dark,.phead,.contact-main,.stage-band){padding-block:var(--pa-space)}
.services-catalog{padding-top:0}
.sculpt-hero__grid{padding-block:var(--pa-space);min-height:0}
.sv-pg>section,.sv-ch-main>section{padding-block:var(--pa-space)}
.sv-pg :is(.sv-mh,.sv-ch,.sv-bh,.sv-ph){padding-block:var(--pa-space)}
.sv-pg .sv-s3{padding-block:var(--pa-space)}
.masthead :is(.nav a,.services-toggle,.navtoggle),.services-panel :is(h2,a){font-size:var(--pa-small)!important}
.services-panel h2 a{font-size:var(--pa-h3)!important}
.services-panel h2{font-size:var(--pa-h3)!important}
.services-toggle{font-size:var(--pa-small)!important}
.foot__links a,.footer-bottom p{font-size:var(--pa-small)!important}
.footer-email a{font-size:var(--pa-body)!important}
.footer-invite :is(.display-lead,.display-tail){font-size:var(--pa-h2)!important}
.sv-pg,.sv-pg :is(.sv-qcard,.sv-ticket,.sv-readout,.sv-memo,.sv-tile,.sv-spec,.sv-manifest,.sv-rail-in),.capability-grid article,.practice-stages article{border:0!important;border-radius:0!important;box-shadow:none!important}
.sv-qcard{transform:none!important}
.sv-readout-hd b{border:0!important;border-radius:0!important;padding:0!important}
.sv-tile::before{display:none!important}
.sv-v-map .sv-work-types{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent;padding:0;margin-block:24px 40px}
.sv-work-types dl>div,.sv-work-types dl>div:nth-child(2),.sv-work-types dl>div:nth-child(3){background:#ecebe5;border:0;border-radius:0;box-shadow:none}
.sv-work-types :is(dt,dd){font-size:var(--pa-body)!important}
.sv-work-types dt{font-weight:650}
#delivery{border:0!important;box-shadow:none!important}
#delivery .delivery-brief{border:0;padding-left:0}
.sv-pg :is(.sv-sheet,.sv-exhibit,.sv-blueprint,.sv-panel){border:1px solid var(--sv-rule-2)!important;border-radius:0!important;box-shadow:none!important;background-image:none!important}
.sv-sheet::before,.sv-sheet::after{display:none!important}
.sv-unified-caption{font-family:var(--sans)!important;font-size:var(--pa-small)!important;font-weight:600;letter-spacing:0;text-transform:none}
.sv-unified-caption span,.sv-unified-caption span:last-child{font:inherit!important;letter-spacing:0!important;text-transform:none!important;color:inherit!important}
.sv-pg .sv-sp,.sv-card .sv-sp{display:inline-block;background:none;border:0;border-radius:0;font-family:var(--sans);font-size:var(--pa-small)!important;font-weight:500;letter-spacing:0;padding:0;line-height:1.5;color:var(--sv-ink-2)}
.sv-sp i{display:none!important}
.sv-card .sv-sp{margin-top:.25rem}
.form-card__top{justify-content:flex-start}
.stage-band .cat__side .form-number{display:none}
.sv-art,.contact-request{border:0!important;border-radius:0!important;box-shadow:none!important}
.service-guide .diagnostic-entry::after{content:"";position:absolute;inset:0;border-radius:inherit}
:is(.form-card,.selected-grid article,.approach-story li,.sv-card,.service-guide){transition:transform 180ms ease-out!important}
:is(.form-card,.selected-grid article,.approach-story li,.sv-card,.service-guide):is(:hover,:focus-within){transform:translateY(-3px)!important;box-shadow:0 12px 24px #232f471c,inset 0 2px 0 #ffffff88!important}
.hero-object{transform:none!important;transition:none!important;will-change:auto}
.motion-section{transition:opacity 400ms ease-out,transform 400ms ease-out}
.motion-section:not(.is-visible){opacity:0;transform:translateY(16px)}
.motion-section.is-visible{opacity:1;transform:translateY(0)}
:is(.form-card,.selected-grid article,.approach-story li,.sv-card,.service-guide).motion-card{transition:transform 180ms ease-out,opacity 400ms ease-out var(--reveal-delay,0ms)!important}
.motion-card:not(.is-visible){opacity:0}.motion-card.is-visible{opacity:1}
.motion-card:focus-within{opacity:1!important}
@media(max-width:1100px) and (min-width:769px){.sv-v-map .sv-mh,.sv-v-prove .sv-ph{grid-template-columns:1fr}.sv-qcard,.sv-readout{max-width:70ch}}
@media(max-width:768px){
 :root{--pa-h1:36px;--pa-h2:30px;--pa-h3:22px;--pa-body:17px;--pa-space:72px}
 main .sculpt-hero h1.display-pair{font-size:clamp(2.35rem,5.6vw,3rem)!important}
 main .sv-catalogue-number{font-size:44px!important}
 .stage-band .cat__side{grid-template-columns:48px minmax(0,1fr)}
 .services-panel h2 a{font-size:var(--pa-h3)!important}
 .masthead[data-nav="open"] .nav :is(.services-link,.services-toggle){font-size:var(--pa-body)!important}
 .sv-pg .sv-ticket{grid-template-columns:1fr;gap:8px}
 .sv-pg .sv-split{gap:32px}
 .footer-invite .display-tail{line-height:1.2}
}
@media(max-width:420px){main .sculpt-hero h1.display-pair{font-size:2.35rem!important}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .motion-section,.motion-card{opacity:1!important;transform:none!important;transition:none!important}
 :is(.form-card,.selected-grid article,.approach-story li,.sv-card,.service-guide):is(:hover,:focus-within){transform:none!important;transition:none!important}
}
