@font-face {
  font-family:Barlow;
  src:url('assets/fonts/barlow-condensed-black.woff') format('woff');
  font-weight:900;
  font-display:swap
}

:root {
  color-scheme:dark;
  --ink:#080907;
  --paper:#e8e5d3;
  --yellow:#c3bd72;
  --muted:#a6a798;
  --line:rgba(224,224,199,.23);
  --gutter:clamp(24px,4.2vw,80px)
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:80px
}

body {
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.5
}

a {
  color:inherit;
  text-decoration:none
}

button,summary,a {
  -webkit-tap-highlight-color:transparent
}

button {
  font:inherit;
  color:inherit;
  cursor:pointer;
  border:0;
  background:none
}

button:disabled {
  cursor:default
}

button,a,summary {
  touch-action:manipulation
}

button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:2px solid var(--yellow);
  outline-offset:6px
}

img {
  max-width:100%;
  display:block
}

h1,h2,h3,p,figure {
  margin:0
}

em {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400
}

::selection {
  background:var(--yellow);
  color:var(--ink)
}

[hidden] {
  display:none!important
}

.mono {
  font-family:'Courier New',monospace;
  font-size:12px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.09em
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.skip-link {
  position:fixed;
  top:12px;
  left:16px;
  z-index:100;
  padding:12px 20px;
  background:var(--yellow);
  color:var(--ink);
  transform:translateY(-160%)
}

.skip-link:focus {
  transform:none
}

.header {
  height:88px;
  position:absolute;
  z-index:10;
  inset:0 0 auto;
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line)
}

.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.1em
}

.brand-mark {
  font-family:Barlow,sans-serif;
  font-size:36px;
  letter-spacing:-.1em;
  color:var(--yellow);
  line-height:1
}

.header nav {
  display:flex;
  gap:36px;
  font-size:14px
}

.header nav a {
  opacity:.7
}

.header nav a:hover {
  opacity:1
}

.header-cta {
  font-size:14px;
  border-bottom:1px solid var(--yellow);
  padding:8px 0
}

.header-cta span {
  margin-left:24px;
  color:var(--yellow)
}

.descent {
  position:relative;
  --travel:0;
  --office:0;
  --dark:0;
  --arrival:1;
  --passage:0;
  --blackout:0;
  --slide:0px;
  --turn:0deg;
  --advance:1;
  --door:0px
}

.building-stage {
  height:100svh;
  min-height:700px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#0b0e08
}

.corridor {
  position:absolute;
  inset:0;
  background-image:url('assets/corridor.png');
  background-repeat:no-repeat;
  background-size:auto 160%;
  background-position:50% 0;
  filter:saturate(.63) brightness(.9);
  transform:perspective(1200px) translate3d(var(--slide),0,0) rotateY(var(--turn)) scale(var(--advance));
  transform-origin:50% 42%;
  z-index:-5
}

.office {
  position:absolute;
  inset:-10%;
  opacity:var(--office);
  transform:perspective(900px) scale(calc(1 + var(--travel)*.12)) translateX(calc(var(--travel)*-7%)) rotateY(calc(var(--travel)*-4deg));
  z-index:-4;
  filter:saturate(.45) brightness(.45)
}

.office img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:64% center
}

.room-shadow {
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 25%,rgba(0,0,0,.15) 47%,rgba(0,0,0,.82) 100%)
}

.room-shadow:after {
  content:'';
  position:absolute;
  inset:0;
  background:#030503;
  opacity:var(--dark)
}

