:root {
  --emerald-950: #061512;
  --emerald-900: #09211d;
  --emerald-800: #10342d;
  --charcoal: #101313;
  --charcoal-soft: #171c1b;
  --ivory: #ede6d4;
  --ivory-muted: #bdb9aa;
  --gold: #c8ac6b;
  --gold-soft: #806f49;
  --red: #b56e5d;
  --line: rgba(200, 172, 107, 0.34);
  --line-soft: rgba(237, 230, 212, 0.14);
  --sans: 'Manrope', system-ui, sans-serif;
  --body: var(--sans);
  --display: 'Newsreader', Georgia, serif;
  --mono: 'IBM Plex Mono', 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--emerald-950); color: var(--ivory); font-family: var(--sans); font-weight: 400; line-height: 1.6; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
::selection { color: var(--emerald-950); background: var(--gold); }

.grain { position: fixed; inset: 0; z-index: 10; pointer-events: none; opacity: .055; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.signal-field { position: fixed; inset: 0; z-index: -1; background: radial-gradient(circle at 76% 2%, rgba(63, 107, 87, .24), transparent 25rem), linear-gradient(112deg, rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(200,172,107,.045) 1px, transparent 1px), linear-gradient(145deg, #102a25 0%, #081b18 45%, #040d0c 100%); background-size: auto, 100% 100%, 88px 88px, auto; }
.signal-field::before, .signal-field::after { content: ''; position: absolute; pointer-events: none; opacity: .2; }
.signal-field::before { inset: 0; background: linear-gradient(90deg, transparent 0 7%, rgba(237,230,212,.05) 7.1%, transparent 7.2% 92.8%, rgba(237,230,212,.05) 92.9%, transparent 93%), repeating-linear-gradient(0deg, transparent 0 119px, rgba(237,230,212,.045) 120px, transparent 121px); mask-image: linear-gradient(to bottom, #000, transparent 82%); }
.signal-field::after { width: 38rem; height: 38rem; right: -20rem; top: 13rem; border: 1px solid var(--gold-soft); border-radius: 50%; box-shadow: 0 0 0 42px rgba(128,111,73,.07), 0 0 0 90px rgba(128,111,73,.045); }

.site-header, main, .site-footer { width: min(100% - 48px, 1240px); margin-inline: auto; }
.site-header { min-height: 104px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.wordmark, .footer-wordmark { display: inline-flex; align-items: center; gap: 13px; }
.wordmark-copy { display: grid; gap: 0; font-family: var(--display); letter-spacing: .14em; font-size: 13px; line-height: 1.05; }
.wordmark-copy strong { font-weight: 600; }
.wordmark-copy em { font-style: normal; color: var(--gold); font-size: 11px; letter-spacing: .32em; }
.veil-mark { position: relative; width: 25px; height: 25px; display: inline-block; border: 1px solid var(--gold); border-radius: 50%; opacity: .9; }
.veil-mark::before { content: ''; position: absolute; left: -5px; right: -5px; top: 11px; height: 1px; background: var(--gold); }
.veil-mark::after { content: ''; position: absolute; left: 11px; top: -2px; bottom: -2px; width: 1px; background: var(--gold); opacity: .45; }
.veil-mark i { position: absolute; z-index: 1; width: 10px; height: 10px; background: var(--emerald-950); top: 7px; left: 7px; border-radius: 50%; }
.header-meta { display: flex; align-items: center; gap: 14px; }
.eyebrow, .coordinates, .section-index, .section-label, .kicker, .status-chip, .image-caption, .signature, .scroll-cue { font-family: var(--mono); text-transform: uppercase; letter-spacing: .13em; font-size: 10px; font-weight: 500; }
.eyebrow { color: var(--ivory-muted); letter-spacing: .08em; }
.status-dot, .status-chip span { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(181,110,93,.14); }

.archive-nav { position: sticky; top: 0; z-index: 8; border-bottom: 1px solid var(--line); background: rgba(6,21,18,.88); backdrop-filter: blur(18px); }
.archive-nav-inner { width: min(100% - 48px, 1240px); min-height: 58px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; }
.nav-caption { color: var(--ivory-muted); font: 500 10px var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.archive-menu { position: relative; }
.archive-menu summary { display: flex; align-items: center; gap: 17px; list-style: none; cursor: pointer; color: var(--ivory); font: 500 11px var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.archive-menu summary::-webkit-details-marker { display: none; }
.archive-menu summary span:first-child { border-bottom: 1px solid var(--gold-soft); padding-bottom: 3px; }
.menu-icon, .menu-icon::before, .menu-icon::after { width: 18px; height: 1px; display: block; background: var(--gold); transition: transform .2s ease; }
.menu-icon { position: relative; }
.menu-icon::before, .menu-icon::after { content: ''; position: absolute; left: 0; }
.menu-icon::before { top: -5px; }.menu-icon::after { top: 5px; }
.archive-menu[open] .menu-icon { background: transparent; }.archive-menu[open] .menu-icon::before { transform: translateY(5px) rotate(45deg); }.archive-menu[open] .menu-icon::after { transform: translateY(-5px) rotate(-45deg); }
.menu-panel { position: absolute; right: 0; top: calc(100% + 19px); width: min(86vw, 370px); padding: 10px; border: 1px solid var(--line); background: rgba(12,31,27,.97); box-shadow: 0 22px 50px rgba(0,0,0,.28); }
.menu-panel a { display: grid; grid-template-columns: 32px 1fr; gap: 1px 13px; padding: 14px 13px; border-bottom: 1px solid var(--line-soft); transition: background .2s ease, color .2s ease; }
.menu-panel a:last-child { border-bottom: 0; }.menu-panel a:hover { background: rgba(200,172,107,.08); color: var(--gold); }
.menu-panel a span { grid-row: 1 / span 2; color: var(--gold); font: 500 10px var(--mono); letter-spacing: .08em; }.menu-panel strong { font: 500 18px var(--display); letter-spacing: -.02em; }.menu-panel small { color: var(--ivory-muted); font: 11px var(--mono); letter-spacing: .03em; }

.section-frame { border-bottom: 1px solid var(--line); }
.hero { min-height: min(760px, calc(100vh - 104px)); padding: 92px 0 32px; position: relative; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(260px, .94fr); align-items: center; gap: clamp(48px, 10vw, 150px); min-height: 560px; }
.hero-copy { position: relative; z-index: 1; }
.kicker, .section-label { color: var(--gold); margin: 0 0 28px; }
.kicker { display: flex; align-items: center; gap: 12px; }
.kicker-line { width: 30px; height: 1px; background: var(--gold); display: inline-block; }
h1, h2, p { margin-top: 0; }
h1 { max-width: 780px; margin-bottom: 30px; font-family: var(--display); font-size: clamp(48px, 7.2vw, 104px); font-weight: 500; line-height: 1.03; letter-spacing: -.055em; }
h1 span, h2 em { color: var(--gold); font-style: italic; }
.hero-lede { max-width: 520px; color: var(--ivory-muted); font-size: clamp(16px, 1.45vw, 19px); line-height: 1.75; }
.hero-rule { height: 1px; width: min(100%, 510px); margin: 46px 0 24px; background: linear-gradient(90deg, var(--gold), transparent); }
.motto { font-family: var(--display); font-size: 23px; line-height: 1.28; letter-spacing: -.02em; margin-bottom: 8px; }
.motto span { color: var(--gold); }
.motto-note { color: var(--ivory-muted); font-family: var(--mono); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.hero-orbit { width: min(32vw, 390px); aspect-ratio: 1; justify-self: end; position: relative; opacity: .93; }
.orbit { position: absolute; inset: 0; border: 1px solid rgba(200,172,107,.32); border-radius: 50%; }
.orbit-one { transform: rotate(22deg) scaleX(.68); }
.orbit-two { transform: rotate(-36deg) scaleX(.72); }
.orbit-three { inset: 13%; border-color: rgba(200,172,107,.21); transform: rotate(90deg) scaleY(.64); }
.orbit-core { position: absolute; inset: 40%; border: 1px solid var(--gold); border-radius: 50%; display: grid; place-items: center; box-shadow: 0 0 40px rgba(200,172,107,.12); }
.orbit-core::before { content: ''; position: absolute; width: 400%; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.orbit-core::after { content: ''; position: absolute; height: 400%; width: 1px; background: linear-gradient(180deg, transparent, var(--gold), transparent); }
.orbit-core span { width: 13px; height: 13px; display: block; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 10px rgba(200,172,107,.1), 0 0 28px var(--gold); }
.orbit-label { position: absolute; color: var(--gold); font: 9px var(--mono); letter-spacing: .13em; }
.label-top { top: -23px; left: 50%; transform: translateX(-50%); }.label-right { right: -52px; top: 50%; transform: translateY(-50%) rotate(90deg); }.label-bottom { bottom: -23px; left: 50%; transform: translateX(-50%); }.label-left { left: -53px; top: 50%; transform: translateY(-50%) rotate(-90deg); }
.crosshair { position: absolute; width: 5px; height: 5px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 5px rgba(200,172,107,.1); }.crosshair-a { top: 19%; right: 18%; }.crosshair-b { bottom: 12%; left: 25%; }
.hero-footer { display: flex; justify-content: space-between; align-items: end; margin-top: 35px; }
.scroll-cue { color: var(--ivory-muted); display: flex; align-items: center; gap: 12px; margin: 0; }.scroll-line { display: inline-block; width: 44px; height: 1px; background: var(--gold); }.coordinates { color: var(--gold); text-align: right; line-height: 1.8; margin: 0; }.coordinates span { color: var(--ivory-muted); font-size: 8px; }

.intro { padding: 112px 0 120px; display: grid; grid-template-columns: 1fr 3fr; gap: 44px; }
.section-index { color: var(--gold); }.section-index span { opacity: .5; margin: 0 8px; }
.intro-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(42px, 8vw, 120px); }
h2 { font-family: var(--display); font-weight: 500; font-size: clamp(32px, 4.4vw, 60px); line-height: 1.1; letter-spacing: -.04em; margin-bottom: 0; }
.intro-body { padding-top: 42px; color: var(--ivory-muted); font-size: 16px; line-height: 1.8; }.intro-body p + p { margin-top: 22px; }.intro-body strong { color: var(--ivory); font-weight: 500; }

.status-panel { padding: 65px 0 74px; background: linear-gradient(90deg, rgba(16,52,45,.35), transparent 70%); }
.status-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; }.status-header .section-label { margin-bottom: 18px; }.status-chip { display: inline-flex; gap: 11px; align-items: center; padding: 10px 14px; color: var(--red); border: 1px solid rgba(181,110,93,.42); white-space: nowrap; }.status-chip span { width: 6px; height: 6px; box-shadow: none; }
.status-body { max-width: 760px; margin-top: 54px; }.progress-track { height: 2px; background: var(--line-soft); position: relative; margin-bottom: 19px; }.progress-track span { display: block; height: 100%; width: 25%; background: var(--gold); position: relative; }.progress-track span::after { content: ''; position: absolute; right: 0; top: -4px; width: 10px; height: 10px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 6px rgba(200,172,107,.1); }.status-details { display: flex; justify-content: space-between; gap: 35px; color: var(--ivory-muted); font-size: 13px; }.status-details p:first-child { color: var(--ivory); font: 11px var(--mono); text-transform: uppercase; letter-spacing: .09em; white-space: nowrap; }.status-details p:first-child span { color: var(--gold); margin-left: 14px; }.status-details p:last-child { max-width: 430px; margin-left: auto; }

.pillars { padding: 106px 0 114px; }.pillars-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin: 55px 0 72px; }.pillars-heading .section-label { margin-bottom: 19px; }.pillars-note { max-width: 330px; color: var(--ivory-muted); font-size: 13px; line-height: 1.8; margin: 0; }.pillar-list { border-top: 1px solid var(--line); }.pillar-item { display: grid; grid-template-columns: 60px minmax(160px, 1fr) minmax(230px, 1.1fr) 25px; gap: 20px; align-items: center; min-height: 84px; border-bottom: 1px solid var(--line-soft); transition: color .25s ease, padding .25s ease, background .25s ease; }.pillar-item[data-disabled='true'] { cursor: default; }.pillar-item:hover { color: var(--gold); padding-inline: 13px; background: rgba(200,172,107,.04); }.pillar-number, .pillar-description { color: var(--ivory-muted); font: 11px var(--mono); }.pillar-name { font-family: var(--display); font-size: 25px; }.pillar-description { line-height: 1.5; }.pillar-arrow { color: var(--gold); font-size: 22px; text-align: right; }

.nox-note { padding: 110px 0; display: grid; grid-template-columns: minmax(260px, 380px) 1fr; gap: clamp(42px, 9vw, 130px); align-items: center; }.nox-image-wrap { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--charcoal); border: 1px solid var(--line); }.nox-image-wrap::after { content: ''; position: absolute; inset: 13px; border: 1px solid rgba(200,172,107,.5); pointer-events: none; }.nox-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.75) contrast(1.05); }.image-caption { position: absolute; z-index: 1; left: 20px; bottom: 16px; color: var(--ivory); text-shadow: 0 1px 8px #000; }.nox-copy { max-width: 600px; }.nox-copy .section-label { margin-bottom: 22px; }.nox-copy h2 { margin-bottom: 28px; }.nox-copy > p:not(.section-label) { max-width: 440px; color: var(--ivory-muted); line-height: 1.8; }.signature { display: inline-flex; align-items: center; gap: 12px; margin-top: 35px; color: var(--gold); }.signature i { width: 45px; height: 1px; background: var(--gold); display: inline-block; }

.disclosure { display: grid; grid-template-columns: 60px minmax(0, 680px); gap: 28px; padding: 82px 0 100px; }.disclosure-mark { width: 38px; height: 38px; border: 1px solid var(--red); color: var(--red); display: grid; place-items: center; font: 17px var(--mono); }.disclosure h2 { font-size: clamp(28px, 3.7vw, 48px); margin-bottom: 22px; }.disclosure p:last-child { max-width: 650px; color: var(--ivory-muted); font-size: 14px; line-height: 1.8; }
.site-footer { min-height: 170px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }.footer-wordmark { color: var(--gold); font: 11px var(--mono); letter-spacing: .16em; }.site-footer > p { color: var(--ivory-muted); font: 10px var(--mono); text-transform: uppercase; letter-spacing: .1em; margin: 0; }.site-footer > p:nth-child(2) { text-align: center; }.footer-motto { text-align: right; }

@media (max-width: 800px) {
  .site-header, main, .site-footer, .archive-nav-inner { width: min(100% - 36px, 680px); }
  .site-header { min-height: 84px; }.eyebrow, .nav-caption { display: none; }.archive-nav-inner { min-height: 54px; }
  .hero { padding-top: 65px; }.hero-grid { grid-template-columns: 1fr; gap: 70px; min-height: 0; }.hero-orbit { width: min(62vw, 300px); justify-self: center; }.hero-footer { margin-top: 80px; }
  .intro { padding: 78px 0 84px; grid-template-columns: 1fr; gap: 28px; }.intro-layout { grid-template-columns: 1fr; gap: 30px; }.intro-body { padding-top: 0; }
  .status-panel { padding: 58px 0 64px; }.status-header { align-items: start; flex-direction: column; }.status-body { margin-top: 43px; }.status-details { display: block; }.status-details p:last-child { margin-top: 21px; }
  .pillars { padding: 78px 0 85px; }.pillars-heading { display: block; margin: 42px 0 50px; }.pillars-note { margin-top: 25px; }.pillar-item { grid-template-columns: 37px 1fr 22px; gap: 12px; min-height: 78px; }.pillar-description { grid-column: 2 / 3; grid-row: 2; font-size: 10px; padding-bottom: 17px; margin-top: -25px; }.pillar-item { align-items: start; padding-top: 20px; padding-bottom: 12px; }.pillar-arrow { grid-column: 3; grid-row: 1 / span 2; margin-top: 3px; }
  .nox-note { padding: 80px 0; grid-template-columns: 1fr; gap: 46px; }.nox-image-wrap { max-width: 370px; }.disclosure { padding: 65px 0 78px; grid-template-columns: 40px 1fr; gap: 18px; }.site-footer { min-height: 190px; grid-template-columns: 1fr 1fr; align-content: center; }.footer-motto { grid-column: 1 / -1; text-align: left; }.site-footer > p:nth-child(2) { text-align: right; }
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-one { animation: orbit-spin 28s linear infinite; }.orbit-two { animation: orbit-spin-reverse 35s linear infinite; }.orbit-core span { animation: core-pulse 4s ease-in-out infinite; }.hero-copy { animation: reveal .9s ease-out both; }.hero-orbit { animation: reveal 1.1s .15s ease-out both; }
}
@keyframes orbit-spin { from { transform: rotate(22deg) scaleX(.68); } to { transform: rotate(382deg) scaleX(.68); } }
@keyframes orbit-spin-reverse { from { transform: rotate(-36deg) scaleX(.72); } to { transform: rotate(-396deg) scaleX(.72); } }
@keyframes core-pulse { 0%, 100% { transform: scale(.86); opacity: .7; } 50% { transform: scale(1.12); opacity: 1; } }
@keyframes reveal { from { opacity: 0; transform: translateY(13px); } to { opacity: 1; transform: translateY(0); } }


/* Threshold entrance and horizontal archive navigation */
body.enter-lock { overflow: hidden; }
.entry-gate { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 50% 44%, rgba(41, 102, 79, .28), transparent 23rem), linear-gradient(145deg, #071814 0%, #020807 76%); }
.entry-gate[hidden] { display: none; }
.entry-gate::before, .entry-gate::after { content: ''; position: absolute; pointer-events: none; }
.entry-gate::before { inset: 8%; border: 1px solid rgba(200,172,107,.19); box-shadow: inset 0 0 0 10px rgba(200,172,107,.025), inset 0 0 90px rgba(0,0,0,.35); }
.entry-gate::after { width: 46vw; height: 46vw; max-width: 620px; max-height: 620px; border: 1px solid rgba(200,172,107,.18); border-radius: 50%; box-shadow: 0 0 0 42px rgba(200,172,107,.035), 0 0 0 95px rgba(200,172,107,.025); animation: gate-breathe 6s ease-in-out infinite; }
.gate-stars { position: absolute; inset: 0; opacity: .45; background-image: radial-gradient(circle at 20% 22%, var(--ivory) 0 1px, transparent 1.5px), radial-gradient(circle at 74% 18%, var(--gold) 0 1px, transparent 1.5px), radial-gradient(circle at 62% 76%, var(--ivory) 0 1px, transparent 1.5px), radial-gradient(circle at 31% 83%, var(--gold) 0 1px, transparent 1.5px), linear-gradient(90deg, transparent 49.8%, rgba(200,172,107,.07) 50%, transparent 50.2%), linear-gradient(0deg, transparent 49.8%, rgba(200,172,107,.07) 50%, transparent 50.2%); background-size: 290px 260px, 360px 330px, 420px 390px, 310px 280px, 100% 100%, 100% 100%; animation: gate-drift 22s linear infinite; }
.gate-orbit { position: absolute; border: 1px solid rgba(200,172,107,.32); border-radius: 50%; pointer-events: none; }
.gate-orbit-a { width: 67vw; height: 25vw; transform: rotate(-24deg); animation: orbit-float 10s ease-in-out infinite; }
.gate-orbit-b { width: 25vw; height: 67vw; transform: rotate(28deg); animation: orbit-float 13s ease-in-out infinite reverse; }
.gate-copy { position: relative; z-index: 2; text-align: center; margin-top: -210px; animation: gate-copy-in 1.2s ease both; }
.gate-kicker { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 0 0 22px; color: var(--gold); font: 500 10px var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.gate-kicker span { width: 34px; height: 1px; background: var(--gold); opacity: .7; }
.gate-copy h1 { margin: 0; color: var(--ivory); font: 500 clamp(48px, 8vw, 108px) var(--display); letter-spacing: -.065em; line-height: .95; }
.gate-question { margin: 22px 0 0; color: var(--ivory-muted); font: 400 clamp(17px, 2vw, 24px) var(--display); line-height: 1.25; }
.gate-question em { color: var(--gold); }
.enter-button { position: absolute; z-index: 3; left: 50%; bottom: 17%; display: grid; gap: 22px; justify-items: center; border: 0; padding: 0; color: var(--ivory); background: transparent; cursor: pointer; transition: transform .3s ease; }
.enter-button:hover, .enter-button:focus-visible { transform: translateY(-6px); outline: none; }
.enter-button:focus-visible .gate-box { box-shadow: 0 0 0 4px rgba(200,172,107,.22), 0 0 55px rgba(200,172,107,.42); }
.gate-box { position: relative; width: 118px; height: 76px; border: 1px solid var(--gold); background: linear-gradient(150deg, rgba(35,78,63,.95), rgba(5,18,15,.98)); box-shadow: 0 0 28px rgba(200,172,107,.22), 0 18px 42px rgba(0,0,0,.45); transform: perspective(190px) rotateX(8deg); transition: box-shadow .3s ease, transform .3s ease; }
.gate-box::before { content: ''; position: absolute; inset: 10px; border: 1px solid rgba(237,230,212,.28); }
.gate-box::after { content: ''; position: absolute; left: 50%; top: 9px; width: 1px; height: 58px; background: var(--gold); opacity: .55; }
.gate-box i { position: absolute; left: 50%; top: 50%; z-index: 2; width: 12px; height: 12px; border: 1px solid var(--ivory); border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 19px 5px rgba(237,230,212,.38); }
.gate-box b { position: absolute; left: 50%; top: -13px; width: 88px; height: 25px; border: 1px solid var(--gold); border-bottom: 0; background: linear-gradient(150deg, #1e4e3d, #081b17); transform: translateX(-50%) skewX(-12deg); transform-origin: 50% 100%; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.enter-label { color: var(--ivory-muted); font: 500 11px var(--mono); letter-spacing: .14em; line-height: 1.75; text-transform: uppercase; }
.enter-label strong { color: var(--gold); font: 500 21px var(--display); letter-spacing: .02em; text-transform: none; }
.gate-hint { position: absolute; z-index: 2; bottom: 6.5%; margin: 0; color: rgba(237,230,212,.48); font: 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.entry-gate.is-opening { animation: gate-exit 1.35s cubic-bezier(.75,0,.2,1) forwards; pointer-events: none; }
.entry-gate.is-opening .gate-box { transform: perspective(190px) rotateX(8deg) translateY(-10px) scale(1.04); }
.entry-gate.is-opening .gate-box b { transform: translateX(-50%) translateY(-33px) rotateX(58deg) skewX(-12deg); }
.entry-gate.is-opening .gate-copy, .entry-gate.is-opening .gate-hint { animation: gate-copy-out .5s ease forwards; }

.archive-nav-inner { min-height: 70px; }
.archive-tabs { display: flex; align-items: stretch; gap: clamp(16px, 4vw, 60px); }
.tab-item { position: relative; }
.tab-item summary { display: flex; align-items: center; gap: 10px; list-style: none; cursor: pointer; color: var(--ivory); font: 500 12px var(--mono); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.tab-item summary::-webkit-details-marker { display: none; }
.tab-item summary > span { color: var(--gold); font-size: 9px; }
.tab-item summary > i { width: 6px; height: 6px; margin-left: 3px; border-right: 1px solid var(--gold); border-bottom: 1px solid var(--gold); transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.tab-item[open] summary { color: var(--gold); }.tab-item[open] summary > i { transform: rotate(225deg) translate(-1px, -1px); }
.tab-panel { position: absolute; top: calc(100% + 22px); left: -14px; min-width: 205px; padding: 8px; border: 1px solid var(--line); background: rgba(9,29,25,.98); box-shadow: 0 20px 42px rgba(0,0,0,.32); }
.tab-panel a { display: block; padding: 11px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ivory-muted); font: 500 11px var(--mono); letter-spacing: .05em; text-transform: uppercase; transition: color .2s ease, background .2s ease; }
.tab-panel a:last-child { border-bottom: 0; }.tab-panel a:hover { color: var(--gold); background: rgba(200,172,107,.08); }

@keyframes gate-breathe { 0%, 100% { transform: scale(.97); opacity: .65; } 50% { transform: scale(1.03); opacity: 1; } }
@keyframes gate-drift { from { transform: translate3d(0,0,0); } to { transform: translate3d(-24px,16px,0); } }
@keyframes orbit-float { 0%, 100% { opacity: .45; } 50% { opacity: .9; } }
@keyframes gate-copy-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes gate-copy-out { to { opacity: 0; transform: translateY(-14px); } }
@keyframes gate-exit { 0% { opacity: 1; } 65% { opacity: 1; background: radial-gradient(circle at 50% 46%, rgba(200,172,107,.24), transparent 20rem), #071814; } 100% { opacity: 0; visibility: hidden; } }

@media (max-width: 800px) {
  .archive-nav-inner { min-height: 62px; display: block; padding: 14px 0 12px; }
  .nav-caption { display: block; margin-bottom: 11px; }
  .archive-tabs { justify-content: space-between; gap: 8px; }
  .tab-item summary { gap: 5px; font-size: 9px; letter-spacing: .045em; }
  .tab-item summary > span { display: none; }
  .tab-panel { left: auto; right: -8px; top: calc(100% + 14px); min-width: 180px; }
  .gate-copy { margin-top: -170px; padding-inline: 24px; }
  .gate-kicker { font-size: 8px; letter-spacing: .1em; gap: 8px; }.gate-kicker span { width: 18px; }
  .gate-copy h1 { font-size: clamp(46px, 15vw, 82px); }.gate-question { font-size: 18px; }
  .enter-button { bottom: 19%; }.gate-hint { bottom: 7%; font-size: 8px; letter-spacing: .06em; }
}

@media (prefers-reduced-motion: reduce) {
  .entry-gate::after, .gate-stars, .gate-orbit, .entry-gate.is-opening, .gate-copy, .hero-copy, .hero-orbit { animation: none; }
  .enter-button, .gate-box, .gate-box b { transition: none; }
}


/* Enhanced threshold scene: full-screen motion, larger archive box, and layered reveal */
.entry-gate { background: #020907; }
.entry-gate::before { inset: -12%; border: 0; background: radial-gradient(ellipse at 50% 45%, rgba(58,133,101,.25), transparent 27%), linear-gradient(118deg, transparent 0 18%, rgba(200,172,107,.08) 18.1%, transparent 18.3% 81.7%, rgba(200,172,107,.07) 81.9%, transparent 82%), repeating-linear-gradient(90deg, transparent 0 11vw, rgba(237,230,212,.04) 11.1vw, transparent 11.2vw); transform: scale(1.08); animation: archive-current 12s ease-in-out infinite alternate; }
.entry-gate::after { width: 82vw; height: 82vw; max-width: 980px; max-height: 980px; border-color: rgba(200,172,107,.24); box-shadow: 0 0 0 56px rgba(200,172,107,.045), 0 0 0 130px rgba(200,172,107,.03), inset 0 0 90px rgba(60,135,100,.08); animation: gate-breathe 7s ease-in-out infinite; }
.gate-stars { opacity: .66; background-image: radial-gradient(circle at 9% 18%, var(--ivory) 0 1px, transparent 1.5px), radial-gradient(circle at 22% 72%, var(--gold) 0 1px, transparent 1.5px), radial-gradient(circle at 48% 12%, var(--ivory) 0 1px, transparent 1.5px), radial-gradient(circle at 78% 27%, var(--gold) 0 1px, transparent 1.5px), radial-gradient(circle at 88% 78%, var(--ivory) 0 1px, transparent 1.5px), linear-gradient(90deg, transparent 49.8%, rgba(200,172,107,.09) 50%, transparent 50.2%), linear-gradient(0deg, transparent 49.8%, rgba(200,172,107,.09) 50%, transparent 50.2%); background-size: 220px 190px, 310px 270px, 410px 370px, 260px 230px, 360px 330px, 100% 100%, 100% 100%; animation: gate-drift 28s linear infinite, star-shimmer 5s ease-in-out infinite alternate; }
.gate-orbit-a { width: 96vw; height: 34vw; opacity: .7; transform: rotate(-19deg); animation: orbit-sweep 16s ease-in-out infinite; }
.gate-orbit-b { width: 34vw; height: 96vw; opacity: .55; transform: rotate(23deg); animation: orbit-sweep 21s ease-in-out infinite reverse; }
.gate-copy { margin-top: -300px; }
.enter-button { bottom: 12%; gap: 28px; }
.gate-box { width: clamp(250px, 34vw, 500px); height: clamp(155px, 22vw, 315px); border-width: 2px; transform: perspective(600px) rotateX(13deg) rotateY(-2deg); background: linear-gradient(145deg, rgba(51,122,91,.94), rgba(8,32,25,.99) 62%, rgba(2,12,10,.99)); box-shadow: 0 0 35px rgba(200,172,107,.35), 0 0 100px rgba(59,153,108,.24), 0 42px 85px rgba(0,0,0,.6), inset 0 0 35px rgba(237,230,212,.08); animation: box-float 4.5s ease-in-out infinite; }
.gate-box::before { inset: 18px; border-width: 2px; border-color: rgba(237,230,212,.34); box-shadow: inset 0 0 25px rgba(200,172,107,.11); }
.gate-box::after { top: 18px; height: calc(100% - 36px); box-shadow: 0 0 18px rgba(200,172,107,.45); }
.gate-box i { width: 19px; height: 19px; box-shadow: 0 0 28px 9px rgba(237,230,212,.42), 0 0 70px rgba(200,172,107,.38); }
.gate-box b { top: -36px; width: 78%; height: 68px; border-width: 2px; background: linear-gradient(145deg, #327b5e, #0a2b21 75%); box-shadow: 0 -8px 35px rgba(200,172,107,.2); transform: translateX(-50%) skewX(-9deg); }
.enter-button:hover .gate-box { box-shadow: 0 0 45px rgba(200,172,107,.5), 0 0 130px rgba(59,153,108,.34), 0 42px 85px rgba(0,0,0,.6); }
.enter-label { font-size: 12px; }
.enter-label strong { font-size: 27px; }
.gate-hint { bottom: 4.5%; }
.entry-gate.is-opening { animation: gate-exit-enhanced 1.55s cubic-bezier(.74,0,.18,1) forwards; }
.entry-gate.is-opening::before { animation: current-burst 1.55s ease-out forwards; }
.entry-gate.is-opening::after { animation: ring-burst 1.55s ease-out forwards; }
.entry-gate.is-opening .gate-box { animation: box-launch 1.05s cubic-bezier(.15,.8,.25,1) forwards; }
.entry-gate.is-opening .gate-box b { transform: translateX(-50%) translateY(-120px) rotateX(76deg) skewX(-9deg); }
.entry-gate.is-opening .gate-copy, .entry-gate.is-opening .gate-hint { animation: gate-copy-out .55s ease forwards; }
body.entered .site-header, body.entered .archive-nav, body.entered main, body.entered .site-footer { animation: page-arrival .9s cubic-bezier(.2,.75,.2,1) both; }
body.entered .archive-nav { animation-delay: .08s; }
body.entered main { animation-delay: .16s; }
body.entered .site-footer { animation-delay: .24s; }

@keyframes archive-current { from { transform: scale(1.08) translate3d(-2%, -1%, 0); filter: hue-rotate(0deg); } to { transform: scale(1.13) translate3d(2%, 1%, 0); filter: hue-rotate(10deg); } }
@keyframes star-shimmer { from { opacity: .42; } to { opacity: .78; } }
@keyframes orbit-sweep { 0%, 100% { transform: rotate(-19deg) scale(1); opacity: .38; } 50% { transform: rotate(-10deg) scale(1.08); opacity: .8; } }
@keyframes box-float { 0%, 100% { transform: perspective(600px) rotateX(13deg) rotateY(-2deg) translateY(0); } 50% { transform: perspective(600px) rotateX(13deg) rotateY(-2deg) translateY(-13px); } }
@keyframes current-burst { to { transform: scale(1.35); opacity: 0; } }
@keyframes ring-burst { to { transform: scale(1.7); opacity: 0; } }
@keyframes box-launch { 0% { transform: perspective(600px) rotateX(13deg) rotateY(-2deg) scale(1); opacity: 1; } 45% { transform: perspective(600px) rotateX(13deg) rotateY(-2deg) scale(1.14) translateY(-24px); opacity: 1; } 100% { transform: perspective(600px) rotateX(13deg) rotateY(-2deg) scale(2.5) translateY(-80px); opacity: 0; } }
@keyframes gate-exit-enhanced { 0% { opacity: 1; clip-path: circle(150% at 50% 50%); } 55% { opacity: 1; clip-path: circle(150% at 50% 50%); } 100% { opacity: 0; clip-path: circle(0% at 50% 50%); visibility: hidden; } }
@keyframes page-arrival { from { opacity: 0; transform: translateY(25px); filter: blur(5px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }

@media (max-width: 800px) {
  .gate-copy { margin-top: -250px; }
  .enter-button { bottom: 15%; }
  .gate-box { width: min(76vw, 390px); height: min(48vw, 205px); }
  .gate-box b { top: -26px; height: 46px; }
  .enter-label strong { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .entry-gate::before, .gate-stars, .gate-orbit, .gate-box, body.entered .site-header, body.entered .archive-nav, body.entered main, body.entered .site-footer { animation: none; }
}


/* Final gate direction: sealed archival reliquary, not a grid or field */
.entry-gate { background: radial-gradient(ellipse at 50% 48%, rgba(20,68,49,.22), transparent 28rem), #020706; }
.entry-gate::before { inset: -15%; border: 0; box-shadow: none; background: radial-gradient(ellipse at 50% 50%, transparent 0 25%, rgba(0,0,0,.44) 62%, rgba(0,0,0,.86) 100%), linear-gradient(116deg, transparent 0 37%, rgba(200,172,107,.07) 37.1%, transparent 37.35% 62.5%, rgba(200,172,107,.045) 62.7%, transparent 63%); transform: none; animation: reliquary-breath 13s ease-in-out infinite alternate; }
.entry-gate::after { width: 118vw; height: 61vw; max-width: none; max-height: none; border: 1px solid rgba(200,172,107,.22); border-radius: 50%; box-shadow: 0 0 0 1px rgba(200,172,107,.025), 0 0 0 90px rgba(128,111,73,.025); transform: rotate(-18deg); animation: reliquary-orbit 18s ease-in-out infinite alternate; }
.gate-stars { opacity: .58; background-image: radial-gradient(circle at 8% 20%, var(--ivory) 0 1px, transparent 1.4px), radial-gradient(circle at 17% 77%, var(--gold) 0 1px, transparent 1.4px), radial-gradient(circle at 34% 12%, var(--ivory) 0 1px, transparent 1.4px), radial-gradient(circle at 52% 86%, var(--gold) 0 1px, transparent 1.4px), radial-gradient(circle at 72% 19%, var(--ivory) 0 1px, transparent 1.4px), radial-gradient(circle at 91% 69%, var(--gold) 0 1px, transparent 1.4px); background-size: 260px 240px, 330px 310px, 390px 350px, 290px 270px, 430px 380px, 350px 330px; animation: gate-drift 32s linear infinite, star-shimmer 6s ease-in-out infinite alternate; }
.gate-orbit-a { width: 120vw; height: 38vw; opacity: .42; border-color: rgba(237,230,212,.18); transform: rotate(-15deg); animation: reliquary-orbit-a 20s ease-in-out infinite alternate; }
.gate-orbit-b { width: 44vw; height: 112vw; opacity: .25; border-color: rgba(200,172,107,.25); transform: rotate(23deg); animation: reliquary-orbit-b 24s ease-in-out infinite alternate; }
.gate-copy { margin-top: -300px; }
.enter-button { bottom: 11%; }
.gate-box { width: clamp(220px, 27vw, 390px); height: clamp(270px, 36vw, 500px); border: 1px solid rgba(200,172,107,.9); border-radius: 3px 3px 8px 8px; transform: perspective(900px) rotateX(6deg) rotateY(-7deg); background: linear-gradient(145deg, rgba(32,75,57,.98), rgba(5,25,19,.99) 58%, rgba(2,10,8,.99)), repeating-linear-gradient(145deg, transparent 0 32px, rgba(237,230,212,.045) 33px 34px, transparent 35px 70px); box-shadow: 0 0 26px rgba(200,172,107,.3), 0 0 110px rgba(48,139,89,.2), 28px 50px 90px rgba(0,0,0,.65), inset 18px 0 30px rgba(0,0,0,.2), inset -10px 0 25px rgba(237,230,212,.06); animation: reliquary-float 5s ease-in-out infinite; }
.gate-box::before { content: ''; position: absolute; inset: 19px; border: 1px solid rgba(237,230,212,.26); border-radius: 1px 1px 5px 5px; box-shadow: inset 0 0 38px rgba(0,0,0,.25); }
.gate-box::after { content: ''; position: absolute; left: 19%; right: 12%; top: 31%; height: 1px; background: linear-gradient(90deg, transparent, rgba(200,172,107,.64), transparent); transform: rotate(-7deg); box-shadow: 0 78px 0 rgba(237,230,212,.09), 0 156px 0 rgba(237,230,212,.06); }
.gate-box i { width: 37px; height: 37px; border: 1px solid var(--gold); background: rgba(3,14,11,.82); box-shadow: 0 0 26px 7px rgba(200,172,107,.22), 0 0 58px rgba(237,230,212,.2); }
.gate-box i::before, .gate-box i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 19px; height: 1px; background: var(--ivory); transform: translate(-50%, -50%) rotate(45deg); opacity: .8; }
.gate-box i::after { transform: translate(-50%, -50%) rotate(-45deg); }
.gate-box b { top: -47px; width: 91%; height: 73px; border: 1px solid rgba(200,172,107,.95); border-bottom: 0; border-radius: 4px 4px 0 0; background: linear-gradient(155deg, #2b6c51, #0a2c21 76%); box-shadow: 0 -9px 32px rgba(200,172,107,.17), inset 0 13px 22px rgba(237,230,212,.06); transform: translateX(-50%) skewX(-5deg); }
.gate-box b::after { content: 'VEIL / 001'; position: absolute; left: 22px; bottom: 13px; color: rgba(237,230,212,.46); font: 9px var(--mono); letter-spacing: .17em; }
.enter-button:hover .gate-box { transform: perspective(900px) rotateX(6deg) rotateY(-7deg) translateY(-9px); box-shadow: 0 0 38px rgba(200,172,107,.45), 0 0 130px rgba(48,139,89,.27), 28px 50px 90px rgba(0,0,0,.65); }
.entry-gate.is-opening .gate-box { animation: reliquary-launch 1.05s cubic-bezier(.15,.8,.25,1) forwards; }
.entry-gate.is-opening .gate-box b { transform: translateX(-50%) translateY(-118px) rotateX(76deg) skewX(-5deg); }

@keyframes reliquary-breath { from { transform: scale(1.01); filter: brightness(.85); } to { transform: scale(1.08); filter: brightness(1.08); } }
@keyframes reliquary-orbit { from { transform: rotate(-18deg) translate3d(-2%,0,0); opacity: .16; } to { transform: rotate(-14deg) translate3d(2%,1%,0); opacity: .32; } }
@keyframes reliquary-orbit-a { from { transform: rotate(-15deg) translateX(-2%); } to { transform: rotate(-10deg) translateX(2%); } }
@keyframes reliquary-orbit-b { from { transform: rotate(23deg) translateY(-2%); } to { transform: rotate(30deg) translateY(2%); } }
@keyframes reliquary-float { 0%, 100% { transform: perspective(900px) rotateX(6deg) rotateY(-7deg) translateY(0); } 50% { transform: perspective(900px) rotateX(6deg) rotateY(-7deg) translateY(-12px); } }
@keyframes reliquary-launch { 0% { transform: perspective(900px) rotateX(6deg) rotateY(-7deg) scale(1); opacity: 1; } 45% { transform: perspective(900px) rotateX(6deg) rotateY(-7deg) scale(1.08) translateY(-18px); opacity: 1; } 100% { transform: perspective(900px) rotateX(6deg) rotateY(-7deg) scale(2.35) translateY(-65px); opacity: 0; } }

@media (max-width: 800px) {
  .gate-copy { margin-top: -250px; }
  .gate-box { width: min(66vw, 300px); height: min(84vw, 380px); }
  .gate-box b { top: -35px; height: 53px; }
  .gate-box i { width: 29px; height: 29px; }
  .gate-box::after { box-shadow: 0 60px 0 rgba(237,230,212,.08), 0 120px 0 rgba(237,230,212,.05); }
}

@media (prefers-reduced-motion: reduce) {
  .entry-gate::before, .entry-gate::after, .gate-stars, .gate-orbit, .gate-box { animation: none; }
}


/* Case-file entrance rebuild: editorial investigation over decorative sci-fi */
.entry-gate { display: block; background: #07100e; }
.entry-gate::before { inset: 0; border: 0; box-shadow: none; background: linear-gradient(90deg, rgba(237,230,212,.025) 1px, transparent 1px), linear-gradient(0deg, rgba(237,230,212,.018) 1px, transparent 1px), radial-gradient(ellipse at 50% 45%, rgba(22,66,49,.19), transparent 30rem), #07100e; background-size: 120px 120px, 120px 120px, auto, auto; opacity: .45; animation: none; }
.entry-gate::after { width: 100%; height: 100%; max-width: none; max-height: none; border: 0; border-radius: 0; box-shadow: inset 0 0 170px rgba(0,0,0,.78); transform: none; animation: none; }
.gate-stars, .gate-orbit { display: none; }
.gate-copy { position: absolute; top: 14%; left: 24px; right: 24px; margin: 0; }
.gate-kicker { margin-bottom: 20px; color: var(--gold); }
.gate-copy h1 { font-size: clamp(53px, 8vw, 118px); text-shadow: 0 7px 35px rgba(0,0,0,.45); }
.gate-question { margin-top: 19px; color: rgba(237,230,212,.68); }
.enter-button { bottom: 9%; gap: 20px; }
.gate-box { width: clamp(220px, 25vw, 360px); height: clamp(255px, 31vw, 445px); border: 1px solid rgba(200,172,107,.8); border-radius: 1px 6px 4px 1px; transform: perspective(1200px) rotateY(-7deg) rotateX(2deg); background: linear-gradient(105deg, rgba(7,25,19,.98), rgba(22,61,44,.94) 52%, rgba(5,20,15,.99)), radial-gradient(circle at 80% 15%, rgba(200,172,107,.15), transparent 30%); box-shadow: 17px 18px 0 rgba(0,0,0,.25), 0 0 30px rgba(200,172,107,.16), 0 35px 70px rgba(0,0,0,.58); animation: dossier-rest 5s ease-in-out infinite; }
.gate-box::before { inset: 15px; border: 1px solid rgba(237,230,212,.2); border-left: 0; border-radius: 0 2px 2px 0; box-shadow: none; }
.gate-box::after { left: 15%; right: auto; top: 58px; width: 54%; height: 17px; background: rgba(4,12,10,.66); transform: rotate(-2deg); box-shadow: 0 31px 0 rgba(4,12,10,.56), 0 62px 0 rgba(4,12,10,.42); }
.gate-box i { top: 70%; width: 43px; height: 43px; border-color: rgba(200,172,107,.92); background: #101f18; box-shadow: 0 0 20px rgba(200,172,107,.25); }
.gate-box i::before, .gate-box i::after { width: 22px; background: var(--gold); }
.gate-box b { top: -17px; width: 42%; height: 36px; border: 1px solid var(--gold); border-bottom: 0; border-radius: 1px 4px 0 0; background: #102e23; box-shadow: none; transform: translateX(-50%) skewX(-4deg); }
.gate-box b::after { content: 'CASE FILE / 001'; left: 12px; bottom: 9px; color: rgba(237,230,212,.54); font: 8px var(--mono); letter-spacing: .15em; }
.enter-button:hover .gate-box { transform: perspective(1200px) rotateY(-7deg) rotateX(2deg) translateY(-8px); box-shadow: 17px 18px 0 rgba(0,0,0,.25), 0 0 38px rgba(200,172,107,.3), 0 35px 70px rgba(0,0,0,.58); }
.enter-label { font-size: 10px; letter-spacing: .18em; }
.enter-label strong { font-size: 24px; }
.gate-hint { bottom: 3.5%; }
.entry-gate.is-opening .gate-box { animation: dossier-open 1.1s cubic-bezier(.18,.8,.22,1) forwards; }
.entry-gate.is-opening .gate-box b { transform: translateX(-50%) translateY(-72px) rotateX(62deg) skewX(-4deg); }
.entry-gate.is-opening { animation: case-file-exit 1.5s cubic-bezier(.72,0,.18,1) forwards; }

@keyframes dossier-rest { 0%, 100% { transform: perspective(1200px) rotateY(-7deg) rotateX(2deg) translateY(0); } 50% { transform: perspective(1200px) rotateY(-7deg) rotateX(2deg) translateY(-7px); } }
@keyframes dossier-open { 0% { transform: perspective(1200px) rotateY(-7deg) rotateX(2deg) scale(1); opacity: 1; } 45% { transform: perspective(1200px) rotateY(-7deg) rotateX(2deg) scale(1.03) translateY(-16px); opacity: 1; } 100% { transform: perspective(1200px) rotateY(-7deg) rotateX(2deg) scale(1.55) translateY(-22px); opacity: 0; } }
@keyframes case-file-exit { 0%, 58% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }

@media (max-width: 800px) {
  .gate-copy { top: 12%; }
  .gate-copy h1 { font-size: clamp(48px, 14vw, 78px); }
  .gate-question { font-size: 17px; }
  .enter-button { bottom: 11%; }
  .gate-box { width: min(65vw, 285px); height: min(78vw, 350px); }
}


/* Watch hub and short-animation workspace */
.watch-hub { padding: 108px 0 116px; }
.watch-heading { display: flex; align-items: end; justify-content: space-between; gap: 34px; margin-bottom: 58px; }
.watch-heading .section-label { margin-bottom: 19px; }
.youtube-button { display: inline-flex; align-items: center; gap: 11px; padding: 13px 16px; border: 1px solid rgba(181,110,93,.55); color: var(--ivory); font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.youtube-button:hover { background: rgba(181,110,93,.13); border-color: var(--red); color: var(--ivory); }
.youtube-mark { display: grid; place-items: center; width: 20px; height: 14px; color: var(--ivory); background: var(--red); border-radius: 4px; font-size: 8px; }
.shorts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.short-card { position: relative; min-height: 220px; padding: 22px; border: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(16,52,45,.35), rgba(7,20,17,.45)); overflow: hidden; }
.short-card::before { content: ''; position: absolute; right: -35px; bottom: -48px; width: 160px; height: 160px; border: 1px solid rgba(200,172,107,.22); border-radius: 50%; }
.short-card-empty { display: flex; flex-direction: column; justify-content: end; }
.short-number { position: absolute; top: 19px; left: 22px; color: var(--gold); font: 500 10px var(--mono); letter-spacing: .1em; }
.short-card p { margin: 0 0 7px; color: var(--ivory); font: 500 24px var(--display); }
.short-card small { max-width: 190px; color: var(--ivory-muted); font: 11px/1.6 var(--mono); }
.short-upload { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 18px; padding: 25px 24px; border: 1px dashed rgba(200,172,107,.45); background: rgba(200,172,107,.035); }
.short-upload .section-label { margin-bottom: 10px; }.short-upload h3 { margin: 0 0 8px; color: var(--ivory); font: 500 25px var(--display); }.short-upload p:last-child { max-width: 570px; margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.7; }
.upload-button { flex: 0 0 auto; display: inline-flex; align-items: center; padding: 13px 17px; border: 1px solid var(--gold); color: var(--gold); cursor: pointer; font: 500 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; transition: background .25s ease, color .25s ease; }.upload-button:hover { color: var(--emerald-950); background: var(--gold); }.upload-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.short-preview { display: grid; grid-template-columns: minmax(160px, 230px) 1fr; gap: 18px; align-items: center; margin-top: 18px; padding: 14px; border: 1px solid var(--line); background: rgba(0,0,0,.22); }.short-preview video { width: 100%; aspect-ratio: 9 / 16; max-height: 250px; object-fit: cover; background: #000; }.short-preview strong { display: block; color: var(--ivory); font: 500 17px var(--display); overflow-wrap: anywhere; }.short-preview span { display: block; margin-top: 8px; color: var(--ivory-muted); font: 10px var(--mono); letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 800px) {
  .watch-hub { padding: 78px 0 84px; }.watch-heading { display: block; margin-bottom: 40px; }.youtube-button { margin-top: 25px; }.shorts-grid { grid-template-columns: 1fr; }.short-card { min-height: 170px; }.short-upload { display: block; }.upload-button { margin-top: 20px; }.short-preview { grid-template-columns: 110px 1fr; }
}


/* Dedicated Watch page */
.watch-page-hero { padding: 104px 0 92px; }.watch-page-hero .kicker { margin-bottom: 28px; }.watch-page-hero h1 { max-width: 760px; margin-bottom: 28px; }.watch-page-hero .youtube-button { margin-top: 30px; }
.watch-note { max-width: 330px; margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.8; }
.short-card-ready { background: linear-gradient(145deg, rgba(40,91,67,.42), rgba(7,20,17,.48)); }.short-status { position: absolute; right: 20px; top: 20px; color: var(--gold); font: 500 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.watch-page .short-upload { display: grid; grid-template-columns: 1fr auto; align-items: center; }.watch-page .short-upload > div:first-child { min-width: 0; }.watch-page .short-upload > .short-preview { grid-column: 1 / -1; width: 100%; margin-top: 0; }
.watch-page .short-upload h2 { margin-bottom: 18px; }.watch-page .short-upload p:last-child { max-width: 580px; }
@media (max-width: 800px) {
  .watch-page-hero { padding: 72px 0 70px; }.watch-page .short-upload { display: block; }.watch-page .short-upload .short-preview { margin-top: 20px; }
}


/* Secure uploader UI */
.upload-login { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }.upload-login label, .upload-form label { display: grid; gap: 7px; color: var(--ivory-muted); font: 500 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }.upload-login input { width: 100%; margin: 0; padding: 11px 12px; border: 1px solid var(--line-soft); background: rgba(0,0,0,.22); color: var(--ivory); font: 14px var(--sans); }.upload-login input:focus { outline: 1px solid var(--gold); border-color: var(--gold); }.upload-login .upload-button { border: 1px solid var(--gold); background: transparent; }.upload-message { grid-column: 1 / -1; min-height: 16px; margin: 0; color: var(--gold); font: 10px var(--mono); letter-spacing: .04em; }.upload-message[data-error="true"] { color: var(--red); }.upload-login[hidden], .upload-panel[hidden] { display: none; }
.upload-panel { grid-column: 1 / -1; }.upload-panel-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }.upload-panel-top .section-label { margin: 0; color: #83b99a; }.logout-button { border: 0; padding: 0; color: var(--ivory-muted); background: transparent; cursor: pointer; font: 500 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.logout-button:hover { color: var(--gold); }.upload-form { display: flex; align-items: center; gap: 12px; }.upload-form .upload-button { border: 1px solid var(--gold); }.upload-form .upload-submit:disabled { cursor: not-allowed; opacity: .42; }.upload-form .upload-message { flex: 1; grid-column: auto; }
.server-short-card { display: flex; flex-direction: column; gap: 9px; min-height: 300px; }.server-short-card video { width: 100%; aspect-ratio: 9 / 16; max-height: 255px; object-fit: cover; background: #000; }.server-short-card p { margin: 0; overflow-wrap: anywhere; font-size: 16px; }.server-short-card small { margin-top: auto; }
@media (max-width: 800px) { .upload-login { grid-template-columns: 1fr; }.upload-login .upload-message { grid-column: auto; }.upload-form { flex-wrap: wrap; }.upload-form .upload-message { flex-basis: 100%; }.server-short-card video { max-height: 300px; } }


/* Upcoming Short 01 placeholder */
.upcoming-short-card { display: block; min-height: 0; padding: 0; background: rgba(5,17,14,.7); }
.short-thumb { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 318px; padding: 19px; overflow: hidden; background: radial-gradient(circle at 67% 41%, rgba(200,172,107,.2), transparent 20%), linear-gradient(145deg, rgba(35,82,61,.92), rgba(4,18,14,.98) 64%), repeating-linear-gradient(155deg, transparent 0 31px, rgba(237,230,212,.045) 32px 33px, transparent 34px 68px); border-bottom: 1px solid var(--line); }
.short-thumb::before { content: ''; position: absolute; inset: 13px; border: 1px solid rgba(237,230,212,.24); pointer-events: none; }.short-thumb::after { content: ''; position: absolute; left: -20%; right: -20%; top: 52%; height: 1px; background: rgba(200,172,107,.58); transform: rotate(-17deg); box-shadow: 0 58px 0 rgba(237,230,212,.1); }
.thumb-kicker, .thumb-scan { position: relative; z-index: 1; color: var(--gold); font: 500 8px var(--mono); letter-spacing: .12em; }.thumb-scan { color: var(--ivory-muted); }
.short-thumb strong { position: relative; z-index: 1; margin-left: 8px; color: var(--ivory); font: 500 clamp(27px, 3vw, 39px)/.92 var(--display); letter-spacing: -.06em; }.short-thumb strong em { color: var(--gold); font-style: normal; }.thumb-play { position: absolute; z-index: 2; right: 21px; bottom: 22px; display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-size: 11px; font-style: normal; }
.short-card-copy { position: relative; padding: 17px 19px 20px; }.short-card-copy .short-number { top: 18px; left: auto; right: 19px; }.short-card-copy p { margin-bottom: 4px; }.short-card-copy .short-status { position: static; display: block; margin-top: 13px; color: var(--gold); font-size: 8px; }
@media (max-width: 800px) { .short-thumb { min-height: 370px; } }


/* Live Episode 1 embed */
.live-short-card { display: block; min-height: 0; padding: 0; background: rgba(5,17,14,.72); }.short-embed { position: relative; aspect-ratio: 9 / 16; max-height: 390px; overflow: hidden; background: #000; border-bottom: 1px solid var(--line); }.short-embed iframe { display: block; width: 100%; height: 100%; min-height: 330px; border: 0; }.live-short-card .short-card-copy { padding-top: 17px; }.live-short-card .short-status { color: #83b99a; }
@media (max-width: 800px) { .short-embed { max-height: 500px; }.short-embed iframe { min-height: 430px; } }


/* Enter the Veil Index page */
.index-hero { padding: 108px 0 104px; }.index-hero h1 { margin-bottom: 29px; }.index-hero .hero-lede { max-width: 650px; }.index-principle { display: flex; align-items: center; gap: 18px; max-width: 650px; margin-top: 52px; padding-top: 19px; border-top: 1px solid var(--line); }.principle-mark { color: var(--gold); font: 500 10px var(--mono); letter-spacing: .1em; }.index-principle p { margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.7; }
.definition-section, .dimensions-section, .score-section, .calculator-section, .pillars-section { padding: 106px 0 115px; }.definition-layout, .score-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 9vw, 130px); margin-top: 57px; }.definition-copy, .score-copy { padding-top: 11px; color: var(--ivory-muted); font-size: 16px; line-height: 1.85; }.definition-copy p + p, .score-copy p + p { margin-top: 22px; }.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin: 55px 0 58px; }.section-heading-row .section-label { margin-bottom: 19px; }.section-note { max-width: 340px; margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.8; }
.dimension-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }.dimension-card { position: relative; min-height: 300px; padding: 22px 19px; border: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(16,52,45,.35), rgba(7,20,17,.42)); }.dimension-number { color: var(--gold); font: 500 10px var(--mono); letter-spacing: .1em; }.dimension-card h3 { margin: 50px 0 15px; font: 500 27px var(--display); }.dimension-card p { min-height: 105px; margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.7; }.dimension-scale { display: flex; justify-content: space-between; gap: 8px; margin-top: 28px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--gold); font: 500 8px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.formula { display: inline-block; margin-top: 37px; padding: 17px 19px; border-left: 2px solid var(--gold); background: rgba(200,172,107,.06); color: var(--ivory); font: 500 13px/1.7 var(--mono); }.formula strong { color: var(--gold); }.formula span { display: block; color: var(--ivory-muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }.score-bands { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.score-band { min-height: 190px; padding: 20px 17px; border-top: 2px solid var(--ivory-muted); background: rgba(237,230,212,.035); }.score-band span { color: var(--ivory-muted); font: 500 10px var(--mono); letter-spacing: .08em; }.score-band strong { display: block; margin: 32px 0 11px; font: 500 23px var(--display); }.score-band p { margin: 0; color: var(--ivory-muted); font-size: 12px; line-height: 1.65; }.score-band.intact { border-color: #83978b; }.score-band.thinning { border-color: var(--gold); }.score-band.fraying { border-color: #c78d61; }.score-band.lifted { border-color: var(--red); }.score-band.thinning strong { color: var(--gold); }.score-band.fraying strong { color: #d49a67; }.score-band.lifted strong { color: var(--red); }
.calculator-section { background: linear-gradient(90deg, rgba(16,52,45,.3), transparent 76%); }.calculator-section .section-heading-row { margin-top: 0; }.calculator-result { min-width: 250px; padding: 17px 19px; border: 1px solid var(--line); text-align: right; }.calculator-result span { display: block; color: var(--gold); font: 500 45px var(--display); line-height: 1; }.calculator-result strong { display: block; margin-top: 8px; color: var(--ivory); font: 500 17px var(--display); }.calculator-result small { display: block; margin-top: 6px; color: var(--ivory-muted); font: 10px/1.5 var(--mono); }.calculator-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }.score-slider { display: grid; gap: 14px; }.score-slider > span { display: flex; justify-content: space-between; color: var(--ivory); font: 500 11px var(--mono); letter-spacing: .05em; text-transform: uppercase; }.score-slider output { color: var(--gold); }.score-slider input { width: 100%; accent-color: var(--gold); cursor: pointer; }
.index-pillars { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }.index-pillar { display: grid; grid-template-columns: 50px 1fr; gap: 15px; min-height: 220px; padding: 23px 20px; border: 1px solid var(--line-soft); background: rgba(237,230,212,.025); }.pillar-symbol { color: var(--gold); font: 500 12px var(--mono); letter-spacing: .1em; }.index-pillar h3 { margin: 0 0 14px; font: 500 30px var(--display); }.index-pillar p { margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.75; }.index-pillar span:last-child { display: inline-block; margin-top: 25px; color: var(--gold); font: 500 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.index-disclaimer { display: grid; grid-template-columns: 45px 1fr; gap: 24px; padding: 82px 0 100px; }.index-disclaimer h2 { margin-bottom: 19px; font-size: clamp(28px, 3.7vw, 48px); }.index-disclaimer p:last-child { max-width: 650px; margin: 0; color: var(--ivory-muted); line-height: 1.8; }
@media (max-width: 900px) { .dimension-grid, .score-bands { grid-template-columns: repeat(2, 1fr); }.dimension-card { min-height: 260px; }.dimension-card h3 { margin-top: 35px; }.dimension-card p { min-height: 0; }.calculator-grid { gap: 20px; } }
@media (max-width: 800px) { .index-hero { padding: 73px 0 78px; }.definition-section, .dimensions-section, .score-section, .calculator-section, .pillars-section { padding: 78px 0 84px; }.definition-layout, .score-layout { grid-template-columns: 1fr; gap: 30px; margin-top: 39px; }.definition-copy, .score-copy { padding-top: 0; }.section-heading-row { display: block; margin: 40px 0 39px; }.section-note { margin-top: 24px; }.dimension-grid, .score-bands, .index-pillars { grid-template-columns: 1fr; }.dimension-card { min-height: 0; }.dimension-card h3 { margin-top: 38px; }.dimension-card p { min-height: 0; }.formula { font-size: 11px; }.calculator-section .section-heading-row { display: flex; align-items: start; gap: 25px; }.calculator-result { min-width: 130px; }.calculator-result span { font-size: 34px; }.calculator-grid { grid-template-columns: 1fr; gap: 19px; }.index-pillar { min-height: 0; }.index-disclaimer { padding: 64px 0 78px; grid-template-columns: 38px 1fr; gap: 17px; } }


/* Mysterious emerald–amethyst archive atmosphere */
.signal-field { background: radial-gradient(ellipse at 13% 9%, rgba(105,72,145,.22), transparent 28rem), radial-gradient(ellipse at 89% 18%, rgba(39,117,82,.25), transparent 31rem), radial-gradient(ellipse at 48% 86%, rgba(70,44,102,.16), transparent 30rem), linear-gradient(132deg, #071613 0%, #0b1d1a 42%, #100d1b 74%, #05090a 100%); background-size: 125% 125%, 125% 125%, 120% 120%, 100% 100%; animation: atmosphere-drift 24s ease-in-out infinite alternate; }
.signal-field::before { inset: -12%; opacity: .25; background: radial-gradient(ellipse at 25% 45%, rgba(140,91,176,.16), transparent 19rem), radial-gradient(ellipse at 73% 61%, rgba(47,142,98,.15), transparent 22rem), linear-gradient(112deg, transparent 0 34%, rgba(200,172,107,.045) 34.1%, transparent 34.35% 67%, rgba(147,107,179,.05) 67.2%, transparent 67.5%); background-size: auto, auto, auto; mask-image: radial-gradient(ellipse at center, #000 0 55%, transparent 92%); animation: atmosphere-glow 17s ease-in-out infinite alternate; }
.signal-field::after { width: 76vw; height: 76vw; right: -24vw; top: 6vh; border-color: rgba(137,100,169,.19); box-shadow: 0 0 0 42px rgba(137,100,169,.035), 0 0 0 92px rgba(200,172,107,.025), inset 0 0 90px rgba(44,126,83,.07); animation: atmosphere-orbit 30s linear infinite; }
.grain { opacity: .07; }
@keyframes atmosphere-drift { from { background-position: 0% 0%, 100% 0%, 50% 100%, 0 0; } to { background-position: 14% 8%, 86% 12%, 42% 92%, 0 0; } }
@keyframes atmosphere-glow { from { transform: translate3d(-1%, -1%, 0) scale(1); opacity: .18; } to { transform: translate3d(2%, 1%, 0) scale(1.08); opacity: .38; } }
@keyframes atmosphere-orbit { from { transform: rotate(-11deg) translateX(-1%); } to { transform: rotate(9deg) translateX(2%); } }
@media (prefers-reduced-motion: reduce) { .signal-field, .signal-field::before, .signal-field::after { animation: none; } }


/* Index page archival accessories */
.index-page > header, .index-page > nav, .index-page > main, .index-page > footer { position: relative; z-index: 1; }
.index-accessories { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; color: var(--ivory-muted); opacity: .72; }
.index-page .signal-field { background-image: linear-gradient(rgba(237,230,212,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(237,230,212,.028) 1px, transparent 1px), radial-gradient(ellipse at 13% 9%, rgba(105,72,145,.22), transparent 28rem), radial-gradient(ellipse at 89% 18%, rgba(39,117,82,.25), transparent 31rem), radial-gradient(ellipse at 48% 86%, rgba(70,44,102,.16), transparent 30rem), linear-gradient(132deg, #071613 0%, #0b1d1a 42%, #100d1b 74%, #05090a 100%); background-size: 120px 120px, 120px 120px, 125% 125%, 125% 125%, 120% 120%, 100% 100%; }
.index-page .signal-field::before { background-image: repeating-linear-gradient(0deg, transparent 0 83px, rgba(237,230,212,.035) 84px, transparent 85px), linear-gradient(112deg, transparent 0 34%, rgba(200,172,107,.045) 34.1%, transparent 34.35% 67%, rgba(147,107,179,.05) 67.2%, transparent 67.5%); }
.accessory-rail { position: absolute; top: 50%; color: rgba(237,230,212,.38); font: 500 8px var(--mono); letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; }.rail-left { left: 21px; transform: rotate(-90deg) translateX(-50%); transform-origin: left top; }.rail-right { right: 21px; transform: rotate(90deg) translateX(50%); transform-origin: right top; }
.registration-mark { position: absolute; color: var(--gold); font: 500 18px var(--mono); opacity: .6; }.registration-top { top: 127px; left: 8%; }.registration-bottom { right: 8%; bottom: 132px; }
.accessory-slip { position: absolute; width: 174px; padding: 14px; border: 1px solid rgba(200,172,107,.27); background: rgba(10,24,21,.54); box-shadow: 10px 12px 0 rgba(0,0,0,.11); }.accessory-slip::before { content: ''; position: absolute; left: 12px; right: 12px; top: 7px; height: 1px; background: rgba(237,230,212,.13); }.accessory-slip b, .accessory-slip small { display: block; color: var(--gold); font: 500 8px var(--mono); letter-spacing: .13em; }.accessory-slip i { display: block; width: 70%; height: 1px; margin-top: 15px; background: rgba(237,230,212,.18); }.accessory-slip i:nth-of-type(2) { width: 52%; margin-top: 8px; }.accessory-slip i:nth-of-type(3) { width: 63%; margin-top: 8px; }.accessory-slip small { margin-top: 17px; color: var(--ivory-muted); font-size: 7px; }.slip-top { top: 33%; right: 6%; transform: rotate(3deg); }.slip-bottom { bottom: 16%; left: 5%; transform: rotate(-4deg); }.slip-bottom strong { display: block; margin-top: 18px; color: #a787c2; font: 500 24px var(--display); letter-spacing: -.03em; }.slip-bottom small { margin-top: 7px; }
.accessory-constellation { position: absolute; right: 23%; top: 19%; width: 154px; height: 105px; opacity: .45; }.accessory-constellation::before, .accessory-constellation::after { content: ''; position: absolute; height: 1px; background: rgba(200,172,107,.42); transform-origin: left center; }.accessory-constellation::before { width: 106px; left: 12px; top: 64px; transform: rotate(-28deg); }.accessory-constellation::after { width: 83px; left: 54px; top: 31px; transform: rotate(62deg); }.accessory-constellation i { position: absolute; width: 5px; height: 5px; border: 1px solid var(--gold); border-radius: 50%; box-shadow: 0 0 11px rgba(200,172,107,.45); }.accessory-constellation i:nth-child(1) { left: 7px; top: 71px; }.accessory-constellation i:nth-child(2) { left: 52px; top: 48px; }.accessory-constellation i:nth-child(3) { left: 103px; top: 19px; }.accessory-constellation i:nth-child(4) { right: 2px; bottom: 5px; }.accessory-constellation b { position: absolute; left: 51px; top: 43px; width: 15px; height: 15px; border: 1px solid rgba(167,135,194,.7); border-radius: 50%; }
@media (max-width: 800px) { .index-accessories { opacity: .43; }.accessory-slip { transform: scale(.76); }.slip-top { right: -35px; top: 31%; }.slip-bottom { left: -42px; bottom: 13%; }.accessory-rail { display: none; }.accessory-constellation { right: 4%; top: 22%; transform: scale(.7); } }


/* The Veil Investigations page */
.investigation-hero { padding: 108px 0 100px; }.investigation-hero h1 { margin-bottom: 29px; }.investigation-rule { display: flex; align-items: center; gap: 18px; margin-top: 49px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--gold); font: 500 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.investigation-rule strong { color: var(--ivory); font: 500 20px var(--display); letter-spacing: 0; text-transform: none; }
.loop-section, .evidence-section, .case-section, .worked-score-section, .sources-section { padding: 106px 0 115px; }.research-loop { position: relative; min-height: 535px; margin-top: 54px; }.loop-ring { position: absolute; left: 50%; top: 50%; width: 390px; height: 390px; border: 1px solid rgba(200,172,107,.35); border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 0 42px rgba(137,100,169,.035), 0 0 0 92px rgba(200,172,107,.02); animation: loop-rotate 28s linear infinite; }.loop-ring::before, .loop-ring::after { content: ''; position: absolute; left: 50%; top: 50%; background: rgba(200,172,107,.3); transform-origin: center; }.loop-ring::before { width: 540px; height: 1px; transform: translate(-50%, -50%) rotate(28deg); }.loop-ring::after { width: 1px; height: 540px; transform: translate(-50%, -50%) rotate(28deg); }.loop-center { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 146px; height: 146px; border: 1px solid var(--gold); border-radius: 50%; background: rgba(7,20,17,.9); transform: translate(-50%, -50%); text-align: center; }.loop-center span { color: var(--gold); font: 500 8px var(--mono); letter-spacing: .16em; }.loop-center strong { color: var(--ivory); font: 500 18px/1 var(--display); }.loop-step { position: absolute; width: 180px; padding: 13px 15px; border: 1px solid var(--line-soft); background: rgba(8,24,20,.82); }.loop-step span { color: var(--gold); font: 500 9px var(--mono); letter-spacing: .1em; }.loop-step h3 { margin: 12px 0 6px; color: var(--ivory); font: 500 22px var(--display); }.loop-step p { margin: 0; color: var(--ivory-muted); font-size: 11px; line-height: 1.55; }.step-one { left: 0; top: 43px; }.step-two { left: 28%; top: 0; }.step-three { right: 0; top: 43px; }.step-four { right: 0; bottom: 43px; }.step-five { right: 28%; bottom: 0; }.step-six { left: 0; bottom: 43px; }
.evidence-layout, .sources-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 9vw, 130px); margin-top: 57px; }.evidence-list > div { display: grid; grid-template-columns: 43px 1fr; gap: 15px; padding: 18px 0; border-top: 1px solid var(--line-soft); }.evidence-list > div:last-child { border-bottom: 1px solid var(--line-soft); }.evidence-list span { color: var(--gold); font: 500 9px var(--mono); }.evidence-list p { margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.7; }.evidence-list strong { display: block; margin-bottom: 5px; color: var(--ivory); font: 500 19px var(--display); }
.case-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 55px 0 48px; }.case-heading .section-label { margin-bottom: 19px; }.case-badge { padding: 10px 13px; border: 1px solid rgba(200,172,107,.4); color: var(--gold); font: 500 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.case-question { display: grid; grid-template-columns: 130px 1fr; gap: 20px; max-width: 900px; padding: 21px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.case-question span, .fact-card > span, .case-verdict > span { color: var(--gold); font: 500 9px var(--mono); letter-spacing: .1em; }.case-question p { margin: 0; color: var(--ivory); font: 500 23px/1.35 var(--display); }.case-columns { display: grid; grid-template-columns: 1.25fr .75fr; gap: 38px; margin-top: 62px; }.fact-card { display: grid; grid-template-columns: 68px 1fr; gap: 15px; padding: 17px 0; border-top: 1px solid var(--line-soft); }.fact-card p { margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.75; }.fact-card a { color: var(--gold); }.case-limit { align-self: start; padding: 24px; border: 1px solid rgba(181,110,93,.42); background: rgba(181,110,93,.055); }.case-limit .section-label { color: var(--red); }.case-limit h3 { margin: 26px 0 15px; font: 500 28px/1.05 var(--display); }.case-limit p { color: var(--ivory-muted); font-size: 13px; line-height: 1.75; }.limit-stamp { display: inline-block; margin-top: 25px; padding: 8px 10px; border: 1px solid var(--red); color: var(--red); font: 500 9px var(--mono); letter-spacing: .12em; }.case-verdict { display: grid; grid-template-columns: 130px 1fr; gap: 20px; margin-top: 46px; padding: 23px 0; border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); }.case-verdict strong { color: var(--gold); font: 500 25px var(--display); }
.worked-score-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 40px; margin-top: 53px; }.worked-score-rows > div { display: grid; grid-template-columns: 1fr 65px; gap: 15px; align-items: baseline; padding: 18px 0; border-top: 1px solid var(--line-soft); }.worked-score-rows > div:last-child { border-bottom: 1px solid var(--line-soft); }.worked-score-rows span { color: var(--ivory); font: 500 11px var(--mono); text-transform: uppercase; letter-spacing: .08em; }.worked-score-rows strong { color: var(--gold); font: 500 28px var(--display); text-align: right; }.worked-score-rows small { grid-column: 1 / -1; color: var(--ivory-muted); font-size: 12px; }.worked-score-result { align-self: start; padding: 27px; border: 1px solid var(--gold); background: rgba(200,172,107,.06); }.worked-score-result span { color: var(--ivory-muted); font: 500 12px var(--mono); }.worked-score-result strong { display: block; margin: 27px 0 4px; color: var(--gold); font: 500 72px var(--display); line-height: .9; }.worked-score-result b { color: var(--gold); font: 500 10px var(--mono); letter-spacing: .13em; }.worked-score-result p { margin: 24px 0 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.75; }
.source-list { margin: 0; padding: 0; list-style: none; }.source-list li { border-top: 1px solid var(--line-soft); }.source-list li:last-child { border-bottom: 1px solid var(--line-soft); }.source-list a { display: grid; grid-template-columns: 45px 1fr; gap: 12px; padding: 17px 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.55; transition: color .2s ease; }.source-list a:hover { color: var(--gold); }.source-list span { color: var(--gold); font: 500 9px var(--mono); }.investigation-disclaimer { display: grid; grid-template-columns: 45px 1fr; gap: 24px; padding: 82px 0 100px; }.investigation-disclaimer h2 { margin-bottom: 19px; font-size: clamp(28px, 3.7vw, 48px); }.investigation-disclaimer p:last-child { max-width: 680px; margin: 0; color: var(--ivory-muted); line-height: 1.8; }
@keyframes loop-rotate { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .loop-ring { animation: none; } }
@media (max-width: 850px) { .research-loop { min-height: 900px; }.loop-ring { width: 330px; height: 330px; }.loop-step { width: 160px; }.step-one { left: 0; top: 28px; }.step-two { left: auto; right: 0; top: 28px; }.step-three { right: 0; top: 290px; }.step-four { right: 0; bottom: 28px; }.step-five { right: auto; left: 0; bottom: 28px; }.step-six { left: 0; top: 290px; bottom: auto; } }
@media (max-width: 800px) { .investigation-hero { padding: 73px 0 78px; }.loop-section, .evidence-section, .case-section, .worked-score-section, .sources-section { padding: 78px 0 84px; }.research-loop { transform: scale(.87); transform-origin: top center; margin-bottom: -100px; }.evidence-layout, .sources-layout, .case-columns, .worked-score-grid { grid-template-columns: 1fr; gap: 32px; margin-top: 39px; }.case-heading { display: block; margin: 40px 0 34px; }.case-badge { display: inline-block; margin-top: 23px; }.case-question, .case-verdict { grid-template-columns: 1fr; gap: 11px; }.case-question p { font-size: 21px; }.investigation-disclaimer { padding: 64px 0 78px; grid-template-columns: 38px 1fr; gap: 17px; } }


/* Reusable Veil Mark and mini-logo cursor */
.veil-mark { position: relative; width: 31px; height: 31px; border: 1px solid var(--gold); border-radius: 50%; opacity: 1; background: rgba(7,22,18,.72) url('/assets/veil-index-mark.svg') center / contain no-repeat; }
.veil-mark::before { content: ''; position: absolute; z-index: 0; left: -5px; right: -5px; top: 14px; height: 1px; background: var(--gold); opacity: .55; }
.veil-mark::after { content: ''; position: absolute; z-index: 0; left: 10px; top: 10px; width: 9px; height: 9px; border: 1px solid var(--gold); background: var(--emerald-950); transform: rotate(45deg); }
.veil-mark i { position: absolute; z-index: 2; left: 13px; top: 13px; display: block; width: 3px; height: 3px; border-radius: 50%; background: var(--ivory); }
.veil-cursor { position: fixed; left: 0; top: 0; z-index: 100; width: 25px; height: 25px; pointer-events: none; opacity: 0; transform: translate3d(-50%, -50%, 0); transition: opacity .18s ease, width .18s ease, height .18s ease, filter .18s ease; }.veil-cursor svg { display: block; width: 100%; height: 100%; }.veil-cursor.is-visible { opacity: .92; }.veil-cursor.is-hovering { width: 34px; height: 34px; filter: drop-shadow(0 0 8px rgba(200,172,107,.55)); }
body.custom-cursor, body.custom-cursor a, body.custom-cursor button, body.custom-cursor summary, body.custom-cursor input, body.custom-cursor label { cursor: none; }
@media (pointer: coarse) { .veil-cursor { display: none; } body.custom-cursor, body.custom-cursor a, body.custom-cursor button, body.custom-cursor summary, body.custom-cursor input, body.custom-cursor label { cursor: auto; } }


/* Split method and case-file architecture */
.method-case-link { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; padding: 84px 0 96px; background: linear-gradient(90deg, rgba(105,72,145,.1), transparent 70%); }.method-case-link-copy { max-width: 620px; }.method-case-link-copy h2 { margin: 18px 0; }.method-case-link-copy p:last-child { margin: 0; color: var(--ivory-muted); font-size: 14px; line-height: 1.8; }.method-case-link-button { display: inline-flex; align-items: center; gap: 26px; padding: 16px 18px; border: 1px solid var(--gold); color: var(--gold); font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: background .2s ease, color .2s ease; }.method-case-link-button:hover { background: var(--gold); color: var(--emerald-950); }.method-case-link-button span { font-size: 16px; }.case-file-hero { padding: 108px 0 83px; }.case-file-hero h1 { margin-bottom: 29px; }.case-file-meta { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 48px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--gold); font: 500 9px var(--mono); letter-spacing: .1em; }.case-reading-section { padding: 101px 0 112px; }.reading-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 52px; }.reading-grid article { min-height: 245px; padding: 22px 19px; border: 1px solid var(--line-soft); background: rgba(237,230,212,.025); }.reading-grid article > span { color: var(--gold); font: 500 9px var(--mono); letter-spacing: .1em; }.reading-grid h3 { margin: 43px 0 14px; font: 500 27px var(--display); }.reading-grid p { margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.75; }.case-file-page .case-section { padding-top: 101px; }
@media (max-width: 800px) { .method-case-link { display: block; padding: 65px 0 76px; }.method-case-link-button { margin-top: 28px; }.case-file-hero { padding: 73px 0 67px; }.case-file-meta { gap: 12px; line-height: 1.6; }.case-reading-section { padding: 78px 0 84px; }.reading-grid { grid-template-columns: 1fr; margin-top: 39px; }.reading-grid article { min-height: 0; }.reading-grid h3 { margin-top: 29px; } }


/* Dedicated Case Files archive */
.case-files-hero { padding: 108px 0 83px; }.case-files-hero h1 { margin-bottom: 29px; }.case-files-rule { display: flex; align-items: center; gap: 14px; margin-top: 49px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--gold); font: 500 9px var(--mono); letter-spacing: .1em; }.case-files-rule strong { color: var(--ivory); font: 500 25px var(--display); }.case-archive { padding: 101px 0 114px; }.case-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 54px; }.case-archive-card { position: relative; display: flex; flex-direction: column; min-height: 470px; padding: 18px; border: 1px solid var(--line-soft); color: var(--ivory); background: linear-gradient(150deg, rgba(16,52,45,.42), rgba(7,19,17,.68)); overflow: hidden; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }.case-archive-card:hover { transform: translateY(-7px); border-color: var(--gold); box-shadow: 0 18px 38px rgba(0,0,0,.2); }.case-card-locked { opacity: .58; }.case-card-locked:hover { transform: none; border-color: var(--line-soft); box-shadow: none; }.case-card-top { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 10px; color: var(--gold); font: 500 8px var(--mono); letter-spacing: .1em; }.case-card-top b { font-weight: 500; }.case-card-symbol { position: absolute; right: -33px; top: 72px; width: 220px; height: 220px; border: 1px solid rgba(200,172,107,.28); border-radius: 50%; transform: rotate(-24deg); }.case-card-symbol::before, .case-card-symbol::after { content: ''; position: absolute; left: 50%; top: 50%; background: rgba(200,172,107,.28); transform: translate(-50%, -50%); }.case-card-symbol::before { width: 270px; height: 1px; }.case-card-symbol::after { width: 1px; height: 270px; }.case-card-symbol span, .case-card-symbol i, .case-card-symbol b { position: absolute; z-index: 2; display: block; border: 1px solid var(--gold); border-radius: 50%; }.case-card-symbol span { left: 38px; top: 46px; width: 6px; height: 6px; }.case-card-symbol i { right: 32px; bottom: 39px; width: 9px; height: 9px; border-color: #a787c2; }.case-card-symbol b { left: 91px; top: 91px; width: 33px; height: 33px; border-radius: 0; border-color: var(--gold); transform: rotate(45deg); }.case-card-body { position: relative; z-index: 2; margin-top: auto; }.case-card-category { margin: 0 0 18px; color: var(--ivory-muted); font: 500 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }.case-card-body h3 { margin: 0 0 18px; color: var(--ivory); font: 500 36px/.94 var(--display); letter-spacing: -.04em; }.case-card-body h3 em { color: var(--gold); font-style: normal; }.case-card-body > p:last-child { max-width: 290px; margin: 0; color: var(--ivory-muted); font-size: 13px; line-height: 1.7; }.case-card-footer { position: relative; z-index: 2; display: flex; align-items: center; gap: 11px; margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--ivory-muted); font: 500 9px var(--mono); letter-spacing: .08em; }.case-card-footer strong { color: var(--gold); font: 500 25px var(--display); }.case-card-footer b { color: var(--gold); font-weight: 500; margin-left: auto; }.case-card-locked .case-card-symbol { opacity: .5; }.case-card-locked .case-card-footer b { color: var(--ivory-muted); }.case-files-note { display: grid; grid-template-columns: 45px 1fr; gap: 24px; padding: 80px 0 99px; }.case-files-note h2 { margin-bottom: 19px; }.case-files-note p:last-child { max-width: 670px; margin: 0; color: var(--ivory-muted); line-height: 1.8; }
@media (max-width: 950px) { .case-card-grid { grid-template-columns: repeat(2, 1fr); }.case-archive-card:last-child { grid-column: span 2; min-height: 330px; } }
@media (max-width: 800px) { .case-files-hero { padding: 73px 0 67px; }.case-archive { padding: 78px 0 84px; }.case-card-grid { grid-template-columns: 1fr; margin-top: 39px; }.case-archive-card:last-child { grid-column: auto; min-height: 420px; }.case-files-rule { flex-wrap: wrap; line-height: 1.6; }.case-files-note { padding: 64px 0 78px; grid-template-columns: 38px 1fr; gap: 17px; } }


/* Signal Film homepage — merged cinematic, casebook, and scoring system */
.signal-film-home { background:#06090c; }
.signal-film-home .signal-field { background:radial-gradient(circle at 74% 21%, rgba(103,52,151,.34), transparent 25rem),radial-gradient(circle at 22% 68%, rgba(0,138,113,.18), transparent 28rem),linear-gradient(112deg,#101428 0%,#07191b 54%,#04080c 100%); }
.signal-film-home .signal-field::after { right:-10rem; top:8rem; width:46rem; height:46rem; border-color:rgba(151,109,186,.33); box-shadow:0 0 0 42px rgba(151,109,186,.08),0 0 0 100px rgba(151,109,186,.04); }
.signal-film-home .site-header { border-bottom-color:rgba(151,109,186,.34); }
.signal-film-home .archive-nav { background:rgba(5,9,12,.88); border-bottom-color:rgba(151,109,186,.3); }
.signal-film-home .veil-mark { filter:drop-shadow(0 0 8px rgba(151,109,186,.24)); }
.signal-film-home h1 em, .signal-film-home h2 em { color:#d5b0db; }
.signal-hero { position:relative; min-height:calc(100vh - 162px); display:grid; grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr); align-items:center; gap:5vw; padding:7vh 0 7vh; overflow:hidden; }
.signal-hero-copy { position:relative; z-index:2; padding-left:25px; border-left:1px solid rgba(151,109,186,.58); }
.signal-hero h1 { font-size:clamp(72px,10.2vw,166px); line-height:.83; letter-spacing:-.075em; margin:22px 0 28px; }
.signal-hero .hero-lede { max-width:470px; }
.signal-cta { display:inline-flex; gap:25px; align-items:center; margin-top:38px; border-top:1px solid var(--gold); padding-top:14px; color:var(--gold); font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; transition:color .2s ease, gap .2s ease; }
.signal-cta:hover { color:#e3c98b; gap:33px; }
.signal-cta span, .text-link span { font-size:16px; }
.signal-motto { margin-top:65px; color:var(--ivory-muted); font:19px/1.25 var(--display); }
.signal-motto em { color:#d5b0db; font-style:italic; }
.signal-portrait-wrap { position:relative; align-self:stretch; min-height:620px; display:flex; align-items:center; justify-content:center; }
.portrait-frame { position:relative; z-index:1; width:min(100%,500px); height:min(78vh,680px); overflow:hidden; background:linear-gradient(145deg,#0e2424,#342a45); border:1px solid rgba(201,176,109,.5); box-shadow:0 0 90px rgba(103,52,151,.16); }
.portrait-frame::after { content:''; position:absolute; inset:17px; border:1px solid rgba(201,176,109,.34); pointer-events:none; }
.portrait-frame img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(1) contrast(1.22) brightness(.72); mix-blend-mode:screen; opacity:.92; mask-image:linear-gradient(to bottom,#000 84%,transparent 100%); }
.portrait-edge { position:absolute; z-index:2; color:var(--gold); font:500 8px var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.portrait-edge-top { top:27px; left:30px; }.portrait-edge-bottom { bottom:25px; right:29px; }
.signal-vertical-note { position:absolute; right:0; top:23%; writing-mode:vertical-rl; transform:rotate(180deg); color:#d5b0db; font:9px var(--mono); letter-spacing:.15em; }
.now-playing { position:absolute; z-index:3; right:-12px; bottom:8%; width:230px; padding:15px 17px; border:1px solid var(--gold); background:rgba(8,17,19,.92); box-shadow:0 16px 34px rgba(0,0,0,.24); }
.now-playing span { display:block; color:var(--gold); font:500 8px var(--mono); letter-spacing:.12em; }.now-playing strong { display:block; margin:7px 0 3px; font:25px var(--display); }.now-playing small { color:var(--ivory-muted); font-size:11px; }
.home-case-archive { padding:102px 0 116px; background:linear-gradient(180deg,rgba(65,38,96,.08),transparent 65%); }.home-section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:47px; }.home-section-head h2 { margin-top:16px; }.text-link { display:inline-flex; align-items:center; gap:16px; color:var(--gold); font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; transition:gap .2s ease; }.text-link:hover { gap:23px; }.home-case-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr); gap:14px; }.home-feature-case { display:grid; grid-template-columns:.9fr 1.1fr; min-height:350px; border:1px solid var(--line-soft); background:linear-gradient(140deg,rgba(20,57,50,.7),rgba(8,17,19,.86)); transition:transform .25s ease,border-color .25s ease; }.home-feature-case:hover { transform:translateY(-5px); border-color:var(--gold); }.feature-case-art { position:relative; min-height:350px; overflow:hidden; background:radial-gradient(circle at 50% 48%,rgba(213,176,219,.22),transparent 7rem),linear-gradient(140deg,#123b35,#0c1519); }.feature-case-art::before,.feature-case-art::after { content:''; position:absolute; left:50%; top:50%; border:1px solid rgba(201,176,109,.56); border-radius:50%; transform:translate(-50%,-50%); }.feature-case-art::before { width:210px; height:210px; box-shadow:0 0 0 32px rgba(201,176,109,.06),0 0 0 67px rgba(201,176,109,.04); }.feature-case-art::after { width:1px; height:82%; border:0; background:linear-gradient(transparent,var(--gold),transparent); }.feature-case-art i { position:absolute; left:50%; top:50%; width:36px; height:36px; border:1px solid var(--gold); transform:translate(-50%,-50%) rotate(45deg); }.feature-case-art span,.feature-case-art b { position:absolute; z-index:1; top:18px; font:500 8px var(--mono); letter-spacing:.12em; color:var(--gold); }.feature-case-art span { left:18px; }.feature-case-art b { right:18px; color:#d5b0db; font-weight:500; }.feature-case-copy { display:flex; flex-direction:column; justify-content:center; padding:34px; }.case-kicker { margin:0 0 18px; color:var(--gold); font:500 9px var(--mono); letter-spacing:.1em; text-transform:uppercase; }.feature-case-copy h3 { margin:0 0 17px; font:42px/.95 var(--display); }.feature-case-copy h3 em { color:#d5b0db; font-style:italic; }.feature-case-copy > p:not(.case-kicker) { max-width:340px; color:var(--ivory-muted); font-size:13px; line-height:1.7; }.case-score-line { display:flex; align-items:end; gap:12px; margin-top:30px; padding-top:14px; border-top:1px solid var(--line-soft); color:var(--ivory-muted); font:500 9px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.case-score-line strong { color:var(--gold); font:35px var(--display); line-height:.72; }.case-score-line b { color:#d5b0db; font-weight:500; margin-left:auto; }.home-mini-cases { display:grid; grid-template-rows:1fr 1fr; gap:14px; }.home-mini-cases article { display:flex; flex-direction:column; justify-content:center; padding:25px; border:1px solid var(--line-soft); background:rgba(12,22,25,.72); }.home-mini-cases article > span { color:var(--gold); font:500 8px var(--mono); letter-spacing:.11em; }.home-mini-cases h3 { margin:18px 0 7px; font:29px var(--display); }.home-mini-cases p { margin:0; color:var(--ivory-muted); font-size:12px; line-height:1.65; }.home-mini-cases a { margin-top:19px; color:#d5b0db; font:500 9px var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.home-score { display:grid; grid-template-columns:.82fr 1.18fr; gap:8vw; padding:103px 0 115px; background:linear-gradient(90deg,rgba(26,66,57,.34),transparent 70%); }.score-intro h2 { margin:18px 0 22px; }.score-intro > p:not(.section-label) { max-width:410px; color:var(--ivory-muted); line-height:1.8; }.score-intro .text-link { margin-top:27px; }.score-instrument { padding-left:5vw; border-left:1px solid rgba(151,109,186,.38); }.score-ring { width:180px; height:180px; margin:0 0 27px; border:1px solid rgba(201,176,109,.65); border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; box-shadow:0 0 0 26px rgba(201,176,109,.06),0 0 0 52px rgba(151,109,186,.05); }.score-ring span { color:var(--gold); font:64px/.8 var(--display); }.score-ring small { margin-top:10px; color:#d5b0db; font:500 8px/1.3 var(--mono); letter-spacing:.1em; text-align:center; }.score-formula { margin-bottom:31px; color:var(--ivory-muted); font:12px var(--mono); letter-spacing:.04em; }.score-dimensions { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; border-top:1px solid var(--line-soft); }.score-dimensions div { display:grid; grid-template-columns:32px 1fr; gap:0 9px; padding:17px 0; border-bottom:1px solid var(--line-soft); }.score-dimensions span { grid-row:span 2; color:var(--gold); font:10px var(--mono); }.score-dimensions b { font:18px var(--display); }.score-dimensions small { color:var(--ivory-muted); font-size:10px; }.home-method { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:end; padding:100px 0 113px; }.home-method h2 { margin-top:17px; }.home-method > div:last-child { max-width:420px; }.home-method > div:last-child p { color:var(--ivory-muted); line-height:1.8; }.home-disclosure { display:grid; grid-template-columns:60px 1fr; gap:28px; padding:78px 0 96px; }.home-disclosure h2 { margin:18px 0 20px; }.home-disclosure p:last-child { max-width:640px; color:var(--ivory-muted); line-height:1.8; }
@media (max-width:950px) { .signal-hero { grid-template-columns:1fr; padding-top:65px; }.signal-portrait-wrap { min-height:560px; }.signal-vertical-note { right:8px; }.home-case-grid { grid-template-columns:1fr; }.home-mini-cases { grid-template-columns:1fr 1fr; grid-template-rows:none; }.home-score { grid-template-columns:1fr; gap:48px; }.score-instrument { padding-left:0; border-left:0; }.home-method { grid-template-columns:1fr; gap:38px; } }
@media (max-width:800px) { .signal-hero h1 { font-size:clamp(66px,18vw,110px); }.signal-hero-copy { padding-left:17px; }.signal-portrait-wrap { min-height:470px; }.portrait-frame { height:520px; }.now-playing { right:-3px; bottom:6%; }.home-section-head { display:block; }.home-section-head .text-link { margin-top:24px; }.home-feature-case { grid-template-columns:1fr; }.feature-case-art { min-height:260px; }.feature-case-copy { padding:25px; }.feature-case-copy h3 { font-size:37px; }.home-mini-cases { grid-template-columns:1fr; }.score-dimensions { grid-template-columns:1fr; }.home-disclosure { grid-template-columns:40px 1fr; gap:18px; } }


/* VHS signal layer, context cursor modes, and audio console */
.vhs-overlay { position:fixed; inset:0; z-index:90; pointer-events:none; opacity:.105; mix-blend-mode:screen; background:repeating-linear-gradient(0deg,rgba(232,223,204,.18) 0 1px,transparent 1px 5px),linear-gradient(90deg,rgba(190,85,80,.035),transparent 14%,transparent 84%,rgba(89,136,255,.035)); animation:vhs-drift 9s linear infinite; }
.vhs-overlay::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.28) 100%); }
.vhs-overlay.vhs-transition { opacity:.3; animation:vhs-jump .18s steps(2,end) both; background:repeating-linear-gradient(0deg,rgba(232,223,204,.35) 0 2px,transparent 2px 4px),linear-gradient(90deg,rgba(190,85,80,.16),transparent 35%,rgba(89,136,255,.14)); }
.vhs-timecode { position:fixed; z-index:91; left:18px; bottom:16px; pointer-events:none; color:rgba(237,230,212,.4); font:9px/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.audio-console { position:fixed; z-index:95; right:22px; bottom:17px; display:flex; align-items:center; gap:11px; padding:8px 10px; border:1px solid rgba(201,176,109,.36); background:rgba(5,10,12,.84); color:var(--ivory-muted); backdrop-filter:blur(12px); box-shadow:0 9px 24px rgba(0,0,0,.18); }
.audio-console-label { font:8px var(--mono); letter-spacing:.1em; }.audio-console-label b { color:var(--gold); font-weight:500; }.audio-console button { border:0; padding:4px 0; background:none; color:var(--gold); cursor:pointer; font:500 8px var(--mono); letter-spacing:.1em; }.audio-console[data-active="true"] { border-color:rgba(213,176,219,.64); }.audio-console[data-active="true"] .audio-console-label b,.audio-console[data-active="true"] button { color:#d5b0db; }
.veil-cursor { width:38px; height:38px; transition:width .18s ease,height .18s ease,opacity .2s ease; }.veil-cursor svg { width:100%; height:100%; display:block; filter:drop-shadow(0 0 5px rgba(201,176,109,.36)); }.veil-cursor.is-hovering { width:46px; height:46px; }.veil-cursor[data-mode="aperture"] { width:43px; height:43px; }.veil-cursor[data-mode="play"] { width:48px; height:48px; }.veil-cursor[data-mode="eye"] { width:50px; height:50px; }
@keyframes vhs-drift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(2px); } }
@keyframes vhs-jump { 0% { transform:translateX(0); filter:none; } 35% { transform:translateX(-7px) skewX(-1deg); filter:contrast(1.3); } 72% { transform:translateX(8px); } 100% { transform:translateX(0); filter:none; } }
@media (prefers-reduced-motion:reduce) { .vhs-overlay { animation:none; }.vhs-overlay.vhs-transition { animation:none; }.veil-cursor,.veil-cursor.is-hovering { transition:none; } }
@media (max-width:700px), (pointer:coarse) { .vhs-timecode { left:11px; bottom:11px; }.audio-console { right:11px; bottom:11px; }.audio-console-label { display:none; }.vhs-overlay { opacity:.07; } }


/* Sound removed; compact cursor-style selector replaces the old audio control. */
.audio-console { display:none !important; }
.cursor-picker { position:fixed; z-index:96; right:18px; bottom:16px; display:flex; align-items:center; gap:5px; padding:6px 8px; border:1px solid rgba(201,176,109,.38); background:rgba(5,10,12,.86); color:var(--ivory-muted); backdrop-filter:blur(12px); box-shadow:0 8px 22px rgba(0,0,0,.2); }
.cursor-picker > span { margin-right:4px; color:var(--ivory-muted); font:8px var(--mono); letter-spacing:.1em; }.cursor-picker button { width:23px; height:23px; border:1px solid rgba(201,176,109,.35); background:transparent; color:var(--gold); cursor:pointer; font:16px/1 var(--display); }.cursor-picker button:hover,.cursor-picker button.is-selected { border-color:var(--gold); color:#d5b0db; background:rgba(213,176,219,.1); }.cursor-picker button[data-cursor-choice="eye"] { font-size:13px; }
.portrait-frame img { display:block; width:100%; height:100%; min-width:100%; min-height:100%; object-fit:cover; object-position:50% 12%; }
.sources-main { max-width:1180px; margin:0 auto; padding:90px 6vw 120px; }.sources-hero { max-width:650px; padding:30px 0 75px; border-left:1px solid rgba(151,109,186,.58); padding-left:28px; }.sources-hero h1 { margin:18px 0 25px; font:clamp(68px,9vw,130px)/.84 var(--display); letter-spacing:-.07em; }.sources-hero h1 em { color:#d5b0db; font-style:italic; }.sources-hero > p:last-child { max-width:550px; color:var(--ivory-muted); font-size:16px; line-height:1.8; }.sources-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line-soft); }.sources-grid article { min-height:260px; padding:30px 28px 32px 0; border-bottom:1px solid var(--line-soft); }.sources-grid article:nth-child(even) { padding-left:28px; border-left:1px solid var(--line-soft); }.source-number { color:var(--gold); font:10px var(--mono); }.sources-grid h2 { margin:38px 0 10px; font:31px var(--display); }.sources-grid p { max-width:430px; color:var(--ivory-muted); line-height:1.75; }.source-links { margin-top:75px; padding:32px 0 0; border-top:1px solid var(--gold); }.source-links a { display:flex; justify-content:space-between; max-width:650px; padding:16px 0; border-bottom:1px solid var(--line-soft); color:var(--paper); font:20px var(--display); }.source-links a span { color:var(--gold); font:14px var(--mono); }.source-links a:hover { color:var(--gold); }
@media (max-width:700px) { .cursor-picker { right:11px; bottom:11px; }.cursor-picker > span { display:none; }.sources-main { padding:60px 22px 90px; }.sources-hero { padding-left:17px; }.sources-grid { grid-template-columns:1fr; }.sources-grid article,.sources-grid article:nth-child(even) { padding:25px 0; border-left:0; }.sources-grid h2 { margin-top:27px; }.source-links a { font-size:17px; } }


/* Accessible split navigation: the section title navigates; the adjacent chevron opens its menu. */
.tab-item { display:flex; align-items:center; gap:5px; }
.tab-primary-link { display:flex; align-items:center; gap:10px; min-height:44px; color:var(--ivory); font:500 12px var(--mono); letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.tab-primary-link:hover,.tab-primary-link:focus-visible { color:var(--gold); }
.tab-primary-link .tab-number { color:var(--gold); font-size:9px; }
.tab-dropdown { position:relative; }
.tab-dropdown > summary { display:flex; align-items:center; justify-content:center; width:30px; min-height:44px; list-style:none; cursor:pointer; }
.tab-dropdown > summary::-webkit-details-marker { display:none; }
.tab-dropdown > summary > i { display:block; width:7px; height:7px; border-right:1px solid var(--gold); border-bottom:1px solid var(--gold); transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.tab-dropdown[open] > summary > i { transform:rotate(225deg) translate(-1px,-1px); }
.tab-dropdown[open] > summary,.tab-dropdown > summary:hover,.tab-dropdown > summary:focus-visible { color:var(--gold); outline-color:var(--gold); }
.tab-dropdown .tab-panel { z-index:30; top:calc(100% + 8px); left:-12px; }
.vhs-overlay { --vhs-strength:.105; opacity:var(--vhs-strength); }
.vhs-overlay.vhs-transition { opacity:var(--vhs-strength); }
@media (max-width:700px), (pointer:coarse) {
  .tab-primary-link { gap:5px; min-height:40px; font-size:9px; letter-spacing:.045em; }
  .tab-primary-link .tab-number { display:none; }
  .tab-dropdown > summary { width:24px; min-height:40px; }
  .tab-dropdown .tab-panel { left:auto; right:-8px; top:calc(100% + 8px); min-width:180px; }
  .vhs-overlay { --vhs-strength:.07; }
}

/* Keep an open panel clear of neighboring controls and fit the full nav on narrow screens. */
.tab-dropdown .tab-panel { left:auto; right:0; }
@media (max-width:700px), (pointer:coarse) {
  .nav-caption { display:none; }
  .archive-tabs { flex:1; min-width:0; justify-content:space-between; gap:0; }
  .tab-item { gap:2px; }
  .tab-primary-link { font-size:8px; letter-spacing:.025em; }
  .tab-dropdown > summary { width:20px; }
}

/* Explicitly hide disclosure content while closed so it cannot cover tabs or widen the page. */
.tab-dropdown:not([open]) > .tab-panel { display:none; }
.tab-dropdown[open] > .tab-panel { display:block; }
@media (max-width:700px), (pointer:coarse) {
  .tab-item:nth-child(-n+2) .tab-dropdown > .tab-panel { left:0; right:auto; }
}


/* Ensure menu entries remain hit-testable above decorative layers. */
.tab-panel { pointer-events:auto; }
.tab-panel a { position:relative; z-index:31; pointer-events:auto; }


/* Raise shared navigation above each page's main content so open dropdowns receive clicks. */
.archive-nav, .index-page > nav.archive-nav { z-index:20; }


/* Case File 001 collectible-card frame: original user-supplied 9:16 master art. */
.case-card-feature { display:flex; flex-direction:column; align-items:center; gap:18px; padding-top:36px; padding-bottom:48px; }
.case-trading-card { position:relative; isolation:isolate; container-type:inline-size; width:min(100%,576px); aspect-ratio:9/16; overflow:hidden; color:#f1e9d8; background:#071510; box-shadow:0 26px 70px rgba(0,0,0,.42),0 0 32px rgba(27,103,78,.16); }
.case-trading-card-frame { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.case-card-kicker { position:absolute; z-index:1; top:29.4%; left:13%; width:74%; margin:0; color:#d6bd83; font:600 clamp(8px,1.65cqw,12px)/1.2 var(--mono); letter-spacing:.19em; text-align:center; text-shadow:0 2px 8px rgba(0,0,0,.9); }
.case-card-kicker span { color:#d8d1bf; }
.case-card-title { position:absolute; z-index:1; top:35.2%; left:7%; width:86%; margin:0; color:#f3ebd9; font:600 clamp(26px,6.8cqw,44px)/.95 var(--display); letter-spacing:.015em; text-align:center; text-shadow:0 3px 18px rgba(0,0,0,.88); text-transform:uppercase; }
.case-card-title em { display:block; margin-top:.06em; color:#d6bd83; font-style:italic; }
.case-card-verdict { position:absolute; z-index:1; top:51.3%; left:17%; width:66%; margin:0; color:#e0dacb; font:500 clamp(10px,1.85cqw,13px)/1.5 var(--body); letter-spacing:.025em; text-align:center; text-shadow:0 2px 10px rgba(0,0,0,.95); }
.case-card-fields { position:absolute; z-index:1; inset:0; margin:0; padding:0; }
.case-card-fields > div { position:absolute; margin:0; }
.case-card-fields dt { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.case-card-fields dd { margin:0; color:#e9e1cf; font:500 clamp(9px,1.72cqw,12px)/1.18 var(--mono); letter-spacing:.035em; text-shadow:0 1px 7px rgba(0,0,0,.98); }
.case-card-episode { left:6.6%; top:82.75%; width:39%; }
.case-card-episode dd { font-size:clamp(10px,2.15cqw,15px); letter-spacing:.07em; }
.case-card-question { left:50.5%; top:82.45%; width:42.5%; }
.case-card-question dd { font-size:clamp(9px,1.63cqw,11.5px); line-height:1.22; }
.case-card-category { left:21.5%; top:90.35%; width:38%; }
.case-card-category dd { font-size:clamp(8px,1.55cqw,11px); line-height:1.18; }
.case-card-score { left:86.55%; top:90.05%; width:6.2%; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.case-card-score dd { display:flex; flex-direction:column; align-items:center; justify-content:center; color:#f1e9d8; font:600 clamp(9px,2.1cqw,15px)/.95 var(--display); letter-spacing:-.03em; }
.case-card-score small { margin-top:.2em; color:#d6bd83; font:600 clamp(4px,.92cqw,7px)/1 var(--mono); letter-spacing:.035em; }


@media (max-width:600px) {
  .case-card-feature { padding-top:22px; padding-bottom:34px; }
  .case-card-verdict { top:50.7%; width:70%; left:15%; }
  .case-card-question { top:82.45%; }
  .case-card-category { top:90.35%; width:39%; }
}

/* Wider archive navigation spacing on desktop; mobile keeps its compact fit. */
@media (min-width: 900px) {
  .archive-tabs { gap: clamp(28px, 5.5vw, 88px); }
}

/* The Method label itself is the dropdown trigger. */
.tab-primary-dropdown > summary.tab-primary-link { width:auto; min-height:44px; justify-content:flex-start; gap:10px; }
.tab-primary-dropdown > summary.tab-primary-link > .tab-number { color:var(--gold); font-size:9px; }
.tab-primary-dropdown > summary.tab-primary-link > span:not(.tab-number) { color:var(--ivory); font:inherit; font-size:inherit; }
.tab-primary-dropdown[open] > summary.tab-primary-link > span:not(.tab-number) { color:var(--gold); }
.tab-primary-dropdown > summary.tab-primary-link > i { display:block; width:7px; height:7px; margin-left:3px; border-right:1px solid var(--gold); border-bottom:1px solid var(--gold); transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.tab-primary-dropdown[open] > summary.tab-primary-link > i { transform:rotate(225deg) translate(-1px,-1px); }
/* Standalone Dimensions page: preserve the original card typography with semantic h2s. */
.dimension-card h2 { margin:50px 0 15px; font:500 27px var(--display); }
@media (max-width:900px) { .dimension-card h2 { margin-top:35px; } }
@media (max-width:800px) { .dimension-card h2 { margin-top:38px; } }
@media (max-width:700px), (pointer:coarse) { .tab-primary-dropdown > summary.tab-primary-link { min-height:40px; gap:5px; font-size:8px; letter-spacing:.025em; } .tab-primary-dropdown > summary.tab-primary-link > .tab-number { display:none; } }

/* Theory source directory */
.sources-main { max-width:1240px; margin:0 auto; padding:78px 5vw 112px; }
.sources-hero { padding:24px 0 40px; }
.sources-hero h1 { margin:18px 0 0; color:var(--ivory); font:500 clamp(42px,6vw,74px)/.98 var(--display); }
.source-directory { padding:34px 0 66px; border-top:1px solid var(--line); }
.source-directory h2 { margin:0 0 28px; color:var(--ivory); font:500 clamp(30px,4vw,48px)/1.05 var(--display); }
.source-directory-links { max-width:920px; margin:0; padding:0; list-style:none; }
.source-directory-links li { border-top:1px solid var(--line-soft); }
.source-directory-links a { display:flex; align-items:baseline; gap:20px; padding:18px 0; color:var(--paper); font:500 clamp(17px,2vw,22px)/1.4 var(--display); transition:color .2s ease; }
.source-directory-links a:hover { color:var(--gold); }
.source-directory-number { flex:0 0 34px; color:var(--gold); font:10px var(--mono); letter-spacing:.1em; }
@media (max-width:700px) { .sources-main { padding:55px 22px 82px; } .sources-hero { padding:16px 0 30px; } .source-directory { padding:26px 0 50px; } .source-directory-links a { gap:12px; font-size:17px; } }

/* Case-card editorial refinement: site palette, calmer type hierarchy, clearer metadata. */
.case-trading-card {
  border:1px solid rgba(201,176,109,.58);
  box-shadow:0 28px 76px rgba(0,0,0,.54),0 0 34px rgba(22,104,78,.2),0 0 68px rgba(103,76,148,.09),inset 0 0 0 1px rgba(241,233,216,.055);
}
.case-trading-card::before {
  content:""; position:absolute; z-index:1; inset:19% 4% 22%; pointer-events:none;
  background:radial-gradient(ellipse at 50% 32%,rgba(13,69,54,.2),transparent 68%),linear-gradient(180deg,rgba(4,12,10,.02),rgba(4,12,10,.17) 42%,rgba(4,12,10,.06));
}
.case-card-kicker,.case-card-title,.case-card-verdict,.case-card-fields { z-index:2; }
.case-card-kicker { top:27.8%; color:var(--gold); font-size:clamp(8px,1.5cqw,11px); letter-spacing:.15em; text-shadow:0 2px 10px rgba(0,0,0,.96); }
.case-card-kicker span { color:#d8d1bf; }
.case-card-title { top:32.7%; font:500 clamp(30px,6.8cqw,46px)/.99 var(--display); letter-spacing:0; text-transform:none; text-shadow:0 3px 20px rgba(0,0,0,.94); }
.case-card-title em { margin-top:.08em; color:var(--gold); font-style:italic; }
.case-card-verdict { top:50.5%; left:14%; width:72%; padding:12px 8px; border-top:1px solid rgba(201,176,109,.32); border-bottom:1px solid rgba(201,176,109,.32); background:linear-gradient(90deg,transparent,rgba(4,15,13,.28) 18%,rgba(4,15,13,.28) 82%,transparent); color:#eee7d8; font:500 clamp(10px,1.85cqw,13px)/1.5 var(--body); letter-spacing:.02em; }
.case-card-fields dd { color:#f0e8d7; text-shadow:0 1px 8px rgba(0,0,0,.98); }
.case-card-question dd { font:500 clamp(8px,1.55cqw,11px)/1.2 var(--body); letter-spacing:0; }
.case-card-score dd { font-family:var(--display); }
.case-card-score small { letter-spacing:.08em; }


@media (max-width:600px) {
  .case-card-title { top:33.2%; font-size:clamp(26px,7cqw,36px); }
  .case-card-verdict { top:50.2%; left:13%; width:74%; padding:10px 6px; }
  .case-card-question dd { font-size:clamp(8px,1.55cqw,10px); }
}

/* Collectible-card finish and five blank future card faces. Original Veil Index styling; no franchise logos or copied card marks. */
.case-trading-card {
  border-radius:16px;
  border-color:rgba(201,176,109,.78);
  box-shadow:0 30px 78px rgba(0,0,0,.58),0 0 34px rgba(21,108,79,.22),0 0 68px rgba(103,76,148,.12),inset 0 0 0 4px rgba(5,14,12,.96),inset 0 0 0 5px rgba(201,176,109,.56),inset 0 0 0 8px rgba(15,54,46,.65);
}
.case-trading-card-frame { border-radius:inherit; }
.case-trading-card::before { inset:19% 4% 22%; border-radius:9px; }
.case-trading-card::after {
  content:""; position:absolute; z-index:3; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(118deg,transparent 18%,rgba(214,233,224,.09) 34%,rgba(201,176,109,.14) 44%,rgba(168,137,220,.13) 53%,transparent 68%);
  opacity:.16; transition:opacity .24s ease;
}
.case-trading-card:hover::after { opacity:.68; }
.case-card-kicker { top:13.4%; left:8%; width:84%; padding:6px 11px; border:1px solid rgba(201,176,109,.45); border-radius:8px; background:linear-gradient(100deg,rgba(5,15,13,.86),rgba(5,15,13,.34)); text-align:left; }
.case-card-title { top:18.4%; left:8%; width:84%; padding:11px 13px 12px; border-left:2px solid var(--gold); border-top:1px solid rgba(201,176,109,.27); border-bottom:1px solid rgba(201,176,109,.27); border-radius:0 8px 8px 0; background:linear-gradient(95deg,rgba(4,14,12,.82),rgba(4,14,12,.2)); text-align:left; }
.case-card-verdict { top:51.8%; left:8%; width:84%; padding:15px 14px; border:1px solid rgba(201,176,109,.4); border-radius:9px; background:linear-gradient(145deg,rgba(5,15,13,.88),rgba(5,12,11,.72)); box-shadow:inset 0 0 0 3px rgba(241,233,216,.025),0 9px 24px rgba(0,0,0,.22); text-align:left; }
.case-card-score { border:1px solid rgba(201,176,109,.78); border-radius:50%; background:radial-gradient(circle at 35% 28%,rgba(201,176,109,.2),rgba(4,13,11,.78) 72%); box-shadow:inset 0 0 0 3px rgba(5,15,13,.78),inset 0 0 0 4px rgba(201,176,109,.27),0 0 12px rgba(201,176,109,.12); }
@media (max-width:600px) {
  .case-card-kicker { top:13.4%; padding:5px 8px; }
  .case-card-title { top:18.6%; padding:9px 10px 10px; font-size:clamp(25px,7cqw,35px); }
  .case-card-verdict { top:50.8%; left:7%; width:86%; padding:12px 10px; }
}
@media (prefers-reduced-motion:reduce) { .case-trading-card::after { transition:none; } }
.future-card-archive { padding:0 0 108px; }
.future-card-archive .section-index { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
.future-card-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin-top:45px; }
.future-collectible-card { --tc-accent:#c9b06d; --tc-glow:rgba(29,111,81,.22); position:relative; isolation:isolate; aspect-ratio:9/16; overflow:hidden; border:2px solid rgba(201,176,109,.62); border-radius:15px; background:#071510; box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 24px var(--tc-glow),inset 0 0 0 4px rgba(4,13,11,.94),inset 0 0 0 5px var(--tc-accent); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.future-collectible-card:hover { transform:translateY(-5px) rotate(-.25deg); border-color:var(--tc-accent); box-shadow:0 26px 52px rgba(0,0,0,.5),0 0 32px var(--tc-glow),inset 0 0 0 4px rgba(4,13,11,.94),inset 0 0 0 5px var(--tc-accent); }
.future-collectible-card > img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; }
.future-collectible-card::before { content:""; position:absolute; z-index:5; inset:6px; border:1px solid color-mix(in srgb,var(--tc-accent) 70%,transparent); border-radius:10px; box-shadow:inset 0 0 0 1px rgba(244,236,220,.06); pointer-events:none; }
.future-collectible-card::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(5,11,10,.52),transparent 18%,transparent 59%,rgba(5,12,11,.58) 100%); pointer-events:none; }
.future-card-nameplate { position:absolute; z-index:3; top:7%; left:7%; width:72%; height:7.5%; border:1px solid color-mix(in srgb,var(--tc-accent) 75%,transparent); border-radius:8px; background:linear-gradient(100deg,rgba(5,13,12,.9),rgba(8,19,16,.58)); box-shadow:inset 0 1px 0 rgba(248,241,226,.08),0 4px 12px rgba(0,0,0,.28); }
.future-card-seal { position:absolute; z-index:3; top:6.7%; right:7%; width:9%; aspect-ratio:1; border:1px solid color-mix(in srgb,var(--tc-accent) 85%,transparent); border-radius:50%; background:radial-gradient(circle at 35% 30%,rgba(244,236,220,.12),rgba(5,13,11,.92) 72%); box-shadow:0 0 12px var(--tc-glow),inset 0 0 0 2px rgba(5,13,11,.84); }
.future-card-art-window { position:absolute; z-index:2; inset:17% 6% 29%; border:1px solid color-mix(in srgb,var(--tc-accent) 72%,transparent); border-radius:9px; box-shadow:inset 0 0 0 3px rgba(4,12,10,.35),0 6px 16px rgba(0,0,0,.22); pointer-events:none; }
.future-card-rules-panel { position:absolute; z-index:3; left:6%; right:6%; bottom:7%; height:18%; border:1px solid color-mix(in srgb,var(--tc-accent) 68%,transparent); border-radius:8px; background:linear-gradient(145deg,rgba(8,19,16,.94),rgba(4,11,10,.97)); box-shadow:inset 0 0 0 3px rgba(241,233,216,.025),0 7px 18px rgba(0,0,0,.28); }
.future-card-rules-panel::before { content:""; position:absolute; left:8%; right:8%; top:25%; height:1px; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--tc-accent) 48%,transparent),transparent); box-shadow:0 9px 0 rgba(241,233,216,.08),0 18px 0 rgba(241,233,216,.05); }
.future-card-foil { position:absolute; z-index:4; inset:0; border-radius:inherit; background:linear-gradient(118deg,transparent 18%,rgba(214,233,224,.07) 34%,var(--tc-glow) 46%,rgba(168,137,220,.1) 55%,transparent 70%); opacity:.12; pointer-events:none; transition:opacity .24s ease; }
.future-collectible-card:hover .future-card-foil { opacity:.82; }
.future-collectible-card--archive { --tc-accent:#b7d2a1; --tc-glow:rgba(38,136,94,.3); }
.future-collectible-card--mirror { --tc-accent:#c7a6dc; --tc-glow:rgba(126,75,160,.27); }
.future-collectible-card--orbit { --tc-accent:#a7c8df; --tc-glow:rgba(61,113,169,.27); }
.future-collectible-card--machine { --tc-accent:#d0a169; --tc-glow:rgba(170,105,48,.26); }
.future-collectible-card--drowned { --tc-accent:#8ec8bf; --tc-glow:rgba(39,129,139,.28); }
@media (max-width:950px) { .future-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; } }
@media (max-width:600px) { .future-card-archive { padding-bottom:82px; }.future-card-archive .section-index { margin-top:8px; }.future-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:32px; }.future-collectible-card:last-child:nth-child(odd) { grid-column:1/-1; justify-self:center; width:min(100%,190px); } }
@media (prefers-reduced-motion:reduce) { .future-collectible-card,.future-card-foil { transition:none; } }

/* Case File 001 themed artwork layout: the Silent Orbit blank face becomes the filled case card. */
.case-trading-card--themed .case-trading-card-frame { z-index:0; object-fit:cover; filter:brightness(.78) saturate(.86) contrast(1.08); }
.case-trading-card--themed::before { inset:0; border-radius:inherit; background:linear-gradient(180deg,rgba(3,10,10,.73) 0%,rgba(3,10,10,.34) 18%,rgba(3,10,10,.02) 42%,rgba(3,10,10,.18) 61%,rgba(3,10,10,.86) 100%),radial-gradient(ellipse at 50% 40%,transparent 18%,rgba(3,10,10,.26) 100%); }
.case-trading-card--themed::after { z-index:5; opacity:.12; }
.case-trading-card--themed:hover::after { opacity:.58; }
.case-trading-card--themed .case-card-art-frame { position:absolute; z-index:2; top:29%; left:5.5%; width:89%; height:36%; border:1px solid rgba(201,176,109,.55); border-radius:9px; box-shadow:inset 0 0 0 3px rgba(4,12,10,.34),0 0 18px rgba(201,176,109,.12); pointer-events:none; }
.case-trading-card--themed .case-card-brand { position:absolute; z-index:3; top:4%; left:8%; display:flex; align-items:center; gap:8px; color:#eadfc5; font:500 clamp(7px,1.45cqw,10px)/1 var(--mono); letter-spacing:.2em; text-shadow:0 2px 9px rgba(0,0,0,.96); }
.case-trading-card--themed .case-card-brand img { display:block; width:clamp(13px,2.8cqw,18px); height:clamp(13px,2.8cqw,18px); object-fit:contain; filter:drop-shadow(0 1px 4px rgba(0,0,0,.85)); }
.case-trading-card--themed .case-card-kicker,.case-trading-card--themed .case-card-title,.case-trading-card--themed .case-card-verdict,.case-trading-card--themed .case-card-fields { z-index:3; }
.case-trading-card--themed .case-card-kicker { top:12.1%; left:8%; width:84%; padding:6px 10px; }
.case-trading-card--themed .case-card-title { top:17%; left:8%; width:84%; padding:10px 12px 11px; font-size:clamp(27px,6.2cqw,42px); }
.case-trading-card--themed .case-card-verdict { top:66.2%; left:8%; width:84%; padding:11px 13px; font-size:clamp(10px,1.7cqw,12px); line-height:1.45; }
.case-trading-card--themed .case-card-fields::before { content:""; position:absolute; z-index:0; inset:75% 4.5% 3.5%; border:1px solid rgba(201,176,109,.58); border-radius:10px; background:linear-gradient(145deg,rgba(8,21,18,.96),rgba(4,11,10,.98)); box-shadow:inset 0 0 0 3px rgba(241,233,216,.025),0 8px 22px rgba(0,0,0,.3); }
.case-trading-card--themed .case-card-fields > div { z-index:1; }
.case-trading-card--themed .case-card-fields dt { position:static; display:block; width:auto; height:auto; padding:0; margin:0; overflow:visible; clip:auto; white-space:normal; border:0; color:var(--gold); font:500 clamp(7px,1.2cqw,9px)/1.15 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.case-trading-card--themed .case-card-fields dd { margin-top:5px; color:#f1e9d8; font:500 clamp(8px,1.8cqw,11px)/1.22 var(--body); letter-spacing:0; text-shadow:0 1px 6px rgba(0,0,0,.9); }
.case-trading-card--themed .case-card-episode { left:8%; top:77.7%; width:36%; }
.case-trading-card--themed .case-card-question { left:50%; top:77.7%; width:42%; }
.case-trading-card--themed .case-card-category { left:8%; top:88.1%; width:54%; }
.case-trading-card--themed .case-card-score { left:81%; top:86.8%; width:12%; aspect-ratio:1; }
.case-trading-card--themed .case-card-score dt { position:absolute; right:calc(100% + 7px); top:50%; width:62px; transform:translateY(-50%); text-align:right; font-size:clamp(6px,1cqw,8px); white-space:nowrap; }
.case-trading-card--themed .case-card-score dd { display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0; color:#f1e9d8; font:600 clamp(10px,2cqw,14px)/.92 var(--display); letter-spacing:-.03em; }
.case-trading-card--themed .case-card-score small { margin-top:.18em; color:var(--gold); font:600 clamp(4px,.8cqw,6px)/1 var(--mono); letter-spacing:.04em; }
@media (max-width:600px) {
  .case-trading-card--themed .case-card-brand { top:3.8%; }
  .case-trading-card--themed .case-card-kicker { top:12.4%; padding:5px 8px; }
  .case-trading-card--themed .case-card-title { top:17.6%; font-size:clamp(25px,6.7cqw,34px); }
  .case-trading-card--themed .case-card-art-frame { top:30%; height:35%; }
  .case-trading-card--themed .case-card-verdict { top:66.3%; left:7%; width:86%; padding:10px 9px; }
  .case-trading-card--themed .case-card-episode { top:77.4%; }
  .case-trading-card--themed .case-card-question { top:77.4%; }
  .case-trading-card--themed .case-card-category { top:88.2%; width:54%; }
  .case-trading-card--themed .case-card-score { top:87%; }
}

/* Case File 001 mobile metadata spacing. */
@media (max-width:600px) {
  .case-trading-card--themed .case-card-verdict { top:65.2%; padding:8px 9px; font-size:clamp(9px,1.55cqw,10px); }
  .case-trading-card--themed .case-card-category { width:49%; }
}

/* Site-wide crisp typography: preserve the editorial serif/sans pairing, keep metadata genuinely monospaced, and keep film texture off the letterforms. */
html { text-rendering:optimizeLegibility; font-kerning:normal; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { font-synthesis:none; font-optical-sizing:auto; }
*,*::before,*::after { text-shadow:none !important; }
.grain { opacity:.014 !important; }
.vhs-overlay { opacity:.018 !important; }
@keyframes page-arrival { from { opacity:0; } to { opacity:1; } }
/* Readable metadata on the Case File 001 card at both desktop and phone widths. */
.case-trading-card--themed .case-card-brand { font-size:clamp(9px,1.55cqw,11px); text-shadow:none; }
.case-trading-card--themed .case-card-kicker { font-size:clamp(9px,1.65cqw,12px); text-shadow:none; }
.case-trading-card--themed .case-card-title,.case-trading-card--themed .case-card-verdict { text-shadow:none; }
.case-trading-card--themed .case-card-fields dt { font-size:clamp(9px,1.3cqw,10px); }
.case-trading-card--themed .case-card-fields dd { font-size:clamp(10px,2cqw,12px); text-shadow:none; }
.case-trading-card--themed .case-card-score dt { font-size:clamp(7px,1.05cqw,9px); }
.case-trading-card--themed .case-card-score small { font-size:clamp(5px,.95cqw,7px); }

/* Stronger card hierarchy: crisp values, clear status, and a high-contrast score medallion. */
.case-trading-card--themed .case-card-fields dt { color:#f0d98e; font-size:clamp(10px,1.5cqw,11px); font-weight:700; letter-spacing:.11em; }
.case-trading-card--themed .case-card-fields dd { color:#fff7e8; font-size:clamp(11px,2.2cqw,14px); font-weight:600; line-height:1.25; }
.case-trading-card--themed .case-card-category { width:48%; }
.case-trading-card--themed .case-card-score { left:61%; top:86.2%; width:32%; height:9%; aspect-ratio:auto; display:block; border:0; border-radius:0; background:none; box-shadow:none; }
.case-trading-card--themed .case-card-score dt { position:absolute; left:0; right:auto; top:8%; width:60%; transform:none; color:#f4db91; font-size:clamp(8px,1.35cqw,10px); font-weight:700; letter-spacing:.1em; text-align:left; }
.case-trading-card--themed .case-card-score dd:first-of-type { position:absolute; right:0; top:50%; display:grid; place-items:center; width:46%; aspect-ratio:1; margin:0; transform:translateY(-50%); border:2px solid #e4c877; border-radius:50%; background:radial-gradient(circle at 50% 40%,rgba(36,72,55,.98),rgba(4,13,11,.98) 78%); box-shadow:inset 0 0 0 3px rgba(5,15,13,.95),inset 0 0 0 4px rgba(224,194,121,.75); }
.case-trading-card--themed .case-card-score dd:first-of-type strong { color:#fff8e9; font-size:clamp(17px,3.4cqw,22px); font-weight:700; line-height:1; letter-spacing:-.03em; }
.case-trading-card--themed .case-card-score .case-card-score-status { position:absolute; left:0; top:50%; width:58%; margin:0; transform:translateY(-50%); color:#f4d98d; font:700 clamp(7px,1.22cqw,9px)/1.1 var(--mono); letter-spacing:.025em; text-align:left; white-space:nowrap; }
@media (max-width:600px) {
  .case-trading-card--themed .case-card-category { width:44%; }
  .case-trading-card--themed .case-card-score { left:61%; top:86.5%; width:32%; }
}


/* Future card collection: restrained, reusable front designed at standard trading-card proportions. */
.future-card-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.future-collectible-card { --tc-accent:#c2ad78; --tc-glow:rgba(126,109,72,.08); aspect-ratio:5/7; border:1px solid rgba(201,176,109,.62); border-radius:12px; background:#071510; box-shadow:0 12px 26px rgba(0,0,0,.3),inset 0 0 0 1px rgba(4,13,11,.96),inset 0 0 0 2px rgba(201,176,109,.26); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.future-collectible-card:hover { transform:translateY(-2px); border-color:rgba(214,194,141,.82); box-shadow:0 15px 30px rgba(0,0,0,.34),inset 0 0 0 1px rgba(4,13,11,.96),inset 0 0 0 2px rgba(201,176,109,.3); }
.future-collectible-card > img { filter:brightness(.84) saturate(.62) contrast(1.04); }
.future-collectible-card::before { inset:5px; border:1px solid rgba(201,176,109,.43); border-radius:8px; box-shadow:inset 0 0 0 1px rgba(244,236,220,.025); }
.future-collectible-card::after { background:linear-gradient(180deg,rgba(4,11,10,.72),rgba(4,11,10,.06) 22%,rgba(4,11,10,.02) 58%,rgba(4,11,10,.68)); }
.future-card-nameplate { top:7%; left:7%; width:72%; height:7.5%; border:1px solid rgba(201,176,109,.58); border-radius:5px; background:rgba(5,13,12,.94); box-shadow:inset 0 1px 0 rgba(248,241,226,.035); }
.future-card-seal { top:6.7%; right:7%; width:9%; border:1px solid rgba(201,176,109,.68); background:rgba(5,13,12,.96); box-shadow:inset 0 0 0 2px rgba(5,13,11,.9); }
.future-card-art-window { inset:17% 6% 29%; border:1px solid rgba(201,176,109,.46); border-radius:5px; box-shadow:inset 0 0 0 2px rgba(4,12,10,.22); }
.future-card-rules-panel { left:6%; right:6%; bottom:7%; height:18%; border:1px solid rgba(201,176,109,.54); border-radius:5px; background:rgba(5,12,10,.95); box-shadow:inset 0 0 0 2px rgba(241,233,216,.02); }
.future-card-rules-panel::before { left:8%; right:8%; top:30%; background:rgba(201,176,109,.22); box-shadow:0 12px 0 rgba(241,233,216,.035); }
.future-card-foil { display:none !important; }
.future-collectible-card--archive,.future-collectible-card--mirror,.future-collectible-card--orbit,.future-collectible-card--machine,.future-collectible-card--drowned,.future-collectible-card--platform,.future-collectible-card--city,.future-collectible-card--echo,.future-collectible-card--clock,.future-collectible-card--relay { --tc-accent:#c2ad78; --tc-glow:rgba(126,109,72,.08); }




@media (max-width:950px) { .future-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; } }
@media (max-width:600px) { .future-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:30px; }.future-collectible-card:last-child:nth-child(odd) { grid-column:auto; justify-self:stretch; width:auto; } }
@media (prefers-reduced-motion:reduce) { .future-collectible-card { transition:none; } }


/* Card image interaction deterrents; public images remain addressable by URL. */
.future-card-archive .future-collectible-card,
.case-trading-card {
  -webkit-user-select: none;
  user-select: none;
}
.future-card-archive .future-collectible-card > img,
.case-trading-card > img {
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}

/* Filled theory cards: restrained 5:7 collectible fronts with readable evidence panels. */
.theory-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(26px,4.5vw,58px); max-width:1240px; margin:38px auto 52px; }
.theory-card-entry { display:flex; flex-direction:column; gap:18px; min-width:0; }
.theory-card-face { container-type:inline-size; width:min(100%,420px); margin:0 auto; aspect-ratio:5/7; isolation:isolate; overflow:hidden; border:1px solid rgba(201,176,109,.72); border-radius:12px; background:#071510; box-shadow:0 18px 36px rgba(0,0,0,.42),inset 0 0 0 1px rgba(4,13,11,.96),inset 0 0 0 3px rgba(201,176,109,.22); }
.theory-card-face--uap { --tc-accent:#b8cbd3; --tc-glow:rgba(122,157,177,.12); }
.theory-card-face--mkultra { --tc-accent:#d6c181; --tc-glow:rgba(132,112,65,.1); }
.theory-card-face > img { filter:brightness(.78) saturate(.68) contrast(1.05); }
.theory-card-face::after { z-index:1; background:linear-gradient(180deg,rgba(2,9,9,.72),rgba(3,10,10,.08) 31%,rgba(3,10,10,.06) 49%,rgba(2,8,7,.68)); }
.theory-card-serial { position:absolute; z-index:4; top:5.2%; left:7%; right:7%; display:flex; justify-content:space-between; gap:8px; margin:0; color:#e8dcb9; font:500 clamp(7px,1.8cqw,9px)/1.2 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.theory-card-title { position:absolute; z-index:4; top:11.5%; left:7%; right:31%; margin:0; color:#fff6e6; font:500 clamp(22px,6.3cqw,34px)/.98 var(--display); letter-spacing:-.025em; text-align:left; text-transform:none; }
.theory-card-title em { display:block; margin-top:.12em; color:var(--tc-accent); font:italic 500 .72em/1.05 var(--display); letter-spacing:-.01em; }
.theory-card-score { position:absolute; z-index:4; top:9.4%; right:7%; width:22%; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #d8bd70; border-radius:50%; background:radial-gradient(circle at 50% 35%,rgba(39,65,52,.98),rgba(3,12,10,.98) 76%); box-shadow:inset 0 0 0 3px rgba(4,12,10,.96),inset 0 0 0 4px rgba(216,189,112,.55); color:#f8edcf; text-align:center; }
.theory-card-score span { color:#e7d59d; font:600 clamp(6px,1.45cqw,8px)/1 var(--mono); letter-spacing:.07em; }
.theory-card-score strong { margin:3px 0 1px; font:700 clamp(17px,4.1cqw,24px)/.95 var(--display); }
.theory-card-score small { color:#f2d98e; font:600 clamp(6.5px,1.7cqw,8px)/1.05 var(--mono); letter-spacing:0; white-space:nowrap; }
.theory-card-art-frame { position:absolute; z-index:2; top:25%; left:6%; right:6%; height:31%; border:1px solid rgba(220,196,131,.62); border-radius:5px; box-shadow:inset 0 0 0 3px rgba(4,12,11,.7),0 0 0 1px rgba(4,12,11,.4); pointer-events:none; }
.theory-card-copy { position:absolute; z-index:4; left:5.5%; right:5.5%; bottom:5.5%; height:41%; box-sizing:border-box; display:flex; flex-direction:column; padding:clamp(12px,3.2cqw,19px); border:1px solid rgba(203,178,113,.66); border-radius:6px; background:linear-gradient(145deg,rgba(7,19,16,.98),rgba(4,12,10,.98)); box-shadow:inset 0 0 0 2px rgba(230,215,180,.025); }
.theory-card-category { margin:0 0 5px; color:#e2ca88; font:600 clamp(7px,1.85cqw,9px)/1.2 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.theory-card-lore { margin:0; color:#f4eddf; font:400 clamp(10px,2.75cqw,13px)/1.34 var(--body); }
.theory-card-effect { margin:6px 0 0; color:#ddcfad; font:400 clamp(8px,2cqw,10px)/1.25 var(--body); }
.theory-card-effect strong { color:#f3dfa2; font-weight:700; }
.theory-card-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; margin:8px 0 0; padding:7px 0 0; border-top:1px solid rgba(203,178,113,.36); }
.theory-card-stats > div { min-width:0; padding:2px 0 4px; border-bottom:1px solid rgba(203,178,113,.16); }
.theory-card-stats dt { color:#c9bea6; font:500 clamp(6px,1.55cqw,8px)/1.15 var(--mono); letter-spacing:.045em; text-transform:uppercase; }
.theory-card-stats dd { margin:3px 0 0; color:#fff7e7; font:700 clamp(10px,2.2cqw,13px)/1.05 var(--display); }
.theory-card-dossier { padding:clamp(18px,2.7vw,26px); border:1px solid rgba(201,176,109,.34); border-radius:10px; background:linear-gradient(150deg,rgba(10,24,20,.92),rgba(5,13,12,.96)); }
.theory-card-dossier > .section-label { margin:0 0 8px; }
.theory-card-question { margin:0 0 17px; color:#f4ead4; font:500 clamp(15px,1.55vw,18px)/1.4 var(--body); }
.theory-card-evidence { margin:0 0 14px; color:#d9d4c9; font:400 13px/1.6 var(--body); }
.theory-card-evidence strong { color:#f1d98f; }
.theory-card-full-lore { margin:0 0 14px; color:#e5dac1; font:italic 13px/1.55 var(--display); }
.theory-card-full-lore span { display:block; margin-bottom:4px; color:#c9b77f; font:600 9px/1.2 var(--mono); letter-spacing:.08em; }
.theory-card-ability { margin:0; padding:12px 14px; border-left:2px solid rgba(201,176,109,.72); background:rgba(197,172,110,.055); color:#ded5c3; font:400 12px/1.5 var(--body); }
.theory-card-ability > span { color:#c9b77f; font:600 9px/1.2 var(--mono); letter-spacing:.08em; }
.theory-card-ability strong { color:#f0dfb4; }
.theory-card-score-report { margin-top:20px; padding-top:18px; border-top:1px solid rgba(201,176,109,.28); }
.theory-card-score-report > .section-label { margin:0 0 7px; }
.theory-card-score-report h4 { margin:0 0 10px; color:#f5ecd9; font:500 1.45rem/1.1 var(--display); }
.veil-dimension-list { display:grid; gap:0; margin:0; }
.veil-dimension-list > div { display:grid; grid-template-columns:minmax(92px,118px) minmax(0,1fr); gap:10px; padding:9px 0; border-top:1px solid rgba(201,176,109,.19); }
.veil-dimension-list dt { color:#e4d09a; font:600 10px/1.35 var(--mono); letter-spacing:.035em; text-transform:uppercase; }
.veil-dimension-list dd { margin:0; color:#d4d0c7; font:400 12px/1.45 var(--body); }
.veil-dimension-list dd strong { display:block; margin:0 0 2px; color:#fff4db; font:700 11px/1.2 var(--mono); }
.veil-dimension-list dd p { margin:0; }
.score-arithmetic { margin:12px 0 6px; color:#e4d5ad; font:500 11px/1.5 var(--mono); }
.score-arithmetic strong { color:#fff1c9; }
.score-scope-note { margin:0; color:#c9c3b7; font:400 12px/1.5 var(--body); }
.theory-card-source-link { margin:16px 0 0; font:600 11px/1.4 var(--mono); letter-spacing:.025em; }
.theory-card-source-link a { color:#e6cf8d; text-decoration:underline; text-decoration-color:rgba(230,207,141,.5); text-underline-offset:3px; }
.score-method-note { max-width:1000px; margin:18px 0 0; padding:14px 17px; border-left:2px solid rgba(201,176,109,.55); background:rgba(201,176,109,.045); color:#cfc9bd; font:400 12px/1.55 var(--body); }
.score-method-note a { color:#e6cf8d; text-underline-offset:3px; }
/* Keep primary destinations recognizable when dropdown navigation compresses on mobile. */
@media (max-width:700px), (pointer:coarse) {
  .archive-nav .archive-tabs .tab-primary-dropdown > summary.tab-primary-link > span:not(.tab-number) { display:inline !important; }
  .archive-nav .archive-tabs .tab-primary-dropdown > summary.tab-primary-link { width:auto; gap:4px; font-size:7px; letter-spacing:0; white-space:nowrap; }
}
@media (max-width:850px) { .theory-card-grid { grid-template-columns:1fr; max-width:660px; gap:38px; } }
@media (max-width:600px) { .theory-card-face { width:min(100%,390px); } .theory-card-dossier { padding:18px; } .veil-dimension-list > div { grid-template-columns:92px minmax(0,1fr); gap:8px; } }
@media (prefers-reduced-motion:reduce) { .theory-card-face { transition:none; } }


/* Collectible archive cards: clickable 3D front/back with a scrollable dossier on the reverse. */
.theory-card-entry { display:block; min-width:0; }
.theory-card-flip { width:min(100%,420px); margin:0 auto; perspective:1500px; }
.theory-card-flip-inner { position:relative; width:100%; aspect-ratio:5/7; transform-style:preserve-3d; transition:transform .78s cubic-bezier(.2,.72,.25,1); }
.theory-card-flip.is-flipped .theory-card-flip-inner { transform:rotateY(180deg); }
.theory-card-front,.theory-card-back { position:absolute; inset:0; width:100%; height:100%; margin:0; aspect-ratio:auto; box-sizing:border-box; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.theory-card-front { cursor:pointer; }
.theory-card-front:hover { transform:none; filter:brightness(1.035); }
.theory-card-front:focus-visible { outline:2px solid #ead69a; outline-offset:4px; }
.theory-card-back { position:absolute; display:flex; flex-direction:column; overflow:hidden; transform:rotateY(180deg); border:1px solid rgba(201,176,109,.74); border-radius:12px; background:radial-gradient(ellipse at 50% 12%,rgba(201,176,109,.1),transparent 40%),repeating-linear-gradient(135deg,rgba(201,176,109,.025) 0 1px,transparent 1px 11px),linear-gradient(145deg,#0b1c17,#040b09 78%); box-shadow:0 18px 36px rgba(0,0,0,.42),inset 0 0 0 4px rgba(4,13,11,.96),inset 0 0 0 5px rgba(201,176,109,.23); color:#e9e2d3; }
.theory-card-back::before { content:""; position:absolute; z-index:0; inset:7px; border:1px solid rgba(201,176,109,.32); border-radius:7px; pointer-events:none; }
.theory-card-back-header { position:relative; z-index:1; flex:none; padding:15px 17px 12px; border-bottom:1px solid rgba(201,176,109,.32); background:rgba(3,10,9,.68); }
.theory-card-back-brand { display:flex; justify-content:space-between; gap:8px; margin:0 0 11px; color:#e4d3a0; font:500 clamp(8px,1.9cqw,10px)/1.2 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.theory-card-back-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.theory-card-back-toolbar > span { color:#bcb6a8; font:500 clamp(8px,1.8cqw,9px)/1.2 var(--mono); letter-spacing:.075em; text-transform:uppercase; }
.theory-card-flip-return { flex:none; display:inline-flex; align-items:center; gap:7px; padding:7px 9px; border:1px solid rgba(201,176,109,.52); border-radius:4px; background:rgba(201,176,109,.07); color:#f1dfa7; font:600 clamp(8px,1.8cqw,9px)/1.1 var(--mono); letter-spacing:.045em; cursor:pointer; }
.theory-card-flip-return:hover,.theory-card-flip-return:focus-visible { border-color:#e4ca82; background:rgba(201,176,109,.14); color:#fff4d3; outline:2px solid rgba(228,202,130,.5); outline-offset:2px; }
.theory-card-flip-return i { font-style:normal; font-size:1.35em; line-height:.8; }
.theory-card-back-scroll { position:relative; z-index:1; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:15px clamp(14px,4cqw,18px) 22px; scrollbar-color:rgba(201,176,109,.55) rgba(4,12,10,.45); scrollbar-width:thin; }
.theory-card-back-scroll:focus-visible { outline:2px solid rgba(228,202,130,.7); outline-offset:-4px; }
.theory-card-back .theory-card-dossier { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.theory-card-flip-hint { position:absolute; z-index:6; right:8%; bottom:2.1%; left:8%; display:flex; align-items:center; justify-content:center; gap:6px; color:#e4d09a; font:600 clamp(8px,1.9cqw,10px)/1.1 var(--mono); letter-spacing:.11em; text-align:center; pointer-events:none; }
.theory-card-flip-hint::before { content:"↻"; font-size:1.3em; }
@media (max-width:600px) {
  .theory-card-back-header { padding:12px 14px 10px; }
  .theory-card-back-scroll { padding:13px 14px 20px; }
}
@media (prefers-reduced-motion:reduce) { .theory-card-flip-inner { transition:none; } }
