:root{--paper:#f7f4ee;--ink:#293f34;--muted:#666b60;--olive:#3f5b47;--clay:#a75d43;--sage:#e4e9dd;--studio:#f4f7f3;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);color-scheme:light;line-height:1.5;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-underline-offset:4px}
button{font:inherit}
button:focus-visible,a:focus-visible,model-viewer:focus-visible{outline:3px solid var(--clay);outline-offset:4px}
model-viewer:focus-within{outline:3px solid var(--clay);outline-offset:-4px}
[hidden]{display:none!important}
.skip-link{position:fixed;z-index:10;top:12px;left:20px;padding:12px 18px;border-radius:8px;color:var(--paper);background:var(--olive);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.viewer-header{min-height:78px;padding:20px max(24px,calc((100vw - 1552px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--sage);color:var(--ink)}
.wordmark{font-size:27px;font-weight:700;letter-spacing:-.055em;text-decoration:none}
.back-link{display:flex;align-items:center;gap:20px;min-height:44px;font-size:15px;text-decoration:none}
.back-link:hover,.back-link:focus-visible{text-decoration:underline;color:var(--olive)}
.back-link span{font-size:22px}
main,footer{max-width:1600px;margin:0 auto;padding-left:24px;padding-right:24px}
.intro{display:flex;align-items:baseline;justify-content:space-between;gap:28px;padding:28px 0 20px}
h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:400;letter-spacing:-.025em;line-height:1.1;white-space:nowrap}
.intro p{margin:0;max-width:590px;font-size:16px}
.station-figure{margin:0}
.stage{position:relative;height:clamp(390px,65svh,720px);overflow:hidden;border-radius:12px;background:var(--studio)}
model-viewer{display:block;width:100%;height:100%;--poster-color:var(--studio);--progress-bar-color:var(--olive);--progress-bar-height:3px;outline-offset:-4px}
.poster,.fallback-image{display:block;width:100%;height:100%;object-fit:contain;background:var(--studio)}
.fallback-image{position:absolute;inset:0}
.viewer-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 0}
.controls{display:flex;flex-wrap:wrap;gap:7px}
.camera-controls{justify-content:flex-end}
button{appearance:none;min-height:44px;padding:10px 13px;border:0;border-radius:8px;background:var(--sage);color:var(--ink);font-size:14px;line-height:1.2;cursor:pointer;transition:background-color .15s,color .15s}
button:hover{background:#d5decc}
button:active{background:#c5d1bc}
button.primary{background:var(--olive);color:var(--paper)}
button.primary:hover{background:#324b3a}
button[aria-pressed="true"]:not(.primary){background:#ced9c4;color:var(--ink)}
button:disabled{cursor:wait;color:var(--muted);background:var(--sage)}
figcaption{display:flex;justify-content:space-between;gap:32px;padding:4px 0 10px;font-size:14px;color:var(--muted)}
figcaption p{margin:0;max-width:660px}
figcaption p:last-child{max-width:510px}
.viewer-status{padding:7px 0 14px;font-size:14px;color:var(--muted);min-height:42px}
.noscript-note{font-size:14px}
footer{display:flex;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:28px;font-size:14px}
footer a:hover{color:var(--olive)}
@media(min-width:1800px){.stage{height:720px}}
@media(max-width:1180px){.viewer-toolbar{flex-direction:column}.camera-controls{justify-content:flex-start}.intro{align-items:flex-start}.intro p{max-width:490px}.stage{height:60svh}}
@media(max-width:680px){.viewer-header{min-height:68px;padding:12px 20px}.wordmark{font-size:25px}.back-link{font-size:14px;gap:12px}main,footer{padding-left:20px;padding-right:20px}.intro{display:block;padding:26px 0 18px}h1{font-size:24px}.intro p{margin-top:12px;max-width:32em;font-size:15px}.stage{height:min(calc(100vw - 40px),480px);min-height:0;max-height:none}.viewer-toolbar{gap:12px;padding:14px 0}.controls{gap:6px}button{padding:10px 12px;font-size:13px}.camera-controls{gap:6px}figcaption{display:block;font-size:13px}figcaption p+p{margin-top:10px}.viewer-status{font-size:13px;padding-bottom:10px}footer{font-size:13px;align-items:flex-start;gap:20px;padding-top:18px}footer a:first-child{max-width:190px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
