:root {
  --ash: #090806;
  --iron: #12100d;
  --iron-light: #1b1712;
  --bone: #ded5c4;
  --muted: #918779;
  --blood: #8f120d;
  --blood-bright: #bd2116;
  --rust: #71331e;
  --ember: #da5b1b;
  --line: rgba(222, 213, 196, .18);
  --shell: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ash); }
body {
  margin: 0;
  color: var(--bone);
  background:
    repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(222,213,196,.025) 25%),
    var(--ash);
  font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  line-height: 1.55;
  letter-spacing: .02em;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  opacity: .14;
  background-image:
    radial-gradient(circle at 15% 35%, rgba(255,255,255,.28) 0 0.5px, transparent .8px),
    radial-gradient(circle at 75% 65%, rgba(255,255,255,.18) 0 0.5px, transparent .8px);
  background-size: 11px 13px, 17px 19px;
}

::selection { background: var(--blood); color: #fff; }
a { color: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; transform: translateY(-150%); padding: 10px 14px; background: var(--bone); color: var(--ash); }
.skip-link:focus { transform: none; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 5; }
.nav { min-height: 72px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(222,213,196,.25); }
.nav__sigil { text-decoration: none; font-weight: 900; letter-spacing: -.08em; font-size: 1.1rem; }
.nav__links { display: flex; gap: clamp(16px, 3vw, 40px); }
.nav__links a { color: var(--bone); text-decoration: none; text-transform: uppercase; font-size: .66rem; letter-spacing: .2em; opacity: .78; }
.nav__links a:hover, .nav__links a:focus-visible { opacity: 1; color: #fff; }
.nav__toggle { display: none; }

.hero { position: relative; background: #0b0907; border-bottom: 1px solid var(--line); }
.hero > img { display: block; width: 100%; height: auto; min-height: 540px; object-fit: cover; object-position: center; }
.hero__summons { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); display: flex; justify-content: center; align-items: end; gap: 28px; }
.hero__summons .warning { position: absolute; left: 0; bottom: 0; }
.warning { margin: 0; text-transform: uppercase; font-size: clamp(.8rem, 1vw, 1rem); letter-spacing: .24em; line-height: 1.5; text-shadow: 0 2px 8px #000; }

.induction-button { min-width: 260px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 16px 22px; border: 1px solid #b92c20; color: #fff; background: rgba(55, 7, 4, .88); box-shadow: inset 0 0 22px rgba(180,23,15,.2), 0 10px 30px rgba(0,0,0,.5); text-decoration: none; text-transform: uppercase; font-size: 1rem; font-weight: 900; letter-spacing: .13em; transition: background .2s, border-color .2s, transform .2s; }
.induction-button small { display: block; margin-bottom: 1px; color: #c8988e; font-size: .51rem; letter-spacing: .18em; }
.induction-button__mark { width: 13px; height: 13px; flex: 0 0 auto; border: 2px solid #e24634; border-radius: 50%; box-shadow: 0 0 14px #cc1c0f; }
.induction-button:hover, .induction-button:focus-visible { background: rgba(126, 15, 10, .94); border-color: #e13e30; transform: translateY(-2px); }
.longplay-portal { display: block; width: min(430px, 48vw); border: 1px solid rgba(185,44,32,.42); background: #050505; box-shadow: 0 10px 30px rgba(0,0,0,.55); transition: border-color .2s, transform .2s; }
.hero__summons .longplay-portal { width: min(380px, 43vw); }
.longplay-portal img { display: block; width: 100%; height: auto; }
.longplay-portal:hover, .longplay-portal:focus-visible { border-color: var(--blood-bright); outline: 2px solid var(--blood-bright); outline-offset: 4px; transform: translateY(-2px); }
.longplay-portal--large { width: min(680px, 100%); margin-inline: auto; }

.section { position: relative; padding: clamp(40px, 4vw, 56px) 0; border-bottom: 1px solid var(--line); overflow: hidden; }
.section::after { content: attr(id); position: absolute; right: -1vw; bottom: -5vw; color: rgba(222,213,196,.018); text-transform: uppercase; font-size: clamp(6rem, 18vw, 18rem); font-weight: 900; line-height: .8; pointer-events: none; white-space: nowrap; }
.eyebrow { margin: 0 0 22px; color: #bb7b60; text-transform: uppercase; font-size: .64rem; font-weight: 700; letter-spacing: .3em; }
h1, h2 { margin: 0; color: #e5dccb; text-transform: uppercase; font-weight: 900; letter-spacing: -.045em; line-height: .82; }
h1 { font-size: clamp(4.5rem, 11vw, 10rem); }
h2 { font-size: clamp(4rem, 10vw, 9rem); }
.lede { max-width: 470px; margin: 40px 0; color: #afa596; font-family: Georgia, serif; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.split { display: grid; grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); gap: clamp(36px, 5vw, 70px); align-items: start; }

.transmission__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(530px, 1.2fr); gap: clamp(34px, 4vw, 58px); align-items: start; }
.transmission__grid > * { min-width: 0; }
.transmission .section-heading { min-width: 0; }
.transmission h1 { max-width: 100%; font-size: clamp(3.15rem, 4.6vw, 4.35rem); letter-spacing: -.055em; }
.transmission .lede { margin-block: 34px 42px; }
.signal-data { margin: 0; border-top: 1px solid var(--line); }
.signal-data div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid var(--line); text-transform: uppercase; font-size: .64rem; letter-spacing: .14em; }
.signal-data dt { color: var(--muted); }
.signal-data dd { margin: 0; }
.track-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.track-list li { position: relative; min-width: 0; display: grid; grid-template-columns: 32px clamp(90px, 8vw, 112px) minmax(0, 1fr) 30px; gap: clamp(12px, 1.7vw, 22px); align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.track-list__number { color: var(--rust); font-family: monospace; font-size: .72rem; }
.track-list__image { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(138, 55, 31, .72); background: #0c0907; }
.track-list__image::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,0,0,.16) 3px 4px); }
.track-list__image img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) brightness(.72) contrast(1.08); transition: filter .22s ease; }
.track-list li:hover .track-list__image img, .track-list li:focus-within .track-list__image img { filter: saturate(.92) brightness(.95) contrast(1.05); }
.track-list strong { min-width: 0; overflow-wrap: break-word; color: #d8cfbe; font-size: clamp(.82rem, 1.25vw, 1.02rem); line-height: 1.28; text-transform: uppercase; letter-spacing: .055em; }
.track-list__play, .player-button { display: grid; place-items: center; border: 1px solid rgba(143, 51, 30, .8); border-radius: 0; color: var(--bone); background: #17100c; cursor: pointer; }
.track-list__play { width: 30px; height: 30px; padding: 0; font-size: .62rem; }
.track-list__play:hover, .track-list__play:focus-visible, .player-button:hover, .player-button:focus-visible { border-color: var(--blood-bright); background: #35100b; outline: 1px solid var(--blood-bright); outline-offset: 2px; }
.track-list li.is-active { background: linear-gradient(90deg, rgba(143,18,13,.1), transparent 70%); }
.track-list li.is-active::before { content: ""; position: absolute; inset: 13px auto 13px -9px; width: 2px; background: var(--blood-bright); box-shadow: 0 0 10px var(--blood-bright); }
.track-list li.is-active .track-list__image img { filter: saturate(.95) brightness(.92) contrast(1.05); }
.track-list li.is-active strong { color: #fff; }

.transmission-player { margin-top: 36px; padding: 18px; border: 1px solid rgba(113,51,30,.6); background: rgba(15,11,8,.78); }
.transmission-player__status > span, .transmission-player__volume > span { display: block; color: var(--rust); text-transform: uppercase; font-size: .56rem; letter-spacing: .2em; }
.transmission-player__status strong { display: block; min-height: 2.8em; margin-top: 5px; color: #dfd5c3; text-transform: uppercase; font-size: .82rem; line-height: 1.35; letter-spacing: .08em; }
.transmission-player__controls { display: grid; grid-template-columns: 42px 54px 42px; justify-content: center; gap: 8px; margin: 18px 0; }
.player-button { width: 42px; height: 42px; padding: 0; font-size: .52rem; }
.player-button--main { width: 54px; color: #fff; border-color: var(--blood-bright); font-size: .9rem; }
.player-button:disabled { cursor: not-allowed; opacity: .35; }
.transmission-player__timeline { display: grid; grid-template-columns: 35px minmax(0, 1fr) 35px; gap: 8px; align-items: center; color: var(--muted); font-family: monospace; font-size: .64rem; }
.transmission-player input[type="range"] { width: 100%; height: 2px; margin: 0; accent-color: var(--blood-bright); cursor: pointer; }
.transmission-player__volume { display: grid; grid-template-columns: 55px 1fr; gap: 10px; align-items: center; margin-top: 15px; }
.transmission-player__volume > span { display: inline; }

.section.transmission { padding-bottom: clamp(32px, 3vw, 44px); }
.section.commander { padding-top: clamp(40px, 4vw, 56px); padding-bottom: clamp(32px, 3vw, 44px); }
.section.doctrine { padding-top: clamp(40px, 4vw, 56px); padding-bottom: clamp(32px, 3vw, 44px); }
.section.dead-boy { padding-top: clamp(40px, 4vw, 56px); padding-bottom: clamp(32px, 3vw, 44px); }
.section.army { padding-top: clamp(40px, 4vw, 56px); padding-bottom: clamp(32px, 3vw, 44px); }
.section.wars { padding-top: clamp(40px, 4vw, 56px); padding-bottom: clamp(32px, 3vw, 44px); }
.section.cathedral { padding-top: clamp(40px, 4vw, 56px); padding-bottom: clamp(32px, 3vw, 44px); }
.commander { background: radial-gradient(circle at 15% 50%, rgba(111,42,23,.18), transparent 38%), #0d0b09; }
.commander__content > h2 { font-size: clamp(5rem, 15vw, 13.5rem); color: var(--blood-bright); }
.title-line { margin: 18px 0 48px; text-transform: uppercase; font-size: clamp(.8rem, 2vw, 1.25rem); letter-spacing: .35em; }
.commander__portrait { position: relative; margin: 0; min-width: 0; border: 1px solid rgba(113,51,30,.7); background: #080604; }
.commander__portrait::after { content: "Visual record // Ashvicar"; position: absolute; right: 10px; bottom: 9px; padding: 5px 8px; color: #cbbfae; background: rgba(8,6,4,.78); text-transform: uppercase; font-size: .5rem; letter-spacing: .18em; }
.commander__portrait img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; filter: saturate(.82) contrast(1.05); }
.commander__copy { min-width: 0; font-family: Georgia, serif; color: #aaa092; font-size: clamp(1rem, 1.6vw, 1.25rem); }
.commander__opening { width: min(720px, 82%); margin: 0 0 0 auto; color: #aaa092; font-family: Georgia, serif; font-size: clamp(1rem, 1.6vw, 1.25rem); }
.commander__opening-line { color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.8rem, 3.8vw, 3.6rem); line-height: 1.08; text-transform: uppercase; }
.commander__no-excuse { margin-top: 34px; padding-left: 18px; border-left: 2px solid var(--blood); color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.35rem, 2.4vw, 2.2rem); text-transform: uppercase; }
.commander__stages { margin-top: clamp(48px, 6vw, 72px); }
.commander-stage { display: grid; grid-template-columns: minmax(160px, .34fr) minmax(0, 1fr); gap: clamp(34px, 5vw, 70px); padding: clamp(36px, 4.5vw, 54px) 0; border-top: 1px solid var(--line); }
.commander-stage__label { min-width: 0; }
.commander-stage__label span { display: block; margin-bottom: 12px; color: var(--rust); font-family: monospace; font-size: .6rem; text-transform: uppercase; letter-spacing: .16em; }
.commander-stage__label h3 { margin: 0; color: var(--bone); font-size: clamp(1.8rem, 3.4vw, 3.5rem); line-height: .95; text-transform: uppercase; }
.commander-stage__label i { display: block; margin-top: 30px; color: var(--blood-bright); font-family: Georgia, serif; font-size: 1.35rem; font-style: normal; }
.commander-stage__copy { min-width: 0; max-width: 760px; color: #aaa092; font-family: Georgia, serif; font-size: clamp(1rem, 1.35vw, 1.15rem); }
.commander-stage__copy p { margin: 0 0 24px; }
.commander-stage__copy--with-media, .commander-stage__copy--sequence { max-width: none; }
.commander-stage__copy--with-media { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: clamp(32px, 4.5vw, 60px); align-items: center; }
.commander-stage--man .commander-stage__copy--with-media { grid-template-columns: minmax(0, 1.55fr) minmax(230px, .65fr); align-items: stretch; }
.commander-stage--man .origin-visual--landscape img { height: 100%; object-fit: cover; }
.commander-stage__copy--reverse { grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr); }
.commander-stage__copy--reverse .origin-visual { order: 2; }
.origin-beat { display: grid; grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr); gap: clamp(32px, 5vw, 70px); align-items: center; padding: clamp(28px, 4vw, 46px) 0; border-bottom: 1px solid var(--line); }
.origin-beat--reverse { grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr); }
.origin-beat--reverse .origin-visual { order: 2; }
.origin-beat--resurrection { grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); }
.origin-visual { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(113,51,30,.68); background: #080604; }
.origin-visual img { display: block; width: 100%; height: auto; }
.origin-visual figcaption { position: absolute; inset: auto 0 0; padding: 10px 12px; color: #cbbfae; background: rgba(8,6,4,.84); text-transform: uppercase; font-size: .5rem; letter-spacing: .14em; }
.origin-visual--isolated { margin-block: clamp(20px, 3vw, 40px); }
.commander__portrait--reveal::after { content: "Present form // Ashvicar"; }
.commander__present-day { border-bottom: 0; }
.commander-stage__emphasis { color: #d0c5b4; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.3rem, 2.4vw, 2.2rem); line-height: 1.35; text-transform: uppercase; letter-spacing: .04em; }
.commander-stage__declaration { margin-block: clamp(34px, 5vw, 55px) !important; color: var(--blood-bright); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.1rem, 5vw, 4.8rem); line-height: .96; text-transform: uppercase; }
.commander-stage__frequency { color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2rem, 4.5vw, 4.2rem); line-height: 1.05; text-transform: uppercase; }
.commander-stage__frequency strong { color: var(--blood-bright); font-weight: inherit; }
.commander-stage__progression { color: #bcb1a1; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.45rem, 2.8vw, 2.7rem); line-height: 1.35; text-transform: uppercase; }
.commander-stage__progression strong { color: var(--blood-bright); font-weight: inherit; }
.commander-stage--final { border-bottom: 1px solid var(--line); }
.commander__copy .verdict { color: var(--bone); font-family: Impact, sans-serif; font-size: clamp(2rem, 4vw, 4rem); text-transform: uppercase; letter-spacing: .02em; }
.commander-stage__copy .verdict { margin-top: 45px; color: var(--blood-bright); font-family: Impact, sans-serif; font-size: clamp(2.4rem, 5vw, 4.8rem); text-transform: uppercase; letter-spacing: .02em; }
.commander__conclusion { margin: clamp(52px, 7vw, 78px) 0 clamp(20px, 2.5vw, 32px); text-align: center; text-transform: uppercase; }
.commander__conclusion p { margin: 0; color: #a99e8e; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.8rem, 4vw, 3.8rem); line-height: 1.15; }
.commander__conclusion p:last-child { margin-top: 16px; color: var(--bone); font-size: clamp(2.4rem, 5.5vw, 5.4rem); }

.doctrine { background: #100d0a; text-align: center; }
.doctrine__laws p { margin: clamp(30px, 4vw, 52px) 0; text-transform: uppercase; font-size: clamp(2.5rem, 7vw, 7rem); font-weight: 900; letter-spacing: -.035em; line-height: .9; }
.doctrine__laws em { color: var(--blood-bright); font-style: normal; }
.campaign { margin: 54px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border: 1px solid var(--line); }
.campaign li { padding: 24px 10px; border-right: 1px solid var(--line); text-transform: uppercase; font-weight: 900; letter-spacing: .13em; }
.campaign li:last-child { border: 0; }
.campaign span { display: block; color: var(--rust); margin-bottom: 6px; font-size: .6rem; }

.dead-boy { background: linear-gradient(115deg, #090806 50%, #14100c); }
.dead-boy h2 { font-size: clamp(5.25rem, 10vw, 9.5rem); line-height: .9; }
.display-line { margin: 34px 0 0; padding-top: 0; color: #a69b8b; text-transform: uppercase; font-size: clamp(1.8rem, 3.6vw, 3.8rem); line-height: 1.24; }
.display-line strong { color: var(--bone); }
.dead-boy__header { max-width: 980px; }
.dead-boy__sequence { margin-top: clamp(48px, 6vw, 72px); }
.dead-boy-stage { padding: clamp(34px, 4.5vw, 54px) 0; border-top: 1px solid var(--line); }
.dead-boy-stage__label { display: grid; grid-template-columns: 90px 1fr; gap: 20px; align-items: baseline; margin-bottom: clamp(35px, 5vw, 55px); }
.dead-boy-stage__label span { color: var(--rust); font-family: monospace; font-size: .6rem; text-transform: uppercase; letter-spacing: .16em; }
.dead-boy-stage__label h3 { margin: 0; color: var(--bone); font-size: clamp(2rem, 4vw, 4rem); line-height: 1; text-transform: uppercase; }
.dead-boy-beat { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: clamp(34px, 5vw, 72px); align-items: center; }
.dead-boy-beat--reverse { grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); }
.dead-boy-beat--reverse .dead-boy-visual { order: 2; }
.dead-boy-visual { position: relative; width: min(100%, 560px); margin: 0; overflow: hidden; border: 1px solid rgba(113,51,30,.7); background: #080604; }
.dead-boy-visual img { display: block; width: 100%; height: auto; }
.dead-boy-visual figcaption { position: absolute; inset: auto 0 0; padding: 10px 12px; color: #cbbfae; background: rgba(8,6,4,.82); text-transform: uppercase; font-size: .5rem; letter-spacing: .14em; }
.dead-boy-stage__copy { min-width: 0; color: #aaa092; font-family: Georgia, serif; font-size: clamp(1rem, 1.35vw, 1.15rem); }
.dead-boy-stage__copy p { margin: 0 0 24px; }
.dead-boy-stage__copy--wide { width: min(820px, 88%); margin-left: auto; }
.dead-boy__fragments { color: #d2c7b6; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.3rem, 2.5vw, 2.35rem); line-height: 1.35; text-transform: uppercase; }
.dead-boy__declaration { margin-block: clamp(32px, 5vw, 52px) !important; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2rem, 4.5vw, 4.4rem); line-height: 1; text-transform: uppercase; }
.dead-boy__declaration strong { color: var(--blood-bright); font-weight: inherit; }
.dead-boy__revelation { color: var(--blood-bright); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.2rem, 5vw, 4.8rem); line-height: .95; text-transform: uppercase; }
.dead-boy__signal-sequence { color: #bdb2a2; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.8rem, 4vw, 3.8rem); line-height: 1.22; text-transform: uppercase; }
.dead-boy__signal-sequence strong { color: var(--blood-bright); font-weight: inherit; }
.dead-boy-stage--signal, .dead-boy-stage--transmission { padding-block: clamp(42px, 6vw, 65px); }
.dead-boy__concert { margin-block: clamp(34px, 4.5vw, 48px) !important; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.7rem, 3.8vw, 3.6rem); line-height: 1.15; text-transform: uppercase; }
.dead-boy__concert strong { color: var(--blood-bright); font-weight: inherit; }
.dead-boy__transmission-cadence { padding-left: 22px; border-left: 2px solid var(--rust); color: #ccc1b0; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.3rem, 2.6vw, 2.4rem); line-height: 1.42; text-transform: uppercase; }
.dead-boy-stage--show { text-align: center; }
.dead-boy-stage--show .dead-boy-stage__label { text-align: left; }
.dead-boy-visual--show { width: min(78%, 820px); margin-inline: auto; }
.dead-boy-stage__show-copy { margin-top: clamp(34px, 4.5vw, 50px); }
.dead-boy__conclusion { margin: clamp(52px, 7vw, 78px) 0 clamp(16px, 2vw, 28px); text-align: center; text-transform: uppercase; }
.dead-boy__conclusion p { margin: 0; color: #a99e8e; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2rem, 4.5vw, 4.4rem); line-height: 1.12; }
.dead-boy__conclusion p:last-child { margin-top: 14px; color: var(--bone); font-size: clamp(3rem, 7vw, 7rem); }
.body-copy { padding-top: 48px; color: #aaa092; font-family: Georgia, serif; font-size: clamp(1rem, 1.5vw, 1.2rem); }
.body-copy p { margin: 0 0 24px; }
.stamped { margin-top: 55px !important; padding: 14px 18px; border: 1px solid var(--blood); color: #d7cbb7; font-family: "Arial Narrow", sans-serif; font-weight: 900; text-transform: uppercase; letter-spacing: .15em; transform: rotate(-1deg); }

.army { display: flex; align-items: center; background: radial-gradient(ellipse at bottom, #2a130d 0, #0a0907 55%); }
.army h2 { font-size: clamp(4.5rem, 13vw, 12rem); }
.army__image { position: relative; width: min(100%, 820px); margin: clamp(34px, 4.5vw, 54px) auto 0; overflow: hidden; border: 1px solid rgba(113,51,30,.72); background: #080604; }
.army__image img { display: block; width: 100%; height: auto; }
.army__image figcaption, .army-record figcaption { position: absolute; inset: auto 0 0; padding: 10px 12px; color: #cbbfae; background: rgba(8,6,4,.82); text-transform: uppercase; font-size: .5rem; letter-spacing: .15em; }
.army__statement { width: min(920px, 88%); margin: clamp(44px, 5.5vw, 64px) 0 0 auto; color: var(--muted); font-family: Georgia, serif; font-size: clamp(1rem, 1.35vw, 1.15rem); }
.army__opening { max-width: 760px; margin: 0; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.8rem, 3.8vw, 3.8rem); line-height: 1.08; text-transform: uppercase; }
.army__bridge { margin: clamp(35px, 5vw, 50px) 0 0; text-align: center; font-style: italic; }
.duality { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 22px; margin: 28px 0 0; color: var(--bone); font-family: Impact, sans-serif; text-align: center; text-transform: uppercase; font-size: clamp(2rem, 5vw, 5rem); line-height: .95; }
.duality span { color: var(--blood-bright); font-family: Georgia, serif; font-size: 1rem; font-style: italic; }
.army__legion-record { margin-top: clamp(48px, 6vw, 68px); display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(34px, 5vw, 70px); align-items: center; }
.army-record { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(113,51,30,.68); background: #080604; }
.army-record img { display: block; width: 100%; height: auto; }
.army__archive-copy { max-width: 720px; margin: 0; }
.army__archive-copy p { margin: 0 0 32px; }
.army__scale-line { color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.7rem, 3.5vw, 3.4rem); line-height: 1.08; text-transform: uppercase; }
.army__uncertainty { padding-left: 22px; border-left: 2px solid var(--rust); color: #c8bdad; font-style: italic; }
.army-record--advance { width: 100%; margin-top: clamp(52px, 7vw, 76px); }
.army__vows { margin: clamp(52px, 7vw, 76px) 0 0; padding: clamp(24px, 3.5vw, 38px) 0; border-block: 1px solid var(--line); }
.army__vows p { margin: 0; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2rem, 5.2vw, 5rem); line-height: 1.08; text-transform: uppercase; letter-spacing: -.02em; }
.army__vows p:nth-child(2) { color: #a99e8e; }
.army__march { margin: clamp(44px, 5.5vw, 65px) 0; color: var(--blood-bright); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.6rem, 7vw, 6.8rem); line-height: .9; text-align: center; text-transform: uppercase; }
.army__purpose { max-width: 720px; margin-left: auto; }
.army__ceremony { margin-top: 45px; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.6rem, 3vw, 2.8rem); text-transform: uppercase; }
.army__campaign { margin: clamp(42px, 5vw, 58px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border-block: 1px solid var(--line); }
.army__campaign li { padding: 28px 15px; border-right: 1px solid var(--line); color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; text-align: center; text-transform: uppercase; font-size: clamp(1rem, 2vw, 1.65rem); letter-spacing: .08em; }
.army__campaign li:last-child { border-right: 0; }
.army__campaign span { display: block; margin-bottom: 8px; color: var(--rust); font-family: monospace; font-size: .6rem; }
.army__soldier-record { margin-top: clamp(48px, 6vw, 70px); }
.army-record--soldier { width: 100%; }
.army__soldier-record > p { margin: clamp(35px, 5vw, 55px) 0 0; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.2rem, 5vw, 4.8rem); line-height: 1; text-align: center; text-transform: uppercase; }
.army__closing { margin: clamp(65px, 8vw, 90px) 0 clamp(14px, 1.5vw, 20px); text-align: center; }
.army__closing p { margin: 0; }
.army__closing p:first-child { color: #9c9284; font-style: italic; }
.army__closing p:last-child { margin-top: clamp(28px, 4vw, 45px); color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.2rem, 5.5vw, 5.4rem); line-height: 1; text-transform: uppercase; letter-spacing: .02em; }

.wars { background: #0c0a08; }
.wars .split { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(45px, 5vw, 72px); }
.wars .split > * { min-width: 0; }
.wars h2 { max-width: 100%; font-size: clamp(4.5rem, 7vw, 7.5rem); }
.designation { display: inline-block; margin-top: 35px; padding: 7px 12px; border-left: 3px solid var(--blood); background: rgba(143,18,13,.12); text-transform: uppercase; font-size: .75rem; letter-spacing: .23em; }
.xyphor-intro { padding-top: 18px; }
.xyphor-intro h3, .xyphor-chapter h3 { margin: 0 0 30px; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.75rem, 3vw, 3rem); line-height: 1; text-transform: uppercase; letter-spacing: .02em; }
.xyphor-before { position: relative; margin-top: clamp(38px, 5vw, 56px); overflow: hidden; border: 1px solid rgba(113,51,30,.68); background: #080604; }
.xyphor-before img { display: block; width: 100%; height: auto; aspect-ratio: 1000 / 563; object-fit: contain; filter: saturate(.82) contrast(1.04); }
.xyphor-before figcaption { position: absolute; inset: auto 0 0; padding: 12px 14px; color: #d5cbbb; background: rgba(8,6,4,.84); text-transform: uppercase; font-size: .64rem; letter-spacing: .15em; }
.xyphor-before figcaption span { margin-right: 10px; color: var(--rust); font-family: monospace; }
.xyphor-records { margin-top: clamp(38px, 5vw, 56px); }
.xyphor-chapter { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(34px, 5vw, 64px); align-items: center; padding: clamp(34px, 4.5vw, 54px) 0; border-top: 1px solid var(--line); }
.xyphor-chapter:nth-child(even) { grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr); }
.xyphor-chapter:nth-child(even) .xyphor-record { order: 2; }
.xyphor-chapter:last-child { padding-bottom: clamp(24px, 3vw, 36px); }
.xyphor-record { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(113,51,30,.68); background: #080604; }
.xyphor-record img { display: block; width: 100%; height: auto; aspect-ratio: 1000 / 560; object-fit: cover; filter: saturate(.78) contrast(1.06); transition: filter .25s ease; }
.xyphor-chapter:nth-child(2) .xyphor-record img { aspect-ratio: 1500 / 979; }
.xyphor-record:hover img { filter: saturate(.95) contrast(1.03); }
.xyphor-record figcaption { position: absolute; inset: auto 0 0; padding: 12px 14px; color: #d5cbbb; background: rgba(8,6,4,.84); text-transform: uppercase; font-size: .64rem; letter-spacing: .15em; }
.xyphor-record figcaption span { margin-right: 12px; color: var(--rust); font-family: monospace; }
.xyphor-chapter__copy { min-width: 0; padding-top: 0; }
.xyphor-chapter__copy strong { color: var(--bone); }
.xyphor-cadence { color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.25rem, 2.2vw, 2rem); line-height: 1.25; text-transform: uppercase; letter-spacing: .05em; }
.xyphor-declarations { padding-left: 18px; border-left: 2px solid var(--blood); color: #c8bdad; line-height: 1.75; }
.extinction { margin-top: clamp(24px, 3vw, 36px); margin-bottom: 0; padding-top: 28px; border-top: 1px solid var(--line); text-transform: uppercase; font-size: clamp(2rem, 5vw, 5.5rem); font-weight: 900; line-height: 1; }
.extinction strong { color: var(--blood-bright); }

.cathedral { background: linear-gradient(#0a0907, rgba(32,17,11,.9)); }
.cathedral-visual { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(113,51,30,.68); background: #080604; }
.cathedral-visual img { display: block; width: 100%; height: auto; }
.cathedral-visual figcaption { position: absolute; inset: auto 0 0; padding: 10px 12px; color: #cbbfae; background: rgba(8,6,4,.82); text-transform: uppercase; font-size: .5rem; letter-spacing: .14em; }
.cathedral-visual--exterior { width: min(100%, 850px); margin: clamp(38px, 5vw, 60px) auto 0; }
.cathedral__thesis { margin-top: clamp(44px, 6vw, 68px); display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(34px, 5vw, 70px); color: #aaa092; font-family: Georgia, serif; font-size: clamp(1rem, 1.4vw, 1.18rem); }
.cathedral__opening { margin: 0; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.2rem, 5vw, 4.8rem); line-height: 1; text-transform: uppercase; }
.cathedral__declaration { margin-block: clamp(32px, 5vw, 52px) !important; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2rem, 4.5vw, 4.3rem); line-height: 1; text-transform: uppercase; }
.cathedral__declaration strong { color: var(--blood-bright); font-weight: inherit; }
.cathedral__chapters { margin-top: clamp(48px, 6vw, 76px); }
.cathedral-chapter { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); gap: clamp(34px, 5vw, 70px); align-items: center; padding: clamp(36px, 4.5vw, 54px) 0; border-top: 1px solid var(--line); }
.cathedral-chapter--reverse { grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); }
.cathedral-chapter--reverse .cathedral-visual { order: 2; }
.cathedral-chapter__copy { min-width: 0; color: #aaa092; font-family: Georgia, serif; font-size: clamp(1rem, 1.35vw, 1.15rem); }
.cathedral-chapter__copy h3 { margin: 0 0 30px; color: var(--bone); font-size: clamp(2rem, 4vw, 4rem); line-height: 1; text-transform: uppercase; }
.cathedral-chapter__copy p { margin: 0 0 24px; }
.cathedral__control-language { padding-left: 22px; border-left: 2px solid var(--rust); color: #d0c5b4; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.35rem, 2.8vw, 2.6rem); line-height: 1.4; text-transform: uppercase; }
.cathedral__ritual { margin: clamp(35px, 5vw, 55px) 0; padding-block: 24px; border-block: 1px solid var(--line); }
.cathedral__ritual p { color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.7rem, 3.6vw, 3.5rem); line-height: 1.12; text-transform: uppercase; }
.cathedral__ritual p:last-child { margin-bottom: 0; color: var(--blood-bright); }
.cathedral__ritual span { display: block; margin-bottom: 6px; color: var(--muted); font-family: monospace; font-size: .58rem; letter-spacing: .16em; }
.cathedral__procedure { margin-top: clamp(48px, 6vw, 76px); padding-top: clamp(34px, 4.5vw, 52px); border-top: 1px solid var(--line); text-align: center; color: #aaa092; font-family: Georgia, serif; }
.transit-sequence { width: min(100%, 680px); margin: clamp(34px, 4.5vw, 52px) auto; padding: 0; list-style: none; }
.transit-sequence li { position: relative; padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--bone); text-align: center; text-transform: uppercase; font-size: clamp(1.8rem, 4vw, 3.8rem); font-weight: 900; letter-spacing: .07em; }
.transit-sequence li:not(:last-child)::after { content: "↓"; position: absolute; left: 50%; bottom: -18px; z-index: 1; color: var(--blood-bright); font-size: 1.2rem; transform: translateX(-50%); }
.cathedral__transit-copy { color: #c7bcac; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(1.3rem, 2.6vw, 2.4rem); line-height: 1.35; text-transform: uppercase; }
.cathedral__transit-copy p { margin: 0 0 8px; }
.cathedral__origin { width: min(720px, 88%); margin: clamp(48px, 6vw, 76px) 0 0 auto; padding-left: 22px; border-left: 2px solid var(--rust); color: #9f9587; font-family: Georgia, serif; font-style: italic; }
.cathedral__origin p { margin: 0 0 20px; }
.cathedral__conclusion { margin: clamp(58px, 7.5vw, 85px) 0 clamp(16px, 2vw, 28px); text-align: center; text-transform: uppercase; }
.cathedral__conclusion p { margin: 0; color: var(--muted); font-family: Georgia, serif; font-style: italic; }
.cathedral__conclusion p:last-child { margin-top: 25px; color: var(--bone); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.6rem, 6vw, 5.8rem); line-height: .98; font-style: normal; }

.recruitment { position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at center, rgba(106,18,11,.26), transparent 35%), #080705; text-align: center; }
.recruitment::before { content: ""; position: absolute; width: min(600px, 80vw); aspect-ratio: 1; border: 1px solid rgba(143,18,13,.2); border-radius: 50%; box-shadow: 0 0 0 90px rgba(143,18,13,.04), 0 0 0 180px rgba(143,18,13,.025); }
.recruitment__inner { position: relative; padding-block: clamp(48px, 5.5vw, 68px); }
.recruitment__prelude { margin: 0 0 45px; color: var(--muted); font-family: Georgia, serif; font-style: italic; }
.recruitment h2 { margin-bottom: 48px; font-size: clamp(3.2rem, 8vw, 8rem); }
.recruitment h2 span { color: var(--blood-bright); }
.induction-button--large { min-width: min(430px, 100%); padding: 24px 30px; font-size: 1.25rem; }
.fine-print { margin: 28px 0 0; color: #6f665b; text-transform: uppercase; font-size: .56rem; letter-spacing: .16em; }
.footer { border-top: 1px solid var(--line); padding: 30px 0; color: #71695f; text-transform: uppercase; font-size: .58rem; letter-spacing: .18em; }
.footer .shell { display: flex; justify-content: space-between; gap: 25px; }

.lost-signal { min-height: 100vh; display: grid; place-items: center; padding: 48px 24px; text-align: center; }
.lost-signal__code { margin: 0 0 18px; color: #bb7b60; text-transform: uppercase; font-size: .68rem; font-weight: 700; letter-spacing: .3em; }
.lost-signal h1 { font-size: clamp(4rem, 14vw, 10rem); }
.lost-signal p { max-width: 520px; margin: 30px auto; color: #afa596; font-family: Georgia, serif; font-size: 1.1rem; }
.lost-signal a { display: inline-flex; min-height: 48px; align-items: center; padding: 12px 20px; border: 1px solid #bd2116; text-decoration: none; text-transform: uppercase; font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.lost-signal a:focus-visible { outline: 2px solid #bd2116; outline-offset: 4px; }

@media (max-width: 1050px) {
  .transmission__grid { grid-template-columns: 1fr; gap: 56px; }
  .transmission h1 { font-size: clamp(3.35rem, 9vw, 5.5rem); }
}

@media (max-width: 820px) {
  :root { --shell: min(100% - 32px, 680px); }
  .nav { position: relative; min-height: 58px; }
  .nav__toggle { display: inline-flex; min-width: 82px; min-height: 44px; align-items: center; justify-content: center; gap: 10px; padding: 8px 10px; border: 1px solid rgba(222,213,196,.35); color: var(--bone); background: rgba(9,8,6,.92); text-transform: uppercase; font: inherit; font-size: .62rem; font-weight: 700; letter-spacing: .18em; cursor: pointer; }
  .nav__toggle i, .nav__toggle i::before, .nav__toggle i::after { display: block; width: 15px; height: 1px; background: currentColor; }
  .nav__toggle i { position: relative; }
  .nav__toggle i::before, .nav__toggle i::after { content: ""; position: absolute; left: 0; }
  .nav__toggle i::before { top: -5px; }
  .nav__toggle i::after { top: 5px; }
  .nav__toggle:focus-visible { outline: 2px solid var(--blood-bright); outline-offset: 3px; }
  .nav__links { position: absolute; top: 58px; right: 0; width: min(280px, calc(100vw - 32px)); display: none; flex-direction: column; gap: 0; border: 1px solid var(--line); background: rgba(9,8,6,.98); box-shadow: 0 14px 30px rgba(0,0,0,.55); }
  .nav__links.is-open { display: flex; }
  .nav__links a { min-height: 48px; display: flex; align-items: center; padding: 10px 18px; border-bottom: 1px solid var(--line); }
  .nav__links a:last-child { border-bottom: 0; }
  .hero { padding-top: 58px; }
  .hero > img { min-height: 0; object-fit: contain; }
  .hero__summons { position: static; transform: none; padding-block: 26px 34px; align-items: stretch; flex-direction: column; }
  .hero__summons .warning { position: static; }
  .warning { font-size: .68rem; }
  .induction-button { width: 100%; }
  .longplay-portal { width: 100%; }
  .hero__summons .longplay-portal { width: 100%; }
  .split { grid-template-columns: 1fr; }
  .split { gap: 25px; }
  .transmission h1 { font-size: clamp(3.35rem, 11vw, 5.5rem); }
  .commander__opening { width: 100%; }
  .commander__portrait { width: min(100%, 480px); }
  .commander-stage { grid-template-columns: 1fr; gap: 28px; }
  .commander-stage__label i { margin-top: 18px; }
  .commander-stage__copy--with-media, .commander-stage__copy--reverse, .origin-beat, .origin-beat--reverse, .origin-beat--resurrection { grid-template-columns: 1fr; gap: 30px; }
  .commander-stage--man .commander-stage__copy--with-media { grid-template-columns: 1fr; }
  .commander-stage--man .origin-visual--landscape img { height: auto; object-fit: contain; }
  .commander-stage__copy--reverse .origin-visual, .origin-beat--reverse .origin-visual { order: 0; }
  .origin-visual--portrait { width: min(100%, 480px); }
  .body-copy { padding-top: 25px; }
  .dead-boy .display-line { margin-top: 28px; }
  .dead-boy-stage__label { grid-template-columns: 1fr; gap: 8px; }
  .dead-boy-beat, .dead-boy-beat--reverse { grid-template-columns: 1fr; gap: 32px; }
  .dead-boy-beat--reverse .dead-boy-visual { order: 0; }
  .dead-boy-visual { width: min(100%, 520px); }
  .dead-boy-stage__copy--wide, .dead-boy-visual--show { width: 100%; }
  .army__statement { width: 100%; }
  .campaign { grid-template-columns: 1fr 1fr; }
  .campaign li { border-bottom: 1px solid var(--line); }
  .campaign li:nth-child(2) { border-right: 0; }
  .campaign li:nth-child(n+3) { border-bottom: 0; }
  .duality { grid-template-columns: 1fr; }
  .army__legion-record { grid-template-columns: 1fr; gap: 38px; }
  .army-record--company { width: min(100%, 480px); }
  .army__campaign { grid-template-columns: 1fr 1fr; }
  .army__campaign li:nth-child(2) { border-right: 0; }
  .army__campaign li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .cathedral__thesis, .cathedral-chapter, .cathedral-chapter--reverse { grid-template-columns: 1fr; gap: 32px; }
  .cathedral-chapter--reverse .cathedral-visual { order: 0; }
  .cathedral-visual { width: min(100%, 560px); }
  .cathedral-visual--exterior { width: 100%; }
  .cathedral__origin { width: 100%; }
  .xyphor-chapter, .xyphor-chapter:nth-child(even) { grid-template-columns: 1fr; gap: 38px; }
  .xyphor-chapter:nth-child(even) .xyphor-record { order: 0; }
}

@media (max-width: 480px) {
  .section { padding-block: 48px; }
  h1 { font-size: 3.9rem; }
  h2 { font-size: 3.6rem; }
  .track-list li { grid-template-columns: 28px clamp(70px, 22vw, 90px) minmax(0, 1fr) 18px; gap: 10px; padding-block: 10px; }
  .track-list strong { font-size: clamp(.72rem, 3vw, .9rem); }
  .track-list__play { width: 28px; height: 28px; }
  .campaign { grid-template-columns: 1fr; }
  .campaign li { border-right: 0; border-bottom: 1px solid var(--line) !important; }
  .campaign li:last-child { border-bottom: 0 !important; }
  .army__campaign { grid-template-columns: 1fr; }
  .army__campaign li { border-right: 0; border-bottom: 1px solid var(--line) !important; }
  .army__campaign li:last-child { border-bottom: 0 !important; }
  .footer .shell { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
