/* Draft two: the owner's original scenic artwork defines the palette. */
:root{--bg:#191714;--paper:#f0e4c8;--green:#e5af46;--orange:#edb449;--muted:#c6bda9;--line:#ead8b52b}
header,.rail{background:#191714ed}.containment-monitor{color:#e8bd63}.monitor-track{background:#493a2c}.monitor-track i{background:#d94832}.status-dot{background:#e34b36;box-shadow:0 0 12px #e34b3655}.infection-edge{display:none}.header-season{display:none}
.hero{background:#211b16}.hero-photo{background-image:url('assets/cell.webp');background-position:center;filter:saturate(.7) brightness(.64)}.hero:before{background:linear-gradient(90deg,#191510f5,#191510c9 36%,#19151030 80%),linear-gradient(0deg,#191714,transparent 38%,#19171455)}.hero h1{font-size:clamp(76px,9.5vw,145px)}.lockdown{color:#edb449;text-shadow:none}.hero-copy{max-width:720px}.hero-copy .eyebrow{color:#edc876}.hero-sub{color:#f0e4c8}.intro{color:#e0d5bf}.hero-signage{position:absolute;width:34%;right:4%;top:43%;transform:rotate(4deg);z-index:2;box-shadow:10px 18px 35px #0009;border:5px solid #38291e;background:#2b211b}.hero-signage img{width:100%;height:auto}.hero-signage span{display:block;padding:10px;text-align:center;font:9px/1.4 'Courier New',monospace;letter-spacing:1px;color:#d9c6a5}.hero-top,.hero-bottom{color:#e3d4b8}.hero-grid{display:none}.hero .fog{background:radial-gradient(ellipse,#d5b99420,transparent 65%)}.toxic-mist{opacity:.06!important}.toxic-mist i{background:radial-gradient(ellipse,#d6c8a630,transparent 63%)}
.hazard-tape{background:#cb3e2d;color:#f5dfad;border-color:#e4aa3d;transform:none}.button{background:#edb449;color:#23180f;box-shadow:none}.button:hover{background:#ffd071}.story,.last-call{background:none}.story-file{background:#e9dcbf;color:#30251c}.report-label{color:#796348}.story-notice{max-width:700px;width:100%;height:auto;margin:0 auto 35px;transform:rotate(-1deg);box-shadow:0 8px 25px #0004}.story-end{padding-top:22px}.lead{color:#cfc0a6;font-size:17px;max-width:370px;line-height:1.75}.file-meta,.sentence-strip span,.fine-print,.footer-base{color:#bfb29b}.experience-card .photo-wrap{border-bottom:5px solid #bb412e}.photo-label{background:#bd392c;color:#fff0d5;padding:6px 10px;left:0;bottom:16px}.photo-wrap img{filter:saturate(.8)}
.quarantine{background:#211b17;grid-template-columns:.85fr 1.15fr;padding:65px 6%;gap:45px}.quarantine h2 span{color:#de5b43}.quarantine-text>p:not(.eyebrow){color:#c9bba3}.handwritten{color:#e5af46}.notice-wall{min-height:0}.notice-mount{display:flex;align-items:center;gap:14px;aspect-ratio:auto;overflow:visible;mask-image:none;container-type:normal}.notice-wall .original-notice{position:static;width:65%;height:auto;filter:none;transform:rotate(-3deg);box-shadow:0 15px 30px #0006;border:3px solid #453021}.notice-wall .notice-secondary{width:32%;transform:rotate(5deg)}
.booking{padding-block:75px}.booking-panel{background:#2c221b;border:1px solid #a67842;padding:30px}.booking-panel h3{font-size:38px;margin:16px 0}.booking-panel>p:not(.report-label):not(.fine-print){font-size:16px;color:#dac9ad;margin-bottom:24px}.booking-panel .button{font-size:17px;width:100%;gap:15px}.booking-panel .fine-print{font-weight:400;margin-top:16px}.booking-note{color:#d2b98d}
.faq-heading h2{font-size:clamp(42px,5vw,67px)!important}.faq-heading>div>p:not(.eyebrow){color:#c6bda9}#faq-switchboard .console{background:linear-gradient(120deg,#574634,#30271e 60%,#27221b);outline-color:#987244}#faq-switchboard .plate{color:#dfc399}#faq-switchboard .department[aria-pressed=true]{border-color:#dfac50}#faq-switchboard .selector-prompt{color:#ebc786}.last-symbol{width:88px;height:72px;object-fit:cover;margin:0 auto 25px;transform:rotate(-5deg)}footer{background:#100f0d}dialog{background:#241d17}.hero-signage:after{content:'';position:absolute;width:8px;height:8px;top:4px;left:4px;border-radius:50%;background:#675746;box-shadow:1px 1px 2px #000}
@media(min-width:1550px){.hero-signage{right:6%;width:32%}}
@media(max-width:1100px){.hero-signage{width:29%;right:3%;top:50%}.hero h1{font-size:10vw}.hero-copy{max-width:70%}}
@media(max-width:760px){.hero{height:auto;min-height:920px;padding-bottom:24px}.hero-photo{background-position:60% center}.hero:before{background:linear-gradient(90deg,#191510e8,#191510a0),linear-gradient(0deg,#191714,transparent 50%)}.hero-copy{max-width:none;padding:35px 0 26px}.hero h1{font-size:clamp(62px,14vw,100px)}.hero-signage{position:relative;top:auto;right:auto;width:72%;max-width:340px;align-self:flex-end;margin:0 5px 32px;transform:rotate(3deg)}.hero-signage span{font-size:8px;padding:7px}.hero-copy .eyebrow{max-width:none}.hero-ctas{gap:14px}.hero-ctas .button{padding-inline:15px}.hero-ctas .text-link{font-size:11px;gap:10px}.hero-bottom{font-size:10px}.quarantine{grid-template-columns:1fr;padding:45px 24px;gap:30px}.quarantine-text{padding:0}.quarantine h2{font-size:60px}.notice-wall{padding:10px 0}.notice-mount{gap:10px}.booking-panel{padding:24px}.booking-panel .button{font-size:15px}.story-notice{margin-bottom:28px}.containment-monitor{background:#211b17}.faq-heading h2{font-size:43px!important}.last-call{padding-top:60px}.booking{padding-block:55px}}
.truth-switch button[aria-pressed=true]{background:#613c27;color:#f6e5c3}.file-meta{border-color:#ad7940}#faq-switchboard .drawer .paper{background:#e7d9bb;color:#33271c;border-color:#a78450;box-shadow:inset 0 0 22px #72503220}#faq-switchboard .drawer .paper h3{color:#39291d}#faq-switchboard .drawer .paper p{color:#443426}#faq-switchboard .drawer .paper .record{color:#795a38}#faq-switchboard .paper p a{color:#813321}#faq-switchboard .department{color:#d8c3a0}#faq-switchboard .department[aria-pressed=true]{background:#6b492d;color:#fff0d1}#faq-switchboard .department[aria-pressed=true] .lamp{background:#ffcb66;box-shadow:0 0 10px #efae4a88}#faq-switchboard .connected,#faq-switchboard .dial-wrap small,#faq-switchboard .plate b{color:#d4b57f}.last-call .last-symbol{display:block}.story-end strong{font-size:clamp(54px,8vw,110px)}
/* Signs are installed in the scene, with shared lighting and perspective. */
.hero-photo{background-image:url('assets/prison-hero-v2.webp');filter:saturate(.92) brightness(.88);background-position:center}.hero:before{background:linear-gradient(90deg,#17130fec,#17130fbe 33%,#17130f12 64%),linear-gradient(0deg,#191714d9,transparent 28%,#19171430)}.mobile-scene{display:none}.notice-wall .environment-notices{position:static;width:100%;height:auto;filter:none;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 3% 97%,transparent)}.quarantine{grid-template-columns:.7fr 1.3fr;gap:30px}.story-end{padding-top:0}.hero .fire-glow{display:none}.hero .toxic-mist{opacity:.04!important}.hero-signage{display:none}
@media(max-width:760px){.hero{min-height:0}.hero-photo{opacity:.35;background-position:35% center}.hero:before{background:linear-gradient(90deg,#191714ba,#19171488)}.mobile-scene{display:block;margin:0 -24px 10px;position:relative}.mobile-scene img{width:100%;height:auto;mask-image:linear-gradient(0deg,transparent,#000 9% 90%,transparent)}.hero-copy{padding-bottom:18px}.quarantine{grid-template-columns:1fr}.notice-wall{margin-inline:-12px;width:calc(100% + 24px)}}
/* Amber chemical vapour and separate glowing motes, across the whole visit. */
#atmosphere{position:fixed;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;opacity:1}
.mist-scene{isolation:isolate}.mist-scene>.toxic-mist{inset:0;z-index:0;opacity:.85!important;contain:paint;transition:opacity .4s;mask-image:linear-gradient(0deg,transparent,#000 15% 85%,transparent)}
.mist-scene>.mist-front{z-index:1;opacity:.38!important;mix-blend-mode:screen}
.mist-scene>:not(.toxic-mist):not(.hero-photo):not(.fog):not(.fire-glow):not(.hero-grid){position:relative;z-index:2}
.mist-scene .toxic-mist i{background:radial-gradient(ellipse at 30% 55%,#e9b32f70,transparent 63%),radial-gradient(ellipse at 72% 45%,#d8422948,transparent 60%);filter:blur(25px);translate:var(--mist-x,0px) var(--mist-y,0px);transition:translate 1.8s ease-out}
.hero>.mist-back{opacity:.6!important}.hero>.mist-front{opacity:.23!important}
.mist-scene .mist-front i{background:radial-gradient(ellipse at 40% 55%,#e9be4740,transparent 66%);filter:blur(30px)}
.paused .toxic-mist i{transition:none}
@media(max-width:760px){#atmosphere{opacity:.7}.mist-scene>.mist-back{opacity:.7!important}.mist-scene>.mist-front{opacity:.25!important}.mist-scene .toxic-mist i:nth-child(n+7){display:none}}
@media(prefers-reduced-motion:reduce){.toxic-mist,#atmosphere{display:none}}
/* Overlapping vapour wisps break up the smooth pools of light. */
.mist-scene .toxic-mist i{height:calc(var(--size) * .7);background:radial-gradient(ellipse at 25% 65%,#deb33555,transparent 46%),radial-gradient(ellipse at 62% 34%,#e6bc3d45,transparent 45%),radial-gradient(ellipse at 78% 68%,#d43c2b38,transparent 44%);filter:blur(19px)}
.mist-scene .toxic-mist i:before,.mist-scene .toxic-mist i:after{content:'';position:absolute;inset:8% -8%;background:radial-gradient(ellipse at 35% 60%,#efc65038,transparent 48%),radial-gradient(ellipse at 70% 40%,#be38282e,transparent 50%);transform:rotate(-18deg);animation:vapour-fold 12s ease-in-out var(--delay) infinite alternate;animation-play-state:paused}
.mist-scene .toxic-mist i:after{inset:25% -15% -8%;transform:rotate(22deg);animation-direction:alternate-reverse;animation-duration:17s}
.mist-visible .toxic-mist i:before,.mist-visible .toxic-mist i:after{animation-play-state:running}
@keyframes vapour-fold{from{transform:translate(-18px,8px) rotate(-18deg) scale(.9,1)}to{transform:translate(34px,-20px) rotate(13deg) scale(1.2,.7)}}
.paused .toxic-mist i:before,.paused .toxic-mist i:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.toxic-mist i:before,.toxic-mist i:after{animation:none}}

/* Let the atmospheric field remain visible behind the fixed navigation. */
header {
  background: rgba(25, 23, 20, .66);
  backdrop-filter: blur(6px) saturate(.82);
}

@media(max-width:760px) {
  #atmosphere { width:100vw; height:var(--atmosphere-height, 100lvh); opacity:.9; }
  header { background: rgba(25, 23, 20, .74); }
}

/* Keep primary display headings in one consistent cream treatment. */
.hero h1,
.section h2,
.quarantine h2,
.last-call h2,
.hero h1 .lockdown,
.section h2 em,
.quarantine h2 span {
  color: var(--paper);
}

.quarantine h2 span:after {
  display: none;
}

/* The crossed-out incident classification is the one heading-colour exception. */
.quarantine h2 span {
  color: #e34b36;
}

.quarantine h2 span:after {
  display: block;
  background: #b72f25;
}

/* Layered depth: scenery moves behind the copy without disturbing layout. */
.hero-photo {
  inset: -7%;
  transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.07);
  transform-origin: center top;
  will-change: transform;
}

.hero-grid {
  transform: translate3d(0, var(--parallax-y, 0), 0);
  will-change: transform;
}

.hero-copy {
  transform: translate3d(0, var(--parallax-y, 0), 0);
  will-change: transform;
}

.photo-wrap img {
  position: absolute;
  inset: -6% 0 auto;
  height: 112%;
  transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.04);
  transform-origin: center;
  transition: filter .6s, transform .18s linear;
  will-change: transform;
}

.experience-card:hover .photo-wrap img {
  transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.09);
}

.notice-wall {
  overflow: hidden;
}

.notice-wall .environment-notices {
  transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.08);
  transform-origin: center;
  will-change: transform;
}

.paused .hero-photo,
.paused .hero-grid,
.paused .hero-copy,
.paused .photo-wrap img,
.paused .notice-wall .environment-notices {
  --parallax-y: 0px !important;
}

@media(max-width:760px) {
  .hero-photo { inset: -4%; transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.04); }
  .hero-copy { will-change: auto; }
  .photo-wrap img { inset: -4% 0 auto; height: 108%; transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.03); }
  .experience-card:hover .photo-wrap img { transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.03); }
  .notice-wall .environment-notices { transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.04); }
}

@media(prefers-reduced-motion:reduce) {
  .hero-photo,.hero-grid,.hero-copy,.photo-wrap img,.notice-wall .environment-notices {
    transform: none;
    will-change: auto;
  }
}

/* Draw interface symbols as icons so mobile platforms never substitute emoji. */
.ui-icon {
  --icon-stroke: max(1.5px, .09em);
  display: inline-block;
  position: relative;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  color: currentColor;
  vertical-align: -.12em;
}

.icon-up-right:before,.icon-right:before,.icon-down:before {
  content: '';
  position: absolute;
  width: 58%;
  height: 58%;
  border-top: var(--icon-stroke) solid currentColor;
  border-right: var(--icon-stroke) solid currentColor;
}

.icon-up-right:before { top: 8%; right: 8%; }
.icon-up-right:after,.icon-right:after,.icon-down:after {
  content: '';
  position: absolute;
  width: 88%;
  height: var(--icon-stroke);
  left: 3%;
  top: 51%;
  background: currentColor;
  transform-origin: center;
}
.icon-up-right:after { transform: rotate(-45deg); }
.icon-right:before { width: 46%; height: 46%; right: 7%; top: 27%; transform: rotate(45deg); }
.icon-right:after { width: 82%; left: 7%; }
.icon-down:before { width: 46%; height: 46%; right: 27%; top: 39%; transform: rotate(135deg); }
.icon-down:after { width: 70%; left: 15%; transform: rotate(90deg); }
.icon-biohazard { background: currentColor; -webkit-mask:url('assets/icon-biohazard.svg') center/contain no-repeat; mask:url('assets/icon-biohazard.svg') center/contain no-repeat; }
.icon-dot { width: .42em; height: .42em; border-radius: 50%; background: currentColor; vertical-align: .08em; }
.icon-pause:before { content:''; position:absolute; inset:14% 19%; background:linear-gradient(90deg,currentColor 0 24%,transparent 24% 76%,currentColor 76%); }
.icon-play:before { content:''; position:absolute; inset:12% 8% 12% 22%; background:currentColor; clip-path:polygon(0 0,100% 50%,0 100%); }
.icon-close:before,.icon-close:after { content:''; position:absolute; left:49%; top:12%; width:var(--icon-stroke); height:76%; background:currentColor; transform:rotate(45deg); }
.icon-close:after { transform:rotate(-45deg); }
.icon-separator:before,.icon-separator:after { content:''; position:absolute; left:48%; top:8%; width:var(--icon-stroke); height:84%; background:currentColor; transform:rotate(45deg); }
.icon-separator:after { transform:rotate(-45deg); }

.button .ui-icon { font: inherit; width: 1.35em; height: 1.35em; }
.text-link .ui-icon,.hero-bottom .ui-icon,dialog nav .ui-icon,footer .ui-icon,.rail .ui-icon { width: 1.05em; height: 1.05em; }
.bio .ui-icon { display:block; width:1em; height:1em; }
.last-call > .bio { display:grid; place-items:center; }
.last-call > .bio .icon-biohazard { margin-inline:auto; }
.hazard-tape .icon-biohazard { width:1.1em; height:1.1em; margin-inline:.3em; vertical-align:-.18em; }
#motion .ui-icon { width:17px; height:17px; vertical-align:0; }
#menu-close .ui-icon { width:22px; height:22px; vertical-align:0; }
.hero-bottom b .ui-icon { display:block; width:.7em; height:.7em; }

/* Match the Good Thinking build credit used on the Avora Frozen page. */
.gt-credit{display:inline-flex;align-items:center;gap:12px;padding:10px 18px 10px 12px;border-radius:999px;color:#e0d2b6;font:700 10px/1.4 'Courier New',monospace;letter-spacing:.16em;text-transform:uppercase;background:#edb4490a;box-shadow:inset 0 0 0 1px #edb4492e;transition:color .3s ease,background .3s ease,box-shadow .3s ease}
.gt-credit:hover{color:#fff0d5;background:#edb44914;box-shadow:inset 0 0 0 1px #edb4495c}
.gt-credit .gt-mark{width:auto;height:30px;filter:sepia(1) saturate(4) brightness(1.12) drop-shadow(0 0 5px #edb44980) drop-shadow(0 0 14px #bb412e55);transition:filter .3s ease}
.gt-credit:hover .gt-mark{filter:sepia(1) saturate(5) brightness(1.32) drop-shadow(0 0 8px #f7ca73b3) drop-shadow(0 0 20px #bb412e7a)}

/* Smooth report switching: one travelling index line and softly feeding copy. */
.truth-switch button {
  transition:background-color .32s ease,color .32s ease,border-color .32s ease,box-shadow .32s ease,transform .32s ease;
}
.truth-switch button[aria-pressed=true] {
  box-shadow:inset 0 -3px 0 #a55737,0 3px 9px #4b28171f;
  transform:translateY(-1px);
}
.chapter-controls {
  --chapter:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  position:relative;
}
.chapter-controls:after {
  content:'';
  position:absolute;
  left:0;
  bottom:-1px;
  width:33.333%;
  height:3px;
  background:#8b3827;
  transform:translate3d(calc(var(--chapter) * 100%),0,0);
  transition:transform .42s cubic-bezier(.2,.8,.25,1);
}
.chapter-controls button {
  border-bottom:0;
  transition:color .3s ease,background-color .3s ease;
}
.chapter-controls button[aria-selected=true] {
  border-bottom-color:transparent;
  background:#8b38270a;
}
#story-panel { transform-origin:center top; }
.paused .truth-switch button,.paused .chapter-controls:after,.paused .chapter-controls button { transition:none!important; }
@media(prefers-reduced-motion:reduce){.truth-switch button,.chapter-controls:after,.chapter-controls button{transition:none!important}}
@media(max-width:600px){.gt-credit{font-size:9px;letter-spacing:.12em;gap:9px;padding:9px 14px 9px 10px}.gt-credit .gt-mark{height:24px}}