.door-shadow {
  position:absolute;
  top:0;
  bottom:0;
  width:12%;
  z-index:-1;
  background:linear-gradient(90deg,#070906 30%,rgba(5,7,4,.5) 88%,transparent);
  pointer-events:none;
  transform:translateX(var(--door))
}

.door-shadow-left {
  left:0
}

.door-shadow-right {
  right:0;
  transform:translateX(calc(-1 * var(--door))) rotate(180deg)
}

.arrival {
  position:absolute;
  inset:0 var(--gutter);
  opacity:var(--arrival);
  transform:translateY(calc(var(--travel)*-90px))
}

.hero-eyebrow {
  position:absolute;
  top:126px;
  left:0;
  right:0;
  display:flex;
  justify-content:space-between;
  color:#c4c4ac
}

.arrival h1 {
  position:absolute;
  top:18.5%;
  left:-.006em;
  font-family:Barlow,Impact,sans-serif;
  font-size:clamp(100px,20vw,390px);
  line-height:.83;
  font-weight:900;
  letter-spacing:-.025em;
  width:100%;
  text-shadow:0 3px 50px rgba(14,14,2,.35);
  color:#e2e2c9;
  mask-image:linear-gradient(#000 60%,rgba(0,0,0,.65))
}

.hero-caption {
  position:absolute;
  top:calc(18.5% + 17vw + 18px);
  left:0;
  right:0;
  display:flex;
  justify-content:space-between;
  color:#c4c4ac
}

.bracket {
  color:var(--yellow)
}

.hero-bottom {
  position:absolute;
  bottom:108px;
  left:0;
  right:0;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px
}

.hero-hook {
  font-size:clamp(34px,4.2vw,70px);
  line-height:1.03;
  letter-spacing:-.05em
}

.hero-hook em {
  color:var(--yellow);
  font-size:1.14em;
  letter-spacing:-.05em
}

.hero-invitation {
  width:270px;
  padding-bottom:4px
}

.hero-invitation p {
  font-size:16px;
  color:#c5c5b7;
  line-height:1.55
}

.entry-link {
  margin-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #8f926a;
  padding-bottom:12px;
  font-size:14px
}

.entry-link span {
  font-size:22px;
  color:var(--yellow)
}

.entry-link:hover {
  color:var(--yellow)
}

.scene-footer {
  position:absolute;
  bottom:27px;
  left:var(--gutter);
  right:var(--gutter);
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  padding-top:16px;
  font-size:12px;
  color:#bdbeae
}

.scene-status {
  min-width:160px;
  color:var(--yellow)
}

.scene-source {
  text-align:center
}

.scene-skip {
  color:var(--paper)
}

.passage-message {
  position:absolute;
  left:var(--gutter);
  right:var(--gutter);
  top:37%;
  opacity:var(--passage);
  transform:translateY(calc((1 - var(--passage))*25px));
  pointer-events:none
}

.passage-kicker {
  color:var(--yellow)
}

.passage-message h2 {
  font-size:clamp(40px,5.8vw,94px);
  line-height:1.06;
  letter-spacing:-.04em;
  font-weight:400;
  margin:24px 0 32px
}

.passage-message h2 em {
  color:#b8bc94
}

.passage-message>p {
  max-width:450px;
  font-size:17px
}

.wall-note {
  display:block;
  margin-top:40px;
  color:var(--yellow)
}

.blackout-message {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  opacity:var(--blackout);
  text-align:center;
  pointer-events:none
}

.blackout-message>.mono {
  color:var(--yellow)
}

.blackout-message p {
  font-family:Georgia,serif;
  font-size:clamp(40px,5.5vw,88px);
  line-height:1.12;
  margin:34px 0;
  letter-spacing:-.035em
}

.blackout-rule {
  height:1px;
  background:var(--yellow);
  width:44px
}

.encounter {
  position:relative;
  --reveal:1;
  --lurk:0;
  --silhouette:.4;
  --approach:1;
  --aperture:0%
}

.encounter-stage {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:850px;
  height:110svh;
  background:#040503
}

.encounter-grid {
  position:absolute;
  inset:0;
  z-index:-4;
  background:linear-gradient(90deg,transparent 29.9%,#7b806915 30%,transparent 30.1%,transparent 74.9%,#7b806915 75%,transparent 75.1%)
}

.encounter-top {
  position:absolute;
  left:var(--gutter);
  right:var(--gutter);
  top:40px;
  display:flex;
  justify-content:space-between;
  color:#9b9f8f;
  gap:20px
}

.warning {
  color:#c3ad76
}

.silhouette {
  position:absolute;
  left:46%;
  top:5%;
  width:47%;
  height:100%;
  opacity:var(--silhouette);
  mix-blend-mode:screen;
  filter:brightness(.3) sepia(.45);
  transform:scale(var(--approach));
  transform-origin:50% 65%;
  z-index:-2;
  mask-image:radial-gradient(ellipse 30% 44% at 50% 47%,#000 35%,transparent 100%)
}

.silhouette img {
  height:100%;
  width:100%;
  object-fit:cover
}

.listener-closeup {
  position:absolute;
  right:-14%;
  top:3%;
  width:95%;
  height:110%;
  mix-blend-mode:screen;
  filter:sepia(.3) saturate(.6) brightness(.7) contrast(1.4);
  opacity:var(--reveal);
  clip-path:inset(0 var(--aperture) 0 0);
  mask-image:radial-gradient(ellipse 45% 52% at 53% 52%,#000 22%,rgba(0,0,0,.7) 53%,transparent 90%);
  z-index:-1;
  transform:scale(calc(1 + var(--reveal)*.09))
}

.listener-closeup img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 44%
}

.listening-copy {
  position:absolute;
  left:var(--gutter);
  top:27%;
  opacity:var(--lurk)
}

.listening-copy>.mono {
  display:block;
  max-width:260px;
  color:var(--muted)
}

.listening-copy>p {
  font-size:clamp(60px,8.5vw,140px);
  line-height:.91;
  letter-spacing:-.05em;
  margin-top:32px
}

.listening-copy em {
  color:#8b9474
}

.reveal-copy {
  position:absolute;
  left:var(--gutter);
  top:23%;
  opacity:var(--reveal);
  transform:translateY(calc((1 - var(--reveal))*28px))
}

.reveal-copy h2 {
  font-family:Barlow,Impact,sans-serif;
  font-size:clamp(75px,11.8vw,188px);
  letter-spacing:-.02em;
  line-height:.82;
  margin:25px 0 30px
}

.reveal-copy h2 span {
  color:var(--yellow)
}

.reveal-copy>p {
  font-size:17px;
  line-height:1.65;
  color:#c5c7b8
}

.text-link {
  display:inline-flex;
  flex-direction:column;
  margin-top:32px;
  font-size:14px;
  color:var(--muted)
}

.text-link span {
  color:var(--yellow);
  padding-top:4px
}

.encounter-footer {
  position:absolute;
  left:var(--gutter);
  right:var(--gutter);
  bottom:32px;
  display:flex;
  gap:20px;
  justify-content:space-between;
  color:#9b9f8f
}

.encounter-status {
  color:var(--yellow)
}

.records {
  padding:65px var(--gutter) 80px;
  background:#10110d;
  border-top:1px solid var(--line)
}

.records-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px;
  margin-bottom:36px
}

.records-heading>.mono {
  color:var(--muted);
  width:27%;
  padding-top:9px
}

.records-heading p {
  font-size:clamp(25px,3vw,46px);
  line-height:1.16;
  letter-spacing:-.03em;
  flex:1
}

.records-heading em {
  color:var(--yellow)
}

.records-heading>.records-id {
  text-align:right;
  width:auto
}

.evidence-strip {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:20px
}

.evidence-strip a {
  min-width:0
}

.evidence-strip img {
  width:100%;
  height:220px;
  object-fit:cover;
  filter:saturate(.3) brightness(.7);
  transition:filter .25s
}

.evidence-strip a:nth-child(2) img {
  object-position:center 40%
}

.evidence-strip a:hover img {
  filter:saturate(.65) brightness(1)
}

.evidence-strip figcaption {
  display:flex;
  justify-content:space-between;
  font-family:'Courier New',monospace;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.04em;
  padding:13px 0;
  border-bottom:1px solid var(--line)
}

.image-disclosure {
  font-size:12px;
  color:var(--muted);
  margin-top:18px;
  max-width:740px
}

.image-disclosure a {
  text-decoration:underline;
  text-underline-offset:3px
}

.directory {
  margin-top:35px;
  border-block:1px solid var(--line)
}

summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:22px 0;
  font-size:16px
}

summary::-webkit-details-marker {
  display:none
}

summary b {
  font-size:20px;
  margin-left:24px;
  font-weight:400
}

details[open] summary b {
  display:inline-block;
  transform:rotate(45deg)
}

.directory summary>.mono {
  color:var(--muted)
}

.directory-content {
  padding:8px 0 28px;
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:30px
}

.sector-list {
  display:flex;
  flex-direction:column;
  gap:3px
}

.sector-list button {
  text-align:left;
  padding:12px 16px;
  border-left:1px solid var(--line);
  font-family:'Courier New',monospace;
  font-size:14px;
  color:var(--muted)
}

.sector-list button[aria-pressed=true] {
  border-color:var(--yellow);
  background:#c3bd7210;
  color:var(--yellow)
}

#sector-panel {
  padding:10px 0
}

#sector-panel h3 {
  font-size:24px;
  font-weight:400;
  margin-bottom:12px
}

