/* Final shared geometry: each photograph occupies the viewport BELOW the menu. */
:root{--story-viewport:calc(100svh - var(--site-header-height,88px))}
body>main{padding-top:var(--site-header-height,88px)}
.chapter{scroll-margin-top:var(--site-header-height,88px)}
.chapter[id]>.stage{height:var(--story-viewport)!important;min-height:0!important;max-height:none!important;top:var(--site-header-height)!important;padding:0!important;display:block!important;background:transparent}
.chapter[id] .art,.chapter[id] .office-art,.chapter[id] .zone-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;background:none}
.chapter[id] .art>img{object-fit:cover!important;object-position:center!important;transform:none!important;filter:none}
.chapter[id] .scene-heading{position:absolute!important;top:28px!important;transform:none!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;z-index:5}
.chapter[id] .scene-heading h1,.chapter[id] .scene-heading h2{font-size:clamp(28px,3.3vw,48px);line-height:1.1;text-shadow:0 2px 7px #0009;letter-spacing:-1px}
.chapter[id] .intro{font-size:16px;line-height:1.4;text-shadow:0 1px 5px #0009;margin-top:14px}
.chapter[id] .shade{display:block!important;background:linear-gradient(180deg,#08121b55,transparent 35%,transparent 55%,#08121b77)!important}
.chapter[id] .event{position:absolute!important;inset:auto 6vw 58px!important;width:auto!important;margin:0!important;padding:14px 0 0!important;background:none!important;box-shadow:none!important;z-index:5;transform:none!important;opacity:1!important}
.chapter[id] .event-copy h2{font-size:20px;line-height:1.2}
.chapter[id] .event-next,.chapter[id] .system p{font-size:15px;line-height:1.35;color:white;text-shadow:0 1px 5px #000b;transform:none!important;opacity:1!important}
.chapter[id] .system small{font-size:10px;line-height:1.3;color:#f0f3f5;text-shadow:0 1px 5px #000b}
.chapter[id] .chapter-cue{position:absolute!important;inset:auto auto 14px 6vw!important;margin:0!important;z-index:6}
#access-check .kts-visual,#zone-control .zone-visual{position:absolute;left:50%!important;top:50%!important;width:max(100%,calc(var(--story-viewport) * 1672 / 941))!important;height:auto!important;transform:translate(-50%,-50%)!important}
#access-check .kts-demo{top:43%!important}
#zone-control .scene-heading{left:6vw;right:auto;max-width:45vw}
#zone-control .scene-heading h2{font-size:32px}
#zone-control .zone-scenarios{position:absolute;left:30vw;right:auto;top:45%;width:225px;margin:0;padding:0;display:block;background:none;border:0;z-index:5}
#zone-control .zone-scenarios label{display:none}
#zone-control .zone-scenarios select{max-width:100%;padding:7px;font-size:13px;background:#132432b8;color:white;border:1px solid #ffffff88;border-radius:4px}
#zone-control .zone-mobile-alert{display:none}
#zone-control .zone-ui-card{padding:12px 18px}
#zone-control .zone-ui-card h3{font-size:23px;margin-bottom:8px}
#zone-control .zone-person{padding-bottom:8px;margin-bottom:9px}
#zone-control .zone-person b{font-size:22px}
#zone-control .zone-ui-card dl{font-size:18px;gap:6px 12px;grid-template-columns:135px 1fr}
#zone-control .zone-ui-card #zone-rule{font-size:15px;margin:7px 0}
#zone-control .zone-ui-actions{font-size:15px;padding:5px 10px}
#office-control .scene-heading{left:6vw;right:auto;max-width:70vw}
#office-control .scene-heading h2{font-size:34px}
#office-control .intro{max-width:55vw}
#office-control .office-plane{position:absolute;left:50%;top:50%}
#production .production-window{position:absolute!important;inset:0!important;width:100%;height:100%;min-height:0!important;border:0;border-radius:0}
#production .scene-heading{left:6vw;right:6vw;max-width:80vw}
#production .scene-heading h2{font-size:32px}
#production .scene-heading .intro{display:none}
#production .production-caption-tray{position:absolute!important;left:6vw;right:6vw;bottom:100px;min-height:0!important;max-height:42%;overflow:auto;background:none!important;color:white;padding:0!important;border:0;box-shadow:none}
#production .production-caption,#production .production-process,#production .production-system{background:none!important;color:white;border:0;box-shadow:none;padding:0}
#production .production-caption h2{font-size:20px;color:white}
#production .production-caption p,#production .production-system p,#production .production-zone-reference p{color:white;text-shadow:0 1px 5px #000b}
#production .production-zone-reference{border:0}
#production .production-zone-reference p{display:none}
#production .panorama-controls{position:absolute!important;left:6vw;right:auto;bottom:51px;max-width:88%;background:none!important}
#production .chapter-cue{bottom:14px!important;font-size:13px}
.afterword-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.afterword-actions a{padding:14px 28px;border:1px solid #ff995d;border-radius:8px;background:#ed702c;color:white}
.view-settings{display:flex;gap:12px;margin-bottom:30px}.view-settings button{background:none;border:1px solid #ffffff55;color:white;border-radius:5px;padding:7px}
@media(max-width:800px){
 .chapter[id] .scene-heading{top:18px!important;left:6vw;right:6vw;max-width:none}
 .chapter[id] .scene-heading h1,.chapter[id] .scene-heading h2{font-size:25px;line-height:1.1}
 .chapter[id] .intro{font-size:12px;line-height:1.3;margin-top:9px}
 .chapter[id] .event{inset:auto 6vw 49px!important;grid-template-columns:1fr 1fr;gap:13px;padding-top:8px!important}
 .chapter[id] .event-number{display:none}
 .chapter[id] .system{grid-column:auto;margin:0;padding:0;border:0}
 .chapter[id] .event-copy h2{font-size:15px}
 .chapter[id] .event-next,.chapter[id] .system p{font-size:11px;line-height:1.3}
 .chapter[id] .system small{display:none}
 .chapter[id] .event-label,.chapter[id] .system>span{font-size:8px;letter-spacing:.7px}
 #access-check .kts-demo{left:7vw!important;top:43%!important;width:45vw!important}
 #access-check .kts-demo strong{font-size:12px}
 #zone-control .zone-scenarios{left:7vw;top:48%;width:45vw}
 #sterilization:not(.sterilization-unloading) .scene-heading{text-align:right;left:auto;right:6vw;max-width:75vw}
 #sterilization.sterilization-unloading .scene-heading{left:6vw;right:auto;max-width:75vw}
 #production .production-caption-tray{bottom:103px;max-height:40%;display:grid;grid-template-columns:1fr 1fr;gap:10px}
 #production .production-caption h2{font-size:15px}#production .production-caption p,#production .production-system p{font-size:11px}
 #production .production-zone-reference strong{font-size:12px}
}
#office-control .office-hit{position:absolute;background:none;border:0;margin:0;padding:0;cursor:zoom-in}
#office-control .office-hit-left{left:317px;top:198px;width:629px;height:461px;clip-path:polygon(0 0,100% 0,100% 100%,29% 98%,24% 88%,17% 80%,12% 72%,6% 65%,0 58%)}
#office-control .office-hit-right{left:970px;top:198px;width:640px;height:482px}
#office-control .office-hit:focus-visible{outline:6px solid #ff8b42;outline-offset:-6px}
#office-original{width:94vw;max-width:1500px;height:90svh;max-height:90svh;padding:0;border:1px solid #79818a;border-radius:8px;background:#f8f8f2;color:#16212a;z-index:1000;overflow:hidden}
#office-original::backdrop{background:#07111bc9}
.office-dialog-controls{display:flex;justify-content:flex-end;gap:10px;padding:12px;background:#f0f1eb;border-bottom:1px solid #c9cfcf}
.office-dialog-controls button{border:1px solid #c0c5c2;padding:8px 14px;border-radius:5px;background:white;color:#16212a}
.office-original-scroll{overflow:auto;height:calc(100% - 63px);padding:12px}
.office-original-scroll img{display:block;max-width:none;height:auto}

body.reduced-motion .chapter[id]>.stage{top:0!important}
@media(prefers-reduced-motion:reduce){.chapter[id]>.stage{top:0!important}}
/* Header height is intrinsic, never a minimum tied to its own measured result. */
.site-header{min-height:0;height:auto;padding:10px 3vw;grid-template-rows:auto;gap:18px}
@media(max-width:1000px){
 .site-header{min-height:0;height:auto;padding:9px 4vw;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:10px}
 .header-left{display:contents}.site-header .logo{grid-row:1;grid-column:1}
 .site-header .header-request{grid-row:1;grid-column:2}
 .screen-progress{grid-row:2;grid-column:1;min-width:76px;width:76px;max-width:76px;z-index:1;font-size:11px}
 .screen-controls{gap:3px}.site-header #screen-menu{min-width:24px;min-height:26px;font-size:20px;padding:2px}
 .site-header .header-actions{grid-row:2;grid-column:1/-1;padding-left:92px;justify-content:flex-end;gap:14px}
 .site-header .header-actions a{font-size:18px}
}
@media(max-width:390px){.site-header .header-actions{gap:10px;padding-left:86px}.site-header .header-actions a{font-size:16px}}
#zone-control .scene-heading{left:32vw;right:5vw;max-width:63vw}
#zone-control .scene-heading h2{font-size:30px}
#zone-control .intro{max-width:54vw}
#qualification .event-copy h2,#qualification .event-next,#qualification .system p{text-shadow:0 1px 3px #000,0 2px 8px #000c}
@media(max-width:800px){#zone-control .scene-heading{left:6vw;right:6vw;max-width:none}#zone-control .scene-heading h2{font-size:25px}#zone-control .intro{max-width:none}}
/* v47: one translucent lower reading gradient on every story photograph.
   It is a visual layer only: no panel, geometry, scrolling or hit-target change. */
.chapter[id]>.stage::after{content:"";position:absolute;inset:auto 0 0;height:52%;z-index:4;pointer-events:none;background:linear-gradient(to top,rgba(5,13,21,.82) 0%,rgba(5,13,21,.76) 35%,rgba(5,13,21,.62) 65%,rgba(5,13,21,0) 100%)}
.chapter[id] .shade{background:linear-gradient(180deg,#08121b55,transparent 35%)!important}
@media(max-width:800px){.chapter[id]>.stage::after{height:62%}}
#access-check .kts-demo{z-index:5}
/* Office text remains unconstrained; typography is shared below. */
#office-control .event .system{min-width:0;overflow:visible;overflow-wrap:break-word}
/* v50: no slide counter or jump menu; normal chapter scrolling stays intact. */
@media(max-width:1000px){.site-header .header-actions{padding-left:0;justify-content:center}}
@media(max-width:390px){.site-header .header-actions{padding-left:0}}
/* v50: compact contacts footer; the request form remains available in the header. */
.site-footer{padding:32px 6vw 24px!important}
.footer-contact-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}
.site-footer h2{font-size:22px;margin:0 0 12px}
.site-footer .footer-phone,.site-footer .footer-email{display:block;font-size:clamp(20px,2.4vw,30px);font-weight:600;line-height:1.45;text-decoration:none;margin:3px 0;overflow-wrap:anywhere}
.site-footer .footer-address{font-size:14px;line-height:1.65;margin:0;color:#d3dce2}
.site-footer .footer-links{margin:22px 0 12px;padding-top:16px;gap:12px 22px}
.site-footer>.muted{font-size:12px;line-height:1.5;margin:12px 0 0}
@media(max-width:700px){.footer-contact-row{grid-template-columns:1fr;gap:18px}.site-footer{padding:26px 6vw 20px!important}.site-footer .footer-links{font-size:13px;gap:10px 18px}}
/* v59: one semantic typography scale for all twelve chapters.
   Values are the approved slide 02 scale, not monitor/interface typography.
   Shared tokens retain the responsive reference; no per-slide size exceptions. */
.chapter{
 --story-font:Arial,Helvetica,sans-serif;
 --story-title-size:clamp(30px,3.6vw,56px);--story-title-leading:1.1;
 --story-intro-size:16px;--story-intro-leading:1.4;
 --story-kicker-size:14px;--story-kicker-leading:1.45;
 --story-label-size:13px;--story-label-leading:1.4;--story-label-spacing:1px;
 --story-event-title-size:20px;--story-event-title-leading:1.2;
 --story-event-body-size:15px;--story-event-body-leading:1.35;
 --story-system-body-size:18px;--story-system-body-leading:1.5;
 --story-note-size:14px;--story-note-leading:1.5;--story-note-display:block;
}
:is(#delivery,#receiving,#fitting,#laundry,#clean-laundry,#qualification,#sterilization,#address-storage,#access-check,#zone-control,#office-control,#audit-documentation)>.stage .scene-heading :is(h1,h2){font-family:var(--story-font);font-size:var(--story-title-size);line-height:var(--story-title-leading);font-weight:500;letter-spacing:-1px}
:is(#delivery,#receiving,#fitting,#laundry,#clean-laundry,#qualification,#sterilization,#address-storage,#access-check,#zone-control,#office-control,#audit-documentation)>.stage .scene-heading .intro{font-family:var(--story-font);font-size:var(--story-intro-size);line-height:var(--story-intro-leading);font-weight:400;letter-spacing:normal}
:is(#delivery,#receiving,#fitting,#laundry,#clean-laundry,#qualification,#sterilization,#address-storage,#access-check,#zone-control,#office-control,#audit-documentation)>.stage .scene-heading .kicker{font-family:var(--story-font);font-size:var(--story-kicker-size);line-height:var(--story-kicker-leading);font-weight:600;letter-spacing:1.5px}
:is(#delivery,#receiving,#fitting,#laundry,#clean-laundry,#qualification,#sterilization,#address-storage,#access-check,#zone-control,#office-control,#audit-documentation)>.stage .event :is(.event-label,.system>span){font-family:var(--story-font);font-size:var(--story-label-size);line-height:var(--story-label-leading);font-weight:700;letter-spacing:var(--story-label-spacing)}
:is(#delivery,#receiving,#fitting,#laundry,#clean-laundry,#qualification,#sterilization,#address-storage,#access-check,#zone-control,#office-control,#audit-documentation)>.stage .event .event-copy h2{font-family:var(--story-font);font-size:var(--story-event-title-size);line-height:var(--story-event-title-leading);font-weight:400;letter-spacing:-.4px}
:is(#delivery,#receiving,#fitting,#laundry,#clean-laundry,#qualification,#sterilization,#address-storage,#access-check,#zone-control,#office-control,#audit-documentation)>.stage .event .event-next{font-family:var(--story-font);font-size:var(--story-event-body-size);line-height:var(--story-event-body-leading);font-weight:400;letter-spacing:normal}
:is(#delivery,#receiving,#fitting,#laundry,#clean-laundry,#qualification,#sterilization,#address-storage,#access-check,#zone-control,#office-control,#audit-documentation)>.stage .event .system p{font-family:var(--story-font);font-size:var(--story-system-body-size);line-height:var(--story-system-body-leading);font-weight:400;letter-spacing:normal}
:is(#delivery,#receiving,#fitting,#laundry,#clean-laundry,#qualification,#sterilization,#address-storage,#access-check,#zone-control,#office-control,#audit-documentation)>.stage .event .system small{font-family:var(--story-font);font-size:var(--story-note-size);line-height:var(--story-note-leading);font-weight:400;letter-spacing:normal;display:var(--story-note-display)}
@media(max-width:800px){.chapter{
 --story-title-size:29px;
 --story-intro-size:12px;--story-intro-leading:1.3;
 --story-kicker-size:8px;--story-kicker-leading:normal;
 --story-label-size:8px;--story-label-spacing:.7px;
 --story-event-title-size:15px;
 --story-event-body-size:11px;--story-event-body-leading:1.4;
 --story-system-body-size:13px;--story-system-body-leading:1.45;
 --story-note-size:9px;--story-note-leading:1.35;--story-note-display:none;
}}
/* v64: storage heading follows the clear right-hand composition; lower story stays shared. */
#address-storage .scene-heading{left:auto;right:6vw;max-width:46vw;text-align:right}
#address-storage .scene-heading .intro{margin-left:auto}
@media(max-width:800px){#address-storage .scene-heading{left:6vw;right:6vw;max-width:none;text-align:right}}
/* v64: keep the zone heading above the operator, away from the physical display. */
#zone-control .scene-heading{left:auto;right:5vw;max-width:43vw;text-align:right}
#zone-control .scene-heading .intro{max-width:none;margin-left:auto}
@media(max-width:800px){#zone-control .scene-heading{left:6vw;right:6vw;max-width:none;text-align:right}}
/* v64: original monitor imagery remains visible; headline occupies freed eyebrow space. */
#office-control .scene-heading h2,#office-control .scene-heading .intro{margin-top:0;text-shadow:0 1px 3px #07131b,0 2px 8px #07131bcc}
#office-control .scene-heading .intro{margin-top:14px}
#office-control .shade{background:linear-gradient(180deg,rgba(5,13,21,.72),rgba(5,13,21,.35) 23%,transparent 43%)!important}
#zone-control .scene-heading{top:16px!important}
#office-control .scene-heading{top:8px!important;max-width:88vw}
#office-control .scene-heading .intro{margin-top:8px;max-width:none}
@media(max-width:800px){#office-control .scene-heading{top:16px!important;max-width:88vw}}
#office-control .scene-heading{width:88vw}
