@font-face{font-family:Bungee;src:url('/fonts/Bungee-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Space Mono;src:url('/fonts/SpaceMono-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Space Mono;src:url('/fonts/SpaceMono-Bold.ttf') format('truetype');font-display:swap;font-weight:700}
:root{color-scheme:dark;background:#091116;color:#eef3f4;font-family:Space Mono,monospace;font-size:16px;line-height:1.8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;text-transform:uppercase}
header,main,footer{width:min(100% - 2.5rem,56rem);margin:auto}
header{padding:2rem 0 1.5rem;border-bottom:1px solid #3d525c}
header>a{color:#ffbd2e;text-decoration:none;font-weight:700}
nav{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;margin-top:1rem}
a{color:#7ce5ff;text-underline-offset:.3em;overflow-wrap:anywhere}
a:hover{color:#fff}
a:focus-visible{outline:3px solid #ffbd2e;outline-offset:5px}
nav a{padding:.5rem 0}
nav a[aria-current=page]{color:#ffbd2e}
main{padding:2.5rem 0 4rem}
h1{font-family:Bungee,monospace;font-size:clamp(2rem,5vw,3.5rem);line-height:1.25;margin:.5rem 0 1rem;overflow-wrap:anywhere}
h2{font-size:1.125rem;color:#ffbd2e;line-height:1.5;margin:2.5rem 0 .75rem}
p,ul{margin:.8rem 0 1.25rem}
li{margin-bottom:.75rem}
ul{padding-left:1.5rem}
.meta,footer{color:#abbac2;font-size:.875rem}
.exact{text-transform:none}
footer{padding:1.5rem 0 2.5rem;border-top:1px solid #3d525c}
.skip{position:absolute;z-index:10;left:1rem;top:-8rem;background:#091116;padding:.6rem}
.skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.links{list-style:none;padding:0}
.links a{display:block;border:1px solid #3d525c;padding:1.25rem;font-weight:700}
strong{font-weight:700}

.landing{background:#091116}
.landing header,.landing main,.landing footer{width:min(100% - 2.5rem,72rem)}
.landing header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 0}
.landing nav{margin-top:0}
.brand{font-size:.875rem;letter-spacing:.04em}
.landing main{padding:0}
.hero{display:flex;flex-direction:column;align-items:flex-start;padding:4rem 0 5rem}
.kicker,.section-number{color:#ffbd2e;font-weight:700;letter-spacing:.12em}
.hero h1{align-self:stretch;max-width:13ch;font-size:clamp(3.25rem,8vw,6.5rem);line-height:.92;margin:.75rem 0 1.5rem;letter-spacing:-.035em}
.hero h1 span{display:block;color:#ffbd2e}
.hero-copy{align-self:stretch;max-width:43rem;font-size:clamp(1rem,2vw,1.25rem);line-height:1.65;margin:0;color:#c7d1d5}
.video-shell{align-self:stretch;position:relative;aspect-ratio:16/9;margin-top:2.5rem;background:#010207;border:1px solid #3d525c}
.video-shell iframe{display:block;width:100%;height:100%;border:0}
.video-note{color:#abbac2;font-size:.875rem;margin:1rem 0 0}
.campaign-section{border-top:1px solid #3d525c;padding:5rem 0 6rem;scroll-margin-top:1rem}
.campaign-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,1.2fr);gap:.5rem 3rem;align-items:end;margin-bottom:2.5rem}
.campaign-heading .section-number{grid-column:1/-1;margin:0;font-size:.875rem}
.campaign-heading h2{max-width:13ch;font-family:Bungee,monospace;font-size:clamp(2rem,5vw,4rem);color:#eef3f4;line-height:1.05;margin:0}
.campaign-heading>p:last-child{max-width:38rem;color:#c7d1d5;line-height:1.8;margin:0}
.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;list-style:none;padding:1px;margin:0;background:#3d525c}
.stage-grid li{min-width:0;margin:0;background:#091116;overflow:hidden;transition:background-color .18s ease,transform .18s ease}
.stage-grid li:hover{background:#0d181e;transform:translateY(-2px)}
.stage-art{position:relative;aspect-ratio:700/240;margin:0;background:#010207;border-bottom:1px solid #3d525c;overflow:hidden}
.stage-art img{display:block;width:100%;height:100%;object-fit:contain}
.stage-art-locked{padding-block:.75rem;background:#05080d;text-align:center}
.stage-art-locked>img{opacity:.92;transform:scale(var(--silhouette-scale));transform-origin:center}
.silhouette-warhead{--silhouette-scale:1.9}
.silhouette-widow{--silhouette-scale:1.8}
.silhouette-void{--silhouette-scale:2.05}
.silhouette-gulper{--silhouette-scale:1.85}
.stage-details{min-height:12.5rem;padding:1.5rem}
.stage-grid span{display:block;color:#2ec7ff;font-size:.75rem;font-weight:700;letter-spacing:.1em}
.stage-grid h3{font-family:Bungee,monospace;font-size:1.35rem;line-height:1.2;margin:1.1rem 0 .75rem;color:#eef3f4}
.stage-grid p{color:#abbac2;font-size:.875rem;line-height:1.7;margin:0}
.story-section{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(18rem,.75fr);gap:clamp(2.5rem,7vw,6rem);align-items:center;border-top:1px solid #3d525c;padding:5rem 0 6rem;scroll-margin-top:1rem}
.story-copy .section-number{margin:0 0 1rem;font-size:.875rem}
.story-copy h2{max-width:13ch;font-family:Bungee,monospace;font-size:clamp(2rem,5vw,4rem);color:#eef3f4;line-height:1.05;margin:0 0 1.5rem}
.story-copy>p:last-child{max-width:45rem;color:#c7d1d5;font-size:1rem;line-height:1.8;margin:0}
.download-panel{padding:1.75rem;border:1px solid #3d525c;background:#010207}
.download-panel p{margin:0 0 1.25rem;color:#c7d1d5}
.download-button{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border:1px solid #ffbd2e;color:#091116;background:#ffbd2e;font-weight:700;text-decoration:none}
.download-button:hover{background:#fff;border-color:#fff;color:#091116}
.landing footer{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}
.footer-links{display:flex;gap:.75rem 1.25rem;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:52rem){
  .stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:44rem){
  .landing header{align-items:flex-start;flex-direction:column;gap:.5rem}
  .hero{padding:3.5rem 0 4rem}
  .hero h1{font-size:clamp(2.4rem,10vw,3.25rem)}
  .campaign-section{padding:4rem 0}
  .campaign-heading{display:block}
  .campaign-heading h2{margin:.75rem 0 1.25rem}
  .stage-grid{grid-template-columns:1fr}
  .stage-details{min-height:0}
  .story-section{display:block;padding:4rem 0}
  .download-panel{margin-top:2.5rem}
  .landing footer{display:block}
  .footer-links{justify-content:flex-start;margin-top:.75rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){
  .stage-grid li{transition:none}
}

@media print{
  :root{color-scheme:light;background:white;color:black}
  header,footer,nav,.skip{display:none}
  main{width:100%;padding:0}
  h1,h2,a{color:black}
  h2{break-after:avoid}
  p,li{orphans:3;widows:3}
  .landing .hero{min-height:auto;padding:2rem 0}
  .video-shell{display:none}
}
