@import url("wordmark.css");

/* ==========================================================================
   GRAND THEFT AMERICA — structure
   Layout, rhythm and behaviour. Contains no literal colour and no font name;
   everything resolves through tokens.css. Do not add a hex value to this file.
   ========================================================================== */

@font-face{font-family:"Space Grotesk";src:url("fonts/SpaceGrotesk-normal-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/SpaceGrotesk-normal-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/SpaceGrotesk-normal-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-normal-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-normal-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-normal-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/Newsreader-normal-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/Newsreader-normal-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-normal-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-normal-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-normal-700.woff2") format("woff2");font-weight:700;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  overflow-x:clip;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:var(--step-0);
  line-height:1.55;
  /* paper grain — the dot field the whole publication sits on */
  background-image:radial-gradient(var(--grain-dot) .7px, transparent .7px);
  background-size:var(--grain-size) var(--grain-size);
  -webkit-font-smoothing:antialiased;
}

img,svg{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:700;letter-spacing:-.045em;line-height:.95;text-wrap:balance}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}

:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:20;background:var(--ink);color:var(--paper);padding:10px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* --- Serial: the mono label that runs through everything --------------- */
.serial{font:600 10px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.figure{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em}

/* --- Masthead ---------------------------------------------------------- */
.topbar{
  position:sticky;top:0;z-index:10;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(14px,2vw,30px);
  min-height:76px;padding:10px var(--gutter);
  background:color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:var(--hairline);
}
.topbar .pubnav{justify-self:start;display:flex;align-items:center;gap:clamp(14px,1.8vw,28px);font:600 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.topbar .pubnav a{min-height:var(--target-min);display:inline-flex;align-items:center;text-decoration:none;padding-block:6px;position:relative;color:var(--ink-2)}
.topbar .pubnav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease)}
.topbar .pubnav a:hover::after,.topbar .pubnav a[aria-current="page"]::after{transform:scaleX(1)}
.topbar .pubnav a.pubnav__gta{font-weight:800;color:var(--ink)}
.topbar .pubnav a.pubnav__power{color:var(--red)}
.topbar .pubnav a.pubnav__money{color:var(--gold)}
.topbar .pubnav a.pubnav__latest{color:var(--ink)}
.topbar .end{justify-self:end}
.btn{
  min-height:var(--target-min);display:inline-flex;align-items:center;font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  padding:11px 16px;text-decoration:none;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;
}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn--accent{border-color:var(--accent);color:var(--accent-deep)}
.btn--accent:hover{background:var(--accent);color:var(--paper)}
.t-money .btn--accent:hover{color:var(--ink)}

