
:root{
  --substrate-ink:#10172d;
  --substrate-ink-soft:#253049;
  --substrate-paper:#f7f1dc;
  --substrate-card:#fffaf0;
  --substrate-red:#9e1b1f;
  --substrate-gold:#b5891f;
  --substrate-mint:#dbe8de;
  --substrate-line:rgba(16,23,45,.18);
}
html{scroll-behavior:smooth;}
body{
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--substrate-ink);
  background:linear-gradient(180deg,#fffaf0 0%,#f7f1dc 48%,#eef1e8 100%);
  line-height:1.65;
}
a{color:var(--substrate-red);} a:hover{color:#711114;}
.site-nav{backdrop-filter:blur(16px); background:rgba(247,241,220,.86); border-bottom:1px solid var(--substrate-line);}
.navbar-brand img{height:104px;width:auto;}
.nav-link{font-weight:650; letter-spacing:.02em; color:var(--substrate-ink)!important;}
.btn-substrate{--bs-btn-bg:var(--substrate-red);--bs-btn-border-color:var(--substrate-red);--bs-btn-hover-bg:#7b1418;--bs-btn-hover-border-color:#7b1418;color:#fff;font-weight:750;letter-spacing:.03em;}
.btn-outline-substrate{--bs-btn-color:var(--substrate-ink);--bs-btn-border-color:var(--substrate-ink);--bs-btn-hover-bg:var(--substrate-ink);--bs-btn-hover-border-color:var(--substrate-ink);--bs-btn-hover-color:#fff;font-weight:700;}
.section-pad{padding:5rem 0;}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.24em;color:var(--substrate-red);font-weight:800;}
.display-serif{font-family: Georgia,"Times New Roman",serif;letter-spacing:.01em;}
.hero{position:relative;overflow:hidden;min-height:92vh;display:flex;align-items:center;border-bottom:1px solid var(--substrate-line);}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%, rgba(158,27,31,.22), transparent 28%),linear-gradient(90deg, rgba(247,241,220,.95), rgba(247,241,220,.82) 45%, rgba(247,241,220,.18));z-index:1;}
.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,23,45,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(16,23,45,.035) 1px, transparent 1px);background-size:34px 34px;mix-blend-mode:multiply;z-index:2;pointer-events:none;}
.hero-bg{position:absolute;inset:0;background:url('../img/posters/vk_poster_induction.webp') center right/contain no-repeat;opacity:.64;filter:saturate(.9) contrast(1.03);}
.hero-content{position:relative;z-index:3;max-width:780px;}
.terminal{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;background:rgba(16,23,45,.96);color:#f7f1dc;border:1px solid rgba(181,137,31,.5);box-shadow:0 20px 60px rgba(16,23,45,.18);}
.terminal .bar{display:flex;gap:.4rem;border-bottom:1px solid rgba(247,241,220,.12);padding:.8rem 1rem;}
.dot{width:.72rem;height:.72rem;border-radius:50%;background:var(--substrate-gold);opacity:.72;}
.terminal-output{min-height:3.5rem;padding:1rem;font-size:.95rem;}
.cursor{display:inline-block;width:.55rem;height:1rem;background:#f7f1dc;margin-left:.16rem;animation:blink 1s steps(1) infinite;vertical-align:-.12rem;}@keyframes blink{50%{opacity:0}}
.poster-card,.episode-card,.asset-card{background:rgba(255,250,240,.78);border:1px solid var(--substrate-line);border-radius:1.25rem;box-shadow:0 20px 50px rgba(16,23,45,.07);}
.poster-card img{border-radius:1rem;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;}
.episode-number{font-family:Georgia,"Times New Roman",serif;font-size:4rem;line-height:1;color:rgba(158,27,31,.16);font-weight:900;}
.synopsis-panel{background:linear-gradient(135deg,rgba(16,23,45,.95),rgba(37,48,73,.95));color:#fff;border-radius:1.5rem;}
.synopsis-panel p{color:rgba(255,255,255,.8);}
.embed-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:1.25rem;overflow:hidden;box-shadow:0 24px 60px rgba(16,23,45,.18);background:#111;}
.embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.cast-card{border:0;background:transparent;text-align:center;}
.cast-card img{width:100%;max-width:190px;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:5px solid #fff;box-shadow:0 14px 34px rgba(16,23,45,.15);}
.cast-role{font-size:.88rem;color:var(--substrate-red);font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.creator-img{max-height:420px;object-fit:cover;border-radius:1.25rem;box-shadow:0 25px 65px rgba(16,23,45,.16);}
.footer{background:var(--substrate-ink);color:rgba(255,255,255,.78);}.footer a{color:#f7f1dc;}
.internal-hero{padding:8rem 0 4rem;background:linear-gradient(135deg,var(--substrate-ink),#23304c);color:white;}
.content-block{background:rgba(255,250,240,.85);border:1px solid var(--substrate-line);border-radius:1.25rem;padding:2rem;}
@media (max-width:991px){.hero{min-height:auto;padding:8rem 0 4rem}.hero-bg{opacity:.18;background-size:cover}.section-pad{padding:3.5rem 0}.display-2{font-size:3.2rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}}

.hero-bg-still{background:url('../img/stills/hero-brighton-system.webp') center right/cover no-repeat;opacity:.52;filter:saturate(.78) contrast(1.06);}
.scene-section{margin-top:-2rem;position:relative;z-index:4;}
.still-card{position:relative;overflow:hidden;border-radius:1.25rem;background:#fff;border:1px solid var(--substrate-line);box-shadow:0 20px 50px rgba(16,23,45,.08);}
.still-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;filter:saturate(.9) contrast(1.03);}
.still-card.feature img{height:100%;min-height:430px;aspect-ratio:auto;}
.still-caption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.85rem 1rem;border-radius:.9rem;background:rgba(16,23,45,.82);color:#fff;font-weight:650;backdrop-filter:blur(10px);}
.content-block img{box-shadow:0 16px 38px rgba(16,23,45,.08);}
@media (max-width:991px){.still-card.feature img{min-height:0;aspect-ratio:16/10}.scene-section{margin-top:0}.hero-bg-still{opacity:.23}}

/* Version 2: quiet system interactions */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}
.classified-card{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;background:linear-gradient(180deg,rgba(255,250,240,.92),rgba(247,241,220,.78));}
.classified-card:hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(16,23,45,.11);}
.classified-card:before{content:"CONFIDENTIAL / SUBSTRATE";position:absolute;top:1rem;right:-3.2rem;transform:rotate(34deg);font-size:.62rem;letter-spacing:.16em;font-weight:900;color:rgba(158,27,31,.22);border-top:1px solid rgba(158,27,31,.18);border-bottom:1px solid rgba(158,27,31,.18);padding:.22rem 2.8rem;pointer-events:none;}
.classified-toggle{appearance:none;border:0;background:transparent;color:inherit;text-align:left;padding:0;width:100%;}
.classified-toggle:focus-visible,.cast-button:focus-visible{outline:3px solid rgba(158,27,31,.35);outline-offset:4px;border-radius:1rem;}
.file-stamp{display:inline-block;margin:.45rem 0 .75rem;padding:.18rem .48rem;border:1px solid rgba(158,27,31,.28);border-radius:.35rem;color:var(--substrate-red);font-size:.68rem;font-weight:900;letter-spacing:.14em;}
.open-file{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--substrate-red);}
.open-file:after{content:"+";font-size:1rem;line-height:1;}
.classified-toggle[aria-expanded="true"] .open-file:after{content:"–";}
.classified-detail{border-top:1px solid var(--substrate-line);margin-top:1rem;padding-top:1rem;font-size:.96rem;color:var(--substrate-ink-soft);}
.cast-button{appearance:none;border:0;background:transparent;color:inherit;text-align:center;width:100%;padding:0;}
.profile-link{display:inline-block;margin-top:.15rem;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(16,23,45,.55);}
.substrate-modal{background:var(--substrate-card);border:1px solid var(--substrate-line);border-radius:1.25rem;color:var(--substrate-ink);}
.substrate-modal .modal-header{border-bottom:1px solid var(--substrate-line);}
.modal-cast-img{width:112px;height:112px;object-fit:cover;border-radius:50%;border:4px solid #fff;box-shadow:0 12px 28px rgba(16,23,45,.15);flex:0 0 auto;}
.modal-profile{color:var(--substrate-ink-soft);}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.classified-card:hover{transform:none}}
