/* Accessibility repairs, 30 October 2026. Loaded after the visual theme. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
:root{--muted:#b7ccc5}
html{scroll-padding-top:110px}
:focus-visible{outline:3px solid #f4d58d!important;outline-offset:4px!important;box-shadow:0 0 0 6px #03110f!important}
[id],button,a,input,select,textarea{scroll-margin-block:110px 100px}
button svg,a svg{pointer-events:none}
.header{background:#06201e}
.brand .loc,.nav a,.hero-meta,.scroll-cue,.slide .num,.ticker,.section-head .aside,.footer .base,.footer a,.footer .mission{color:#c5d6cf}
.lb-head span,.lane-board .ln,.lane-board .nm em,.lane-sum span,.base span{color:#b7ccc5!important}
.side-nav:not(.show){visibility:hidden}
.side-nav a{min-height:28px;color:#d4e2dc}
.side-nav a span{background:#06201e;padding:3px 6px}
.side-nav a:focus-visible span{opacity:1;transform:none}
.card .more{width:100%;text-align:left;padding:16px 0;min-height:44px}
.card:focus-within{border-color:var(--gold)}
.card .idx,.card .gal,.modal .pic-cap{background:#06201e;color:#f4e6c8;opacity:1;font-size:12px}
.card .body p,.card .chip{color:#c5d6cf}
.spec-button{text-align:left;padding:5px 0;min-height:32px;text-decoration:underline;text-underline-offset:4px;font:inherit}
.details a[href^="tel:"]{display:inline-block;min-height:32px;padding:3px 0}
.field input,.field select,.field textarea,#assistInput{border:1px solid #8aa79b}
input::placeholder,textarea::placeholder{color:#b7ccc5;opacity:1}
.assist-chips{flex-wrap:wrap;overflow:visible}
.assist-chips button{white-space:normal;min-height:32px}
.assist-panel{max-height:calc(100dvh - 110px)}
#assistPanel[inert]{visibility:hidden}
#modal[inert]{pointer-events:none}
.reveal:focus-within{opacity:1;transform:none}
.hero-ctl button{min-width:28px;min-height:28px}
#heroPlay{padding:6px 10px;border:1px solid #b7ccc5;font-size:12px;background:#06201e;color:#fff;white-space:nowrap}
.modal .body #mTitle{font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.08}
@media(max-width:620px){
 .cert-track{display:grid;grid-template-columns:1fr;overflow:visible;padding:12px 4px;gap:20px}
 .cert-track::after{display:none}.cert-card{width:100%;transform:none!important}
 .cert-controls,.cert-position{display:none}
 .assist-panel{width:calc(100vw - 24px);right:0;max-height:calc(100dvh - 110px)}
 .header .bar{min-height:64px;gap:10px}.header .brand .name{font-size:15px}.header .brand .loc{font-size:9px}
 .header .actions .btn-sm{display:none}
 .hero-ctl{gap:10px}.hero-ctl .arrows{gap:6px}
 .hero-ctl button{min-width:24px}
}
@media(max-height:500px){.header{position:absolute}.assist-panel{max-height:calc(100dvh - 90px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
.about .closing{line-height:1.6}
.side-nav a span,.lb-head span,.lane-board .ln,.lane-board .nm em,.lane-sum span{font-size:12px}
.card .gal{text-transform:none;letter-spacing:.03em}
/* Keep decorative texture behind content so it cannot obscure text. */
#grain{display:none}
.dots button{height:28px;background:transparent!important;position:relative}
.dots button::after{inset:12px 0 auto;height:3px;background:#9fb8b2}
.dots button.on::after{background:#f4d58d}
.dots button i{display:none}
/* Place readable text on stable surfaces, without a highlight crossing it. */
.products::before,.process::before,.quality::before,.btn::after{display:none}
.card-cta::after{pointer-events:none}
.disclaim{color:#b7ccc5}
#assistInput{color:#edf2ee;font-size:16px}
.table-hint{color:#b7ccc5;font-size:12px}
.card .idx,.card .gal{z-index:4}
@media(max-width:1080px){
 .hero-ctl{justify-content:flex-start;flex-wrap:wrap;gap:14px;padding-right:90px}
 .hero-ctl .dots{gap:8px;flex-shrink:0}
 .hero-ctl .arrows{flex-shrink:0}
 .hero-ctl .dots button{width:28px;min-width:28px;flex-shrink:0}
 .scroll-cue{visibility:hidden;pointer-events:none}
}
@media(max-width:620px){
 .hero-ctl{bottom:60px;padding-right:80px;column-gap:14px;row-gap:6px}
 .hero-ctl .dots{flex-basis:100%}
 .hero-ctl .arrows button{width:36px;height:36px}
}
/* Follow-up to the supplied 137-item audit. */
.step .n{color:#e8c781;-webkit-text-stroke:0}
.globe-live,.globe-live span,.globe-cap{color:#e0ece7;background:#06201e;font-size:12px}
.globe-cap{white-space:normal;text-align:center;width:max-content;max-width:95%;letter-spacing:.08em;padding:4px 8px}
.card-cta{background:#06201e}.card-cta::after{display:none}
.card-cta p{color:#d6e4de}.card-cta .eyebrow{color:#e8c781!important}
.brand .loc{font-size:11px!important}
/* Let the tallest slide determine height, including at 200% text size. */
.hero{height:auto;min-height:620px}
.slides{position:relative;inset:auto;display:grid}
.slide{position:relative;inset:auto;grid-area:1/1;min-width:0}
.hero .slide .content{height:auto;min-height:620px;padding:110px 0 160px}
.slide .inner{padding-top:0}
.hero .slide .num{color:#e8c781;background:#06201e;padding:4px 8px}
@media(max-width:620px){.hero .slide .content{min-height:560px;padding:120px 0 190px}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important}.step .n{-webkit-text-stroke:0;color:CanvasText}}
.gl-hud{background:#06201e}
.gl-hud .pname em,.gl-hud .foot{color:#d6e4de;font-size:11px}
.gl-hud .state{font-size:10px}