#sector-description {
  max-width:500px;
  color:#bbbfad
}

#sector-objective {
  color:var(--yellow);
  margin-top:24px
}

.directory-content>.image-disclosure {
  grid-column:1/-1;
  margin:0
}

.download {
  background:var(--yellow);
  color:#16170f;
  padding:30px var(--gutter) 22px;
  position:relative
}

.download:before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:repeating-linear-gradient(-45deg,#171910 0 8px,transparent 8px 16px)
}

.download-top {
  display:flex;
  justify-content:space-between;
  padding-bottom:25px;
  border-bottom:1px solid #17191055;
  gap:20px
}

.download-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9vw;
  padding:64px 0 60px
}

.exit-sign {
  font-family:'Courier New',monospace;
  border:1px solid #202319;
  font-size:14px;
  letter-spacing:.14em;
  padding:6px 12px;
  display:inline-block
}

.download-title h2 {
  font-family:Barlow,Impact,sans-serif;
  font-size:clamp(115px,18vw,280px);
  line-height:.75;
  letter-spacing:-.01em;
  margin:28px 0
}

.download-title h2 span {
  color:#535637
}

.download-title p {
  font-size:25px;
  line-height:1.2;
  letter-spacing:-.025em;
  margin-top:34px
}

.download-title em {
  font-size:1.12em
}

