
/* ===============================================================
   IDOL//THREAT teaser campaign. All existing NC-001 features remain.
   No remote fonts, trackers or external JS required.
   =============================================================== */
:root {--teaser-red:#ff446c;--teaser-pink:#ff51bc;--teaser-blue:#36d8ff}
html{scroll-padding-top:90px}
#transmission,#intel,#signal-log,#classic{scroll-margin-top:88px}
.nav .nav-signal{color:#ff6dbb;border:1px solid #ff6dbb60;padding:9px 11px;position:relative}
.nav .nav-signal::before{content:'●';font-size:.55rem;vertical-align:2px;margin-right:7px;color:#ff4e87;animation:teaserBlink 1.9s step-end infinite}
.promo-topline{background:#220d25;border-bottom:1px solid #ff4a9c55;padding:8px 0;text-align:center;font:700 .69rem Consolas,monospace;letter-spacing:.13em;color:#ffd5ee}
.promo-topline b{color:#ff628d}
.promo-topline .promo-divider{color:#6ae1f0;margin:0 20px}
.teaser-promo{position:relative;isolation:isolate;min-height:625px;overflow:hidden;border-bottom:1px solid #ff64aa58;background:#090812}
.teaser-promo::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 30% 30%,#63204966,transparent 49%),radial-gradient(circle at 92% 60%,#1127558a,transparent 54%),linear-gradient(140deg,#17081c,#090814 66%)}
.teaser-promo::after{content:'';position:absolute;pointer-events:none;inset:0;z-index:3;opacity:.18;background:repeating-linear-gradient(to bottom,transparent 0 7px,#c56ba11c 8px 9px);mix-blend-mode:screen}
.teaser-shell{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(25px,4vw,65px);align-items:center;padding:clamp(53px,6vw,88px) 0}
.teaser-copy{position:relative;z-index:4}
.teaser-status{display:flex;gap:10px;align-items:center;margin:0 0 19px;font:800 .7rem Consolas,monospace;letter-spacing:.2em;color:#ff9fc4}
.teaser-status::before{content:'';height:9px;width:9px;flex:none;background:#ff4776;box-shadow:0 0 0 5px #ff477525,0 0 23px #ff4b91;animation:teaserBlink 1.8s ease infinite}
.teaser-promo h2{font:900 clamp(3.6rem,7.6vw,7.3rem)/.89 Impact,Arial Black,sans-serif;letter-spacing:-.045em;margin:0 0 25px;max-width:650px;text-transform:uppercase;text-shadow:0 18px 42px #000b}
.teaser-promo h2 span{display:block;color:#ff5b9c;text-shadow:0 0 34px #c6157a7a}
.teaser-phase-two h2 span{background:linear-gradient(90deg,#ff61af,#f3c1ff 52%,#4ddaff);color:transparent;background-clip:text;-webkit-background-clip:text}
.teaser-intro{font:400 clamp(.99rem,1.5vw,1.13rem)/1.85 Segoe UI,Arial,sans-serif;color:#ead6ec;max-width:515px;margin:0 0 25px}
.teaser-intro strong{color:#fff}
.teaser-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.teaser-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 17px;font:800 .74rem Consolas,monospace;letter-spacing:.08em;border:1px solid #f865b8a1;background:#f7519d;color:#180819;box-shadow:0 12px 42px #fd248032;transition:transform .17s,box-shadow .17s}
.teaser-btn:hover{transform:translateY(-3px);box-shadow:0 16px 48px #fd24804f}
.teaser-btn-secondary{color:#ffdfef;background:#100b19;border-color:#ff79ba72;box-shadow:none}
.teaser-btn-secondary:hover{box-shadow:none;background:#24122d}
.teaser-checks{display:flex;flex-wrap:wrap;gap:11px;color:#c9b4d0;font:700 .63rem Consolas,monospace;letter-spacing:.11em;text-transform:uppercase}
.teaser-checks b{color:#ff6eab}
.teaser-imagebox{position:relative;z-index:2;border:1px solid #e84c9f8a;padding:8px;background:linear-gradient(155deg,#361126,#090c24);box-shadow:0 19px 75px #020207e0,0 0 65px #d4196d25;transform:rotate(1.25deg)}
.teaser-imagebox::after{content:'';position:absolute;inset:8px;pointer-events:none;border:1px solid #ffdfef2c}
.teaser-imagebox img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.teaser-ribbon{position:absolute;right:-15px;top:-22px;z-index:4;transform:rotate(6deg);background:#0a0915;color:#abffe8;border:1px solid #96f3d9;font:900 .63rem Consolas,monospace;letter-spacing:.09em;line-height:1.6;padding:10px 16px;box-shadow:0 6px 24px #000a}
.teaser-phase-one .teaser-ribbon{color:#ff9fac;border-color:#fc6589}
.teaser-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,#ff8ac416 48%,transparent 57%);animation:teaserSweep 7s linear infinite}
.teaser-phase-one .teaser-copy h2{word-break:normal}
.teaser-intel{padding:81px 0 80px;background:linear-gradient(170deg,#130c1e,#080914 64%);border-bottom:1px solid #f47aba4b}
.teaser-intel-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:28px}
.teaser-intel-head h2{font:900 clamp(2.3rem,5vw,4.4rem)/1 Impact,Arial Black,sans-serif;letter-spacing:.015em;margin:9px 0 0}
.teaser-intel-head h2 em{font-style:normal;color:#ff5ca9}
.teaser-intel-head p{max-width:350px;color:#bdaac9;font-size:.9rem;margin:0}
.teaser-eyebrow{color:#ff83b3;letter-spacing:.16em;font:800 .68rem Consolas,monospace}
.teaser-lockgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.teaser-lock{min-height:185px;padding:23px;position:relative;background:radial-gradient(circle at 85% 13%,#b40e5d20,transparent 54%),linear-gradient(145deg,#211226,#0c101a);border:1px solid #f56c9c4c;overflow:hidden}
.teaser-lock::after{content:attr(data-number);position:absolute;right:-9px;top:-28px;font:900 9rem Impact,sans-serif;color:#ffffff09;pointer-events:none}
.teaser-lock .lock-ico{font:800 2.4rem/1 Consolas,monospace;color:#ff639c;display:block;margin-bottom:24px}
.teaser-lock h3{font:900 1.16rem Arial Black,Impact,sans-serif;letter-spacing:.035em;margin:0 0 9px}
.teaser-lock p{font:.8rem/1.7 Consolas,monospace;color:#cdbcd5;margin:0}
.teaser-log{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:17px;margin-top:17px}
.teaser-terminal{background:#060c14;border:1px solid #a6ffe846;padding:25px;min-height:220px;box-shadow:inset 0 0 55px #2cecff08}
.teaser-terminal h3{font:900 1rem Consolas,monospace;letter-spacing:.09em;color:#a8ffe7;margin:0 0 18px}
.teaser-termline{font:700 .77rem/2.1 Consolas,monospace;color:#c6b9d6;margin:0;overflow-wrap:anywhere}
.teaser-termline span{color:#75ffe0}
.teaser-termline .warn{color:#ff7ea2}
.teaser-console-out{min-height:1.7em;color:#fb8cbd;font:700 .76rem/1.7 Consolas,monospace;margin:11px 0 0}
.teaser-press{background:#1a1122;border:1px solid #ef74ae4a;padding:25px;display:flex;flex-direction:column;justify-content:space-between}
.teaser-press h3{font:900 1.45rem Impact,Arial Black,sans-serif;letter-spacing:.06em;margin:12px 0}
.teaser-press p{font-size:.85rem;color:#dbcce3;line-height:1.75}
.teaser-press .teaser-btn{align-self:start;margin-top:12px;min-height:40px}
.teaser-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.teaser-news article{padding:22px;border-top:2px solid #ec519b;background:#140e1c}
.teaser-news time,.teaser-news small{font:700 .61rem Consolas,monospace;letter-spacing:.08em;color:#ff92b6}
.teaser-news h3{font:900 1.06rem Arial Black,Impact,sans-serif;margin:13px 0 9px}
.teaser-news p{font-size:.83rem;line-height:1.8;color:#c4b4ce;margin:0}
.teaser-signalgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.teaser-signal{display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid #ffffff35;background:#11101b;min-width:0}
.teaser-signal::before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:var(--signal-color);z-index:1}
.teaser-signal-art{height:225px;overflow:hidden;position:relative}
.teaser-signal-art::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#10101b)}
.teaser-signal img{width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:saturate(.8);transition:transform .32s}
.teaser-signal:hover img{transform:scale(1.04)}
.teaser-signal-content{padding:19px 22px 23px;flex:1}
.teaser-signal-count{font:700 .67rem Consolas,monospace;letter-spacing:.09em;color:var(--signal-color)}
.teaser-signal h3{font:900 1.75rem Impact,Arial Black,sans-serif;letter-spacing:.04em;margin:8px 0 3px}
.teaser-signal .track-title{font:800 .76rem/1.7 Consolas,monospace;color:#f6bdda;letter-spacing:.055em}
.teaser-signal p{font-size:.83rem;line-height:1.65;color:#bdb1ca;margin:12px 0 0}
.teaser-signal button{display:block;margin:0 22px 21px;border:1px solid var(--signal-color);background:transparent;color:#fff;padding:11px 12px;font:800 .69rem Consolas,monospace;letter-spacing:.08em;cursor:pointer}
.teaser-signal button:hover,.teaser-signal button[aria-pressed="true"]{background:#ffffff14}
.teaser-signal-detail{margin-top:17px;min-height:85px;border:1px solid #90e6ff5c;padding:18px 24px;background:#0a1320;color:#e6edff}
.teaser-signal-detail strong{display:block;margin-bottom:5px;color:#91eeff;font:800 .77rem Consolas,monospace;letter-spacing:.1em}
.teaser-signal-detail p{font:.87rem/1.7 Consolas,monospace;margin:0;color:#cbbfdc}
.teaser-legacy{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#391327,#151021);padding:15px 0}
.teaser-legacy .shell{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.teaser-legacy b{font:800 .81rem Consolas,monospace;color:#fff}
.teaser-legacy span{font:.71rem Consolas,monospace;color:#d3bad1}
.teaser-legacy a{font:800 .71rem Consolas,monospace;color:#9cffe5;letter-spacing:.04em}
#classic.hero{padding-top:50px}
@keyframes teaserBlink{50%{opacity:.2}}@keyframes teaserSweep{to{transform:translateY(160%)}}
@media(max-width:980px){.teaser-shell{grid-template-columns:1fr;gap:30px}.teaser-promo{min-height:0}.teaser-copy{max-width:720px}.teaser-imagebox{max-width:780px;width:100%;margin:auto}.teaser-intel-head{display:block}.teaser-intel-head p{margin-top:18px}.teaser-signal-art{height:175px}}
@media(max-width:780px){.nav .nav-signal{display:inline-flex!important}.teaser-shell{padding:42px 0 58px}.teaser-promo h2{font-size:clamp(3.6rem,12vw,6rem)}.teaser-lockgrid,.teaser-news,.teaser-signalgrid{grid-template-columns:1fr}.teaser-lock{min-height:128px}.teaser-lock .lock-ico{margin-bottom:12px}.teaser-signal{display:grid;grid-template-columns:38% 1fr}.teaser-signal-art{height:100%;min-height:205px;grid-row:1/3}.teaser-signal button{grid-column:2;margin:0 18px 20px}.teaser-signal-content{padding:18px}.teaser-signal h3{font-size:1.4rem}.teaser-log{grid-template-columns:1fr}.teaser-news{gap:10px}.teaser-intel{padding:62px 0}.teaser-imagebox{transform:none}.teaser-ribbon{right:0;top:-13px}}
@media(max-width:500px){.teaser-promo h2{font-size:13vw}.teaser-signal{grid-template-columns:34% 1fr}.teaser-signal-art{min-height:225px}.teaser-signal h3{font-size:1.22rem}.teaser-signal-content{padding:15px}.teaser-signal p{font-size:.75rem}.teaser-btn{width:100%}.teaser-ribbon{font-size:.51rem}.teaser-intro{font-size:.93rem}.teaser-news article{padding:17px}.teaser-lock h3{font-size:1rem}.promo-topline{font-size:.56rem;line-height:1.8}.promo-topline .promo-divider{margin:0 6px}}
@media(max-width:780px){.header .nav .nav-play{display:none}}
@media(max-width:450px){.header .nav a[href="stories.html"]{display:none}}
@media(max-width:690px){.stories-teaser .nav .nav-signal{display:none!important}}
@media(prefers-reduced-motion:reduce){.teaser-scan{display:none}.nav .nav-signal::before,.teaser-status::before{animation:none}}

.sigil-inline{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 12px currentColor)}
.sigil-mini{width:18px;height:18px;object-fit:contain}
.signal-sigil{width:24px;height:24px;object-fit:contain;margin-right:10px;vertical-align:-4px;filter:drop-shadow(0 0 12px currentColor)}
.member[data-idol="kira"] .sigil-inline,.member[data-idol="kira"] .sigil-mini,.signal-sigil.kira{color:#ff67b2}.member[data-idol="vex"] .sigil-inline,.member[data-idol="vex"] .sigil-mini,.signal-sigil.vex{color:#d1c8ff}.member[data-idol="riot"] .sigil-inline,.member[data-idol="riot"] .sigil-mini,.signal-sigil.riot{color:#7fe5ff}
.teaser-lock .lock-ico{display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px}.teaser-lock .lock-ico img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 16px currentColor)}
.teaser-signal h3{display:flex;align-items:center;gap:10px}
