/* Structural layout: independent vertical scenes, no horizontal scroll traps. */
.world {
  position:relative
}
.world-progress {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:2px;
  z-index:200;
  pointer-events:none;
  background:rgba(231,220,199,.06)
}
.world-progress>span {
  height:100%;
  width:0;
  display:block;
  transform-origin:left;
  background:var(--boundary-red);
  will-change:width
}
.site-header {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:180;
  min-height:var(--header-height);
  display:flex;
  align-items:center;
  background:rgba(9,12,13,.2);
  border-bottom:1px solid transparent;
  transition:background 350ms,border-color 350ms,box-shadow 350ms
}
.site-header.is-scrolled {
  background:rgba(13,17,18,.93);
  border-bottom-color:var(--hairline);
  backdrop-filter:blur(20px);
  box-shadow:0 10px 60px rgba(0,0,0,.3)
}
.site-header__inner {
  width:min(1640px,100% - 62px);
  margin:auto;
  min-height:var(--header-height);
  display:flex;
  align-items:center;
  gap:36px;
  justify-content:space-between
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:14px;
  white-space:nowrap;
  flex:none
}
.brand__glyph {
  position:relative;
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(231,220,199,.64);
  font-family:var(--font-display);
  font-size:2rem;
  font-weight:700;
  line-height:1;
  color:var(--witness-white)
}
.brand__cut {
  position:absolute;
  top:1px;
  right:8px;
  line-height:1.2;
  color:var(--boundary-red);
  font-size:1.8125rem;
  font-weight:300
}
.brand__word {
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.18em
}
.brand__word small {
  display:block;
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.14em;
  font-weight:400;
  color:var(--custody-bluegray);
  margin-top:6px
}
.site-navigation {
  display:flex;
  gap:clamp(14px,2vw,34px);
  align-items:center;
  justify-content:center;
  flex:1
}
.site-navigation a {
  position:relative;
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:12px 0;
  color:#bec7c5;
  transition:color 200ms
}
.site-navigation a:hover,.site-navigation a[aria-current="location"] {
  color:#fff
}
.site-navigation a::after {
  position:absolute;
  bottom:0;
  left:0;
  right:100%;
  height:1px;
  content:'';
  background:var(--boundary-red);
  transition:right 250ms
}
.site-navigation a:hover::after,.site-navigation a[aria-current="location"]::after {
  right:0
}
.site-header__actions {
  display:flex;
  gap:16px;
  align-items:center;
  flex:none
}
.sound-control {
  display:flex;
  gap:10px;
  align-items:center;
  color:var(--muted-on-dark);
  font-family:var(--font-mono);
  letter-spacing:.08em;
  font-size:0.875rem;
  text-transform:uppercase;
  padding:8px;
  white-space:nowrap
}
.sound-control svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linejoin:round
}
.sound-control[aria-pressed="true"] {
  color:var(--commons-light)
}
.header-cta {
  display:inline-flex;
  align-items:center;
  gap:21px;
  border:1px solid var(--warm-paper);
  padding:12px 17px;
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  background:rgba(231,220,199,.08);
  transition:background 200ms,color 200ms
}
.header-cta:hover {
  color:var(--archive-coal);
  background:var(--warm-paper)
}
.nav-toggle {
  width:45px;
  height:45px;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  border:1px solid var(--hairline-strong)
}
.nav-toggle span {
  display:block;
  width:18px;
  height:1px;
  background:var(--warm-paper);
  transition:transform 200ms,opacity 200ms
}
.hero {
  position:relative;
  min-height:max(760px,100svh);
  overflow:hidden;
  isolation:isolate;
  background:#141a1d;
  display:flex;
  align-items:center
}
.hero__corridor {
  position:absolute;
  inset:-2%;
  z-index:-8;
  background-image:linear-gradient(90deg,rgba(6,9,10,.95) 0%,rgba(10,14,16,.78) 37%,rgba(9,14,15,.28) 72%,rgba(8,11,11,.73) 100%),linear-gradient(0deg,rgba(9,12,13,.95) 0%,transparent 36%,rgba(9,12,13,.34) 100%),url('/assets/corridor-plate.webp');
  background-size:cover;
  background-position:center;
  transform:scale(1.08);
  filter:saturate(.67) contrast(1.11)
}
.hero__depth {
  position:absolute;
  inset:0;
  z-index:-7;
  pointer-events:none
}
.hero__depth--back {
  background:repeating-linear-gradient(90deg,transparent 0,transparent 10.35%,rgba(236,241,240,.035) 10.45%,transparent 10.6%);
  mix-blend-mode:screen;
  opacity:.4
}
.hero__depth--front {
  background:radial-gradient(ellipse 39% 52% at 75% 50%,transparent 9%,rgba(0,0,0,.38) 83%),linear-gradient(180deg,rgba(9,12,13,.1),rgba(0,0,0,.37));
  opacity:.9
}
.hero__vertical-rule {
  position:absolute;
  top:0;
  right:12.5%;
  height:100%;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(230,240,237,.16),transparent);
  z-index:-3
}
.hero__grid {
  position:absolute;
  inset:0;
  z-index:-5;
  background:linear-gradient(90deg,transparent 0 48.9%,rgba(232,239,236,.025) 49% 49.1%,transparent 49.2%),linear-gradient(0deg,transparent 0 87%,rgba(232,239,236,.04) 87.1%,transparent 87.2%)
}
.hero__fugitive-stamp {
  position:absolute;
  right:16%;
  top:36%;
  border:9px double rgba(168,55,56,.27);
  padding:7px 32px;
  color:rgba(168,55,56,.24);
  font-family:var(--font-display);
  font-size:clamp(3.25rem,10vw,9.375rem);
  font-weight:900;
  letter-spacing:.06em;
  transform:rotate(-13deg);
  z-index:-2;
  filter:blur(.55px);
  animation:notice-drift 16s ease-in-out infinite
}
.hero__content {
  position:relative;
  z-index:2;
  padding-top:clamp(125px,17vh,225px);
  padding-bottom:55px;
  min-height:inherit;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(40px,8vh,100px)
}
.hero__eyebrow {
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--warm-paper);
  opacity:.86
}
.hero__case {
  margin-left:auto;
  color:var(--custody-bluegray)
}
.hero__title-frame {
  width:min(100%,1000px);
  margin-top:auto;
  margin-bottom:auto
}
.hero__overline {
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.36em;
  color:var(--commons-light);
  margin-bottom:22px
}
.hero__title {
  display:flex;
  flex-direction:column;
  align-items:start;
  font-family:var(--font-display);
  line-height:.92;
  font-weight:850
}
.hero__title-top {
  font-size:clamp(4.75rem,12.2vw,11.875rem);
  letter-spacing:-.09em;
  display:block;
  color:var(--near-white);
  text-shadow:0 4px 35px rgba(0,0,0,.28)
}
.hero__tension-letter {
  position:relative;
  display:inline-block;
  transform:translateY(-.025em)
}
.hero__title-bottom {
  font-size:clamp(1.1875rem,2.6vw,2.5625rem);
  letter-spacing:.22em;
  margin-top:28px;
  color:var(--warm-paper);
  font-weight:500
}
.hero__line {
  width:min(530px,95%);
  height:1px;
  background:rgba(231,220,199,.16);
  margin-top:32px;
  overflow:hidden
}
.hero__line>span {
  display:block;
  height:100%;
  width:25%;
  background:var(--boundary-red)
}
.hero__thesis {
  margin-top:30px;
  color:#d4d9d7;
  font-size:clamp(1.0625rem,1.55vw,1.4375rem);
  line-height:1.65;
  max-width:650px;
  font-weight:350;
  text-wrap:balance
}
.hero__thesis strong {
  color:var(--near-white);
  font-weight:500
}
.hero__actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap
}
.hero__actions .action--red {
  min-width:278px
}
.hero__foot {
  display:flex;
  gap:20px;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(233,237,233,.16);
  padding-top:26px;
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.15em;
  color:var(--custody-bluegray)
}
.hero__foot>a {
  color:var(--warm-paper)
}
.hero__foot>a span {
  margin-left:8px;
  font-size:1.125rem
}
.hero__corner-mark {
  position:absolute;
  right:30px;
  top:50%;
  writing-mode:vertical-rl;
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.3em;
  color:rgba(231,220,199,.22);
  display:flex;
  gap:30px
}
.interstitial {
  position:relative;
  background:var(--archive-coal);
  overflow:hidden;
  padding:clamp(84px,10vw,160px) 0;
  text-align:center
}
.interstitial::before {
  content:'';
  position:absolute;
  top:0;
  left:50%;
  width:1px;
  height:50px;
  background:var(--boundary-red)
}
.interstitial__inner {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:34px;
  position:relative
}
.interstitial blockquote {
  font-family:var(--font-editorial);
  font-size:clamp(1.75rem,3.3vw,3.4375rem);
  line-height:1.4;
  letter-spacing:-.045em;
  color:var(--warm-paper);
  font-weight:400;
  text-wrap:balance
}
.interstitial blockquote em {
  color:var(--commons-light)
}
.interstitial__src {
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.2em;
  color:var(--custody-bluegray)
}
.interstitial__thin-line {
  position:absolute;
  bottom:0;
  left:10%;
  right:10%;
  height:1px;
  background:var(--hairline)
}
.commons {
  background:linear-gradient(125deg,#352b20 0,#24231d 54%,#171b1e 100%);
  overflow:hidden
}
.commons__ambient {
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 78% 40%,rgba(190,141,83,.19),transparent 42%),linear-gradient(90deg,transparent 63%,rgba(249,196,124,.02) 63.1%,transparent 63.3%)
}
.commons__grid {
  display:grid;
  grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);
  gap:clamp(35px,7vw,125px);
  align-items:center
}
.commons__copy {
  display:flex;
  flex-direction:column;
  gap:32px;
  align-items:start
}
.commons__copy .display-heading em {
  color:var(--commons-light)
}
.commons__copy>p:not(.eyebrow) {
  max-width:540px;
  color:#c9c4b8;
  line-height:1.8
}
.commons__copy .body-lead {
  color:var(--warm-paper)!important
}
.threshold {
  position:relative;
  isolation:isolate;
  padding:var(--section-padding) 0;
  background:radial-gradient(ellipse at 50% 25%,#252e32,#151a1d 69%);
  overflow:hidden
}
.threshold__wall {
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(235,239,235,.02) 1px,transparent 1px),linear-gradient(0deg,rgba(235,239,235,.02) 1px,transparent 1px);
  background-size:120px 120px;
  transform:perspective(900px) rotateX(3deg);
  opacity:.55
}
.threshold__stripe {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:3px;
  background:var(--boundary-red);
  box-shadow:0 0 30px rgba(156,51,54,.35)
}
.world-section {
  background:#121719
}
.world-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:23px
}
.world-card {
  position:relative;
  min-width:0;
  border:1px solid var(--hairline);
  background:#1b2124;
  overflow:hidden
}
.world-card__art {
  height:clamp(240px,25vw,390px);
  position:relative;
  overflow:hidden;
  isolation:isolate
}
.world-card__body {
  padding:28px 28px 36px;
  display:flex;
  flex-direction:column;
  gap:16px
}
.world-card__body h3 {
  font-family:var(--font-display);
  font-size:clamp(1.5625rem,2vw,2.125rem);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:-.025em
}
.world-card__body p {
  max-width:32ch;
  font-size:0.875rem;
  line-height:1.7;
  color:var(--muted-on-dark)
}
.world-card--first {
  background:#2e2923
}
.world-card--second {
  background:#1d2528
}
.world-card--third {
  background:#272b2d
}
.personnel {
  background:#22282a;
  overflow:hidden
}
.personnel::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:repeating-linear-gradient(0deg,transparent 0 99px,rgba(230,238,234,.022) 100px)
}
.personnel .display-heading em {
  color:var(--commons-light)
}
.personnel__note {
  margin-top:26px
}
.reader-showcase {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(112deg,#2d2820,#151a1c 51%,#111517);
  padding:var(--section-padding) 0
}
.reader-showcase__glow {
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(ellipse at 72% 47%,rgba(232,220,195,.17),transparent 43%)
}
.reader-showcase__layout {
  display:grid;
  grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);
  gap:clamp(40px,6vw,105px);
  align-items:center
}
.reader-showcase__copy {
  display:flex;
  flex-direction:column;
  align-items:start;
  gap:27px
}
.reader-showcase__copy>.display-heading {
  max-width:630px
}
.reader-showcase__copy>.body-lead {
  max-width:530px
}
.reader-showcase__copy em {
  color:var(--commons-light)
}
.reader-showcase__actions {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:15px
}
.reader-showcase__disclaimer {
  color:var(--muted-on-dark);
  max-width:580px;
  font-size:0.875rem;
  line-height:1.8
}
.feature-list {
  list-style:none;
  padding:12px 0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:19px
}
.feature-list li {
  display:flex;
  align-items:start;
  gap:18px;
  font-size:0.875rem;
  line-height:1.6;
  color:#d3d4d1
}
.feature-list li span {
  color:var(--commons-light);
  font-family:var(--font-mono);
  font-size:0.875rem;
  margin-top:5px;
  flex:none
}
.book-display {
  background:#14191b
}
.book-display__layout {
  display:grid;
  grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);
  gap:clamp(32px,8vw,130px);
  align-items:center
}
.book-display__art {
  position:relative;
  margin:0 auto;
  max-width:500px;
  transform:rotate(-2deg);
  transition:transform 800ms var(--ease-film);
  box-shadow:var(--shadow-deep)
}
.book-display__art:hover {
  transform:rotate(0deg) translateY(-10px)
}
.book-display__art img {
  width:100%;
  height:auto;
  max-height:700px;
  object-fit:contain;
  border:1px solid rgba(231,220,199,.18)
}
.book-display__spine {
  position:absolute;
  inset:1% auto 1% 0;
  width:3.5%;
  border-right:1px solid rgba(0,0,0,.15);
  background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(255,255,255,.09),transparent);
  pointer-events:none
}
.book-display__glint {
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(110deg,transparent 26%,rgba(255,255,255,.1) 28%,transparent 30%);
  pointer-events:none;
  opacity:.4
}
.book-display__caption {
  position:absolute;
  bottom:-34px;
  left:0;
  font-size:0.875rem;
  letter-spacing:.2em;
  font-family:var(--font-mono);
  color:var(--custody-bluegray);
  white-space:nowrap
}
.book-display__editions {
  min-width:0
}
.gate-section {
  background:#171b1e;
  overflow:hidden
}
.gate-section__background {
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(12,17,18,.9),rgba(12,17,18,.78)),url('/assets/receipt-plate.webp') center/cover no-repeat;
  filter:saturate(.65)
}
.gate-section__layout {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(36px,8vw,140px);
  align-items:start
}
.gate-section__intro {
  display:flex;
  flex-direction:column;
  gap:30px
}
.gate-section__intro>p:not(.eyebrow):not(.privacy-note) {
  font-size:1rem;
  line-height:1.8;
  color:#d0d4d2;
  max-width:550px
}
.gate-section__intro .display-heading em {
  color:var(--commons-light)
}
.gate-step {
  display:flex;
  gap:20px;
  padding:23px 0;
  border-top:1px solid rgba(233,237,233,.13)
}
.gate-step>span {
  color:var(--commons-light);
  font-family:var(--font-mono);
  font-size:0.875rem;
  padding-top:4px
}
.gate-step>div {
  display:flex;
  flex-direction:column;
  gap:6px
}
.gate-step strong {
  font-weight:500;
  font-size:0.9375rem;
  color:var(--near-white)
}
.gate-step small {
  font-size:0.875rem;
  color:var(--muted-on-dark);
  line-height:1.65
}
.privacy-note {
  font-size:0.875rem;
  line-height:1.75;
  color:var(--custody-bluegray);
  max-width:580px
}
.closing {
  position:relative;
  background:radial-gradient(ellipse at center,#202628,#0b0f11 67%);
  padding:clamp(110px,14vw,220px) 0;
  overflow:hidden;
  text-align:center
}
.closing__inner {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:33px
}
.closing h2 {
  font-size:clamp(3.75rem,10vw,9.375rem);
  font-family:var(--font-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-.08em;
  line-height:.9
}
.closing h2 em {
  display:block;
  font-family:var(--font-editorial);
  font-weight:400;
  text-transform:none;
  color:var(--warm-paper);
  font-size:.75em;
  letter-spacing:-.04em;
  margin-top:14px
}
.closing__inner>p:last-child {
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.2em;
  color:var(--custody-bluegray)
}
.closing__red-line {
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:var(--boundary-red);
  box-shadow:0 0 38px var(--red-glow)
}
.site-footer {
  padding:70px 0 30px;
  background:#0e1214;
  border-top:1px solid var(--hairline)
}
.site-footer__grid {
  display:grid;
  grid-template-columns:2fr 1fr 1.4fr;
  gap:50px
}
.site-footer__grid>div:not(:last-child) {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px
}
.site-footer__grid>div:not(:last-child)>a:not(.brand) {
  font-size:0.875rem;
  color:#bcc3c0
}
.site-footer__grid>div:not(:last-child)>a:not(.brand):hover {
  color:var(--warm-paper)
}
.site-footer__grid>div:not(:last-child)>span:not(.brand) {
  font-size:0.875rem;
  color:var(--muted-on-dark)
}
.site-footer__grid>div:first-child>p {
  font-size:0.875rem;
  color:var(--custody-bluegray);
  line-height:1.8;
  max-width:240px
}
.site-footer__end {
  grid-column:1/-1;
  padding-top:35px;
  border-top:1px solid var(--hairline);
  display:flex;
  justify-content:space-between;
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.13em;
  color:var(--custody-bluegray)
}