.download-actions {
  padding-top:30px;
  align-self:center
}

.download-actions>.mono {
  color:#444731
}

.download-actions h3 {
  font-size:clamp(28px,3vw,46px);
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:400;
  margin:12px 0 20px
}

.download-actions>p {
  font-size:16px
}

.platform-download {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:21px 24px;
  background:#171a11;
  color:#e4e4ca;
  margin-top:30px;
  transition:background .2s,transform .2s
}

.platform-download+.platform-download {
  background:transparent;
  border:1px solid #171a11;
  color:#171a11;
  margin-top:10px
}

.platform-download:hover {
  background:#30351e;
  transform:translateY(-2px);
  color:#e4e4ca
}

.platform-download strong {
  font-size:17px;
  font-weight:500;
  display:block
}

.platform-download small {
  font-family:'Courier New',monospace;
  display:block;
  font-size:12px;
  margin-top:5px;
  opacity:.75
}

.download-arrow {
  font-size:32px;
  line-height:1
}

.download-actions>.beta-note {
  font-size:13px;
  line-height:1.65;
  margin:22px 0;
  color:#3d402a
}

.release-links {
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:4px
}

.technical {
  border-top:1px solid #17191055
}

.technical summary {
  padding:22px 0;
  font-size:14px
}

.technical>div {
  padding:0 0 24px;
  columns:2;
  column-gap:60px;
  font-size:14px
}

.technical p {
  margin-bottom:16px;
  break-inside:avoid
}

.technical a {
  text-decoration:underline;
  text-underline-offset:3px
}

.download :focus-visible {
  outline-color:#171a11
}

.footer {
  padding:40px var(--gutter) 100px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px
}

.footer>.mono {
  color:var(--muted)
}

.footer>div {
  display:flex;
  gap:22px;
  font-size:12px;
  color:#b0b4a1
}

