/* Hallmark · macrostructure: Marquee Hero + record ledger · tone: documented, direct · anchor hue: red 27° · theme: custom (FL-08 negative palette, Barlow Condensed 800 + Barlow) · nav: N1a minimal (wordmark + disclaimer) · footer: Ft5 statement · pre-emit critique: P5 H5 E4 S5 R5 V4 */
@font-face{font-family:"Barlow Condensed";font-weight:800;font-style:normal;font-display:swap;src:url(/assets/fonts/BarlowCondensed-800.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/Barlow-500.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/Barlow-600.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/Barlow-700.woff2) format("woff2")}
:root{
  --color-bg:#0A0A0D; --color-ink:#FFFFFF; --color-red:#E0262F; --color-red-deep:#B71B23; --color-body:#D5D8DE; --color-src:#9A9EA8;
  --color-panel:#121217; --color-line:rgba(255,255,255,.14); --color-line-strong:rgba(255,255,255,.36); --color-on-red:#FFFFFF; --color-focus:#8FB3FF;
  --font-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif; --font-ui:Barlow,"Helvetica Neue",Arial,sans-serif;
  --space-2xs:4px; --space-xs:8px; --space-sm:12px; --space-md:20px; --space-lg:32px; --space-xl:56px; --space-2xl:88px; --space-3xl:132px;
  --text-xs:.74rem; --text-sm:.88rem; --text-md:1.02rem; --text-lg:1.18rem; --text-xl:1.45rem;
  --text-msg:clamp(1.6rem,5.6vw,2.7rem); --text-first:clamp(1.15rem,4.2vw,1.9rem); --text-last:clamp(3.4rem,15.5vw,9.2rem);
  --text-card:clamp(1.45rem,4.4vw,1.95rem); --text-num:clamp(1.9rem,6vw,2.8rem);
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-in:cubic-bezier(.7,0,.84,0); --dur-fast:160ms; --dur-base:420ms; --dur-slow:900ms;
  --wrap:1120px; --gutter:20px; --radius:0;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--color-bg);color:var(--color-ink);overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-ui);font-weight:500;font-size:var(--text-md);line-height:1.5;background:var(--color-bg);color:var(--color-ink);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:800;font-style:normal;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;overflow-wrap:anywhere;min-width:0}
p{margin:0}
em,.em{font-style:normal;color:var(--color-red)}
.wrap{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto}
.skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;background:var(--color-ink);color:var(--color-bg)}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}

/* masthead: wordmark left, disclaimer box right (top of first screen on every device) */
.masthead{padding:var(--space-md) 0 var(--space-sm);border-bottom:1px solid var(--color-line)}
.masthead__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-lg)}
.brand img{width:auto;height:34px}
.disc{display:block;border:1px solid var(--color-line-strong);padding:7px 10px;font-size:.66rem;line-height:1.3;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);text-wrap:balance}
.masthead .disc{flex:1 1 100%;text-align:center}
@media (min-width:720px){.masthead .disc{flex:0 1 auto;max-width:440px;text-align:left}}

/* hero */
.hero{position:relative;isolation:isolate}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:end;padding:0 0 var(--space-xl)}
.hero__media{position:relative;margin:0 calc(-1*var(--gutter));overflow:hidden;aspect-ratio:3/2;background:var(--color-panel)}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:var(--focus-x,50%) var(--focus-y,25%);transform:scale(1.06);transition:transform 1.4s var(--ease-out)}
.hero.is-in .hero__media img{transform:scale(1)}
.hero__media::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,transparent,var(--color-bg))}
.hero__copy{display:flex;flex-direction:column;gap:var(--space-md);padding-top:var(--space-xs);container-type:inline-size;min-width:0}
.name{display:block}
.name__first{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-first);letter-spacing:.08em;line-height:1;color:var(--color-ink);opacity:.92}
.name__last{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-last);line-height:.9;letter-spacing:-.015em;margin-top:.06em;white-space:nowrap}
@supports (font-size:1cqw){.name__last{font-size:min(var(--text-last),27.5cqw)}}
.rule{width:64px;height:6px;background:var(--color-red)}
.msg{font-family:var(--font-ui);font-weight:700;font-size:var(--text-msg);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;max-width:16ch}
.msg em{font-weight:700}
.lede{font-size:var(--text-lg);line-height:1.45;color:var(--color-body);max-width:52ch;text-wrap:pretty}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);align-items:center;margin-top:var(--space-xs)}
@media (min-width:900px){
  .hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:var(--space-2xl);align-items:center;padding:var(--space-xl) 0 var(--space-2xl)}
  .hero__media{margin:0;aspect-ratio:4/5;max-height:640px;order:2}
  .hero__media::after{inset:0 auto 0 0;width:26%;height:auto;background:linear-gradient(90deg,var(--color-bg),transparent)}
  .hero__copy{order:1;gap:var(--space-md)}
  .name__first{opacity:.85}
}

