/* Fortunes Audited — shared styles */
/* Colors and type follow the channel logo + banner: cream Didone on ledger-lined black, red check, mono tags */
:root {
  --bg:#141518; --bg-2:#0F1013; --panel:#1B1C20; --line:#25272C; --line-2:#3A3C42;
  --text:#EEE8DD; --text-2:#CBC5BA; --muted:#928D84;
  --accent:#E3AA3A; --check:#E0453A; --red:#EC5A4D; --green:#8DB886; --amber:#E9C46A;
  --accent-ink:#1A1306; --gold-tint:rgba(227,170,58,.1);
  --paper:#EEE8DD; --ink:#141518; --ink-muted:#5E5A53;
  --display:'Playfair Display', 'Didot', 'Bodoni 72', Georgia, serif;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans:'Geist', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, Menlo, monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img { max-width:100%; }
button { font:inherit; }
.wrap { max-width:1160px; margin:0 auto; padding:0 28px; }
.narrow { max-width:760px; }
section { scroll-margin-top:72px; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

/* Type */
.label { font:600 11.5px/1.5 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.label.accent, .accent { color:var(--accent); }
.serif { font-family:var(--serif); }
.sec-title { font:900 30px/1.05 var(--display); letter-spacing:.01em; text-transform:uppercase; margin:0; }
.v-clean { color:var(--green); } .v-qualified { color:var(--amber); } .v-adverse { color:var(--red); } .v-going { color:var(--text); }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:0 22px; border:1px solid var(--line-2); border-radius:8px; background:rgba(255,255,255,.02); color:var(--text); font:500 12.5px/1 var(--mono); letter-spacing:.07em; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.btn:hover { border-color:var(--muted); background:rgba(255,255,255,.05); transform:translateY(-1px); }
.btn.solid { background:var(--text); border-color:var(--text); color:var(--bg); font-weight:600; box-shadow:0 6px 20px -10px rgba(238,232,221,.35); }
.btn.solid:hover { background:#fff; border-color:#fff; box-shadow:0 10px 26px -10px rgba(238,232,221,.45); }
.btn svg { width:11px; height:11px; flex:none; }
.textlink { font:600 12px var(--sans); letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:var(--muted); }
.textlink:hover { color:var(--text); }

/* Header */
.site-header { position:sticky; top:0; z-index:20; background:rgba(19,19,19,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.site-header .wrap { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:64px; }
.logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo img { width:36px; height:36px; display:block; }
.logo .word { font:900 17px/1 var(--display); letter-spacing:.02em; text-transform:uppercase; white-space:nowrap; }
.site-header nav { display:flex; align-items:center; gap:28px; }
.site-header nav > a:not(.btn) { font:600 11.5px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-decoration:none; }
.site-header nav > a:not(.btn):hover, .site-header nav > a[aria-current="page"] { color:var(--text); }
.site-header nav .btn { min-height:38px; padding:0 16px; }

/* Latest-case bar above the header */
.strip { background:#1B1710; border-bottom:1px solid rgba(227,170,58,.22); }
.strip .wrap { display:flex; align-items:center; gap:14px; min-height:42px; font:500 11.5px var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--text-2); white-space:nowrap; }
.strip .pulse { flex:none; width:8px; height:8px; border-radius:50%; background:var(--accent); animation:pulse 2.2s ease-out infinite; }
@keyframes pulse { 0% { box-shadow:0 0 0 0 rgba(227,170,58,.55); } 70% { box-shadow:0 0 0 9px rgba(227,170,58,0); } 100% { box-shadow:0 0 0 0 rgba(227,170,58,0); } }
.strip .new { flex:none; color:var(--accent); font-weight:600; }
.strip .t { min-width:0; overflow:hidden; text-overflow:ellipsis; color:var(--text); text-decoration:none; text-transform:none; letter-spacing:0; font:500 14px var(--sans); }
.strip .t:hover { text-decoration:underline; text-underline-offset:3px; }
.strip .v { flex:none; }
.strip .go { flex:none; margin-left:auto; color:var(--accent); text-decoration:none; font-weight:600; }
.strip .go:hover { color:#fff; }

/* Ledger-line backdrop (from the logo) */
.ledger { background-image:repeating-linear-gradient(to bottom, transparent 0 39px, var(--line) 39px 40px); }
.gridlines { position:relative; overflow:hidden; }
.gridlines::before { content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(to bottom, transparent 0 39px, var(--line) 39px 40px); opacity:.9; }

/* Hero */
.hero { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:48px; align-items:center; padding-block:72px 80px; }
.hero-copy { flex:1 1 440px; min-width:0; }
.hero h1 { font:700 clamp(40px,4.5vw,60px)/1.04 var(--display); letter-spacing:-.01em; margin:18px 0 22px; }
.hero h1 em { font-style:italic; font-weight:500; }
.hero h1 .tick { display:inline-block; width:.62em; height:.5em; margin-left:.12em; vertical-align:baseline; color:var(--check); }
.hero .sub { font:600 16px var(--sans); margin:0 0 8px; }
.hero .lede { font:400 19px/1.55 var(--serif); color:var(--text-2); max-width:46ch; margin:0 0 32px; }
.ctas { display:flex; flex-wrap:wrap; gap:10px; }

/* Visual-led top fold: short headline, featured episode, animated audit sheet */
.fold { position:relative; z-index:1; padding-block:52px 72px; }
.top-head { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; flex-wrap:wrap; margin-bottom:36px; }
.top-head h1 { font:700 clamp(40px,5vw,66px)/1.02 var(--display); letter-spacing:-.01em; margin:14px 0 0; max-width:17ch; }
.top-head h1 em { font-style:italic; font-weight:500; color:var(--accent); }
.stage { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:44px; align-items:center; }
.feature { position:relative; display:block; width:100%; border:0; padding:0; border-radius:14px; overflow:hidden; cursor:pointer; background:var(--panel); color:var(--text); text-align:left; box-shadow:0 40px 80px -40px rgba(0,0,0,.85), 0 0 0 1px rgba(227,170,58,.22); }
.feature .pic { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#000; }
.feature img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.feature:hover img { transform:scale(1.035); }
.feature .shade { display:none; }
.feature .info { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px 20px; border-top:1px solid rgba(227,170,58,.22); }
.feature .tag { display:block; font:600 11.5px var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.feature .ttl { display:block; font:700 clamp(20px,2.2vw,28px)/1.15 var(--display); max-width:24ch; }
.feature .pplay { flex:none; width:68px; height:68px; border-radius:50%; background:var(--accent); color:var(--accent-ink); display:flex; align-items:center; justify-content:center; transition:transform .25s, background .25s; box-shadow:0 10px 30px -8px rgba(227,170,58,.6); }
.feature .pplay svg { width:20px; height:20px; margin-left:3px; }
.feature:hover .pplay { transform:scale(1.07); background:#F0BE55; }
.stage .desk { padding:4px 0 30px; }
.stage .sheet { width:min(400px,100%); }

/* Animated audit document */
.desk { flex:1 1 420px; position:relative; display:flex; justify-content:center; padding:12px 8px 34px; min-width:0; }
.sheet-back { position:absolute; width:min(430px,86%); height:86%; top:30px; background:var(--paper); opacity:.18; transform:rotate(3.5deg); }
.sheet { position:relative; width:min(430px,100%); background:var(--paper); color:var(--ink); padding:24px 26px 28px; transform:rotate(-1.2deg); box-shadow:0 40px 80px -30px rgba(0,0,0,.7); overflow:hidden; }
.sheet .top { display:flex; justify-content:space-between; gap:12px; font:500 10.5px var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-muted); padding-bottom:12px; border-bottom:1.5px solid var(--ink); }
.sheet .subject { font:900 26px/1.1 var(--display); letter-spacing:-.01em; margin:16px 0 4px; min-height:1.15em; }
.sheet .sub2 { font:500 10.5px var(--mono); color:var(--ink-muted); letter-spacing:.1em; text-transform:uppercase; margin-bottom:12px; }
.rows { position:relative; }
.row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 2px; border-bottom:1px solid rgba(0,0,0,.12); font:400 15px var(--sans); opacity:0; transform:translateY(6px); transition:opacity .35s, transform .35s; }
.row.in { opacity:1; transform:none; }
.row .k { color:var(--ink-muted); }
.row .v { position:relative; font:600 14.5px var(--mono); font-variant-numeric:tabular-nums; }
.row .v svg { position:absolute; left:-14px; top:-9px; width:calc(100% + 28px); height:calc(100% + 18px); overflow:visible; pointer-events:none; }
.row .v ellipse { fill:none; stroke:#C2412F; stroke-width:2.2; stroke-dasharray:1; stroke-dashoffset:1; stroke-linecap:round; }
.row.flag .v ellipse { animation:draw .7s ease-out forwards; }
.row .note { position:absolute; right:calc(100% + 18px); top:50%; transform:translateY(-50%) rotate(-3deg); font:italic 500 16px var(--serif); color:#C2412F; white-space:nowrap; opacity:0; transition:opacity .4s .5s; }
.row.flag .note { opacity:1; }
@keyframes draw { to { stroke-dashoffset:0; } }
.scan { position:absolute; left:-26px; right:-26px; height:42px; top:0; background:rgba(224,69,58,.08); border-bottom:1.5px solid #C2412F; opacity:0; pointer-events:none; transition:top .45s ease-in-out, opacity .3s; }
.scan.on { opacity:1; }
.sheet .sig { display:flex; justify-content:space-between; align-items:end; margin-top:20px; font:500 10.5px var(--mono); color:var(--ink-muted); letter-spacing:.1em; text-transform:uppercase; }
.sheet .sig .line { width:130px; border-bottom:1px solid var(--ink); height:22px; font:italic 600 18px var(--serif); text-transform:none; letter-spacing:0; color:var(--ink); }
.big-stamp { position:absolute; right:22px; bottom:42px; max-width:calc(100% - 44px); border:3px solid currentColor; padding:8px 12px; font:600 16px var(--mono); letter-spacing:.1em; white-space:nowrap; text-transform:uppercase; transform:rotate(-12deg) scale(2.4); opacity:0; mix-blend-mode:multiply; pointer-events:none; }
.big-stamp small { display:block; font-size:8.5px; letter-spacing:.22em; text-align:center; border-top:1.5px solid currentColor; margin-top:4px; padding-top:3px; }
.big-stamp.down { animation:thump .45s cubic-bezier(.2,1.6,.4,1) forwards; }
@keyframes thump { 0% { opacity:0; transform:rotate(-12deg) scale(2.4); } 70% { opacity:.95; transform:rotate(-12deg) scale(.94); } 100% { opacity:.9; transform:rotate(-12deg) scale(1); } }
.sheet.shake { animation:shake .3s .32s; }
@keyframes shake { 0%,100% { transform:rotate(-1.2deg); } 40% { transform:rotate(-1.2deg) translate(1px,2px); } 70% { transform:rotate(-1.2deg) translate(-1px,-1px); } }
.desk-caption { position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:10px; }

/* Subject wall (text marquee) */
.wall { border-block:1px solid var(--line); overflow:hidden; background:var(--bg-2); }
.wall .track { display:flex; gap:56px; width:max-content; padding-block:18px; animation:slide 60s linear infinite; }
.wall span { display:inline-flex; align-items:center; gap:12px; font:600 12px var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--text-2); white-space:nowrap; }
.wall img { width:30px; height:30px; padding:4px; border-radius:7px; background:var(--paper); object-fit:contain; flex:none; }
@keyframes slide { to { transform:translateX(-50%); } }

/* Sections */
.block { padding-block:88px 0; }
.sec-top { display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:22px; }

/* Catalog */
.chips-label { margin:0 0 10px; }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:32px; }
.chip { min-height:38px; padding:0 15px; border:1px solid var(--line-2); border-radius:999px; background:transparent; color:var(--muted); font:500 11.5px var(--mono); letter-spacing:.07em; text-transform:uppercase; cursor:pointer; transition:background .2s, color .2s, border-color .2s; }
.chip:hover { color:var(--text); border-color:var(--muted); }
.chip[aria-pressed="true"] { background:var(--text); border-color:var(--text); color:var(--bg); }
.chip .n { opacity:.6; margin-left:6px; font-weight:500; }
.grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:44px 24px; }
.ep { display:flex; flex-direction:column; min-width:0; }
.frame { position:relative; display:block; width:100%; aspect-ratio:16/9; padding:0; border:0; border-radius:8px; background:#000; cursor:pointer; overflow:hidden; }
.frame img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s, opacity .3s; }
.frame:hover img { transform:scale(1.03); }
.frame .pbtn { position:absolute; left:12px; bottom:12px; width:38px; height:38px; border-radius:50%; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); color:#fff; display:flex; align-items:center; justify-content:center; transition:background .2s, transform .2s; }
.frame .pbtn svg { width:12px; height:12px; margin-left:2px; }
.frame:hover .pbtn { background:var(--text); color:var(--bg); transform:scale(1.06); }
.frame .seal { position:absolute; right:10px; top:10px; }
.frame .len { position:absolute; right:10px; bottom:12px; background:rgba(0,0,0,.72); color:#fff; font:500 11.5px var(--mono); padding:3px 7px; border-radius:4px; }
.seal { display:inline-block; background:rgba(13,13,13,.92); border:1.5px solid currentColor; padding:3px 8px; font:600 10.5px var(--mono); letter-spacing:.12em; text-transform:uppercase; transform:rotate(-3deg); }
.ep .meta { margin:16px 0 8px; }
.ep h3 { margin:0 0 14px; font:600 16px/1.35 var(--sans); letter-spacing:-.005em; }
.ep h3 a { text-decoration:none; } .ep h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.acts { display:flex; gap:18px; align-items:center; padding-top:12px; border-top:1px solid var(--line); margin-top:auto; }
.acts a, .acts button { display:inline-flex; align-items:center; gap:8px; min-height:32px; padding:0; border:0; background:none; color:var(--muted); font:600 11.5px var(--mono); letter-spacing:.12em; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.acts a:hover, .acts button:hover { color:var(--text); }
.acts svg { width:11px; height:11px; }
.acts .sep { width:1px; height:12px; background:var(--line-2); }
.empty { color:var(--muted); }

/* Split rows (method, verdicts, about) */
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:48px; border-top:1px solid var(--line); padding-top:36px; }
.split .intro p:not(.label) { color:var(--muted); margin:12px 0 0; max-width:34ch; }
.split .intro .label { margin:0 0 10px; }
.cols3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.cols3 > div { padding:0 24px 0 0; }
.cols3 > div + div { padding-left:24px; border-left:1px solid var(--line); }
.cols3 .n { font:500 12px var(--mono); color:var(--accent); }
.cols3 h3 { font:500 24px/1.15 var(--serif); margin:10px 0 8px; }
.cols3 p { margin:0; color:var(--muted); font-size:15px; }
.vlist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
.vlist > div { display:flex; gap:18px; align-items:baseline; padding:18px 0; border-bottom:1px solid var(--line); }
.vlist .seal { flex:none; width:128px; text-align:center; transform:none; background:none; }
.vlist p { margin:0; color:var(--text-2); font-size:15px; }
.about-copy p { font:400 20px/1.6 var(--serif); color:var(--text-2); margin:0 0 18px; }
.about-copy blockquote { margin:0 0 26px; font:italic 500 clamp(26px,3vw,36px)/1.25 var(--serif); color:var(--text); }
.facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); margin-top:28px; }
.facts div { padding:16px 16px 0 0; }
.facts b { display:block; font:700 22px var(--display); color:var(--text); }
.facts span { font-size:13px; color:var(--muted); }

/* Flags teaser */
.teasers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); }
.teasers a { display:block; padding:26px; text-decoration:none; border-right:1px solid var(--line); transition:background .2s; }
.teasers a:last-child { border-right:0; }
.teasers a:hover { background:var(--panel); }
.teasers h3 { font:500 24px/1.2 var(--serif); margin:10px 0 8px; }
.teasers p { margin:0; color:var(--muted); font-size:15px; }

/* Suggest band */
.band { border:1px solid var(--line); border-radius:12px; background:var(--bg-2); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; padding:40px; }
.band h2 { font:500 clamp(28px,3.2vw,40px)/1.1 var(--serif); margin:8px 0 8px; }
.band p:not(.label) { margin:0; color:var(--muted); max-width:56ch; }
.band .label { margin:0; }

/* Modal player */
.modal { position:fixed; inset:0; z-index:50; background:rgba(5,5,5,.9); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:24px; }
.modal[hidden] { display:none; }
.modal .box { width:min(1080px,100%); }
.modal .bar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; }
.modal .bar h3 { margin:0; font:500 20px/1.3 var(--serif); }
.modal .close { flex:none; width:44px; height:44px; border:1px solid var(--line-2); border-radius:50%; background:var(--bg); color:var(--text); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .2s; }
.modal .close:hover { border-color:var(--muted); }
.modal .close svg { width:16px; height:16px; }
.modal .below { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.vid { position:relative; aspect-ratio:16/9; background:#000; border-radius:10px; overflow:hidden; }
.vid iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.vid .cover { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; background:none; cursor:pointer; }
.vid .cover img { width:100%; height:100%; object-fit:cover; display:block; }
.vid .cover .pbig { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:76px; height:76px; border-radius:50%; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,.25); color:#fff; display:flex; align-items:center; justify-content:center; transition:background .2s, transform .2s; }
.vid .cover:hover .pbig { background:var(--text); color:var(--bg); transform:translate(-50%,-50%) scale(1.06); }
.vid .cover .pbig svg { width:22px; height:22px; margin-left:3px; }

/* Footer */
.site-footer { margin-top:104px; border-top:1px solid var(--line); }
.site-footer .wrap { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-block:30px 44px; }
.site-footer nav { display:flex; gap:24px; flex-wrap:wrap; }
.site-footer a { text-decoration:none; } .site-footer a:hover { color:var(--text); }

/* Reveal */
.reveal { opacity:0; transform:translateY(16px); transition:opacity .7s, transform .7s; }
.reveal.seen { opacity:1; transform:none; }

/* ── Case file pages ── */
.case-head { padding-top:44px; }
.case-head .crumb { margin:0 0 14px; }
.case-head .crumb a { text-decoration:none; } .case-head .crumb a:hover { color:var(--text); }
.case-head h1 { font:700 clamp(36px,4.6vw,58px)/1.06 var(--display); letter-spacing:-.01em; margin:0 0 14px; max-width:22ch; }
.case-head .byline { margin:0 0 30px; }
.case-head .byline b { color:var(--text); font-weight:600; }
.case-video { max-width:960px; margin:0 auto; }
.thesis { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:center; padding-block:56px 8px; }
.thesis p:not(.label) { font:400 clamp(22px,2.4vw,28px)/1.45 var(--serif); margin:10px 0 0; color:var(--text); }
.thesis .stamp-xl { justify-self:center; }
.stamp-xl { display:inline-block; border:3px solid currentColor; padding:12px 20px; font:600 22px var(--mono); letter-spacing:.14em; text-transform:uppercase; transform:rotate(-8deg); text-align:center; }
.stamp-xl small { display:block; font-size:9px; letter-spacing:.24em; border-top:1.5px solid currentColor; margin-top:6px; padding-top:4px; }
.figures { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--line); margin-top:48px; }
.figures div { padding:24px 20px 24px 0; }
.figures div + div { padding-left:20px; border-left:1px solid var(--line); }
.figures b { display:block; font:700 42px/1 var(--display); color:var(--text); margin-bottom:10px; letter-spacing:-.01em; }
.figures span { color:var(--muted); font-size:14px; line-height:1.45; display:block; }
.prose { font:400 19px/1.7 var(--serif); color:var(--text-2); }
.prose h2 { font:600 12.5px var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin:64px 0 16px; padding-top:20px; border-top:1px solid var(--line); }
.prose p { margin:0 0 20px; }
.prose strong { color:var(--text); font-weight:600; }
.prose a { color:var(--text); text-decoration-color:var(--check); text-underline-offset:3px; }
.prose a:hover { color:var(--accent); }
.findings { list-style:none; padding:0; margin:8px 0 0; counter-reset:f; }
.findings li { counter-increment:f; display:grid; grid-template-columns:52px minmax(0,1fr); gap:8px; padding:20px 0; border-bottom:1px solid var(--line); }
.findings li::before { content:counter(f, decimal-leading-zero); font:500 13px var(--mono); color:var(--accent); padding-top:6px; }
.findings b { display:block; font:500 22px/1.3 var(--serif); color:var(--text); margin-bottom:6px; }
.findings p { margin:0; font-size:17px; }
.opinion { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:8px; }
.opinion h3 { font:700 12px var(--sans); letter-spacing:.14em; text-transform:uppercase; margin:0 0 8px; }
.opinion p { margin:0; font-size:17px; }
.verdict-line { margin:32px 0 0; display:flex; align-items:center; gap:24px; flex-wrap:wrap; padding:24px 0; border-block:1px solid var(--line); }
.verdict-line p { margin:0; flex:1 1 320px; font-size:18px; }
.chapters { list-style:none; padding:0; margin:0; font-family:var(--sans); }
.chapters a { display:flex; gap:18px; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--line); text-decoration:none; font-size:16px; color:var(--text); }
.chapters a:hover { color:var(--accent); }
.chapters .ts { font:500 13px var(--mono); color:var(--muted); min-width:44px; }
.sources { padding-left:22px; margin:0; font:400 15px/1.6 var(--sans); color:var(--muted); }
.sources li { margin-bottom:10px; }
.sources a { color:var(--text); text-underline-offset:3px; text-decoration-color:var(--line-2); }
.sources a:hover { color:var(--accent); }
.disclaimer { font:400 14px var(--sans); color:var(--muted); margin-top:28px; }
.related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.related a { text-decoration:none; display:block; }
.related img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:8px; }
.related .label { display:block; margin:12px 0 6px; }
.related b { font:600 15px/1.35 var(--sans); }
.related a:hover b { text-decoration:underline; text-underline-offset:3px; }

/* ── Red flags glossary ── */
.page-head { padding-block:56px 32px; }
.page-head h1 { font:700 clamp(40px,5vw,64px)/1.04 var(--display); letter-spacing:-.01em; margin:14px 0 14px; }
.page-head p:not(.label) { font:400 20px/1.55 var(--serif); color:var(--text-2); max-width:56ch; margin:0; }
.gloss-tools { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:28px; }
.gloss-tools input { flex:1 1 280px; min-height:44px; border:1px solid var(--line-2); border-radius:8px; background:var(--bg-2); color:var(--text); padding:0 14px; font:15px var(--sans); margin-right:8px; }
.gloss-tools input::placeholder { color:var(--muted); }
.gloss { border-top:1px solid var(--line); }
.flag-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:40px; padding:32px 0; border-bottom:1px solid var(--line); scroll-margin-top:80px; }
.flag-row[hidden] { display:none; }
.flag-row:target { box-shadow:inset 3px 0 0 var(--check); padding-left:20px; }
.flag-row h2 { font:500 30px/1.15 var(--serif); margin:8px 0 0; }
.flag-row .plain { font:400 18px/1.6 var(--serif); color:var(--text); margin:0 0 10px; }
.flag-row .why { color:var(--muted); margin:0 0 14px; font-size:15px; }
.flag-row .seen { font-size:13px; color:var(--muted); }
.flag-row .seen a { color:var(--accent); text-decoration:none; font-weight:600; }
.flag-row .seen a:hover { text-decoration:underline; }

/* Responsive */
@media (max-width:900px) {
  .grid, .related { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .split { grid-template-columns:1fr; gap:24px; }
  .teasers { grid-template-columns:1fr; }
  .teasers a { border-right:0; border-bottom:1px solid var(--line); }
  .teasers a:last-child { border-bottom:0; }
  .figures { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .figures div:nth-child(3) { padding-left:0; border-left:0; }
  .figures div:nth-child(n+3) { border-top:1px solid var(--line); }
  .flag-row { grid-template-columns:1fr; gap:12px; }
  .stage { grid-template-columns:1fr; }
  .stage .desk { display:none; }
  .strip .v { display:none; }
}
@media (max-width:640px) {
  .wrap { padding:0 18px; }
  .site-header nav > a:not(.btn) { display:none; }
  .logo .word { font-size:14px; }
  .grid, .related, .cols3, .vlist, .opinion, .facts { grid-template-columns:1fr; }
  .cols3 > div, .cols3 > div + div { padding:18px 0; border-left:0; border-top:1px solid var(--line); }
  .thesis { grid-template-columns:1fr; }
  .band { padding:26px; }
  .row .note { display:none; }
  .hero { padding-block:48px 56px; }
  .fold { padding-block:36px 48px; }
  .feature .info { padding:14px 16px 16px; }
  .feature .pplay { width:52px; height:52px; }
  .strip .new { display:none; }
  .strip .go { font-size:0; } .strip .go::after { content:"→"; font-size:14px; }
}
@media (max-width:360px) {
  .logo .word { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; }
  .wall .track { animation:none; }
  *, *::before, *::after { transition:none !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