/* Subscribe: the nav form folds an email field out to the left of the button. */
.subform{display:flex;align-items:flex-end;gap:12px}
.subwrap{position:relative;display:flex;align-items:flex-end;width:0;overflow:hidden}
.subform.open .subwrap{width:230px}
@media(max-width:640px){.subform.open .subwrap{width:160px}}
.subemail{width:230px;min-width:0;border:0;outline:none;background:transparent;font:600 12.5px/1 var(--mono);color:var(--ink);padding:6px 2px;opacity:0;transition:opacity .2s ease .34s;box-sizing:border-box}
.subemail:focus,.subemail:focus-visible{outline:none;box-shadow:none;border:0}
.subwrap:focus-within{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
@media(max-width:640px){.subemail{width:160px}}
.subform.open .subemail{opacity:1}
.subemail::placeholder{color:var(--ink-2);opacity:.7}
.subline{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right center}
.subform.open .subline{transform:scaleX(1);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.subwrap{transition:none}.subform.open .subline{transition:none}}

@media(max-width:680px){
  .topbar{position:static;grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0;gap:8px;padding:10px 16px 8px}
  .topbar .pubnav{grid-column:1;grid-row:1;flex-wrap:wrap;gap:10px 17px}
  .topbar .end{grid-column:1;grid-row:2;justify-self:start}
}

/* --- Sections ---------------------------------------------------------- */
main{display:block}
section{padding:var(--section) var(--gutter);border-bottom:var(--hairline)}
.wrap{width:100%;max-width:var(--max);margin-inline:auto}
.section-title{display:grid;grid-template-columns:60px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:clamp(40px,6vw,80px)}
.section-title>.serial{padding-top:10px}
.section-title h1,.section-title h2{font-size:var(--step-3)}
.section-title .dek{margin-top:14px;max-width:46rem;font-family:var(--serif);font-size:var(--lede);line-height:1.32;color:var(--ink-2)}
@media(max-width:850px){
  /* Let sections define the mobile gutter once. A percentage-width child plus
     a viewport max created occasional over-wide editorial lines in WebKit. */
  section{padding-inline:20px}
  section>.wrap{width:auto;max-width:none;margin-inline:0;min-width:0}
  .section-title{grid-template-columns:28px minmax(0,1fr);gap:12px}
  .section-title h1,.section-title h2{font-size:clamp(2rem,10vw,2.7rem)}
}

/* --- Hero -------------------------------------------------------------- */
.hero{padding:0;border-bottom:var(--heavy);overflow:hidden}
.hero-copy{padding:clamp(34px,5.5vw,74px) var(--gutter) clamp(26px,4vw,48px);max-width:var(--max);width:100%;margin-inline:auto}
.hero-kicker{margin-bottom:12px}
.hero h1{max-width:none;font-size:clamp(3.15rem,8.8vw,8.8rem);line-height:.82;letter-spacing:-.078em;white-space:nowrap}
.hero .lede{margin-top:20px;max-width:31rem;font-family:var(--editorial);font-weight:600;font-size:var(--lede);line-height:1.18}
.hero-art{height:clamp(420px,52vw,760px);background:var(--paper-hi);overflow:hidden}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 58%;mix-blend-mode:multiply;animation:home-house-in var(--dur-slow) var(--ease) both}
@keyframes home-house-in{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
@media(max-width:850px){
  .hero-copy{padding-inline:20px}
  .hero h1{font-size:clamp(3rem,15vw,5.2rem);line-height:.87;white-space:normal;max-width:8ch}
  .hero .lede{font-size:clamp(1.1rem,5.2vw,1.4rem)}
  .hero-art{height:clamp(320px,78vw,520px)}
  .hero-art img{width:132%;max-width:none;margin-left:-16%;object-position:center 57%}
}

/* --- Front-page score, argument and receipts --------------------------- */
.home-scoreboard{padding:0;border-bottom:var(--heavy)}
.home-scoreboard__inner{display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin-inline:auto}
.home-score{position:relative;display:flex;min-width:0;min-height:390px;flex-direction:column;padding:clamp(34px,5vw,70px);text-decoration:none;overflow:hidden}
.home-score:first-child{border-right:var(--heavy)}
.home-score::before{content:"";position:absolute;inset:auto 0 0;height:8px;background:var(--score);transform:scaleX(.28);transform-origin:left;transition:transform var(--dur-base) var(--ease)}
.home-score:hover::before{transform:scaleX(1)}
.home-score--money{--score:var(--green)}.home-score--power{--score:var(--red)}
.home-score__desk{font:700 var(--step-1)/1 var(--display);letter-spacing:-.035em;text-transform:uppercase}
.home-score__number{display:block;margin:clamp(28px,4vw,52px) 0 14px;font:700 clamp(4.2rem,8.5vw,8.4rem)/.78 var(--mono);letter-spacing:-.075em;color:var(--score);font-variant-numeric:tabular-nums}
.home-score h2{max-width:13ch;font-family:var(--editorial);font-size:var(--step-2);line-height:1.05;letter-spacing:-.025em}
.home-score__note{max-width:30rem;margin-top:14px;color:var(--ink-2);font-size:var(--step--1)}
.home-score__go{margin-top:auto;padding-top:28px;font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.home-argument{background:var(--ink);color:var(--paper);padding:clamp(56px,7vw,104px) var(--gutter)}
.home-argument__inner{max-width:var(--max);margin-inline:auto}
.home-argument h2{max-width:21ch;font-size:clamp(2.7rem,5.7vw,6rem);line-height:.94;letter-spacing:-.058em;text-wrap:balance}
.home-argument .money-line{color:var(--gold)}.home-argument .power-line{color:var(--red-bright)}
.home-argument p{margin-top:28px;max-width:42rem;font-family:var(--editorial);font-size:var(--lede);color:color-mix(in srgb,var(--paper) 72%,transparent)}
.receipt-teasers{border-top:var(--heavy)}
.receipt-teaser{--receipt-accent:var(--ink);display:grid;grid-template-columns:120px minmax(0,1fr) 210px;gap:clamp(20px,4vw,52px);padding:34px 0;border-bottom:var(--hairline);position:relative}
.receipt-teaser::before{content:"";position:absolute;left:0;top:-1px;width:92px;height:4px;background:var(--receipt-accent)}
.receipt-teaser--money{--receipt-accent:var(--gold)}.receipt-teaser--power{--receipt-accent:var(--red)}.receipt-teaser--held{--receipt-accent:var(--blue)}
.receipt-teaser__meta{display:flex;flex-direction:column;gap:7px;font:600 10px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.receipt-teaser__meta span{color:var(--receipt-accent)}
.receipt-teaser h3{font-family:var(--editorial);font-size:clamp(1.55rem,2.7vw,2.6rem);line-height:1.04;letter-spacing:-.032em}
.receipt-teaser h3 a{text-decoration:none}.receipt-teaser h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.receipt-teaser__stakes{max-width:47rem;margin-top:14px;color:var(--ink-2)}
.receipt-teaser__stakes b{display:block;margin-bottom:5px;font:600 9.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.receipt-teaser__links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:18px;font:600 9.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.receipt-teaser__ledger{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.receipt-teaser__ledger strong{font:700 var(--step-2)/1 var(--mono);letter-spacing:-.045em;color:var(--receipt-accent)}
.receipt-teaser__ledger span{font:600 9.5px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2)}
.home-brief{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--xl);align-items:end}
.home-brief h2{max-width:19ch;font-family:var(--editorial);font-size:var(--step-3);line-height:1.02;letter-spacing:-.035em}
.home-brief p{max-width:40rem;margin-top:14px;color:var(--ink-2)}
@media(max-width:850px){
  .home-scoreboard__inner{grid-template-columns:1fr}.home-score{min-height:340px;padding:40px 20px}.home-score:first-child{border-right:0;border-bottom:var(--heavy)}
  .home-score__number{font-size:clamp(4rem,20vw,6.6rem)}
  .receipt-teaser{grid-template-columns:82px minmax(0,1fr);gap:16px}.receipt-teaser__ledger{grid-column:2;grid-row:1;justify-self:end;text-align:right;align-items:flex-end}.receipt-teaser__body{grid-column:1/-1}.receipt-teaser__ledger strong{font-size:var(--step-1)}
  .home-brief{grid-template-columns:1fr;align-items:start}
}

/* --- Record anatomy — one shape, both records --------------------------
   DATE · MONEY/POWER · STATUS / headline / what / why / source · full record
   ---------------------------------------------------------------------- */
.records{border-top:var(--heavy)}
.record{display:grid;grid-template-columns:210px minmax(0,1fr) 250px;gap:28px;padding:40px 0 32px;border-bottom:var(--hairline);position:relative}
.record::before{content:"";position:absolute;left:0;top:0;width:132px;height:5px;background:var(--rec);transform:scaleX(.576);transform-origin:left;transition:transform .22s ease}
.record--money{--rec:var(--gold)}
.record--power{--rec:var(--red)}
.record--held{--rec:var(--blue)}
.record-meta{font:600 10px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.record-meta>*{display:block}
.record h3{font-size:var(--step-2);letter-spacing:-.035em;line-height:1.08}
.record-link{display:inline;text-decoration:none;text-decoration-thickness:2px;text-underline-offset:5px}
.record-link span{display:inline-block;color:var(--rec);font-family:var(--mono);font-size:.6em;transform:translateX(0);transition:transform .18s ease}
.record-link:hover{text-decoration:underline}.record-link:hover span{transform:translateX(5px)}
.record:has(.record-link:hover)::before{transform:scaleX(1)}
.record .what{margin-top:12px;max-width:var(--measure);color:var(--ink-2)}
.record .why{margin-top:18px;max-width:var(--measure);padding-top:12px;border-top:2px solid var(--rec)}
.record .why b{display:block;font:600 9.5px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px}
.record .ledger{font:600 10px/1.7 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.record .ledger .amt{display:block;font-size:var(--step-2);letter-spacing:-.02em;color:var(--accent-deep);margin-bottom:8px;text-transform:none}
.record footer{grid-column:2/4;display:flex;flex-wrap:wrap;gap:var(--base) var(--xl);justify-content:space-between;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding-top:4px}
.record footer a{min-height:var(--target-min);display:inline-flex;align-items:center}
@media(max-width:850px){
  .record{grid-template-columns:1fr;gap:14px}
  .record footer{grid-column:auto}
}

/* --- Status ------------------------------------------------------------- */
.tag{display:inline-flex;align-items:center;gap:.45em;font:600 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:5px 7px;border:1px solid currentColor}
.tag--money{color:var(--gold-deep)}
.tag--power{color:var(--red-deep)}
.tag--held{color:var(--blue)}
.tag--muted{color:var(--ink-2)}

/* --- Explore / index rows ----------------------------------------------- */
.rows{border-top:var(--heavy)}
.rows a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--lg);
  padding:var(--base) 0;border-bottom:var(--hairline);text-decoration:none}
.rows a strong{font-family:var(--display);font-size:var(--step-1);letter-spacing:-.02em}
.rows a span{font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-align:right}
.rows a:hover strong{color:var(--accent-deep)}

/* --- Footer -------------------------------------------------------------- */
.sitefoot{padding:40px var(--gutter) 28px;font-size:var(--step--1)}
.sitefoot .cols{display:grid;gap:24px;grid-template-columns:1.25fr repeat(3,1fr);max-width:var(--max);margin-inline:auto}
.sitefoot h2{font:600 11px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.sitefoot ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.sitefoot a{min-height:32px;display:inline-flex;align-items:center;color:var(--ink-2);text-decoration:none}
.sitefoot a:hover{color:var(--ink)}
.sitefoot .base{max-width:var(--max);margin:24px auto 0;padding-top:var(--base);border-top:var(--hairline);
  display:flex;flex-wrap:wrap;gap:var(--sm) var(--xl);justify-content:space-between;
  font:500 11px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}

/* --- Prose (shared pages) ------------------------------------------------ */
.prose{max-width:var(--measure)}
.prose h3{margin:var(--xl) 0 var(--md);font-size:var(--step-1)}
.prose p{color:var(--ink-2)}
.prose table{width:100%;border-collapse:collapse;margin:var(--base) 0;font-size:var(--step--1)}
.prose th,.prose td{text-align:left;padding:10px 12px 10px 0;border-bottom:var(--hairline);vertical-align:top}
.prose th{font:600 9.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}

.note{padding:var(--base) 0;border-block:2px solid var(--accent);font-size:var(--step--1);max-width:var(--measure)}

/* --- Standalone records and searchable archive ------------------------ */
.story{padding:var(--section) var(--gutter)}
.story-grid{display:grid;grid-template-columns:180px minmax(0,760px);gap:clamp(32px,7vw,100px);align-items:start}
.story-grid aside{position:sticky;top:96px;display:grid;gap:12px;justify-items:start}
.story h1{font-family:var(--editorial);font-size:var(--step-3);line-height:1.07;letter-spacing:-.04em;margin:14px 0 20px}
.story-dek{font:600 var(--lede)/1.28 var(--editorial);color:var(--ink-2)}
.receipt-media{margin:var(--xl) 0 0}
.receipt-media__frame{position:relative;overflow:hidden;aspect-ratio:16/10;border-block:var(--heavy);background:var(--paper-hi)}
.receipt-media__frame::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at center,transparent 42%,rgba(16,12,8,.12) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='2' cy='2' r='.7' fill='%23100c08' opacity='.12'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.receipt-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--receipt-focal,50% 50%);filter:grayscale(.28) sepia(.08) saturate(.78) contrast(1.08);animation:receipt-image-in .65s cubic-bezier(.2,.7,.2,1) both}
.receipt-media--document .receipt-media__frame{aspect-ratio:4/3;padding:clamp(10px,2vw,20px)}
.receipt-media--document img{object-fit:contain;filter:grayscale(.08) saturate(.85) contrast(1.04)}
.receipt-media figcaption{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);gap:12px 24px;padding:10px 0 0;font:500 10px/1.55 var(--mono);letter-spacing:.035em;color:var(--ink-2)}
.receipt-media figcaption b{font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.receipt-media figcaption a{justify-self:end;text-align:right;color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}
@keyframes receipt-image-in{from{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}
.evidence-stamp{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:var(--xl) 0;padding:12px 0;border-block:var(--hairline);font:600 10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.story-section{padding:var(--xl) 0;border-bottom:var(--hairline)}
.story-section h2{font-size:var(--step-1);margin-bottom:12px}.story-section p{max-width:var(--measure)}
.story-section ul{margin:0;padding-left:18px;color:var(--ink-2)}
.share-receipt{margin-top:var(--xl);padding:var(--base) 0;border-block:var(--heavy);background:transparent}
.share-receipt__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--base);align-items:end;margin-bottom:var(--base)}
.share-receipt h2{font-family:var(--editorial);font-size:var(--step-2);line-height:1.05}
.share-receipt__actions{display:flex;flex-wrap:wrap;gap:10px}
.share-receipt__actions .btn{justify-content:center}
.share-receipt__note{max-width:var(--measure);margin-top:12px;font-size:var(--step--1);color:var(--ink-2)}
.share-receipt__status{min-height:1.4em;margin-top:8px;font:600 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep)}
.record-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--xl)}
.record-tools input,.record-tools select{min-height:44px;border:var(--hairline);background:var(--paper-hi);color:var(--ink);font:inherit;padding:10px 12px}
.record-tools input{flex:1 1 18rem}.record-tools select{flex:0 1 12rem}
.archive-row{display:grid;grid-template-columns:110px 90px minmax(0,1fr) 150px;gap:18px;padding:18px 0;border-bottom:var(--hairline);text-decoration:none;align-items:baseline}
.archive-row strong{font-family:var(--editorial);font-size:var(--step-1);line-height:1.1}.archive-row span{font:600 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.archive-row:hover strong{color:var(--accent-deep)}
@media(max-width:850px){.story-grid{grid-template-columns:1fr}.story-grid aside{position:static}.receipt-media figcaption{grid-template-columns:1fr}.receipt-media figcaption a{justify-self:start;text-align:left}.share-receipt__head{grid-template-columns:1fr}.share-receipt__actions .btn{flex:1 1 10rem}.archive-row{grid-template-columns:72px 1fr}.archive-row strong{grid-column:1/-1}.archive-row .archive-source{display:none}}

/* --- Share packages --------------------------------------------------- */
.share-package{padding-top:clamp(54px,8vw,100px)}
.share-package__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--xl)}
.share-package__grid figure{margin:0;border-top:var(--heavy);padding-top:12px}
.share-package__grid img{width:100%;background:var(--paper-hi);border:var(--hairline)}
.share-package__grid figcaption{display:flex;align-items:center;justify-content:space-between;gap:var(--base);padding-top:10px;font:600 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.share-package__grid figure:first-child{grid-column:1/-1;max-width:660px}
.share-package__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--xl);margin-top:var(--2xl);padding-top:var(--base);border-top:var(--heavy)}
.share-package__footer p{max-width:34rem;color:var(--ink-2);font-size:var(--step--1)}
@media(max-width:850px){.share-package__grid{grid-template-columns:1fr}.share-package__grid figure:first-child{grid-column:auto}.share-package__footer{align-items:flex-start;flex-direction:column}}