.experience-controls {
  position:fixed;
  z-index:20;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:12px;
  padding:2px 14px;
  background:#0c0f09ec;
  border:1px solid #989e7355;
  color:#e0e2cc;
  box-shadow:0 6px 18px #0003;
  white-space:nowrap
}

.experience-controls button {
  font-family:'Courier New',monospace;
  font-size:12px;
  min-height:40px;
  padding:4px 0
}

.experience-controls>span {
  color:#707861
}

.sound-toggle {
  display:flex;
  align-items:center;
  gap:10px
}

.sound-icon {
  color:var(--yellow);
  font-size:15px;
  letter-spacing:-.09em
}

.sound-toggle[aria-pressed=true] .sound-icon {
  color:#e6eabb
}

.lightbox {
  max-width:min(1100px,94vw);
  max-height:94svh;
  padding:22px;
  background:#10120d;
  color:var(--paper);
  border:1px solid var(--line)
}

.lightbox::backdrop {
  background:#020401ee
}

.lightbox form {
  display:flex;
  justify-content:flex-end;
  margin-bottom:15px
}

.lightbox form button {
  font-size:14px;
  min-height:44px;
  padding:8px
}

.lightbox img {
  max-width:100%;
  max-height:70svh;
  margin:auto;
  object-fit:contain
}

.lightbox p {
  font-size:14px;
  margin-top:15px;
  color:var(--muted)
}

.viewing-image {
  overflow:hidden
}