/* button: red rectangle, white uppercase label, small white triangle */
.btn{display:inline-flex;align-items:center;gap:14px;background:var(--color-red);color:var(--color-on-red);text-decoration:none;font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:16px 22px;border:0;cursor:pointer;line-height:1;white-space:nowrap;transition:background var(--dur-fast) linear,transform var(--dur-fast) var(--ease-out)}
.btn::after{content:"";width:0;height:0;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--color-on-red);transition:transform var(--dur-base) var(--ease-out)}
.btn:hover,.btn:focus-visible{background:var(--color-red-deep)}
.btn:hover::after{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.55;cursor:default}
.btn--ghost{background:transparent;color:var(--color-ink);border:1px solid var(--color-line-strong)}
.btn--ghost::after{border-left-color:var(--color-red)}
.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--color-panel)}

/* sections */
.sec{padding:var(--space-2xl) 0;border-top:1px solid var(--color-line)}
.sec__head{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-red)}
.eyebrow::before{content:"";width:26px;height:3px;background:var(--color-red)}
.sec__title{font-size:clamp(2.1rem,6.4vw,3.6rem)}
.sec__lede{color:var(--color-body);font-size:var(--text-lg);max-width:60ch;text-wrap:pretty}

/* record cards */
.cards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
@media (min-width:760px){.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-lg)}}
.card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-md) var(--space-md) calc(var(--space-md) + 4px);background:var(--color-panel);border:1px solid var(--color-line);border-left:4px solid var(--color-red);text-decoration:none;color:inherit;position:relative;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-fast) linear}
a.card:hover,a.card:focus-visible{transform:translateY(-3px);border-color:var(--color-line-strong);border-left-color:var(--color-red)}
.card__date{font-weight:700;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-red)}
.card__title{font-size:var(--text-card);line-height:.95}
.card__body{color:var(--color-body);font-size:var(--text-md);line-height:1.45;text-wrap:pretty}
.card__src{color:var(--color-src);font-size:var(--text-sm);line-height:1.4;margin-top:auto}
.card__src a{color:inherit}
.card__more{font-weight:700;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink);display:inline-flex;gap:10px;align-items:center;margin-top:var(--space-xs)}
.card__more::after{content:"";width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--color-red)}

/* timeline */
.tl{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.tl::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:var(--color-line-strong)}
.tl li{position:relative;padding:0 0 var(--space-lg) 44px}
.tl li::before{content:"";position:absolute;left:4px;top:10px;width:16px;height:16px;background:var(--color-bg);border:3px solid var(--color-red)}
.tl li:last-child{padding-bottom:0}
.tl__date{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-num);line-height:1;letter-spacing:-.01em}
.tl__what{display:block;margin-top:var(--space-xs);font-size:var(--text-lg);font-weight:600;line-height:1.35;color:var(--color-ink);max-width:56ch;text-wrap:pretty}
.tl__src{display:block;margin-top:var(--space-2xs);color:var(--color-src);font-size:var(--text-sm)}
.tl__src a{color:inherit}
@media (min-width:760px){.tl li{display:grid;grid-template-columns:200px minmax(0,1fr);column-gap:var(--space-lg);padding-left:44px}.tl__what{margin-top:2px}}

/* quote */
.quote{border-left:4px solid var(--color-red);padding:var(--space-sm) var(--space-md);margin:var(--space-lg) 0 0;max-width:62ch}
.quote p{font-size:var(--text-xl);font-weight:600;line-height:1.3;text-wrap:pretty}
.quote cite{display:block;margin-top:var(--space-xs);font-style:normal;color:var(--color-src);font-size:var(--text-sm)}
.quote cite a{color:inherit}

/* ledger / proof table */
.ledger{width:100%;border-collapse:collapse;font-size:var(--text-md)}
.ledger th,.ledger td{text-align:left;vertical-align:top;padding:14px 0;border-bottom:1px solid var(--color-line)}
.ledger th{font-weight:700;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-src)}
.ledger td:last-child,.ledger th:last-child{text-align:right;white-space:nowrap;padding-left:var(--space-md)}
.ledger .num{font-family:var(--font-display);font-weight:800;font-size:clamp(1.35rem,4vw,1.9rem);line-height:1;letter-spacing:.005em}
.ledger .sub{display:block;color:var(--color-src);font-size:var(--text-sm);margin-top:4px;text-wrap:pretty}
.ledger tr.total td{border-bottom:0;border-top:2px solid var(--color-ink);padding-top:18px}
.ledger tr.total .num{font-size:clamp(1.8rem,6vw,2.6rem);color:var(--color-red)}
.ledger .sec-ref{color:var(--color-src);font-size:var(--text-sm)}
@media (max-width:640px){.ledger thead{display:none}.ledger tr{display:block;padding:14px 0;border-bottom:1px solid var(--color-line)}.ledger td{display:block;padding:0;border:0}.ledger td:last-child,.ledger th:last-child{text-align:left;padding:8px 0 0}.ledger tr.total{border-top:2px solid var(--color-ink);border-bottom:0;padding-top:18px}.ledger tr.total td{border:0;padding-top:0}.ledger tr.total td:last-child{padding-top:8px}}

