
:root{--green:#ad2929;--ink:#202323}.section[id]{scroll-margin-top:30px}.advice{display:grid;grid-template-columns:1fr 1.15fr;gap:50px 80px;background:#fff}.advice-intro h2 em{font-style:normal;color:var(--green)}.advice-intro>p{max-width:500px;color:#535c60}.advice-points article{display:flex;gap:22px;padding:26px 0;border-top:1px solid var(--line)}.advice-points article>span{font-size:14px;color:var(--green);padding-top:5px}.advice-points h3,.resource-grid h3,.reference-card h3{font-size:32px}.advice-points p,.resource-grid p,.reference-card p{font-size:16px;color:#535c60;line-height:1.7;margin:12px 0 0}.advice-scope{grid-column:1/-1;max-width:1000px;font-size:14px;color:#60696b;border-left:3px solid var(--green);padding-left:20px;margin:5px 0 0}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:32px}.resource-grid article{padding:30px;background:#fff;border-top:3px solid var(--green)}.resources{background:#eeefed}.resource-grid .eyebrow{font-size:12px;letter-spacing:1px;color:#6e4949}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.reference-card{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;scroll-margin-top:30px}.reference-card .eyebrow{color:var(--green);font-size:13px;letter-spacing:1px}.reference-card>a{margin-top:25px;align-self:flex-start}.reference-card details{margin-top:24px}.reference-card details p{font-size:14px}.reference-card details a{display:inline-block;margin-top:20px}.archive-pair{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;margin-top:65px}.archive-pair img{width:100%;height:360px;object-fit:cover}.archive-pair h3{font-size:42px}.archive-pair p{color:#535c60}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:45px}.journey-grid .step p{font-size:16px}.journey-grid .step h3{font-size:30px}.document-list{display:grid;grid-template-columns:1fr 1fr;gap:15px 40px;padding-left:20px}.page-hero .button{margin-top:12px}.card p,.service p,details p{font-size:16px}.card a,.button,.text-link,summary,label{font-size:14px}.phase-context{margin:16px 0;padding:18px 0;border-top:1px solid #456173;border-bottom:1px solid #456173}.phase-context>span{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#edb3a5}.phase-context p{font-size:14px!important;line-height:1.5!important;margin:7px 0 15px!important;color:#c6d3df!important}.phase-context p:last-child{margin-bottom:0!important}.hero-copy h1{font-size:clamp(54px,5.8vw,87px)}.hero-copy p{max-width:490px;padding-right:20px;font-size:16px}.hero-copy .eyebrow{font-size:12px;letter-spacing:1px}.hero-copy .button,.hero-explore{font-size:14px}.hero-location{font-size:12px}.hero-legend{font-size:13px;line-height:1.5}.hero-phase>span{font-size:12px}.hero-phase button{font-size:14px}.hero-model-top{font-size:12px;letter-spacing:.6px}.hero-model-bottom{background:linear-gradient(0deg,#101d28 60%,#101d2800);padding-top:25px}.hero-phase{flex-wrap:wrap}.hero-phase strong{flex:1;min-width:135px}.hero-animation.model-unavailable .hero-model-bottom{background:#101d28ed}.form-aside .notice{line-height:1.6}.field-help{font-size:14px;color:#5f696b}
@media(max-width:1000px){.advice{gap:40px}.resource-grid,.reference-grid{gap:15px}.resource-grid article,.reference-card{padding:23px}.hero-copy h1{font-size:clamp(46px,6vw,65px)}.hero-copy .eyebrow{font-size:12px}.hero-copy p{font-size:16px}.hero-model-top span:last-child{display:none}.hero-legend{font-size:13px}.hero-location{font-size:12px}.journey-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.advice,.archive-pair{grid-template-columns:1fr;gap:30px}.resource-grid,.reference-grid,.journey-grid{grid-template-columns:1fr}.document-list{grid-template-columns:1fr}.advice-intro h2{font-size:49px}.archive-pair img{height:290px}.hero-copy h1{font-size:clamp(44px,9vw,64px);line-height:1.04;letter-spacing:-.5px}.hero-copy p{font-size:16px;padding-right:0}.hero-copy .eyebrow{font-size:12px;letter-spacing:.5px}.hero-copy .actions{align-items:flex-start;flex-direction:column;gap:6px}.hero-copy .button{font-size:14px}.hero-explore{font-size:14px}.hero-model-panel{height:380px;min-height:380px}.hero-model-top{font-size:12px}.hero-model-bottom{left:6%;right:6%;bottom:16px}.hero-phase strong{font-size:14px}.hero-legend{font-size:13px}.hero-copy{padding-bottom:16px}.strip{font-size:12px;letter-spacing:.3px}.reference-card{padding:26px}.advice-scope{font-size:14px}.heading{gap:25px}.nav>.button{font-size:14px}.brand small{font-size:9px}.lab-disclaimer{font-size:14px!important}.phase-panel{max-height:none!important;overflow:visible!important}}

.phase-panel>p{min-height:0}.phase-list{grid-template-columns:1fr 1fr}.phase-list button{padding:8px 4px;font-size:14px;gap:7px}.phase-panel{padding:24px}.phase-context>span{font-size:13px}.phase-panel #insurance-note{margin:15px 0}.lab-layout{align-items:stretch}.model-wrap{min-height:630px}#construction-view{height:100%;min-height:630px}.model-tools button,.play-controls button{font-size:14px}@media(max-width:900px){#construction-view{height:500px;min-height:500px}.model-wrap{min-height:500px}.phase-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){#construction-view{height:430px;min-height:430px}.model-wrap{min-height:430px}.phase-list{grid-template-columns:1fr 1fr}.phase-list button{font-size:14px}.model-tools button{font-size:13px}.phase-panel h2{font-size:35px}}

/* Ergonomic review · September 2026 */
.skip{position:fixed;z-index:1000;left:12px;color:#202323;border:2px solid #ad2929}
:where(main,footer) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ad2929;outline-offset:4px}
:where(.page-hero,.lab-sticky,.method,footer) :is(a,button,input,summary):focus-visible{outline-color:#efb7af}
main:focus{outline:none}
.site-header .header-cta[aria-current=page]{color:#fff;background:#812020}
.crumb{font-size:14px;line-height:1.5;margin-bottom:24px}
.crumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.text-link{display:inline-flex;align-items:center;min-height:44px;padding:9px 0;line-height:1.5}
.service>a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;align-self:flex-start}
.service>div{min-width:0;flex:1}
.service h3 a{display:inline-block;min-height:44px}
.card>a{display:flex;align-items:center;min-height:44px}
main summary{min-height:44px;align-content:center;padding:8px 0;font-size:16px;line-height:1.5}
main details{padding:12px 0}
footer a:not(.brand){display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.form-shell>*{min-width:0}
#project-form input,#project-form select,#project-form textarea{font-size:16px}
#project-form fieldset{min-width:0}
#project-form .check{min-height:44px;align-items:center;margin:8px 0;font-size:16px}
#project-form .check input{width:20px;height:20px;flex:none;margin:0}
.required-note{font-size:14px;color:#535c60;margin:0 0 24px}
.required-mark{color:#ad2929}
#project-form legend:focus,#result h2:focus{outline:none}
#step-label{scroll-margin-top:24px}
.form-actions,.result-actions{display:flex;gap:12px;flex-wrap:wrap}
.form-actions #next{margin-left:auto}
.result-actions{margin-top:24px}
#summary{font-family:inherit;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
body:has(#project-form) .page-hero{padding-top:32px;padding-bottom:32px}
body:has(#project-form) .page-hero h1{font-size:clamp(40px,5vw,66px)}
body:has(#project-form) .page-hero .crumb{margin-bottom:16px}
body:has(#project-form) .page-hero .eyebrow{margin-bottom:14px}
#project-form .notice,.form-preview-note{font-size:14px}
.phase-list button,.model-tools button,.play-controls button{min-height:44px}
.phase-list button span{font-size:12px;color:#a9c2d3}
.lab-sticky.model-unavailable .model-wrap{min-height:0;padding:20px 24px}
.lab-sticky.model-unavailable #construction-view,.lab-sticky.model-unavailable .model-overlay,.lab-sticky.model-unavailable .model-tools,.lab-sticky.model-unavailable .lab-controls{display:none}
.lab-sticky.model-unavailable #model-fallback{position:static;margin:0;padding:24px;text-align:left;line-height:1.6;border:1px solid #456173}
.lab-sticky.model-unavailable .lab-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.lab-sticky.model-unavailable .phase-panel>p{min-height:0}
@media(max-width:900px){.lab-sticky.model-unavailable .lab-layout{grid-template-columns:1fr}}
@media(max-width:700px){
 .site-header .target-options summary{min-width:44px;min-height:60px}
 .site-header .target-link{min-height:60px;padding-left:8px;padding-right:4px}
 .service{gap:12px}
 .service h3{font-size:30px}
 .page-hero h1{font-size:clamp(38px,11vw,50px);overflow-wrap:break-word}
 .lab-heading h1{font-size:clamp(44px,13vw,63px)}
 .notice{font-size:14px}
 .lab-sticky.model-unavailable .model-wrap{padding:16px}
 .lab-sticky.model-unavailable #model-fallback{padding:18px}
 .phase-list{grid-template-columns:1fr 1fr}
}

.reference-card h2{font-size:32px}

.lab-sticky.model-unavailable .lab-layout{display:block}
.lab-sticky.model-unavailable .phase-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;border-left:0;border-top:1px solid #314451}
.lab-sticky.model-unavailable .phase-panel>*{grid-column:1}
.lab-sticky.model-unavailable .phase-panel .phase-list{grid-column:2;grid-row:1/span 6;align-self:start}
@media(max-width:700px){.lab-sticky.model-unavailable .phase-panel{display:block}}

@media(max-width:700px){.site-header .audience-direct{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header .target-group,.site-header .target-link{min-width:0}.site-header .target-link{overflow-wrap:anywhere;hyphens:auto}.site-header .target-options{flex:none}}

@media(max-width:700px){.reference-card h2,.reference-card h3{font-size:30px;overflow-wrap:break-word}}
@media(max-width:340px){
 .site-header .brand-image img{width:116px}
 .site-header .audience-direct{grid-template-columns:minmax(0,1fr)}
 .site-header .target-group{border-right:0}
 .site-header .target-group:not(:last-child){border-bottom:1px solid #dce1db}
 .site-header .target-link{min-height:44px;padding:8px;overflow-wrap:normal}
 .site-header .target-options summary{min-height:44px}
}
