:root{
  --bg:#07090e;
  --bg2:#0b0d13;
  --ink:#e7dfcb;
  --muted:#918d83;
  --gold:#caa45d;
  --gold2:#e2c17d;
  --steel:#80939d;
  --line:rgba(231,223,203,.16);
  --line-soft:rgba(231,223,203,.08);
  --tone:#c8a05a;
  --header-h:72px;
  --max:1480px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,ui-sans-serif,sans-serif;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
::selection{background:rgba(202,164,93,.32);color:#fff}

#ambient-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.92}
.ambient-vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 30%,transparent 0 38%,rgba(3,4,7,.2) 68%,rgba(3,4,7,.78) 100%)}
.signal-thread{position:fixed;inset:0 auto 0 0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.7}
.signal-thread path{fill:none;stroke:rgba(202,164,93,.14);stroke-width:.18;stroke-dasharray:1.6 2.1;vector-effect:non-scaling-stroke}
.scroll-progress{position:fixed;z-index:100;top:0;left:0;right:0;height:2px;background:rgba(255,255,255,.05)}
.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#765f38,var(--gold2),#9aaab1);box-shadow:0 0 14px rgba(226,193,125,.35);transform-origin:left center}

.site-header{position:fixed;z-index:90;top:0;left:0;right:0;height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(18px,3vw,54px);border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s}
.site-header.is-scrolled{background:rgba(7,9,14,.74);border-color:var(--line-soft);backdrop-filter:blur(18px)}
.brand{display:inline-flex;align-items:center;gap:12px;width:max-content}
.brand-icon{width:32px;height:32px;border-radius:7px;box-shadow:0 0 0 1px rgba(202,164,93,.18);filter:saturate(.82) contrast(1.04)}
.brand-name{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;letter-spacing:.13em;font-size:13px;font-weight:700}
.main-nav{display:flex;gap:clamp(22px,3vw,46px);align-items:center}
.main-nav a{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);transition:color .2s}
.main-nav a:hover{color:var(--ink)}
.launch{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:14px 18px;border:1px solid rgba(202,164,93,.62);background:rgba(202,164,93,.1);color:var(--ink);font-weight:700;letter-spacing:.06em;transition:transform .22s,background .22s,border-color .22s;position:relative;overflow:hidden}
.launch:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.12),transparent 70%);transform:translateX(-120%);transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.launch:hover{transform:translateY(-2px);background:rgba(202,164,93,.18);border-color:var(--gold2)}
.launch:hover:before{transform:translateX(120%)}
.launch span,.quiet-link span{display:inline-block;transition:transform .2s}
.launch:hover span{transform:translate(2px,-2px)}
.launch-small{justify-self:end;padding:10px 13px;font-size:11px}
.quiet-link{display:inline-flex;gap:10px;align-items:center;color:#c8c0af;font-size:13px;border-bottom:1px solid rgba(231,223,203,.22);padding-bottom:3px;width:max-content}
.quiet-link:hover span{transform:translateY(2px)}

main,footer{position:relative;z-index:2}
section{position:relative;min-height:100vh;padding:clamp(90px,11vw,170px) clamp(20px,5vw,80px)}
.section-tone{--section-tone:var(--tone)}
.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.22em;font:600 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--tone)}
h1,h2,h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}
h1{font-size:clamp(58px,11vw,176px);line-height:.8;text-wrap:balance}
h1 span{font-style:italic;font-weight:400;color:#c9c1b0}
h2{font-size:clamp(52px,8.3vw,124px);line-height:.88;text-wrap:balance}
h3{font-size:clamp(34px,4vw,66px);line-height:.98}
p{color:#b3afa6}

.hero{height:100svh;min-height:690px;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--header-h) + 44px);overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:-3;overflow:hidden}
.hero-media picture,.hero-media img{width:100%;height:100%}
.hero-media img{object-fit:cover;object-position:center 42%;filter:saturate(.72) contrast(1.06) brightness(.58);transform:scale(1.04);will-change:transform}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,14,.14),rgba(7,9,14,.22) 42%,rgba(7,9,14,.94) 93%),linear-gradient(90deg,rgba(7,9,14,.84),rgba(7,9,14,.12) 56%,rgba(7,9,14,.4))}
.hero-depth{position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,rgba(202,164,93,.1),transparent 32%);mix-blend-mode:screen}
.hero-copy{width:min(1050px,92vw);padding-bottom:clamp(85px,10vh,126px)}
.hero-lede{font-size:clamp(17px,2vw,24px);max-width:660px;margin:28px 0 30px;color:#d1cab9;line-height:1.45}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hero-facts{position:absolute;right:clamp(22px,5vw,80px);bottom:clamp(34px,4vw,62px);display:flex;gap:clamp(14px,2vw,32px);align-items:flex-end;color:#8e8a80;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.hero-facts span{display:flex;flex-direction:column;gap:2px;min-width:65px;border-left:1px solid rgba(231,223,203,.16);padding-left:12px}
.hero-facts strong{font:400 clamp(20px,2.2vw,34px)/1 Georgia,"Times New Roman",serif;color:#d7cfbd;letter-spacing:-.03em}
.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;color:#6d6b65;font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em}
.scroll-cue i{width:36px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));position:relative;overflow:hidden}
.scroll-cue i:after{content:"";position:absolute;width:12px;height:1px;background:#fff;animation:cue 1.9s infinite ease-in-out}
@keyframes cue{0%{left:-15px;opacity:0}35%{opacity:1}100%{left:42px;opacity:0}}

.world{background:linear-gradient(180deg,#080a0f,#0b0d12 45%,#07090e)}
.section-intro{max-width:900px;margin:0 auto 90px}
.section-intro>p:last-child{font-size:clamp(17px,1.5vw,22px);max-width:680px;margin:28px 0 0}
.arc-rail{width:min(var(--max),100%);margin:auto;border-top:1px solid var(--line)}
.arc{display:grid;grid-template-columns:120px 1fr;gap:clamp(18px,4vw,72px);padding:clamp(38px,5vw,72px) 0;border-bottom:1px solid var(--line);position:relative}
.arc:before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--tone) 10%,transparent),transparent);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.arc:hover:before{width:100%}
.arc-index{font:italic 400 clamp(50px,6vw,90px)/1 Georgia,"Times New Roman",serif;color:color-mix(in srgb,var(--tone) 55%,#3e3d39);padding-top:7px}
.arc-copy{position:relative;z-index:1;max-width:980px}
.arc-kicker{font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--tone);margin:0 0 7px}
.arc h3{font-size:clamp(44px,6.5vw,90px)}
.arc p:not(.arc-kicker){max-width:760px;font-size:18px}
.arc-earth{--tone:#c8a05a}.arc-space{--tone:#91a9bd}.arc-home{--tone:#b2a58e}
.chapter-ribbon{margin-top:30px;color:#74736e;font-family:Georgia,"Times New Roman",serif;font-size:14px;line-height:1.8}
.world-line{display:flex;align-items:center;gap:9px;margin-top:34px;flex-wrap:wrap;font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#7c8c95}
.world-line i{width:30px;height:1px;background:rgba(145,169,189,.22)}

.survivors{--tone:#b88f6a;background:linear-gradient(135deg,#08090d 0%,#11100f 50%,#07090e 100%)}
.survivors:after{content:"";position:absolute;inset:8% 0 auto auto;width:48vw;height:70%;background:radial-gradient(ellipse at center,rgba(184,143,106,.08),transparent 65%);pointer-events:none}
.survivor-stage{width:min(var(--max),100%);margin:auto;min-height:75vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(50px,7vw,120px);align-items:center}
.survivor-copy>p:not(.eyebrow){font-size:18px;max-width:690px;margin:28px 0 34px}
.name-stream{display:flex;flex-wrap:wrap;gap:10px 18px;color:#827e75;font-family:Georgia,"Times New Roman",serif;font-style:italic}
.name-stream span:not(:last-child):after{content:"·";margin-left:18px;color:#4d4b47}
.survivor-notes{border-top:1px solid var(--line)}
.survivor-notes p{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:baseline;margin:0;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.survivor-notes b{font:400 18px Georgia,"Times New Roman",serif;color:#d8d0be}
.survivor-notes span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8a7764}

.homecoming{--tone:#879b98;background:#080a0e;overflow:hidden;padding-left:0;padding-right:0}
.homecoming-head{width:min(var(--max),calc(100% - 10vw));margin:0 auto 70px}
.homecoming-head h2{font-size:clamp(68px,11vw,160px)}
.homecoming-head>p:last-child{font-size:18px;max-width:720px}
.hc-shell{width:100%;display:grid;grid-template-columns:minmax(220px,26vw) 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:830px}
.hc-index{display:flex;flex-direction:column;border-right:1px solid var(--line);background:rgba(5,7,10,.54)}
.hc-tab{appearance:none;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:#7f7d76;display:grid;grid-template-columns:44px 1fr;gap:8px;text-align:left;padding:16px clamp(14px,2vw,30px);cursor:pointer;font-size:13px;transition:background .2s,color .2s,padding-left .2s}
.hc-tab span{font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace;color:#53534f;padding-top:3px}
.hc-tab:hover{color:#d6cebd;background:rgba(255,255,255,.025)}
.hc-tab.is-active{color:#fff;background:linear-gradient(90deg,color-mix(in srgb,var(--hc-tone,#879b98) 16%,transparent),transparent);padding-left:calc(clamp(14px,2vw,30px) + 8px)}
.hc-tab.is-active span{color:var(--hc-tone,#879b98)}
.hc-view{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(28px,4vw,60px);--hc-tone:#879b98}
.hc-glow{position:absolute;width:65vw;height:65vw;border-radius:50%;top:-30vw;right:-20vw;background:radial-gradient(circle,color-mix(in srgb,var(--hc-tone) 12%,transparent),transparent 65%);filter:blur(10px);transition:background .6s;pointer-events:none}
.hc-copy-wrap{position:relative;z-index:1;margin-bottom:34px;max-width:850px}
.hc-no{font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:var(--hc-tone);margin:0 0 8px}
.hc-copy-wrap h3{font-size:clamp(48px,7vw,100px)}
.hc-copy-wrap>p:last-child{font-size:16px;max-width:720px}
.hc-images{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(12px,2.4vw,34px);align-items:end;min-height:420px}
.hc-figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--line-soft);background:#090b0f;box-shadow:0 24px 70px rgba(0,0,0,.38)}
.hc-figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:opacity .28s,transform .8s cubic-bezier(.2,.8,.2,1),filter .6s;filter:saturate(.9) contrast(1.05)}
.hc-figure:hover img{transform:scale(1.018);filter:saturate(1) contrast(1.08)}
.hc-gear{transform:translateY(62px)}
.hc-figure figcaption{position:absolute;left:12px;bottom:10px;background:rgba(5,7,10,.76);backdrop-filter:blur(10px);padding:7px 9px;font:600 8px ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.15em;color:#bcb5a6}
.hc-meter{height:1px;background:var(--line-soft);margin-top:92px;position:relative}
.hc-meter span{position:absolute;left:0;top:0;height:1px;width:10%;background:var(--hc-tone);box-shadow:0 0 12px color-mix(in srgb,var(--hc-tone) 45%,transparent);transition:width .4s,background .4s}
.hc-view.is-switching .hc-figure img{opacity:.12;transform:scale(.985)}

.arsenal{--tone:#ca8446;background:linear-gradient(180deg,#080a0e,#0d0a08 55%,#07090e);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:clamp(40px,7vw,120px);align-items:start}
.arsenal-sticky{position:sticky;top:110px;min-height:76vh;display:flex;flex-direction:column;justify-content:space-between}
.arsenal .section-intro{margin:0;max-width:850px}
.gear-orbit{position:relative;width:min(520px,76vw);aspect-ratio:1;margin-top:40px;opacity:.68}
.orbit-ring{position:absolute;border:1px solid rgba(202,132,70,.18);border-radius:50%;inset:12%;animation:orbit 28s linear infinite}
.orbit-ring.r2{inset:27%;border-style:dashed;animation-direction:reverse;animation-duration:19s}.orbit-ring.r3{inset:41%;animation-duration:11s}
@keyframes orbit{to{transform:rotate(1turn)}}
.gear-node{position:absolute;font:600 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#8d6c52}.n1{top:7%;left:46%}.n2{right:4%;top:49%}.n3{bottom:5%;left:38%}.n4{left:2%;top:47%}
.gear-lines{padding-top:80px}
.gear-lines p{margin:0;display:grid;grid-template-columns:1fr auto;gap:30px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.gear-lines span{font:400 clamp(22px,2.6vw,36px) Georgia,"Times New Roman",serif;color:#d9d0bd}
.gear-lines em{font-style:normal;text-transform:uppercase;font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;color:#755a45}

.play{--tone:#b2a58e;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end}
.play-image{position:absolute;inset:0;z-index:-2}
.play-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.5) brightness(.35);transform:scale(1.08)}
.play-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,14,.96),rgba(7,9,14,.32) 62%,rgba(7,9,14,.76)),linear-gradient(0deg,#07090e 0%,transparent 45%)}
.play-copy{max-width:920px;padding-bottom:4vh}
.play-copy p:not(.eyebrow){font-size:18px;max-width:610px;margin:26px 0 34px}
.play code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#c9b991;font-size:.9em}
.launch-large{font-size:16px;padding:18px 24px}

footer{min-height:150px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:30px clamp(20px,5vw,80px);background:#06080c}
.footer-brand{justify-self:start}
footer p{margin:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5e5d58;text-align:center}
footer>.quiet-link{justify-self:end}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-mask{clip-path:inset(0 100% 0 0);opacity:.2;transition:clip-path 1.15s cubic-bezier(.2,.8,.2,1),opacity .8s}
.reveal-mask.is-visible{clip-path:inset(0 0 0 0);opacity:1}

@media(max-width:980px){
  .site-header{grid-template-columns:1fr auto}.main-nav{display:none}.launch-small{grid-column:2}
  .hero-facts{left:20px;right:20px;bottom:32px;justify-content:flex-start;overflow:auto;padding-bottom:4px}.hero-facts span{min-width:66px}
  .scroll-cue{display:none}.hero-copy{padding-bottom:145px}
  .arc{grid-template-columns:70px 1fr}.world-line{max-width:620px}
  .survivor-stage{grid-template-columns:1fr}.survivor-notes{max-width:720px}
  .hc-shell{grid-template-columns:1fr}.hc-index{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line);scroll-snap-type:x proximity}.hc-tab{min-width:170px;scroll-snap-align:start;border-bottom:0;border-right:1px solid var(--line-soft)}
  .hc-view{min-height:760px}.hc-images{grid-template-columns:1fr 1fr}.hc-gear{transform:translateY(36px)}
  .arsenal{grid-template-columns:1fr}.arsenal-sticky{position:relative;top:auto;min-height:auto}.gear-orbit{display:none}.gear-lines{padding-top:20px}
}
@media(max-width:680px){
  :root{--header-h:62px}.site-header{padding:0 16px}.brand-name{display:none}.launch-small{font-size:10px;padding:9px 10px}
  section{padding:94px 18px}.hero{padding:calc(var(--header-h) + 40px) 18px 20px;justify-content:flex-end}.hero-copy{padding-bottom:150px}.hero-lede{font-size:16px;max-width:92vw}.hero-actions{gap:14px}.launch{padding:13px 15px}.hero-facts{bottom:24px;gap:10px}.hero-facts span{padding-left:9px}.hero-facts span:nth-child(n+4){display:none}
  .section-intro{margin-bottom:55px}.arc{grid-template-columns:1fr;gap:10px;padding:38px 0}.arc-index{font-size:42px}.arc h3{font-size:52px}.arc p:not(.arc-kicker){font-size:16px}.chapter-ribbon{font-size:13px}
  .survivor-stage{gap:44px}.survivor-copy>p:not(.eyebrow){font-size:16px}.survivor-notes p{grid-template-columns:1fr}.survivor-notes span{margin-top:-12px}
  .homecoming{padding:94px 0}.homecoming-head{width:calc(100% - 36px);margin-bottom:46px}.homecoming-head>p:last-child{font-size:16px}.hc-view{padding:28px 18px 38px;min-height:780px}.hc-images{grid-template-columns:1fr;gap:14px}.hc-gear{transform:none}.hc-figure img{aspect-ratio:1.55}.hc-meter{margin-top:32px}.hc-tab{min-width:150px;padding:13px 15px;font-size:12px}
  .arsenal{padding:94px 18px}.gear-lines span{font-size:22px}.gear-lines p{gap:14px;padding:18px 0}.gear-lines em{text-align:right;font-size:8px}
  .play{padding:94px 18px 44px}.play-copy p:not(.eyebrow){font-size:16px}.launch-large{width:100%;font-size:15px}
  footer{grid-template-columns:1fr auto;padding:26px 18px}.footer-brand{grid-column:1}.footer-brand .brand-name{display:block}footer p{display:none}footer>.quiet-link{grid-column:2}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-mask{opacity:1;transform:none;clip-path:none;transition:none}.orbit-ring,.scroll-cue i:after{animation:none}.launch:before{display:none}}

/* Final motion pass — movement follows Horde Shift's signal language, not generic neon UI. */
.signal-thread path{transition:stroke .7s ease,opacity .7s ease}
.signal-thread .signal-ghost{stroke:color-mix(in srgb,var(--tone) 12%,transparent);stroke-width:.7;stroke-dasharray:none;filter:blur(2.2px);opacity:.26}
.signal-thread #signal-path{stroke:color-mix(in srgb,var(--tone) 34%,transparent)}
.main-nav a{position:relative}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:var(--tone);transition:right .28s cubic-bezier(.2,.8,.2,1),background .5s ease}
.main-nav a:hover:after,.main-nav a.is-current:after{right:0}
.main-nav a.is-current{color:var(--ink)}
.arc{transition:background .45s ease,padding-left .45s cubic-bezier(.2,.8,.2,1)}
.arc:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--tone) 5%,transparent),transparent 62%);padding-left:12px}
.hc-tab:focus-visible,.launch:focus-visible,.quiet-link:focus-visible,.main-nav a:focus-visible{outline:1px solid var(--gold2);outline-offset:4px}
.hc-view:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(112deg,transparent 0 47%,color-mix(in srgb,var(--hc-tone) 10%,transparent) 49.3%,transparent 51.7% 100%);transform:translateX(-115%);animation:hcSweep 9s ease-in-out infinite 1.8s}
@keyframes hcSweep{0%,72%,100%{transform:translateX(-115%);opacity:0}77%{opacity:.34}84%{transform:translateX(115%);opacity:.09}85%{opacity:0}}
.hc-copy-wrap,.hc-images,.hc-meter{z-index:1}

@media(prefers-reduced-motion:reduce){.hc-view:after{animation:none}.arc:hover{padding-left:0}}