@media(max-width:850px){
  .sitefoot .cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px}
  .sitefoot .cols>div:first-child{grid-column:1/-1}
  .sitefoot a{min-height:44px}
}

/* --- Brief ------------------------------------------------------------- */
.brief-hero{padding-top:clamp(54px,8vw,100px)}
.brief-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.42fr);gap:clamp(36px,7vw,96px);align-items:end}
.brief-hero .wrap>*{min-width:0}
.brief-hero h1{font:700 var(--step-4)/.88 var(--display);letter-spacing:-.075em;max-width:13ch;margin:18px 0 24px}
.brief-hero .lede{font:600 var(--lede)/1.2 var(--editorial);max-width:30rem}
.brief-meta{border-top:var(--heavy);padding-top:14px;font:600 10px/1.7 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.brief-meta span{display:block}
.topline{max-width:58rem;font:600 clamp(1.65rem,3.4vw,3rem)/1.12 var(--editorial);letter-spacing:-.025em}
.brief-item{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(210px,.36fr);gap:clamp(18px,4vw,48px);padding:38px 0;border-bottom:var(--hairline)}
.brief-item:first-child{border-top:var(--heavy)}
.brief-item h2{font-family:var(--editorial);font-size:var(--step-2);line-height:1.06;letter-spacing:-.03em}
.brief-item .summary{margin-top:14px;max-width:42rem;color:var(--ink-2)}
.brief-item .why{margin-top:20px;padding-top:12px;border-top:2px solid var(--item-accent,var(--ink))}
.brief-item .why b{display:block;margin-bottom:5px;font:600 9.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.brief-item aside{font:500 10px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.brief-item aside a{min-height:var(--target-min);display:inline-flex;align-items:center;margin-top:12px;color:var(--ink);font-weight:600}
.brief-item--money{--item-accent:var(--gold)}.brief-item--power{--item-accent:var(--red)}.brief-item--held{--item-accent:var(--blue)}
.brief-band{display:grid;grid-template-columns:1fr 1fr;gap:var(--xl)}
.brief-band>div{border-top:var(--heavy);padding-top:18px}.brief-band h3{font-family:var(--editorial);font-size:var(--step-2);line-height:1.08}.brief-band p{margin-top:12px;color:var(--ink-2)}
.brief-use{display:grid;grid-template-columns:repeat(3,1fr);border-block:var(--heavy)}
.brief-use>div{padding:22px 24px 24px 0}
.brief-use>div+div{padding-left:24px;border-left:var(--hairline)}
.brief-use h2{margin-top:8px;font-family:var(--editorial);font-size:var(--step-1);line-height:1.15;letter-spacing:-.02em}
.brief-use p{margin-top:8px;font-size:var(--step--1);color:var(--ink-2)}
.brief-signoff{background:var(--ink);color:var(--paper);padding:var(--section) var(--gutter)}
.brief-signoff .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--xl);align-items:end}
.brief-signoff h2{max-width:18ch;font-size:var(--step-3)}
.brief-signoff p{max-width:36rem;margin-top:12px;color:color-mix(in srgb,var(--paper) 72%,transparent)}
.brief-signoff .btn{color:var(--paper);border-color:var(--paper)}
.brief-signoff .btn:hover{background:var(--paper);color:var(--ink)}
@media(max-width:850px){
  .brief-hero .wrap,.brief-band{grid-template-columns:minmax(0,1fr)}
  .brief-hero h1{width:100%;max-width:100%;font-size:clamp(2.65rem,13vw,3.45rem);line-height:.92;overflow-wrap:anywhere;text-wrap:wrap}
  .brief-hero .lede{width:auto;max-width:none;font-size:clamp(1.05rem,5.2vw,1.35rem);overflow-wrap:anywhere}
  .topline{width:auto;max-width:none;font-size:clamp(1.45rem,7vw,2rem);overflow-wrap:anywhere}
  .brief-item{grid-template-columns:44px minmax(0,1fr);gap:14px}
  .brief-item aside{grid-column:2}
  .brief-use{grid-template-columns:1fr}.brief-use>div+div{padding-left:0;border-left:0;border-top:var(--hairline)}
  .brief-signoff .wrap{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}