/* facts strip */
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin-top:var(--space-lg)}
@media (min-width:760px){.facts{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}}
.fact{border-top:2px solid var(--color-ink);padding-top:var(--space-sm)}
.fact__num{display:block;font-family:var(--font-display);font-weight:800;font-size:var(--text-num);line-height:1;color:var(--color-red)}
.fact__label{display:block;margin-top:6px;font-weight:600;font-size:var(--text-sm);line-height:1.35;color:var(--color-body)}
.fact__src{display:block;margin-top:4px;color:var(--color-src);font-size:var(--text-xs)}

/* prose */
.prose{max-width:64ch;color:var(--color-body);font-size:var(--text-lg);line-height:1.5;display:grid;gap:var(--space-md);text-wrap:pretty}
.prose strong{color:var(--color-ink);font-weight:700}
.close{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.9rem,6vw,3.2rem);line-height:.95;max-width:22ch;margin-top:var(--space-lg)}

/* sources */
.sources{padding:var(--space-xl) 0;border-top:1px solid var(--color-line)}
.sources h2{font-size:var(--text-xl);letter-spacing:.02em;margin-bottom:var(--space-md)}
.sources ol{margin:0;padding-left:1.4em;color:var(--color-src);font-size:var(--text-sm);line-height:1.5;display:grid;gap:8px;max-width:78ch;overflow-wrap:anywhere}
.sources a{color:var(--color-body)}
.sources li::marker{color:var(--color-red);font-weight:700}

/* share + optin */
.share{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}
.share .btn{font-size:.76rem;padding:13px 16px}
.share__status{color:var(--color-src);font-size:var(--text-sm)}
.optin{display:grid;gap:var(--space-sm);max-width:560px}
.optin__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}
.field{display:grid;gap:6px}
.field span{font-weight:700;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-body)}
.field .opt{font-weight:500;letter-spacing:0;text-transform:none;font-style:normal;color:var(--color-src)}
.field input{font:inherit;font-size:1rem;padding:13px 14px;background:var(--color-panel);color:var(--color-ink);border:1px solid var(--color-line-strong);border-radius:0;width:100%;min-width:0}
.field input:focus{outline:0;border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-line)}
.field.is-error input{border-color:var(--color-red)}
.field .err{color:var(--color-red);font-size:var(--text-xs);min-height:1em}
.consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;font-size:var(--text-sm);line-height:1.45;color:var(--color-src)}
.consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--color-red)}
.consent a{color:var(--color-body)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.optin__msg{font-size:var(--text-sm);color:var(--color-body);min-height:1.4em}
.optin__msg.is-error{color:var(--color-red)}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}
@media (min-width:900px){.grid-2{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-2xl)}}

/* footer */
.footer{padding:var(--space-xl) 0 var(--space-lg);border-top:1px solid var(--color-line);color:var(--color-src);font-size:var(--text-sm)}
.footer .disc{padding:14px 16px;font-size:.74rem;text-align:center;max-width:none}
.footer__row{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);justify-content:space-between;align-items:center;margin-top:var(--space-md)}
.footer__links{display:flex;flex-wrap:wrap;gap:var(--space-md)}
.footer a{color:var(--color-body);text-decoration:none;border-bottom:1px solid var(--color-line-strong)}
.footer a:hover{color:var(--color-ink);border-color:var(--color-ink)}
.footer__brand img{height:26px;width:auto;opacity:.9}

/* legal pages */
.legal{padding:var(--space-xl) 0 var(--space-2xl);max-width:70ch}
.legal h1{font-size:clamp(2rem,6vw,3rem);margin-bottom:var(--space-md)}
.legal h2{font-size:var(--text-xl);margin:var(--space-lg) 0 var(--space-xs);letter-spacing:.02em}
.legal p,.legal li{color:var(--color-body);line-height:1.55}
.legal ul{padding-left:1.2em}
.legal .updated{color:var(--color-src);font-size:var(--text-sm);margin-bottom:var(--space-sm)}
.legal a{color:var(--color-ink)}

/* audience rules (Section 2, 5, 7 of the brief). Default aud = C. */
html:not([data-aud="A"]):not([data-aud="B"]) .aud-ab{display:none !important}
html[data-aud="A"] .order-ab-first,html[data-aud="B"] .order-ab-first{order:-1}
html:not([data-review]) .hold{display:none !important}
.hold-note{border:1px dashed var(--color-line-strong);padding:10px 12px;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-src)}

/* reveal */
.js-reveal .reveal{opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.js-reveal .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero__media img{transform:none;transition:none}html{scroll-behavior:auto}.btn,.card{transition:none}}
