/* Enhancements shared by the cinematic home and the existing inner templates. */
[hidden]{display:none!important}
.nav-list{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:28px}
.navigation [aria-current="page"]{text-decoration:underline;text-underline-offset:8px}
.header .navigation a{display:block}
.header .navigation .mobile-contact-link{display:none}
.header .navigation li{position:relative}
.navigation .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;padding:16px;background:var(--paper);list-style:none;border:1px solid var(--line)}
.navigation li:hover>.sub-menu,.navigation li:focus-within>.sub-menu{display:block}
.footer-top .eyebrow,.footer-bottom{color:#526451}
.footer .footer-bottom{font-size:10px}
.footer .footer-links button{font:inherit;text-align:left;color:inherit;background:none;border:0;cursor:pointer}
.header button,.footer button,dialog button{cursor:pointer;font-family:inherit}
.footer .footer-top p{margin-bottom:0}
.footer .footer-bottom button{color:inherit;background:none;border:0;cursor:pointer;min-height:32px}
.header .brand small{line-height:1.4}
.service-body .service-detail-link{display:table;margin:0 0 12px}
body:not(.home) .button{display:inline-flex;align-items:center;gap:24px;min-height:44px;padding:14px 20px;border:0;font:600 13px Manrope,Arial,sans-serif;cursor:pointer}
body:not(.home) .button-primary{background:#143e35;color:#fff}
.hero-film .film-toggle{min-width:48px;min-height:48px}
.process-model{position:relative}
#model-slot{position:absolute;inset:40px 0 105px;z-index:2}
#model-slot:empty{pointer-events:none}
model-viewer{display:block;width:100%;height:100%;background:transparent;--progress-bar-color:#176d57}
.model-ready #rack-model-image,.model-ready .model-point{visibility:hidden}
.model-controls{position:absolute;left:24px;right:24px;bottom:55px;z-index:4;text-align:center}
.model-controls .button{min-height:44px}
.model-controls p{font-size:11px;line-height:1.6;margin:8px 0 0;color:#405748}
.model-controls .text-link{font-size:12px}
.process-model .model-point{pointer-events:none}
.process-model figcaption{z-index:5}
#message-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#e5eadd;color:#182c27;padding:20px;font:14px/1.8 Manrope,Arial,sans-serif;max-height:40vh;overflow-y:auto}
#message-preview .dialog-close-button{display:block;margin-top:16px}
.consent{position:fixed;bottom:20px;left:20px;z-index:1000;background:#f5f3ed;color:#182c27;border:1px solid #8b9d8c;box-shadow:0 8px 35px #0002;padding:20px;max-width:460px;font:13px/1.6 Manrope,Arial,sans-serif}
.consent p{margin:0 0 14px}.consent a{text-decoration:underline}
.consent-actions{display:flex;gap:12px}.consent button{min-height:44px;padding:10px 22px;border:1px solid #143e35;background:transparent;color:#143e35;font:inherit;cursor:pointer}
.consent button[data-consent="yes"]{background:#143e35;color:#fff}
.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ae650e;outline-offset:5px}
.work a:focus-visible,.contact :focus-visible{outline-color:#d2e6ba}
@media(max-width:1100px){.header{gap:24px}.nav-list{gap:20px}}
@media(max-width:760px){
 .header .navigation .mobile-contact-link{display:flex;justify-content:space-between;align-items:center;width:100%;border-top:1px solid var(--line);margin-top:10px;padding:16px 0 0;min-height:44px}
 .nav-list{display:block;width:100%}.nav-list a{padding:12px 0;min-height:44px}
 .navigation .sub-menu{display:block;position:static;border:0;padding:0 16px}
 html:not(.nav-enhanced) .header{height:auto;min-height:78px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
 html:not(.nav-enhanced) .navigation{display:block;position:static;width:100%;box-shadow:none;border:0;padding:0}
 html:not(.nav-enhanced) .menu-toggle{display:none}
 .service-strip{display:grid;grid-template-columns:1fr 1fr;overflow:visible}
 .service-strip a{min-width:0;justify-content:flex-start;min-height:54px;font-size:11px;padding:12px 8px;border:0;border-bottom:1px solid var(--line)}
 .service-strip a:last-child{grid-column:1/-1;border-bottom:0}
 .service-strip a:first-child{padding-left:8px}
 .process-model{min-height:410px}
 .model-controls{left:16px;right:16px;bottom:56px}
 .model-controls .button{font-size:11px}
 .process-model figcaption>span{font-size:7px}
 .process-model figcaption>a{font-size:10px;min-height:32px;align-items:center}
 .film-top,.film-bottom small{font-size:9px}.film-bottom .eyebrow{font-size:9px}
 .hero .eyebrow{font-size:9px;letter-spacing:.8px}
 .section-intro>.eyebrow,.process-copy>.eyebrow,.contact-copy .eyebrow{font-size:10px}
 .footer-wordmark{font-size:10vw;letter-spacing:-1.5px}
 .footer .footer-bottom{font-size:9px}
 .consent{left:12px;right:12px;bottom:12px;max-width:none;padding:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