.error-page {
  min-height:100svh;
  padding:16vh var(--gutter);
  background:linear-gradient(90deg,#070906eb,#070906b0),url('assets/environment.webp') center/cover
}

.error-code {
  font-family:monospace;
  color:var(--yellow)
}

.error-page h1 {
  font-family:Barlow,sans-serif;
  font-size:clamp(56px,10vw,140px);
  line-height:.95;
  margin:35px 0
}

.error-page>p {
  max-width:450px;
  color:var(--muted)
}
/* Native scroll owns the timeline; no wheel or touch interception. */
.motion-enabled .descent {
  height:310svh
}

.motion-enabled .building-stage {
  position:sticky;
  top:0;
  height:100svh;
  min-height:620px
}

.motion-enabled .encounter {
  height:260svh
}

.motion-enabled .encounter-stage {
  position:sticky;
  top:0;
  height:100svh;
  min-height:660px
}

.motion-enabled .corridor,.motion-enabled .office,.motion-enabled .listener-closeup {
  will-change:transform,opacity
}

.motion-enabled .arrival {
  pointer-events:var(--arrival-pointer,auto)
}

body:not(.motion-enabled) .passage-message {
  position:relative;
  inset:auto;
  opacity:1;
  transform:none;
  background:#10120dcf;
  padding:65px var(--gutter);
  margin-top:100svh;
  pointer-events:auto
}

body:not(.motion-enabled) .building-stage {
  height:auto;
  min-height:100svh
}

body:not(.motion-enabled) .arrival {
  height:100svh;
  min-height:700px
}

body:not(.motion-enabled) .corridor,body:not(.motion-enabled) .room-shadow {
  height:100svh;
  min-height:700px
}

body:not(.motion-enabled) .scene-footer {
  display:none
}

body:not(.motion-enabled) .listening-copy {
  display:none
}

@media(min-width:1800px) {
  .corridor {
    background-size:100% auto
  }
  .hero-caption {
    top:calc(18.5% + 315px + 18px)
  }
}

@media(max-width:900px) {
  .header nav {
    gap:22px
  }
  .hero-eyebrow span:last-child {
    display:none
  }
  .hero-caption .bracket {
    display:none
  }
  .hero-hook {
    font-size:44px
  }
  .scene-source {
    max-width:220px
  }
  .scene-status {
    min-width:120px
  }
  .encounter-top .warning {
    max-width:180px;
    text-align:right
  }
  .listener-closeup {
    right:-31%;
    width:115%;
    opacity:calc(var(--reveal)*.8)
  }
  .reveal-copy h2 {
    font-size:15vw
  }
  .evidence-strip img {
    height:180px
  }
  .records-heading>.records-id {
    display:none
  }
  .download-layout {
    gap:6vw
  }
  .platform-download {
    padding:18px
  }
  .footer {
    flex-wrap:wrap
  }
  .footer>.mono {
    display:none
  }
}

@media(max-width:600px) {
  :root {
    --gutter:24px
  }
  .header {
    height:76px
  }
  .brand {
    font-size:12px;
    gap:8px
  }
  .brand-mark {
    font-size:31px
  }
  .header nav {
    display:none
  }
  .header-cta {
    font-size:12px
  }
  .header-cta span {
    margin-left:8px
  }
  .building-stage {
    min-height:740px
  }
  .hero-eyebrow {
    top:108px;
    font-size:12px;
    letter-spacing:.04em
  }
  .arrival h1 {
    top:23%;
    font-size:20.2vw;
    letter-spacing:-.025em
  }
  .hero-caption {
    top:calc(23% + 17.5vw + 16px);
    font-size:12px;
    letter-spacing:0
  }
  .corridor {
    background-size:auto 160%;
    background-position:50% 0
  }
  .door-shadow {
    width:6%
  }
  .hero-bottom {
    bottom:115px;
    display:block
  }
  .hero-hook {
    font-size:43px;
    line-height:1.04
  }
  .hero-invitation {
    width:100%;
    margin-top:28px;
    display:flex;
    gap:26px;
    align-items:end
  }
  .hero-invitation p {
    font-size:14px;
    line-height:1.5;
    flex:1
  }
  .entry-link {
    width:110px;
    flex-shrink:0;
    margin:0;
    font-size:14px;
    padding-bottom:8px
  }
  .entry-link span {
    font-size:18px
  }
  .scene-footer {
    bottom:65px;
    padding-top:12px;
    align-items:center
  }
  .scene-source {
    display:none
  }
  .scene-status,.scene-skip {
    font-size:12px;
    letter-spacing:0
  }
  .scene-status {
    min-width:0
  }
  .passage-message {
    top:32%
  }
  .passage-message h2 {
    font-size:43px;
    line-height:1.08;
    margin:25px 0
  }
  .passage-message>p {
    font-size:16px;
    max-width:310px
  }
  .wall-note {
    margin-top:30px;
    font-size:12px
  }
  .blackout-message p {
    font-size:48px
  }
  .encounter-top {
    top:35px;
    font-size:12px;
    align-items:flex-start;
    letter-spacing:0
  }
  .encounter-top>span {
    max-width:140px
  }
  .encounter-top .warning {
    max-width:130px
  }
  .encounter-stage {
    min-height:790px
  }
  .silhouette {
    width:100%;
    height:90%;
    left:15%;
    top:8%
  }
  .listener-closeup {
    height:82%;
    width:165%;
    right:-65%;
    top:1%;
    opacity:var(--reveal);
    mask-image:radial-gradient(ellipse 45% 52% at 50% 46%,#000 10%,rgba(0,0,0,.7) 45%,transparent 86%);
    filter:sepia(.3) saturate(.6) brightness(.53) contrast(1.5)
  }
  .listening-copy {
    top:25%
  }
  .listening-copy>.mono {
    font-size:12px;
    max-width:185px
  }
  .listening-copy>p {
    font-size:77px;
    margin-top:35px
  }
  .reveal-copy {
    top:auto;
    bottom:125px;
    right:var(--gutter)
  }
  .reveal-copy>.mono {
    font-size:12px
  }
  .reveal-copy h2 {
    font-size:24vw;
    margin:20px 0 24px
  }
  .reveal-copy>p {
    font-size:16px;
    line-height:1.55;
    text-shadow:0 2px 10px #000
  }
  .text-link {
    font-size:14px;
    margin-top:22px
  }
  .encounter-footer {
    bottom:76px;
    font-size:12px;
    gap:24px;
    letter-spacing:0
  }
  .encounter-footer>span {
    max-width:150px
  }
  .encounter-footer>span:last-child {
    text-align:right
  }
  .records {
    padding:45px var(--gutter) 50px
  }
  .records-heading {
    display:block;
    margin-bottom:28px
  }
  .records-heading>.mono {
    display:block;
    width:auto;
    font-size:12px;
    margin-bottom:18px;
    padding:0
  }
  .records-heading p {
    font-size:33px
  }
  .evidence-strip {
    grid-template-columns:1fr 1fr;
    gap:20px 12px
  }
  .evidence-strip a:first-child {
    grid-column:1/-1
  }
  .evidence-strip a:first-child img {
    height:190px
  }
  .evidence-strip img {
    height:160px
  }
  .evidence-strip figcaption {
    font-size:12px;
    padding:10px 0;
    gap:5px;
    letter-spacing:0
  }
  .image-disclosure {
    font-size:12px
  }
  .directory summary {
    font-size:14px
  }
  .directory summary>.mono {
    font-size:0
  }
  .directory summary b {
    font-size:22px;
    margin-left:0
  }
  .directory-content {
    grid-template-columns:1fr;
    gap:15px
  }
  .sector-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px
  }
  .sector-list button {
    font-size:14px;
    padding:12px
  }
  .directory-content>.image-disclosure {
    grid-column:auto
  }
  #sector-panel h3 {
    font-size:22px
  }
  #sector-description {
    font-size:16px
  }
  .download-top {
    font-size:12px;
    align-items:flex-start;
    padding-bottom:22px;
    letter-spacing:0
  }
  .download-top>span:first-child {
    max-width:165px
  }
  .download-layout {
    grid-template-columns:1fr;
    gap:35px;
    padding:35px 0
  }
  .download-title {
    position:relative
  }
  .download-title h2 {
    font-size:36vw;
    line-height:.77;
    margin:30px 0
  }
  .download-title p {
    position:absolute;
    right:0;
    bottom:0;
    font-size:19px;
    max-width:140px
  }
  .exit-sign {
    font-size:12px;
    padding:5px 10px
  }
  .download-actions {
    padding:0
  }
  .download-actions h3 {
    font-size:32px
  }
  .download-actions>.mono {
    font-size:12px
  }
  .platform-download {
    margin-top:26px;
    padding:20px
  }
  .platform-download strong {
    font-size:16px
  }
  .platform-download small {
    font-size:12px
  }
  .technical>div {
    columns:1
  }
  .footer {
    padding:35px var(--gutter) 100px;
    gap:24px
  }
  .footer>div {
    flex-wrap:wrap;
    gap:22px;
    font-size:12px
  }
  .experience-controls {
    bottom:12px;
    gap:12px;
    padding-inline:14px
  }
  .experience-controls button {
    font-size:12px
  }
  .motion-enabled .building-stage {
    min-height:600px
  }
  .motion-enabled .descent {
    height:290svh
  }
  .motion-enabled .encounter {
    height:235svh
  }
  .motion-enabled .encounter-stage {
    min-height:690px
  }
  body:not(.motion-enabled) .arrival,body:not(.motion-enabled) .corridor,body:not(.motion-enabled) .room-shadow {
    min-height:650px
  }
}

@media(max-height:650px) and (min-width:601px) {
  .hero-eyebrow {
    top:105px
  }
  .arrival h1 {
    top:25%;
    font-size:16vw
  }
  .hero-caption {
    display:none
  }
  .hero-hook {
    font-size:32px
  }
  .hero-bottom {
    bottom:85px
  }
  .hero-invitation p {
    font-size:14px
  }
  .reveal-copy {
    top:16%
  }
  .reveal-copy h2 {
    font-size:95px
  }
  .reveal-copy>p {
    font-size:16px
  }
  .encounter-stage .text-link {
    margin-top:12px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
  .corridor,.office,.listener-closeup,.arrival,.reveal-copy {
    transform:none!important
  }
}
/* Keep the original banner wordmark below the visible crop, including ultrawide screens. */
@media(min-width:1800px) {
  .corridor {
    background-size:auto 160%
  }
}

body:not(.motion-enabled) .passage-message {
  margin-top:max(100svh,700px)
}

@media(max-width:600px) {
    .download-title p {
    position:static;
    max-width:none;
    font-size:24px;
    margin-top:32px
  }
    body:not(.motion-enabled) .passage-message {
    margin-top:max(100svh,650px)
  }
}
