/*
 * Roboto and Roboto Slab are self-hosted so typography and line wrapping stay
 * stable across the three language editions. Licences and provenance live in
 * /assets/fonts/README.md.
 */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/fonts/roboto-v51-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/fonts/roboto-v51-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: "Roboto Slab";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/fonts/roboto-slab-v36-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: "Roboto Slab";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/fonts/roboto-slab-v36-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  color-scheme: light;
  --navy: #100b46;
  --navy-deep: #09062f;
  --burgundy: #80074b;
  --burgundy-ink: #80074b;
  --burgundy-deep: #5b0436;
  --gold: #e9a825;
  --gold-light: #f1bf2d;
  --teal: #34646f;
  --teal-ink: #34646f;
  --slate: #324153;
  --ink: #171923;
  --muted: #66707d;
  --paper: #fbfaf6;
  --paper-deep: #f2eee5;
  --white: #ffffff;
  --line: rgba(50, 65, 83, .18);
  --line-light: rgba(255, 255, 255, .19);
  --shadow-sm: 0 14px 38px rgba(16, 11, 70, .09);
  --shadow-lg: 0 34px 90px rgba(16, 11, 70, .18);
  --radius-sm: 14px;
  --radius: 24px;
  --radius-lg: 38px;
  --shell: 1180px;
  --serif: "Roboto Slab", Georgia, "Times New Roman", serif;
  --sans: Roboto, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #f7f4ec;
  --muted: #c2bfca;
  --paper: #11101b;
  --paper-deep: #1a1725;
  --white: #1e1b29;
  --line: rgba(255, 255, 255, .15);
  --burgundy-ink: #f08bbd;
  --teal-ink: #8ec8d1;
  --shadow-sm: 0 14px 38px rgba(0, 0, 0, .28);
  --shadow-lg: 0 34px 90px rgba(0, 0, 0, .36);
}

@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] {
    color-scheme: dark;
    --ink: #f7f4ec;
    --muted: #c2bfca;
    --paper: #11101b;
    --paper-deep: #1a1725;
    --white: #1e1b29;
    --line: rgba(255, 255, 255, .15);
    --burgundy-ink: #f08bbd;
    --teal-ink: #8ec8d1;
    --shadow-sm: 0 14px 38px rgba(0, 0, 0, .28);
    --shadow-lg: 0 34px 90px rgba(0, 0, 0, .36);
  }
}

/* Edition 002 is a self-contained editorial art direction. Every selector is
   issue-scoped so the published edition 001 keeps its original appearance. */
body[data-issue-id="002"] {
  --proof-ink: #100b46;
  --proof-ink-soft: #324153;
  --proof-paper: #fbfaf6;
  --proof-white: #ffffff;
  --proof-brass: #e8a800;
  --proof-copper: #80074b;
  --proof-mint: #83c8c7;
  --navy: #100b46;
  --navy-deep: #09062f;
  --burgundy: #80074b;
  --burgundy-ink: #80074b;
  --burgundy-deep: #5b0436;
  --gold: #c78f00;
  --gold-light: #e8a800;
  --teal: #207890;
  --teal-ink: #176578;
  --slate: #324153;
  --ink: #212931;
  --muted: #5c6672;
  --paper: #fbfaf6;
  --paper-deep: #f0eee7;
  --white: #ffffff;
  --line: rgba(50, 65, 83, .18);
  --shadow-sm: 0 12px 36px rgba(16, 11, 70, .09);
  --shadow-lg: 0 28px 70px rgba(16, 11, 70, .15);
  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 26px;
  --serif: "Roboto Slab", Georgia, serif;
  --sans: Roboto, ui-sans-serif, system-ui, sans-serif;
  background: var(--paper);
}

html[data-theme="dark"] body[data-issue-id="002"] {
  --ink: #fbfaf6;
  --muted: #c7d5d7;
  --paper: #0c0a24;
  --paper-deep: #100b46;
  --white: #191548;
  --line: rgba(251, 250, 246, .18);
  --burgundy-ink: #f08bbd;
  --teal-ink: #8ec8d1;
}

@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] body[data-issue-id="002"] {
    --ink: #fbfaf6;
    --muted: #c7d5d7;
    --paper: #0c0a24;
    --paper-deep: #100b46;
    --white: #191548;
    --line: rgba(251, 250, 246, .18);
    --burgundy-ink: #f08bbd;
    --teal-ink: #8ec8d1;
  }
}

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: page-out .28s ease both; }
::view-transition-new(root) { animation: page-in .48s cubic-bezier(.2,.75,.2,1) both; }
::view-transition-group(lawright-logo) { animation-duration: .42s; }
::view-transition-group(story-card) { animation-duration: .64s; animation-timing-function: cubic-bezier(.18,.82,.22,1); }
html.theme-transition::view-transition-old(root), html.theme-transition::view-transition-new(root) { animation: theme-fade .22s ease both; }

* { box-sizing: border-box; }
/* Content must remain inside its visual container at every viewport and zoom level. */
:where(main, section, article, aside, header, footer, nav, div, ul, ol, li, figure, figcaption) { min-width: 0; }
:where(h1, h2, h3, h4, p, li, a, strong, small, span, label, figcaption) { overflow-wrap: anywhere; }
/* Editorial headings wrap only between words: never split a word for layout. */
:where(h1, h2, h3, h4) { overflow-wrap: normal; word-break: normal; hyphens: none; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 17px; line-height: 1.68; text-rendering: optimizeLegibility; }
body::selection { color: var(--navy); background: var(--gold-light); }
img { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 4px; }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { margin-top: 0; font-family: var(--serif); line-height: 1.05; letter-spacing: -.035em; }
h1 { font-size: clamp(3.6rem, 7.4vw, 7rem); }
h2 { font-size: clamp(2.45rem, 5vw, 5rem); }
h3 { font-size: clamp(1.45rem, 2.5vw, 2rem); }

.skip-link { position: fixed; z-index: 999; top: -100px; left: 20px; padding: 12px 18px; border-radius: 0 0 10px 10px; color: var(--navy); background: var(--gold-light); font-weight: 800; text-decoration: none; transition: top .2s ease; }
.skip-link:focus { top: 0; }
.reading-progress { position: fixed; z-index: 1000; inset: 0 0 auto; height: 4px; background: transparent; pointer-events: none; }
.reading-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-light), #fff3a6); box-shadow: 0 0 15px rgba(241,191,45,.55); }
.reading-rail { --rail-progress: 0%; position: fixed; z-index: 88; right: 18px; top: 50%; display: grid; gap: 12px; padding: 15px 9px; border: 1px solid color-mix(in srgb, var(--teal) 30%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--paper) 80%, transparent); box-shadow: 0 14px 40px rgba(16,11,70,.13); backdrop-filter: blur(15px) saturate(145%); transform: translateY(-50%); }
.reading-rail-live { position: absolute; z-index: 3; right: 66px; top: 50%; display: grid; min-width: 138px; padding: 10px 13px; gap: 6px; border: 2px solid var(--gold); border-radius: 16px; background: var(--paper); box-shadow: 0 12px 34px rgba(16,11,70,.2); transform: translateY(-50%); }
.reading-rail-live > span { display: grid; grid-template-columns: auto 1fr; gap: 7px; align-items: baseline; }
.reading-rail-live strong { color: var(--burgundy-ink); font-size: .78rem; font-variant-numeric: tabular-nums; }
.reading-rail-live small { color: var(--muted); font-size: .62rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.reading-rail::before, .reading-rail::after { content: ""; position: absolute; z-index: -1; left: 50%; top: 24px; width: 2px; height: calc(100% - 48px); border-radius: 2px; background: color-mix(in srgb, var(--teal) 18%, transparent); transform: translateX(-50%); }
.reading-rail::after { height: calc((100% - 48px) * var(--rail-progress)); background: linear-gradient(var(--gold), var(--teal)); box-shadow: 0 0 12px color-mix(in srgb, var(--teal) 48%, transparent); transition: height .2s linear; }
.reading-rail a { position: relative; z-index: 1; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid color-mix(in srgb, var(--teal) 28%, var(--paper)); border-radius: 50%; color: var(--muted); background: var(--paper); font-size: .58rem; font-weight: 900; text-decoration: none; transition: color .22s ease, border-color .22s ease, background .22s ease, transform .22s ease; }
.reading-rail a:hover, .reading-rail a[aria-current="location"] { color: var(--navy); border-color: var(--gold); background: var(--gold-light); transform: scale(1.14); }
.return-thread { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 16px; margin-block: 22px 0; padding: 18px 22px; align-items: center; overflow: hidden; border: 1px solid color-mix(in srgb,var(--gold) 50%,var(--line)); border-radius: 18px; background: linear-gradient(120deg,color-mix(in srgb,var(--gold) 11%,var(--paper)),var(--white)); box-shadow: var(--shadow-sm); }
.return-thread[hidden] { display: none; }
.return-thread::after { content: ""; position: absolute; right: -36px; top: -52px; width: 150px; height: 150px; border: 1px solid color-mix(in srgb,var(--teal) 25%,transparent); border-radius: 50%; pointer-events: none; }
.return-thread-mark { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold-light); font-size: 1.25rem; font-weight: 900; }
.return-thread div { min-width: 0; }
.return-thread small { display: block; margin-bottom: 3px; color: var(--teal-ink); font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.return-thread strong { display: block; overflow: hidden; color: var(--ink); font: 800 1rem/1.25 var(--serif); text-overflow: ellipsis; white-space: nowrap; }
.return-thread a { position: relative; z-index: 1; min-height: 44px; padding: 11px 16px; border-radius: 999px; color: var(--navy); background: var(--gold-light); font-size: .73rem; font-weight: 900; text-decoration: none; white-space: nowrap; }
.return-thread a:hover { background: var(--gold); transform: translateY(-1px); }

.site-header { position: fixed; z-index: 100; inset: 0 0 auto; border-bottom: 1px solid rgba(255,255,255,.11); background: color-mix(in srgb, var(--navy) 83%, transparent); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); transition: background .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled { background: color-mix(in srgb, var(--navy-deep) 94%, transparent); box-shadow: 0 10px 40px rgba(5,3,30,.24); }
.nav-shell { width: min(calc(100% - 36px), var(--shell)); min-height: 76px; margin: auto; display: flex; align-items: center; gap: 32px; }
.logo-link { flex: 0 0 auto; text-decoration: none; }
.logo-link img { width: 218px; height: auto; view-transition-name: lawright-logo; }
.nav-links { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.nav-links a { color: rgba(255,255,255,.78); font-size: .82rem; font-weight: 700; text-decoration: none; transition: color .2s ease; }
.nav-links a:hover { color: var(--gold-light); }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.language-switch { display: flex; gap: 2px; padding: 3px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; }
.language-switch a { display: grid; min-width: 44px; min-height: 44px; padding: 5px 7px; place-items: center; border-radius: 999px; color: rgba(255,255,255,.7); font-size: .7rem; font-weight: 900; letter-spacing: .04em; text-align: center; text-decoration: none; }
.language-switch a[aria-current="page"] { color: var(--navy); background: var(--gold-light); }
.theme-toggle { width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: white; background: transparent; cursor: pointer; }
.theme-toggle:hover { color: var(--gold-light); border-color: var(--gold-light); }
.nav-cta { padding: 10px 16px; border-radius: 999px; color: var(--navy); background: var(--gold-light); font-size: .8rem; font-weight: 900; text-decoration: none; }

.hero { --mouse-x: 68%; --mouse-y: 30%; position: relative; min-height: 100svh; overflow: hidden; color: white; background: radial-gradient(circle at var(--mouse-x) var(--mouse-y), rgba(128,7,75,.76), transparent 31%), linear-gradient(128deg, var(--navy-deep), var(--navy) 48%, #24105c 100%); }
.hero::after { content: ""; position: absolute; inset: 0; opacity: .22; background: radial-gradient(circle at 23% 75%, rgba(233,168,37,.55), transparent 23%); pointer-events: none; }
.hero-film { position: absolute; z-index: 0; inset: 0; background: #050312 url('/assets/video/magician-law-right-poster.jpg') center/cover no-repeat; opacity: .72; }
body[data-issue-id="002"] .hero-film { background-image: url('/assets/video/red-ball-poster.jpg'); }
.hero-film::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,3,18,.92) 0%, rgba(16,11,70,.52) 48%, rgba(16,11,70,.18) 70%, rgba(128,7,75,.22)); }
.hero-film video { width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.1s ease; }
.hero-film video.is-playing { opacity: 1; }
.hero-grid-lines { position: absolute; inset: 0; opacity: .08; background-image: linear-gradient(rgba(255,255,255,.6) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.6) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, transparent, black 22%, black 82%, transparent); }
.morph { --parallax-y: 0px; position: absolute; border: 1px solid rgba(255,255,255,.16); background: linear-gradient(145deg, rgba(233,168,37,.15), rgba(128,7,75,.26)); box-shadow: inset 0 0 70px rgba(255,255,255,.06); filter: saturate(130%); translate: 0 var(--parallax-y); }
.morph-one { width: 640px; aspect-ratio: 1; right: -240px; top: 2%; border-radius: 37% 63% 61% 39% / 42% 38% 62% 58%; }
.morph-two { width: 430px; aspect-ratio: 1; left: -260px; bottom: -140px; border-radius: 64% 36% 35% 65% / 55% 61% 39% 45%; }
.hero-shell { position: relative; z-index: 2; width: min(calc(100% - 44px), var(--shell)); min-height: 100svh; margin: auto; padding: 150px 0 95px; display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(40px, 8vw, 110px); align-items: center; }
.hero-copy { max-width: 745px; }
.issue-chip { display: inline-flex; gap: 10px; align-items: center; margin: 0 0 28px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.06); font-size: .75rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.issue-chip span { color: var(--gold-light); }
.hero h1 { max-width: 760px; margin: 0; }
.hero-deck { max-width: 720px; margin: 27px 0 0; color: rgba(255,255,255,.79); font-size: clamp(1.16rem, 2vw, 1.45rem); line-height: 1.55; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.primary-button, .secondary-button { --magnetic-x: 0px; --magnetic-y: 0px; display: inline-flex; min-height: 52px; padding: 13px 20px; align-items: center; justify-content: center; gap: 16px; border-radius: 999px; font-weight: 900; text-decoration: none; translate: var(--magnetic-x) var(--magnetic-y); transition: transform .2s ease, translate .28s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease, background .2s ease; }
.primary-button { color: var(--navy); background: var(--gold-light); box-shadow: 0 14px 30px rgba(233,168,37,.22); }
.secondary-button { color: white; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.05); }
.primary-button:hover, .secondary-button:hover { transform: translateY(-2px); }
.primary-button:hover { box-shadow: 0 18px 40px rgba(233,168,37,.32); }
.hero-proof { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 28px; color: rgba(255,255,255,.58); font-size: .82rem; }
.hero-proof span { display: inline-flex; align-items: center; gap: 8px; }
.hero-proof span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 12px rgba(241,191,45,.8); }

.hero-radar { position: relative; width: min(460px, 42vw); aspect-ratio: 1; margin-inline: auto; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.09) 0 1px, transparent 2px 100%), radial-gradient(circle, rgba(128,7,75,.32), rgba(16,11,70,.16) 58%, transparent 59%); box-shadow: inset 0 0 70px rgba(255,255,255,.06), 0 0 110px rgba(128,7,75,.24); }
.hero-radar::before, .hero-radar::after { content: ""; position: absolute; inset: 16.5%; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.hero-radar::after { inset: 34%; }
.hero-radar > p { position: absolute; left: 50%; top: 50%; width: 130px; margin: 0; color: rgba(255,255,255,.6); font-family: var(--serif); font-size: 1rem; line-height: 1.2; text-align: center; transform: translate(-50%,-50%); }
.radar-orbit { position: absolute; inset: 4%; border: 1px dashed rgba(233,168,37,.32); border-radius: 50%; }
.orbit-a::after { content: ""; position: absolute; left: 50%; top: 50%; width: 47%; height: 1px; transform-origin: left center; background: linear-gradient(90deg, rgba(241,191,45,.78), transparent); box-shadow: 0 0 16px rgba(241,191,45,.42); }
.orbit-b { inset: 26%; border-color: rgba(255,255,255,.14); }
.radar-point { position: absolute; z-index: 3; width: 150px; min-width: 0; min-height: 96px; padding: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; color: white; background: rgba(9,6,47,.78); box-shadow: 0 18px 40px rgba(0,0,0,.25); text-decoration: none; backdrop-filter: blur(13px); transition: transform .22s ease, background .22s ease; }
.radar-point:hover { z-index: 5; background: rgba(128,7,75,.94); transform: translateY(-4px) scale(1.02); }
.radar-point > span { display: block; color: var(--gold-light); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.radar-point strong { display: block; max-width: 100%; margin-top: 3px; font-family: var(--serif); font-size: clamp(.78rem,1.55vw,1.15rem); line-height: 1.08; letter-spacing: -.025em; overflow-wrap: anywhere; word-break: normal; white-space: normal; }
.radar-point small { display: block; margin-top: 5px; overflow: hidden; color: rgba(255,255,255,.62); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.point-1 { top: 3%; left: 5%; }
.point-2 { top: 38%; right: -8%; }
.point-3 { left: 12%; bottom: -1%; }

.proof-bar { position: relative; z-index: 5; color: white; background: var(--burgundy); }
.proof-bar > div { width: min(calc(100% - 44px), var(--shell)); min-height: 74px; margin: auto; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.proof-bar span { display: flex; min-width: 0; padding: 10px 22px; gap: 8px; align-items: baseline; justify-content: center; border-right: 1px solid rgba(255,255,255,.16); text-align: center; }
.proof-bar span:last-child { border-right: 0; }
.proof-bar strong { color: var(--gold-light); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.proof-bar small { color: white; font-size: .82rem; font-weight: 700; }

.section-shell { width: min(calc(100% - 44px), var(--shell)); margin-inline: auto; }
.kicker { margin: 0 0 15px; color: var(--burgundy-ink); font-size: .75rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.kicker.light { color: var(--gold-light); }

.fast-read { padding-block: clamp(75px, 9vw, 115px); }
.fast-read-heading { display: grid; grid-template-columns: 1fr 2fr; gap: 30px; align-items: end; margin-bottom: 35px; }
.fast-read-heading .kicker { margin: 0 0 8px; }
.fast-read-heading h2 { margin: 0; }
.fast-read-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.fast-read-grid li { position: relative; min-height: 235px; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.fast-read-grid li > span { display: block; color: color-mix(in srgb, var(--burgundy-ink) 38%, transparent); font: 900 3.5rem/1 var(--serif); }
.fast-read-grid li p { margin: 22px 0 8px; color: var(--teal-ink); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.fast-read-grid li strong { display: block; font-family: var(--serif); font-size: 1.08rem; line-height: 1.45; }
.editorial { padding-block: clamp(90px, 12vw, 150px); display: grid; grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr); gap: clamp(50px, 8vw, 100px); align-items: start; }
.editorial-copy h2 { max-width: 720px; margin-bottom: 34px; }
.editorial-copy > p:not(.kicker) { max-width: 760px; color: var(--muted); font-size: clamp(1.06rem, 1.6vw, 1.25rem); }
.editorial-copy > p:nth-of-type(2) { color: var(--ink); font-family: var(--serif); font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.45; }
.author-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); color: white; background: var(--navy); box-shadow: var(--shadow-lg); }
.author-card picture { display: block; height: 420px; overflow: hidden; }
.author-card img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; filter: grayscale(100%) contrast(1.05); }
.author-card > div { padding: 28px; }
.author-card p { margin: 7px 0; color: rgba(255,255,255,.72); font-size: .88rem; line-height: 1.55; }
.author-card .author-name { color: white; font-family: var(--serif); font-size: 1.5rem; font-weight: 800; }
.author-card a { display: inline-block; margin-top: 13px; color: var(--gold-light); font-weight: 800; }

.ranking-section { padding-block: clamp(90px, 12vw, 150px); background: var(--paper-deep); }
.section-heading { max-width: 850px; margin-bottom: 50px; }
.section-heading h2 { margin-bottom: 22px; }
.section-heading > p:not(.kicker) { max-width: 730px; color: var(--muted); }
.section-heading > a { display: inline-block; margin-top: 12px; color: var(--burgundy-ink); font-size: .86rem; font-weight: 900; }
.ranking-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.rank-card { --tilt-x: 0deg; --tilt-y: 0deg; --glare-x: 50%; --glare-y: 50%; --glare-opacity: 0; --lift: 0px; position: relative; min-height: 485px; padding: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink); background: var(--white); box-shadow: var(--shadow-sm); text-decoration: none; transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease; }
.rank-card::before { content: ""; position: absolute; width: 190px; height: 190px; right: -75px; top: -85px; border-radius: 47% 53% 66% 34% / 40% 46% 54% 60%; background: color-mix(in srgb, var(--burgundy) 10%, transparent); transition: transform .35s ease; }
.rank-card::after { content: ""; position: absolute; z-index: 0; inset: 0; border-radius: inherit; opacity: var(--glare-opacity); background: radial-gradient(circle at var(--glare-x) var(--glare-y), rgba(255,255,255,.62), rgba(241,191,45,.12) 20%, transparent 48%); pointer-events: none; transition: opacity .22s ease; }
.rank-card > * { position: relative; z-index: 1; }
.rank-card:hover { z-index: 2; border-color: color-mix(in srgb, var(--gold) 62%, transparent); box-shadow: var(--shadow-lg); transform: translateY(-9px); }
.rank-card:focus-visible { z-index: 2; border-color: var(--gold); box-shadow: var(--shadow-lg); transform: translateY(-6px); }
.rank-card:hover::before { transform: scale(1.17) rotate(12deg); }
.rank-card.tilt-ready { transform: perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--lift)); transform-style: preserve-3d; }
.rank-card.tilt-ready:hover { --lift: -9px; }
.rank-card.tilt-ready:focus-visible { --lift: -6px; }
.rank-number { display: block; color: color-mix(in srgb, var(--navy) 24%, transparent); font-family: var(--serif); font-size: 4.3rem; font-weight: 900; line-height: 1; }
.rank-meta { position: absolute; right: 25px; top: 30px; display: flex; width: min(58%, 15rem); max-width: calc(100% - 7.5rem); min-width: 0; align-items: flex-end; flex-direction: column; text-align: right; }
.rank-meta span { color: var(--burgundy-ink); font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.rank-meta strong { max-width: 100%; color: var(--navy); font-family: var(--serif); font-size: clamp(.78rem, 1.35vw, 1.08rem); line-height: 1.18; overflow-wrap: anywhere; word-break: normal; }
html[data-theme="dark"] .rank-meta strong, html[data-theme="dark"] .rank-number { color: var(--gold-light); }
.rank-category { display: block; margin-top: 35px; color: var(--teal-ink); font-size: .7rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.rank-card h3 { margin: 13px 0 16px; }
.rank-card p { color: var(--muted); font-size: .93rem; }
.story-taxonomy,.story-keywords { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.story-taxonomy strong,.story-keywords strong { flex-basis:100%; color:var(--teal-ink); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
.story-taxonomy i,.story-keywords i { padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:color-mix(in srgb,var(--paper) 84%,transparent); font-size:.62rem; font-style:normal; }
.article-taxonomy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:22px; }
.article-taxonomy > div { display:flex; flex-wrap:wrap; gap:7px; padding:14px; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(255,255,255,.07); }
.article-taxonomy strong { flex-basis:100%; color:var(--gold-light); font-size:.67rem; letter-spacing:.08em; text-transform:uppercase; }
.article-taxonomy span { padding:5px 8px; border-radius:999px; color:white; background:rgba(255,255,255,.1); font-size:.68rem; }
@media (max-width:720px){.article-taxonomy{grid-template-columns:1fr}}
.text-link { display: inline-block; margin-top: 18px; color: var(--burgundy-ink); font-size: .85rem; font-weight: 900; text-decoration: underline; text-decoration-thickness: 1px; }

.method-section { position: relative; overflow: hidden; color: white; background: linear-gradient(130deg, var(--burgundy-deep), var(--burgundy)); }
.method-section::before { content: ""; position: absolute; width: 620px; height: 620px; top: -300px; right: -240px; border: 1px solid rgba(255,255,255,.15); border-radius: 43% 57% 38% 62% / 58% 44% 56% 42%; background: rgba(255,255,255,.035); }
.method-shell { position: relative; padding-block: clamp(90px, 11vw, 140px); display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px, 9vw, 120px); align-items: start; }
.method-copy { position: sticky; top: 120px; }
.method-copy h2 { margin-bottom: 25px; }
.method-copy > p:not(.kicker) { color: rgba(255,255,255,.76); }
.method-freeze { padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); font-size: .83rem; }
.method-steps { margin: 0; padding: 0; list-style: none; counter-reset: method; }
.method-steps li { display: grid; grid-template-columns: 55px 1fr; gap: 20px; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.19); }
.method-steps li:last-child { border-bottom: 1px solid rgba(255,255,255,.19); }
.method-steps > li > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold-light); font-weight: 900; }
.method-steps h3 { margin: 0 0 6px; font-size: 1.5rem; }
.method-steps p { margin: 0; color: rgba(255,255,255,.7); font-size: .92rem; }

.attention-evidence { position: relative; padding-block: clamp(95px,12vw,150px); overflow: hidden; background: var(--paper); }
.attention-evidence::before { content: ""; position: absolute; width: 620px; height: 620px; right: -330px; top: 80px; border: 1px solid color-mix(in srgb,var(--gold) 30%,transparent); border-radius: 50%; box-shadow: 0 0 100px color-mix(in srgb,var(--burgundy) 9%,transparent); pointer-events: none; }
.attention-heading { position: relative; max-width: 900px; margin-bottom: 48px; }
.attention-heading h2, .radar-heading h2 { margin-bottom: 22px; }
.attention-heading > p:not(.kicker), .radar-heading > p:not(.kicker) { max-width: 780px; color: var(--muted); }
.ledger-window { padding-top: 15px; border-top: 1px solid var(--line); font-size: .78rem; }
.ledger-explainer { position: relative; margin: -16px 0 34px; padding: 24px; border: 1px solid color-mix(in srgb,var(--teal) 25%,var(--line)); border-radius: var(--radius); background: color-mix(in srgb,var(--teal) 5%,var(--white)); box-shadow: var(--shadow-sm); }
.ledger-explainer h3 { margin: 0 0 18px; font-size: clamp(1.25rem,2vw,1.65rem); }
.ledger-explainer ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.ledger-explainer li { display: grid; min-width: 0; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: start; }
.ledger-explainer li > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: white; background: var(--teal); font-size: .66rem; font-weight: 900; }
.ledger-explainer p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.ledger-explainer p strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: .78rem; }
.ledger-grid { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ledger-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.ledger-card.is-selected { border-top: 4px solid var(--gold); }
.ledger-card.is-radar { border-top: 4px solid color-mix(in srgb,var(--teal) 60%,transparent); }
.ledger-card > header { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.ledger-card > header span { display: inline-flex; min-height: 30px; padding: 5px 10px; align-items: center; border-radius: 999px; color: var(--navy); background: var(--gold-light); font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.ledger-card.is-radar > header span { color: white; background: var(--teal); }
.ledger-card > header strong { color: var(--burgundy-ink); font-family: var(--serif); font-size: .93rem; text-align: right; }
.ledger-card h3 { margin: 20px 0 8px; font-size: clamp(1.35rem,2.2vw,1.85rem); }
.ledger-category { margin: 0 0 20px; color: var(--teal-ink); font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.signal-bars { display: grid; gap: 8px; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.signal-bar { display: grid; grid-template-columns: 28px minmax(0,1fr) 42px; gap: 9px; align-items: center; font-size: .68rem; font-weight: 900; }
.signal-bar > span { color: var(--muted); }
.signal-bar > i { height: 8px; overflow: hidden; border-radius: 999px; background: var(--paper-deep); }
.signal-bar > i > b { display: block; width: var(--signal); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--burgundy),var(--gold)); transform-origin: left; }
.signal-bar > strong { color: var(--ink); text-align: right; font-variant-numeric: tabular-nums; }
.ledger-outlets { min-height: 2.8em; margin: 15px 0 0; color: var(--muted); font-size: .72rem; }
.ledger-card details { margin-top: 13px; border-top: 1px solid var(--line); }
.ledger-card summary { padding-top: 14px; color: var(--burgundy-ink); font-size: .75rem; font-weight: 900; cursor: pointer; }
.ledger-card details p { color: var(--muted); font-size: .76rem; }
.ledger-caveat { display: grid; grid-template-columns: 42px 1fr; gap: 16px; margin-top: 28px; padding: 22px; border: 1px solid color-mix(in srgb,var(--teal) 38%,transparent); border-radius: var(--radius); background: color-mix(in srgb,var(--teal) 7%,var(--white)); }
.ledger-caveat > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: white; background: var(--teal); font: 900 1rem/1 var(--serif); }
.ledger-caveat p { margin: 1px 0 12px; color: var(--muted); font-size: .82rem; }
.ledger-caveat ul { display: flex; gap: 9px 20px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.ledger-caveat a { color: var(--burgundy-ink); font-size: .72rem; font-weight: 800; }

.editorial-radar { padding-block: clamp(95px,12vw,150px); background: var(--paper-deep); }
.radar-heading { max-width: 900px; margin-bottom: 45px; }
.radar-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.radar-card { position: relative; padding: 26px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.radar-card::before { content: ""; position: absolute; width: 155px; height: 155px; right: -75px; top: -75px; border-radius: 50%; background: color-mix(in srgb,var(--teal) 9%,transparent); }
.radar-card > header { position: relative; display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.radar-card > header span { color: color-mix(in srgb,var(--burgundy-ink) 35%,transparent); font: 900 2.5rem/1 var(--serif); }
.radar-card > header strong { color: var(--burgundy-ink); font-size: .78rem; text-align: right; }
.radar-category { position: relative; margin: 23px 0 8px; color: var(--teal-ink) !important; font-size: .68rem !important; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.radar-card h3 { position: relative; margin-bottom: 16px; font-size: clamp(1.45rem,2.4vw,2rem); }
.radar-card > p:not(.radar-category):not(.case-status) { color: var(--muted); font-size: .87rem; }
.radar-action { display: grid; grid-template-columns: 32px 1fr; gap: 11px; margin-top: 22px; padding: 17px; border-radius: 14px; background: var(--paper-deep); }
.radar-action > span { color: var(--burgundy-ink); font-size: 1.2rem; font-weight: 900; }
.radar-action p { margin: 0; color: var(--muted); font-size: .78rem; }
.radar-action strong { display: block; margin-bottom: 4px; color: var(--ink); }

.ai-companion { position: relative; overflow: hidden; isolation: isolate; color: white; background: radial-gradient(circle at 78% 18%, rgba(52,100,111,.55), transparent 27%), radial-gradient(circle at 12% 92%, rgba(128,7,75,.62), transparent 34%), linear-gradient(135deg,var(--navy-deep),var(--navy) 58%,#1d1559); }
.ai-companion::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom,black,transparent 90%); }
.ai-shell { position: relative; padding-block: clamp(95px,12vw,150px); display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(55px,8vw,110px); align-items: start; }
.ai-intro { position: sticky; top: 120px; }
.ai-persona { display: grid; grid-template-columns: 104px 1fr; gap: 18px; margin-bottom: 24px; align-items: center; }
.ai-persona img { width: 104px; height: 112px; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(0,0,0,.28)); animation: lexi-float 4.8s ease-in-out infinite; }
.ai-persona strong { display: block; color: var(--gold-light); font: 800 1.15rem/1.2 var(--sans); }
.ai-persona span { display: block; margin-top: 5px; color: rgba(255,255,255,.66); font-size: .76rem; }
@keyframes lexi-float { 50% { transform: translateY(-8px) rotate(1.5deg); } }
.ai-intro h2 { max-width: 570px; margin-bottom: 24px; font-size: clamp(2.35rem,4.4vw,4.6rem); overflow-wrap: normal; word-break: normal; hyphens: none; }
.ai-intro > p:not(.kicker) { max-width: 590px; color: rgba(255,255,255,.74); font-size: 1.05rem; }
.ai-boundary { display: grid; grid-template-columns: 32px 1fr; gap: 12px; margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); }
.ai-boundary > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold-light); font-weight: 900; }
.ai-boundary p { margin: 2px 0 0; color: rgba(255,255,255,.62); font-size: .76rem; }
.ai-card { position: relative; padding: clamp(25px,4vw,44px); border: 1px solid rgba(255,255,255,.19); border-radius: var(--radius-lg); background: rgba(255,255,255,.09); box-shadow: 0 45px 110px rgba(0,0,0,.26); backdrop-filter: blur(22px); }
.ai-card::before { content: "AI"; position: absolute; right: 28px; top: 18px; color: rgba(255,255,255,.09); font-family: var(--serif); font-size: 5rem; font-weight: 900; line-height: 1; pointer-events: none; }
form[data-ai-form] { position: relative; display: grid; gap: 14px; }
form[data-ai-form] label { color: white; font-size: .82rem; font-weight: 900; }
form[data-ai-form] textarea { width: 100%; min-height: 138px; resize: vertical; padding: 17px 18px; border: 1px solid rgba(255,255,255,.24); border-radius: 16px; color: var(--ink); background: var(--paper); font: inherit; line-height: 1.55; box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
form[data-ai-form] textarea:focus { outline: 3px solid color-mix(in srgb,var(--gold-light) 75%,transparent); outline-offset: 3px; }
.ai-suggestions { display: flex; gap: 8px; flex-wrap: wrap; }
.ai-suggestions button { min-height: 44px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.8); background: rgba(255,255,255,.05); font-size: .7rem; font-weight: 800; cursor: pointer; }
.ai-suggestions button:hover { color: var(--navy); border-color: var(--gold-light); background: var(--gold-light); }
.ai-submit { display: flex; min-height: 56px; margin-top: 5px; padding: 13px 18px; align-items: center; justify-content: space-between; border: 0; border-radius: 999px; color: var(--navy); background: linear-gradient(90deg,var(--gold),var(--gold-light)); font-weight: 900; cursor: pointer; box-shadow: 0 18px 38px rgba(233,168,37,.2); }
.ai-submit i { font-size: 1.2rem; font-style: normal; }
.ai-submit:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
.ai-status { min-height: 1.4em; margin: 0; color: rgba(255,255,255,.64); font-size: .74rem; }
.ai-answer { position: relative; margin-top: 25px; padding: 25px 25px 23px 60px; border: 1px solid color-mix(in srgb,var(--gold-light) 54%,transparent); border-radius: 18px; color: var(--ink); background: var(--paper); box-shadow: 0 24px 60px rgba(0,0,0,.2); }
.ai-answer:focus { outline: 3px solid var(--gold-light); outline-offset: 4px; }
.ai-answer-mark { position: absolute; left: 22px; top: 23px; color: var(--burgundy-ink); font-size: 1.35rem; }
.ai-answer > p { margin: 0; white-space: pre-line; }
.ai-answer [data-ai-related] { margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--line); }
.ai-answer [data-ai-related] strong { color: var(--burgundy-ink); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.ai-answer ul { margin: 10px 0 0; padding-left: 18px; }
.ai-answer a { color: var(--teal-ink); font-size: .82rem; font-weight: 800; }
.ai-source-label { display: block; margin-top: 16px; color: var(--burgundy-ink); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.ai-constellation span { position: absolute; z-index: -1; width: 9px; height: 9px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 0 12px rgba(241,191,45,.07),0 0 35px rgba(241,191,45,.5); }
.ai-constellation span:nth-child(1) { left: 8%; top: 18%; }.ai-constellation span:nth-child(2) { right: 12%; top: 12%; }.ai-constellation span:nth-child(3) { left: 43%; bottom: 12%; }.ai-constellation span:nth-child(4) { right: 4%; bottom: 28%; }

.brand-film { position: relative; min-height: min(760px,82svh); display: grid; overflow: hidden; place-items: center; isolation: isolate; color: white; background: #020202 url('/assets/video/red-ball-poster.jpg') center/cover no-repeat; }
.brand-film-media, .brand-film-overlay { position: absolute; inset: 0; }
.brand-film-media video { width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.035); transition: opacity 1s ease, transform 7s ease; }
.brand-film-media video.is-playing { opacity: 1; transform: scale(1); }
.brand-film-overlay { z-index: 1; background: radial-gradient(circle at 72% 52%, rgba(128,7,75,.25), transparent 24%), linear-gradient(90deg, rgba(2,2,2,.88), rgba(9,6,47,.54) 60%, rgba(2,2,2,.76)); }
.brand-film-copy { position: relative; z-index: 3; width: min(calc(100% - 44px), 920px); margin: auto; }
.brand-film-copy h2 { max-width: 850px; margin-bottom: 24px; font-size: clamp(3rem,7vw,6.7rem); }
.brand-film-copy > p:last-child { max-width: 660px; margin: 0; color: rgba(255,255,255,.76); font-size: clamp(1.08rem,2vw,1.38rem); }
.brand-film-orbit { position: absolute; z-index: 2; right: clamp(-190px,-10vw,-80px); top: 50%; width: min(53vw,680px); aspect-ratio: 1; border: 1px solid rgba(241,191,45,.33); border-radius: 50%; transform: translateY(-50%); }
.brand-film-orbit span { position: absolute; inset: 16%; border: 1px solid rgba(255,255,255,.17); border-radius: inherit; }
.brand-film-orbit span:nth-child(2) { inset: 32%; border-color: rgba(241,191,45,.28); }
.brand-film-orbit span:nth-child(3) { inset: 48%; border-color: rgba(255,255,255,.34); }

.stories-shell { width: min(calc(100% - 44px), var(--shell)); margin: auto; }
.story { padding-block: clamp(100px, 13vw, 170px); border-bottom: 1px solid var(--line); }
.story-head { display: grid; grid-template-columns: 180px 1fr; gap: clamp(30px, 6vw, 80px); align-items: start; }
.story-rank span { display: block; color: color-mix(in srgb, var(--burgundy) 30%, transparent); font-family: var(--serif); font-size: clamp(5rem, 10vw, 8.8rem); font-weight: 900; line-height: .8; }
.story-title-block { max-width: 860px; }
.story-category { margin: 0 0 12px; color: var(--teal-ink); font-size: .74rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.story-metric { display: inline-flex; margin-bottom: 18px; padding: 7px 11px; border-radius: 999px; color: var(--burgundy-ink); background: color-mix(in srgb, var(--gold) 16%, transparent); font-size: .8rem; font-weight: 900; }
.story-title-block h1, .story-title-block h2 { max-width: 900px; margin-bottom: 22px; }
.story-dek { max-width: 800px; margin: 0; color: var(--muted); font-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.article-media { position: relative; width: min(calc(100% - 180px),1080px); margin: 52px 0 0 auto; overflow: hidden; border-radius: 22px; background: var(--navy); box-shadow: var(--shadow); }
.article-media img { display: block; width: 100%; max-height: 560px; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.article-media:hover img { transform: scale(1.018); filter: saturate(1.05); }
.article-media figcaption { padding: 12px 16px; color: rgba(255,255,255,.78); background: var(--navy); font-size: .68rem; line-height: 1.5; }
.article-media figcaption strong { color: var(--gold-light); }
.article-media figcaption a { color: white; }
.case-status { display: inline-flex; gap: 9px; flex-wrap: wrap; margin: 22px 0 0; color: var(--muted); font-size: .75rem; }
.case-status span { color: var(--burgundy-ink); font-weight: 900; text-transform: uppercase; }
.legal-map { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin: 48px 0 0 180px; padding-left: clamp(30px,6vw,80px); }
.legal-map a { display: grid; min-height: 105px; padding: 15px; align-content: start; border: 1px solid var(--line); border-radius: 15px; color: var(--ink); background: var(--white); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.legal-map a:hover, .legal-map a:focus-visible { border-color: var(--gold); box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.legal-map span { color: var(--burgundy-ink); font: 900 .68rem/1 var(--serif); }
.legal-map strong { margin-top: 8px; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.legal-map small { margin-top: 3px; color: var(--muted); font-size: .68rem; line-height: 1.35; }
.story-body { margin-top: 65px; display: grid; grid-template-columns: 300px minmax(0, 760px); gap: clamp(45px, 8vw, 100px); justify-content: end; }
.story-aside { align-self: start; position: sticky; top: 115px; }
.story-aside blockquote { margin: 0; padding: 26px 0 26px 24px; border-left: 4px solid var(--gold); color: var(--burgundy-ink); font-family: var(--serif); font-size: 1.35rem; font-weight: 800; line-height: 1.45; }
.share-button { display: inline-flex; gap: 8px; margin-top: 20px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: var(--white); font-size: .78rem; font-weight: 900; cursor: pointer; }
.share-button:hover { color: var(--burgundy-ink); border-color: var(--burgundy-ink); }
.social-share-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.social-share-links button { min-height: 34px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: var(--paper); font: inherit; font-size: .66rem; font-weight: 850; cursor: pointer; }
.social-share-links button:hover, .social-share-links button:focus-visible { color: var(--navy); border-color: var(--gold); background: var(--gold-light); }
.story-copy { min-width: 0; }
.story-flow { margin: 42px 0; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,var(--white),color-mix(in srgb,var(--teal) 7%,var(--paper))); }
.story-flow h3 { margin-bottom: 18px; font-size: 1.25rem; }
.story-flow ol { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.story-flow li { position: relative; display: grid; min-height: 96px; padding: 14px; align-content: space-between; border-radius: 13px; color: white; background: var(--navy); opacity: 0; transform: translateY(12px); }
.story-flow li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; right: -12px; top: 38%; width: 24px; height: 24px; border-radius: 50%; color: var(--navy); background: var(--gold-light); text-align: center; line-height: 24px; }
.story-flow.is-visible li, .reveal.is-visible .story-flow li { animation: flow-in .45s ease forwards; animation-delay: calc(var(--flow-index) * 90ms); }
.story-flow li span { color: var(--gold-light); font: 900 .68rem/1 var(--serif); }
.story-flow li strong { font-size: .76rem; line-height: 1.35; }
.story-flow--chain { background: radial-gradient(circle at 15% 20%, color-mix(in srgb,var(--gold) 18%,transparent), transparent 42%), var(--white); }
.story-flow--chain li { background: linear-gradient(135deg,var(--navy),var(--teal-ink)); }
.story-flow--chain li:not(:last-child)::after { content: "↗"; transform: rotate(-12deg); }
.story-flow--orbit { background: conic-gradient(from 220deg at 50% 50%, color-mix(in srgb,var(--teal) 14%,transparent), transparent 35%, color-mix(in srgb,var(--gold) 16%,transparent)); }
.story-flow--orbit li { border: 1px solid color-mix(in srgb,var(--teal) 50%,white); background: var(--burgundy-ink); transform: translateY(12px) rotate(calc((var(--flow-index) - 1) * 2deg)); }
.story-flow--orbit li:not(:last-child)::after { content: "◌"; color: var(--teal-ink); }
.story-flow--constellation { background: radial-gradient(circle at 80% 20%, color-mix(in srgb,var(--burgundy) 13%,transparent), transparent 40%), var(--paper); }
.story-flow--constellation li { border-radius: 50%; min-height: 112px; aspect-ratio: 1; background: linear-gradient(145deg,var(--navy),var(--burgundy)); box-shadow: 0 0 0 5px color-mix(in srgb,var(--gold) 18%,transparent), 0 12px 30px rgba(16,11,70,.18); }
.story-flow--constellation li:not(:last-child)::after { content: "✦"; color: var(--gold); background: transparent; }
/* Issue 002: deliberately new visual language — diagnostic light, pulse and woven rights. */
.story-flow--evidence-scan { position: relative; overflow: hidden; background: #071524; border-color: rgba(83,220,205,.45); }
.story-flow--evidence-scan::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 9px, rgba(83,220,205,.08) 10px), linear-gradient(105deg, transparent 0 46%, rgba(241,191,45,.25) 48%, transparent 50%); animation: evidence-sweep 3.8s linear infinite; pointer-events: none; }
.story-flow--evidence-scan h3, .story-flow--evidence-scan ol { position: relative; z-index: 1; }
.story-flow--evidence-scan li { border: 1px solid rgba(83,220,205,.5); background: linear-gradient(145deg,#102c42,#071524); box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 8px 22px rgba(0,0,0,.18); transform: translateY(18px) scale(.96); }
.story-flow--evidence-scan li::before { content: ""; position: absolute; left: 12px; right: 12px; top: 10px; height: 2px; background: var(--teal); transform-origin: left; animation: evidence-meter 1.8s ease-in-out infinite alternate; }
.story-flow--evidence-scan li:not(:last-child)::after { content: "⌁"; color: var(--teal); background: #071524; }
.story-flow--governance-pulse { background: radial-gradient(circle at 50% 110%, rgba(241,191,45,.28), transparent 50%), #230d2a; border-color: rgba(241,191,45,.42); }
.story-flow--governance-pulse li { border: 1px solid rgba(241,191,45,.55); background: linear-gradient(160deg,#43123f,#170c2b); transform: translateY(18px); animation-name: flow-in, governance-breathe; animation-duration: .45s, 2.8s; animation-delay: calc(var(--flow-index) * 90ms), calc(var(--flow-index) * 160ms); animation-iteration-count: 1, infinite; animation-direction: normal, alternate; }
.story-flow--governance-pulse li:nth-child(2) { border-radius: 28px 8px 28px 8px; }
.story-flow--governance-pulse li:not(:last-child)::after { content: "·"; color: var(--gold); background: transparent; font-size: 2rem; }
.story-flow--rights-weave { background: linear-gradient(125deg, rgba(33,92,109,.2), transparent 40%), repeating-linear-gradient(135deg, rgba(128,7,75,.11) 0 2px, transparent 2px 15px), var(--paper); border-color: rgba(128,7,75,.35); }
.story-flow--rights-weave li { min-height: 108px; border-radius: 16px 42px 16px 42px; background: linear-gradient(135deg,#7e124e,#243a70); box-shadow: 8px 8px 0 rgba(241,191,45,.2); transform: translateY(18px) rotate(calc((var(--flow-index) - 1.5) * 1.4deg)); }
.story-flow--rights-weave li:not(:last-child)::after { content: "↝"; color: var(--burgundy-ink); background: var(--gold-light); transform: rotate(18deg); }
@keyframes evidence-sweep { from { transform: translateX(-18%); } to { transform: translateX(18%); } }
@keyframes evidence-meter { from { transform: scaleX(.2); opacity: .45; } to { transform: scaleX(1); opacity: 1; } }
@keyframes governance-breathe { from { box-shadow: 0 0 0 rgba(241,191,45,0); } to { box-shadow: 0 0 26px rgba(241,191,45,.24); } }
@media (prefers-reduced-motion: reduce) { .story-flow--evidence-scan::before, .story-flow--evidence-scan li::before, .story-flow--governance-pulse li { animation: none; } }
.further-reading { margin-top: 42px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--gold) 45%,var(--line)); border-radius: 20px; background: var(--white); box-shadow: var(--shadow-sm); }
.further-reading header { padding: 25px; color: white; background: linear-gradient(125deg,var(--navy),color-mix(in srgb,var(--navy) 80%,var(--burgundy))); }
.further-reading header p { margin: 0 0 7px; color: var(--gold-light); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.further-reading header h3 { margin: 0 0 7px; color: white; font-size: 1.7rem; }
.further-reading header span { color: rgba(255,255,255,.72); font-size: .8rem; }
.further-reading ul { margin: 0; padding: 0; list-style: none; }
.further-reading li + li { border-top: 1px solid var(--line); }
.further-reading a { display: grid; grid-template-columns: 32px 1fr 24px; gap: 10px; min-height: 52px; padding: 13px 18px; align-items: center; color: var(--ink); text-decoration: none; transition: color .2s ease, background .2s ease, padding-left .2s ease; }
.further-reading a:hover, .further-reading a:focus-visible { padding-left: 23px; color: var(--burgundy-ink); background: color-mix(in srgb,var(--gold) 7%,transparent); }
.further-reading a span { color: var(--teal-ink); font: 900 .65rem/1 var(--serif); }
.further-reading a strong { font-size: .78rem; line-height: 1.35; }
.further-reading a i { font-style: normal; }
.copy-section, .action-panel { display: grid; grid-template-columns: 48px 1fr; gap: 22px; padding: 42px 0; border-top: 1px solid var(--line); }
.copy-label { margin: 5px 0 0; color: var(--burgundy-ink); font-family: var(--serif); font-size: .86rem; font-weight: 900; }
.copy-section h3, .action-panel h3 { margin-bottom: 22px; }
.copy-section p:not(.copy-label) { color: var(--muted); }
.copy-section p:last-child { margin-bottom: 0; }
.action-panel { margin: 15px 0 36px; padding: 32px 28px; border: 0; border-radius: var(--radius); background: var(--paper-deep); }
.action-panel ol { margin: 0; padding: 0; list-style: none; counter-reset: actions; }
.action-panel li { position: relative; padding: 14px 0 14px 42px; border-top: 1px solid var(--line); color: var(--slate); counter-increment: actions; }
html[data-theme="dark"] .action-panel li { color: var(--muted); }
.action-panel li:first-child { border-top: 0; }
.action-panel li::before { content: counter(actions); position: absolute; left: 0; top: 13px; display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: white; background: var(--teal); font-size: .71rem; font-weight: 900; }
.takeaway { display: grid; grid-template-columns: 42px 1fr; gap: 14px; margin: 36px 0; padding: 25px; border: 1px solid color-mix(in srgb, var(--gold) 60%, transparent); border-radius: var(--radius); background: color-mix(in srgb, var(--gold) 9%, var(--white)); }
.takeaway > span { color: var(--burgundy-ink); font-size: 1.6rem; font-weight: 900; }
.takeaway p { margin: 0; font-family: var(--serif); font-size: 1.17rem; font-weight: 700; }
.sources { margin-top: 35px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sources summary { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; color: var(--ink); font-size: .82rem; font-weight: 900; cursor: pointer; list-style: none; }
.sources summary::-webkit-details-marker { display: none; }
.sources summary span:last-child { color: var(--burgundy-ink); }
.sources[open] summary span:last-child { visibility: hidden; }
.sources[open] summary span:last-child::after { content: "−"; visibility: visible; }
.sources ul { margin: 0; padding: 0 0 20px; list-style: none; }
.sources[open] ul { animation: sources-in .2s ease both; }
.sources li { border-top: 1px solid var(--line); }
.sources a { display: grid; grid-template-columns: 145px 1fr; gap: 15px; padding: 13px 0; color: var(--ink); font-size: .84rem; text-decoration: none; }
.sources a span { color: var(--teal-ink); font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.sources a:hover { color: var(--burgundy-ink); }

.closing-section { padding-block: clamp(100px, 14vw, 175px); background: var(--paper-deep); }
.closing-shell { width: min(calc(100% - 44px), 880px); margin: auto; text-align: center; }
.closing-shell h2 { margin-bottom: 32px; }
.closing-shell > p:not(.kicker):not(.signature) { color: var(--muted); font-family: var(--serif); font-size: clamp(1.17rem, 2vw, 1.55rem); }
.closing-shell > p:nth-last-of-type(2) { color: var(--burgundy-ink); font-weight: 900; }
.signature { margin-top: 34px; color: var(--navy); font-family: var(--serif); font-size: 2rem; font-style: italic; font-weight: 900; }
html[data-theme="dark"] .signature { color: var(--gold-light); }

.subscribe-section { position: relative; overflow: hidden; color: white; background: var(--navy); }
.subscribe-section { scroll-margin-top: 88px; }
.subscribe-aura { position: absolute; width: 700px; height: 700px; left: -300px; top: -220px; border-radius: 37% 63% 61% 39% / 42% 38% 62% 58%; background: radial-gradient(circle at 60% 50%, rgba(128,7,75,.75), transparent 68%); }
.subscribe-shell { position: relative; width: min(calc(100% - 44px), var(--shell)); margin: auto; padding-block: clamp(90px, 12vw, 145px); display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(55px, 9vw, 115px); align-items: start; }
.subscribe-copy { position: sticky; top: 120px; }
.subscribe-copy h2 { margin-bottom: 25px; }
.subscribe-copy > p:not(.kicker) { color: rgba(255,255,255,.74); font-size: 1.1rem; }
.channel-pills { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 28px; }
.channel-pills span { display: inline-flex; gap: 8px; align-items: center; padding: 8px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.8); font-size: .78rem; font-weight: 800; }
.channel-pills i { color: var(--gold-light); font-style: normal; }
.channel-pills .channel-whatsapp i { display: inline-grid; width: 18px; height: 18px; color: #25d366; }
.channel-pills .channel-whatsapp svg { width: 100%; height: 100%; fill: currentColor; }
.subscribe-card { padding: clamp(25px, 4vw, 42px); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-lg); background: rgba(255,255,255,.08); box-shadow: 0 35px 90px rgba(0,0,0,.22); backdrop-filter: blur(20px); }
form[data-subscribe] { display: grid; gap: 11px; }
form[data-subscribe] label:not(.check-row) { margin-top: 7px; color: white; font-size: .82rem; font-weight: 900; }
form[data-subscribe] input:not([type="checkbox"]), form[data-subscribe] select { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; color: var(--ink); background: var(--paper); }
form[data-subscribe] input:invalid:not(:placeholder-shown) { border-color: #ff8fa1; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.field-title { margin: 0 0 9px; color: white; font-size: .82rem; font-weight: 900; }
.field-hint, .privacy-short { margin: -2px 0 7px; color: rgba(255,255,255,.58); font-size: .72rem; line-height: 1.45; }
.privacy-short { margin: 6px 0 0; }
.privacy-short a { color: white; }
.social-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.social-button { --social-color: #fff; display: grid; min-width: 0; min-height: 64px; padding: 9px 9px; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 8px; border: 1px solid color-mix(in srgb, var(--social-color) 44%, transparent); border-radius: 14px; color: white; background: linear-gradient(145deg, color-mix(in srgb, var(--social-color) 17%, transparent), rgba(255,255,255,.045)); font-size: .7rem; font-weight: 900; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.11); transition: background .2s ease, border .2s ease, transform .2s ease, box-shadow .2s ease; }
.social-button > span { display: grid; width: 30px; height: 30px; padding: 6px; place-items: center; border-radius: 9px; color: var(--social-icon-color, var(--social-color)); background: rgba(255,255,255,.96); box-shadow: 0 5px 14px rgba(0,0,0,.2); }
.social-button svg { width: 100%; height: 100%; fill: currentColor; }
.social-linkedin { --social-color: #0a66c2; }
.social-facebook { --social-color: #1877f2; }
.social-instagram { --social-color: #e4405f; }
.social-x { --social-color: #fff; --social-icon-color: #050505; }
.social-button b { min-width: 0; overflow-wrap: anywhere; text-align: left; }
.social-button small { grid-column: 2; color: var(--gold-light); font-size: .58rem; font-weight: 800; text-align: left; }
.social-button:hover { border-color: var(--social-color); background: linear-gradient(145deg, color-mix(in srgb, var(--social-color) 25%, transparent), rgba(255,255,255,.08)); box-shadow: 0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16); transform: translateY(-2px); }
.social-button:disabled,.social-button[data-ready="false"] { color: rgba(255,255,255,.6); border-style: dashed; cursor: not-allowed; opacity: .78; }
.social-button:disabled:hover { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.06); transform: none; }
.form-divider { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; margin: 6px 0; color: rgba(255,255,255,.4); font-size: .65rem; text-transform: uppercase; }
.form-divider::before, .form-divider::after { content: ""; height: 1px; background: rgba(255,255,255,.16); }
.check-row { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; margin-top: 8px; color: rgba(255,255,255,.77); font-size: .76rem; line-height: 1.45; cursor: pointer; }
.check-row input { width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--gold-light); }
.check-row input:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }
.check-row:has(input:disabled) { cursor: not-allowed; opacity: .58; }
.whatsapp-benefits { margin: 12px 0 2px; padding: 16px; border: 1px solid rgba(37,211,102,.3); border-radius: 16px; background: linear-gradient(145deg,rgba(37,211,102,.105),rgba(255,255,255,.045)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.whatsapp-benefits-head { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; margin-bottom: 14px; }
.whatsapp-benefits-mark { display: grid; width: 34px; height: 34px; padding: 7px; place-items: center; border-radius: 10px; color: #fff; background: #1da851; box-shadow: 0 7px 18px rgba(0,0,0,.2); }
.whatsapp-benefits-mark svg { width: 100%; height: 100%; fill: currentColor; }
.whatsapp-benefits h3, .whatsapp-benefits h4 { margin: 0; color: #fff; font-family: var(--sans); }
.whatsapp-benefits h3 { font-size: .86rem; line-height: 1.3; }
.whatsapp-benefits-status { padding: 5px 8px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: rgba(255,255,255,.82); background: rgba(255,255,255,.08); font-size: .57rem; font-weight: 900; line-height: 1.2; text-align: center; }
.whatsapp-benefits-status.is-ready { color: #062f1b; border-color: #8ff0b3; background: #baf6cf; }
.whatsapp-benefits-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.whatsapp-benefits-grid article { display: grid; min-width: 0; grid-template-columns: 40px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(9,6,47,.2); }
.whatsapp-benefits-grid article > img { width: 40px; height: 44px; object-fit: contain; filter: drop-shadow(0 6px 8px rgba(0,0,0,.25)); }
.whatsapp-benefit-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold-light); font-size: 1.15rem; font-weight: 900; }
.whatsapp-benefits h4 { font-size: .7rem; line-height: 1.3; }
.whatsapp-benefits p { margin: 4px 0 0; color: rgba(255,255,255,.7); font-size: .64rem; line-height: 1.45; }
.whatsapp-choice { padding: 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.04); }
.whatsapp-choice:has(input:checked) { border-color: #25d366; background: rgba(37,211,102,.12); box-shadow: 0 0 0 3px rgba(37,211,102,.08); }
.whatsapp-choice-copy { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; }
.whatsapp-choice-copy > i { display: grid; width: 28px; height: 28px; padding: 5px; place-items: center; border-radius: 8px; color: white; background: #25d366; box-shadow: 0 5px 14px rgba(0,0,0,.18); }
.whatsapp-choice-copy svg { width: 100%; height: 100%; fill: currentColor; }
.channel-availability { min-height: 0; margin: -4px 4px 2px; color: rgba(255,255,255,.72); }
.noscript-notice { margin: 0; padding: 1rem 1.1rem; border: 1px solid rgba(255,255,255,.3); border-radius: 1rem; background: rgba(255,255,255,.12); color: #fff; line-height: 1.55; }
.whatsapp-fields { display: grid; gap: 9px; margin-top: 3px; padding: 17px; border-left: 3px solid #25d366; border-radius: 9px; background: rgba(37,211,102,.07); }
.whatsapp-fields[hidden] { display: none; }
.submit-button { display: flex; min-height: 54px; margin-top: 12px; padding: 13px 18px; align-items: center; justify-content: space-between; border: 0; border-radius: 999px; color: var(--navy); background: var(--gold-light); font-weight: 900; cursor: pointer; box-shadow: 0 18px 35px rgba(233,168,37,.18); }
.submit-button:disabled { opacity: .62; cursor: wait; }
.submit-button.is-confirmation-sent { color: #07351e; background: #9fe5bb; box-shadow: 0 18px 38px rgba(37,211,102,.2); }
.submit-button i { font-size: 1.25rem; font-style: normal; }
.form-status { min-height: 1.4em; margin: 5px 0 0; color: var(--gold-light); font-size: .78rem; font-weight: 800; }
.social-result { margin: 14px 0 20px; padding: 13px 15px; border: 1px solid rgba(248,197,45,.65); border-radius: 12px; color: white; background: rgba(91,4,54,.45); font-size: .78rem; font-weight: 850; line-height: 1.45; }
.social-result[hidden] { display: none; }
.social-result.is-success { color: #062f1b; border-color: #8ff0b3; background: #baf6cf; }

.social-dialog { width: min(calc(100% - 32px), 520px); padding: 36px; border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink); background: var(--paper); box-shadow: 0 45px 120px rgba(0,0,0,.34); }
.social-dialog::backdrop { background: rgba(9,6,47,.72); backdrop-filter: blur(6px); }
.dialog-close { position: absolute; right: 14px; top: 13px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: transparent; font-size: 1.35rem; cursor: pointer; }
.dialog-icon { display: grid; width: 50px; height: 50px; margin-bottom: 22px; place-items: center; border-radius: 13px; color: white; background: var(--navy); font-size: 1.15rem; font-weight: 900; }
.social-dialog h2 { margin-bottom: 16px; font-size: 2.1rem; }
.social-dialog p { color: var(--muted); }
.dialog-continue { padding: 12px 17px; border: 0; border-radius: 999px; color: white; background: var(--burgundy); font-weight: 900; cursor: pointer; }
.toast { position: fixed; z-index: 500; right: 22px; bottom: 22px; max-width: 360px; padding: 12px 16px; border-radius: 11px; color: white; background: var(--navy); box-shadow: var(--shadow-lg); font-size: .8rem; font-weight: 800; opacity: 0; pointer-events: none; transform: translateY(14px); transition: opacity .2s ease, transform .2s ease; }
.toast.is-visible { opacity: 1; transform: none; }

.lexi-float { position: fixed; z-index: 480; right: max(18px,env(safe-area-inset-right)); bottom: max(18px,env(safe-area-inset-bottom)); display: flex; min-width: 0; align-items: center; gap: 10px; padding: 8px 9px 8px 16px; overflow: visible; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; color: white; background: linear-gradient(135deg,rgba(16,11,70,.96),rgba(128,7,75,.96)); box-shadow: 0 18px 48px rgba(16,11,70,.34); text-decoration: none; backdrop-filter: blur(16px); transition: transform .2s ease,box-shadow .2s ease; }
.lexi-float:hover { transform: translateY(-3px); box-shadow: 0 24px 58px rgba(16,11,70,.42); }
.lexi-float:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 4px; }
.lexi-float-copy { display: grid; min-width: 0; line-height: 1.1; }
.lexi-float-copy strong { color: var(--gold-light); font-size: .9rem; }
.lexi-float-copy small { margin-top: 3px; color: rgba(255,255,255,.78); font-size: .66rem; white-space: nowrap; }
.lexi-float-avatar { display: grid; width: 54px; height: 54px; flex: 0 0 54px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); }
.lexi-float-avatar img { width: 62px; height: 67px; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(0,0,0,.3)); animation: lexi-float 4.8s ease-in-out infinite; }
.lexi-float.is-nudging { animation: lexi-callout 1.05s cubic-bezier(.2,.8,.2,1) 2; box-shadow: 0 0 0 8px rgba(241,191,45,.18),0 24px 62px rgba(16,11,70,.48); }
.lexi-float.is-nudging .lexi-float-copy small { color: #fff; font-weight: 700; }
.lexi-float.is-context-suppressed { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(10px) scale(.94); }
@keyframes lexi-callout { 35% { transform: translateY(-8px) scale(1.035); } 70% { transform: translateY(-2px) scale(1.01); } }

.lexi-context { position: fixed; z-index: 485; right: max(18px,env(safe-area-inset-right)); bottom: max(104px,calc(env(safe-area-inset-bottom) + 104px)); display: grid; width: min(620px,calc(100vw - 36px)); grid-template-columns: 152px 1fr; gap: 8px; padding: 24px 28px 24px 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.5); border-radius: 34px; color: white; background: linear-gradient(135deg,rgba(16,11,70,.98),rgba(91,4,54,.98)); box-shadow: 0 32px 90px rgba(9,6,47,.42); opacity: 0; transform: translateY(20px) scale(.97); transition: opacity .28s ease,transform .28s ease; backdrop-filter: blur(20px) saturate(145%); }
.lexi-context[hidden] { display: none; }
.lexi-context.is-visible { opacity: 1; transform: none; }
.lexi-context > img { width: 148px; height: 160px; align-self: center; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0,0,0,.32)); animation: lexi-float 4.8s ease-in-out infinite; }
.lexi-context-copy { align-self: center; }
.lexi-context-eyebrow { margin: 0 34px 7px 0; color: var(--gold-light); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lexi-context-comment { display: block; font-size: clamp(1.05rem,2vw,1.32rem); line-height: 1.25; }
.lexi-context-question { margin: 9px 0 14px; color: rgba(255,255,255,.8); font-size: .84rem; line-height: 1.45; }
.lexi-context-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.lexi-context-actions button { min-height: 42px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; background: transparent; font: 850 .72rem/1 var(--sans); cursor: pointer; }
.lexi-context-actions [data-lexi-context-ask] { color: var(--navy); border-color: var(--gold-light); background: var(--gold-light); }
.lexi-context-close { position: absolute; top: 12px; right: 13px; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: rgba(255,255,255,.08); font-size: 1.25rem; cursor: pointer; }
.lexi-context.is-subscribe { position: relative; z-index: 2; right: auto; bottom: auto; width: 100%; margin-top: 28px; grid-template-columns: 108px minmax(0,1fr); padding: 18px 18px 18px 8px; border-radius: 26px; }
.lexi-context.is-subscribe > img { width: 106px; height: 122px; }
.lexi-context.is-subscribe .lexi-context-comment { font-size: 1rem; }
.lexi-context.is-subscribe .lexi-context-actions { align-items: stretch; flex-direction: column; }
.lexi-context.is-subscribe .lexi-context-actions button { width: 100%; }

/* Contextual guidance: one accessible pattern for authored help and Lexi prompts. */
/* Keep contextual help as a low-specificity positioning fallback. Component
   classes such as .radar-point and .lexi-float must retain absolute/fixed. */
:where([data-context-help], [data-help], [data-lexi-context], .lexi-context-trigger) { position: relative; }
[data-context-help]::after, [data-help]::after, .context-help, .lexi-context-hint {
  position: absolute;
  z-index: 90;
  left: 50%;
  bottom: calc(100% + 12px);
  box-sizing: border-box;
  width: max-content;
  max-width: min(32rem, calc(100vw - 32px));
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 12px;
  color: #fff;
  background: rgba(16,11,70,.98);
  box-shadow: 0 12px 32px rgba(9,6,47,.28);
  font: 750 .72rem/1.45 var(--sans);
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-align: left;
  text-transform: none;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%,6px);
  visibility: hidden;
  transition: opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
}
[data-context-help]::after { content: attr(data-context-help); }
[data-help]:not([data-context-help])::after { content: attr(data-help); }
.context-help, .lexi-context-hint { display: block; }
.context-help[hidden], .lexi-context-hint[hidden], .context-help:empty, .lexi-context-hint:empty { display: none; }
.context-help.is-start, .lexi-context-hint.is-start { left: 0; transform: translate(0,6px); }
.context-help.is-end, .lexi-context-hint.is-end { right: 0; left: auto; transform: translate(0,6px); }
.lexi-context-hint { border-color: rgba(248,197,45,.62); background: linear-gradient(135deg,rgba(16,11,70,.99),rgba(91,4,54,.99)); }
[data-context-help]:hover, [data-context-help]:focus-within,
[data-help]:hover, [data-help]:focus-within,
[data-lexi-context]:hover, [data-lexi-context]:focus-within,
.lexi-context-trigger:hover, .lexi-context-trigger:focus-within { z-index: 95; }
[data-context-help]:hover::after, [data-context-help]:focus-within::after,
[data-help]:hover::after, [data-help]:focus-within::after,
[data-context-help][aria-expanded="true"]::after, [data-help][aria-expanded="true"]::after,
[data-lexi-context]:hover > .context-help, [data-lexi-context]:focus-within > .context-help,
[data-lexi-context][aria-expanded="true"] > .context-help,
.lexi-context-trigger:hover > .lexi-context-hint,
.lexi-context-trigger:focus-within > .lexi-context-hint,
.lexi-context-trigger[aria-expanded="true"] > .lexi-context-hint {
  opacity: 1;
  transform: translate(-50%,0);
  visibility: visible;
  transition-delay: .18s, .18s, 0s;
}
.lexi-context-trigger:hover > .lexi-context-hint.is-start,
.lexi-context-trigger:focus-within > .lexi-context-hint.is-start,
.lexi-context-trigger[aria-expanded="true"] > .lexi-context-hint.is-start,
.lexi-context-trigger:hover > .lexi-context-hint.is-end,
.lexi-context-trigger:focus-within > .lexi-context-hint.is-end,
.lexi-context-trigger[aria-expanded="true"] > .lexi-context-hint.is-end { transform: none; }
[data-context-help]:focus-visible, [data-help]:focus-visible,
[data-lexi-context]:focus-visible, .lexi-context-trigger:focus-visible {
  outline: 3px solid var(--gold-light);
  outline-offset: 4px;
}

@media (hover: none), (pointer: coarse) {
  [data-context-help]::after, [data-help]::after, .context-help, .lexi-context-hint {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: max(16px,env(safe-area-inset-bottom));
    width: auto;
    max-width: none;
    min-height: 44px;
    transform: translateY(8px);
  }
  [data-context-help]:hover::after, [data-help]:hover::after,
  [data-lexi-context]:hover > .context-help,
  .lexi-context-trigger:hover > .lexi-context-hint { opacity: 0; visibility: hidden; }
  [data-context-help]:focus-within::after, [data-help]:focus-within::after,
  [data-context-help][aria-expanded="true"]::after, [data-help][aria-expanded="true"]::after,
  [data-lexi-context]:focus-within > .context-help,
  [data-lexi-context][aria-expanded="true"] > .context-help,
  .lexi-context-trigger:focus-within > .lexi-context-hint,
  .lexi-context-trigger[aria-expanded="true"] > .lexi-context-hint {
    opacity: 1;
    transform: none;
    visibility: visible;
  }
}

.law-right-media-dock { position: fixed; z-index: 470; left: max(18px,env(safe-area-inset-left)); bottom: max(18px,env(safe-area-inset-bottom)); width: min(390px,calc(100vw - 36px)); color: white; font-family: var(--sans); }
.media-dock-actions { display: flex; max-width: max-content; gap: 8px; }
.media-music-toggle, .media-library-toggle { display: inline-flex; min-height: 46px; padding: 9px 14px; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; color: white; background: linear-gradient(135deg,rgba(16,11,70,.96),rgba(128,7,75,.96)); box-shadow: 0 15px 36px rgba(16,11,70,.27); font: 800 .75rem/1 var(--sans); cursor: pointer; backdrop-filter: blur(15px); }
.media-music-toggle span, .media-library-toggle span { color: var(--gold-light); font-size: 1rem; }
.media-music-toggle.is-on { color: var(--navy); border-color: var(--gold-light); background: var(--gold-light); }
.media-music-toggle.is-on span { color: var(--burgundy); }
.media-library-toggle.is-nudging { animation: lexi-callout 1.05s cubic-bezier(.2,.8,.2,1) 2; box-shadow: 0 0 0 8px rgba(241,191,45,.18),0 24px 62px rgba(16,11,70,.48); }
.media-library { position: absolute; left: 0; bottom: 58px; width: 100%; max-height: min(660px,calc(100vh - 96px)); padding: 20px; overflow: auto; border: 1px solid rgba(255,255,255,.24); border-radius: 24px; color: white; background: linear-gradient(155deg,rgba(9,6,47,.98),rgba(16,11,70,.98) 58%,rgba(91,4,54,.98)); box-shadow: 0 35px 100px rgba(9,6,47,.45); backdrop-filter: blur(22px) saturate(150%); }
.media-library[hidden] { display: none; }
.media-library-head { display: flex; gap: 20px; align-items: flex-start; justify-content: space-between; }
.media-library-head span { color: var(--gold-light); font-size: .62rem; font-weight: 900; letter-spacing: .13em; }
.media-library-head h2 { margin: 4px 0 0; color: white; font-size: 1.35rem; }
.media-library-close { display: grid; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: white; background: rgba(255,255,255,.06); font-size: 1.35rem; cursor: pointer; }
.media-player { width: 100%; min-height: 200px; margin-top: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: #050312; }
.media-player[hidden], .media-now-playing[hidden] { display: none; }
.media-player iframe { display: block; width: 100%; aspect-ratio: 16/9; min-height: 200px; border: 0; }
.media-now-playing { margin: 10px 0 0; color: white; font-size: .75rem; font-weight: 900; }
.media-privacy { margin: 8px 0 18px; color: rgba(255,255,255,.61); font-size: .65rem; }
.media-library h3 { margin: 0 0 9px; color: var(--gold-light); font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.media-library ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.media-library li a { display: flex; min-width: 0; padding: 9px 11px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; color: white; background: rgba(255,255,255,.05); font-size: .72rem; font-weight: 700; text-decoration: none; }
.media-library li a:hover { border-color: var(--gold-light); background: rgba(241,191,45,.1); }
.media-library li a span { flex: 0 0 auto; color: var(--gold-light); }
.media-channels { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 13px; }
.media-channels a { padding: 10px; border-radius: 10px; color: var(--navy); background: var(--gold-light); font-size: .68rem; font-weight: 900; text-align: center; text-decoration: none; }

.signup-video-window { position: fixed; z-index: 490; top: max(92px,env(safe-area-inset-top)); right: max(18px,env(safe-area-inset-right)); width: min(410px,calc(100vw - 36px)); overflow: hidden; border: 1px solid rgba(255,255,255,.5); border-radius: 20px; color: white; background: rgba(9,6,47,.98); box-shadow: 0 30px 90px rgba(9,6,47,.48); font-family: var(--sans); backdrop-filter: blur(18px); }
.signup-video-window[hidden] { display: none; }
.signup-video-head { display: flex; min-height: 52px; padding: 8px 10px 8px 15px; align-items: center; justify-content: space-between; gap: 12px; background: linear-gradient(120deg,var(--navy),var(--burgundy)); }
.signup-video-head strong { display: flex; min-width: 0; align-items: center; gap: 9px; color: white; font-size: .75rem; }
.signup-video-head strong span { color: var(--gold-light); font-size: 1rem; }
.signup-video-head > div { display: flex; flex: 0 0 auto; gap: 6px; }
.signup-video-head button { display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: rgba(255,255,255,.08); font-size: 1.05rem; cursor: pointer; }
.signup-video-head button:hover { color: var(--navy); background: var(--gold-light); }
.signup-video-player { background: #050312; }
.signup-video-player iframe { display: block; width: 100%; aspect-ratio: 16/9; border: 0; }
.signup-video-window.is-minimized { width: min(340px,calc(100vw - 36px)); }
.signup-video-window.is-minimized .signup-video-player { display: none; }

.booking-popup { position: fixed; z-index: 485; right: max(18px,env(safe-area-inset-right)); bottom: max(94px,calc(env(safe-area-inset-bottom) + 94px)); width: min(390px,calc(100vw - 36px)); padding: 28px; overflow: hidden; border: 1px solid rgba(255,255,255,.48); border-radius: 25px; color: white; background: radial-gradient(circle at 95% 10%,rgba(241,191,45,.22),transparent 38%),linear-gradient(145deg,rgba(16,11,70,.985),rgba(91,4,54,.985)); box-shadow: 0 35px 100px rgba(9,6,47,.45); font-family: var(--sans); opacity: 0; transform: translateY(18px) scale(.98); transition: opacity .25s ease,transform .25s ease; backdrop-filter: blur(20px) saturate(140%); }
.booking-popup[hidden] { display: none; }
.booking-popup.is-visible { opacity: 1; transform: none; }
.booking-popup-mark { display: grid; width: 52px; height: 52px; margin-bottom: 20px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 16px; color: var(--navy); background: var(--gold-light); font-family: var(--serif); font-size: 1.05rem; font-weight: 900; }
.booking-popup-close { position: absolute; top: 14px; right: 14px; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: rgba(255,255,255,.07); font-size: 1.2rem; cursor: pointer; }
.booking-popup-eyebrow { margin: 0 0 7px; color: var(--gold-light); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.booking-popup h2 { margin: 0 0 10px; color: white; font-size: 2rem; }
.booking-popup > p:not(.booking-popup-eyebrow) { margin: 0; color: rgba(255,255,255,.74); font-size: .82rem; }
.booking-popup-actions { display: flex; margin-top: 22px; align-items: center; gap: 9px; }
.booking-popup-actions a,.booking-popup-actions button { display: inline-flex; min-height: 44px; padding: 11px 14px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--gold-light); border-radius: 999px; font: 900 .72rem/1 var(--sans); cursor: pointer; text-decoration: none; }
.booking-popup-actions a { color: var(--navy); background: var(--gold-light); }
.booking-popup-actions button { color: white; background: transparent; }
.book-popup { position: fixed; z-index: 485; top: max(92px,env(safe-area-inset-top)); left: max(18px,env(safe-area-inset-left)); display: grid; width: min(620px,calc(100vw - 36px)); grid-template-columns: 168px 1fr; gap: 24px; padding: 28px; overflow: hidden; border: 1px solid rgba(255,255,255,.48); border-radius: 25px; color: white; background: radial-gradient(circle at 92% 8%,rgba(157,208,212,.25),transparent 40%),linear-gradient(145deg,rgba(16,11,70,.985),rgba(46,25,91,.985)); box-shadow: 0 35px 100px rgba(9,6,47,.45); font-family: var(--sans); opacity: 0; transform: translateY(18px) scale(.98); transition: opacity .25s ease,transform .25s ease; backdrop-filter: blur(20px) saturate(140%); }
.book-popup[hidden] { display: none; }
.book-popup.is-visible { opacity: 1; transform: none; }
.book-popup-cover { display: block; align-self: center; border-radius: 8px; background: white; box-shadow: 0 18px 38px rgba(0,0,0,.35); transform: rotate(-1.5deg); transition: transform .2s ease; }
.book-popup-cover:hover { transform: rotate(0) translateY(-3px); }
.book-popup-cover img { display: block; width: 100%; height: auto; border-radius: inherit; }
.book-popup-copy { align-self: center; min-width: 0; }
.book-popup-close { position: absolute; top: 14px; right: 14px; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: rgba(255,255,255,.07); font-size: 1.2rem; cursor: pointer; }
.book-popup-eyebrow { margin: 0 0 7px; color: var(--aqua); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.book-popup h2 { margin: 0 0 10px; color: white; font-size: 2rem; }
.book-popup-copy > p:not(.book-popup-eyebrow) { margin: 0; color: rgba(255,255,255,.82); font-size: .82rem; }
.book-popup-actions { display: flex; margin-top: 22px; align-items: center; gap: 9px; }
.book-popup-actions a,.book-popup-actions button { display: inline-flex; min-height: 44px; padding: 11px 14px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--aqua); border-radius: 999px; font: 900 .72rem/1 var(--sans); cursor: pointer; text-decoration: none; }
.book-popup-actions a { color: #09062f !important; border-color: #f8c52d; background: #f8c52d !important; box-shadow: 0 10px 28px rgba(248,197,45,.25); }
.book-popup-actions button { color: white; background: transparent; }
.whatsapp-popup { position: fixed; z-index: 486; left: max(18px,env(safe-area-inset-left)); bottom: max(94px,calc(env(safe-area-inset-bottom) + 94px)); width: min(390px,calc(100vw - 36px)); padding: 28px; overflow: hidden; border: 1px solid rgba(255,255,255,.42); border-radius: 25px; color: white; background: radial-gradient(circle at 8% 10%,rgba(37,211,102,.22),transparent 40%),linear-gradient(145deg,rgba(16,11,70,.985),rgba(16,70,55,.985)); box-shadow: 0 35px 100px rgba(9,6,47,.45); font-family: var(--sans); opacity: 0; transform: translateY(18px) scale(.98); transition: opacity .25s ease,transform .25s ease; backdrop-filter: blur(20px) saturate(140%); }
.whatsapp-popup[hidden] { display: none; }
.whatsapp-popup.is-visible { opacity: 1; transform: none; }
.whatsapp-popup-mark { display: grid; width: 52px; height: 52px; margin-bottom: 20px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 16px; color: #063b22; background: #8ff0b3; font-family: var(--serif); font-size: 1.05rem; font-weight: 900; }
.whatsapp-popup-close { position: absolute; top: 14px; right: 14px; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: rgba(255,255,255,.07); font-size: 1.2rem; cursor: pointer; }
.whatsapp-popup-eyebrow { margin: 0 0 7px; color: #8ff0b3; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.whatsapp-popup h2 { margin: 0 0 10px; color: white; font-size: 2rem; }
.whatsapp-popup > p:not(.whatsapp-popup-eyebrow) { margin: 0; color: rgba(255,255,255,.76); font-size: .82rem; }
.whatsapp-popup-actions { display: flex; margin-top: 22px; align-items: center; gap: 9px; }
.whatsapp-popup-actions button { display: inline-flex; min-height: 44px; padding: 11px 14px; align-items: center; justify-content: center; gap: 8px; border: 1px solid #8ff0b3; border-radius: 999px; font: 900 .72rem/1 var(--sans); cursor: pointer; }
.whatsapp-popup-actions [data-whatsapp-enable] { color: #063b22; background: #8ff0b3; }
.whatsapp-popup-actions [data-whatsapp-later] { color: white; background: transparent; }
.whatsapp-popup-never { margin-top: 13px; padding: 4px 0; border: 0; color: rgba(255,255,255,.68); background: transparent; font: 700 .68rem/1.2 var(--sans); text-decoration: underline; cursor: pointer; }

.site-footer { padding: 55px 0; color: rgba(255,255,255,.67); background: var(--navy-deep); }
.footer-shell { width: min(calc(100% - 44px), var(--shell)); margin: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.footer-shell img { width: 215px; }
.footer-shell p { font-size: .78rem; }
.footer-shell > div:last-child { text-align: right; }
.footer-shell a { color: white; }

.standalone-story-main { padding-top: 76px; }
.story-breadcrumb { padding-top: clamp(42px,6vw,78px); display: flex; justify-content: space-between; gap: 24px; align-items: center; color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.story-breadcrumb a { color: var(--burgundy-ink); }
.story-view-proof { text-align: right; }
.story-view-proof strong { color: var(--burgundy-ink); font-size: 1rem; font-variant-numeric: tabular-nums; }
.standalone-story .story-standalone { border-bottom: 0; padding-top: clamp(65px,8vw,105px); }
.standalone-story .story-title-block { view-transition-name: story-card; }
.standalone-story .story-title-block h1 { font-size: clamp(3rem,6.5vw,6.4rem); }
.story-return { padding-bottom: clamp(85px,11vw,145px); text-align: center; }
.story-return .primary-button { min-width: min(100%,340px); }

.legal-page { min-height: 100vh; }
.legal-hero { padding: 160px max(22px,calc((100% - var(--shell))/2)) 80px; color: white; background: linear-gradient(128deg,var(--navy-deep),var(--navy),var(--burgundy-deep)); }
.legal-hero h1 { max-width: 900px; margin-bottom: 25px; }
.legal-hero > p:last-child { max-width: 720px; color: rgba(255,255,255,.74); font-size: 1.12rem; }
.legal-copy { width: min(calc(100% - 44px), 860px); margin: auto; padding-block: 80px 120px; }
.legal-copy section { padding: 30px 0; border-top: 1px solid var(--line); }
.legal-copy h2 { font-size: 1.8rem; }
.legal-copy p { color: var(--muted); }
.status-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; color: white; background: radial-gradient(circle at 72% 25%, var(--burgundy), transparent 38%), var(--navy); }
.status-page main { width: min(100%, 620px); margin: 0 auto; }
.status-card { box-sizing: border-box; width: 100%; max-width: 620px; overflow: hidden; padding: 55px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-lg); background: rgba(255,255,255,.08); box-shadow: 0 35px 90px rgba(0,0,0,.22); backdrop-filter: blur(20px); }
.status-card img { width: 230px; margin-bottom: 42px; }
.status-icon { display: grid; width: 58px; height: 58px; margin-bottom: 24px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold-light); font-size: 1.5rem; font-weight: 900; }
.status-card h1 { max-width: 100%; font-size: clamp(2.5rem,7vw,4.5rem); overflow-wrap: normal; word-break: normal; hyphens: none; }
.status-card p { margin-bottom: 30px; color: rgba(255,255,255,.72); }
.confirmation-wait { min-height: 360px; text-align: center; }
.confirmation-wait[hidden] { display: none; }
.confirmation-wait h1 { margin-top: 24px; }
.confirmation-wait p { min-height: 3.2em; margin: 0 auto; max-width: 440px; }
.confirmation-lexi { display: inline-flex; min-height: 48px; padding: 11px 18px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: var(--navy); background: var(--gold-light); font: 900 .85rem/1 var(--sans); }
.confirmation-spinner { display: block; width: 52px; height: 52px; margin: 28px auto 0; border: 5px solid rgba(255,255,255,.18); border-top-color: var(--gold-light); border-radius: 50%; animation: confirmation-spin .8s linear infinite; }
@keyframes confirmation-spin { to { transform: rotate(360deg); } }

html.js .reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.18,.8,.25,1); }
html.js .reveal.is-visible { opacity: 1; transform: none; }
.reveal-now { animation: rise-in .82s .1s both cubic-bezier(.18,.8,.25,1); }

@keyframes page-out { to { opacity: 0; transform: translateY(-8px) scale(.995); } }
@keyframes page-in { from { opacity: 0; transform: translateY(12px) scale(.995); } }
@keyframes rise-in { from { opacity: 0; transform: translateY(24px); } }
@keyframes theme-fade { from { opacity: .78; } to { opacity: 1; } }
@keyframes sources-in { from { opacity: 0; transform: translateY(-5px); } }
@keyframes flow-in { to { opacity: 1; transform: none; } }

@supports (content-visibility: auto) {
  .ranking-section, .method-section, .attention-evidence, .brand-film, .story, .editorial-radar, .closing-section, .subscribe-section { content-visibility: auto; contain-intrinsic-size: auto 1100px; }
  html.has-fragment .ranking-section,
  html.has-fragment .method-section,
  html.has-fragment .attention-evidence,
  html.has-fragment .brand-film,
  html.has-fragment .story,
  html.has-fragment .editorial-radar,
  html.has-fragment .closing-section,
  html.has-fragment .subscribe-section { content-visibility: visible; contain-intrinsic-size: none; }
}

html.document-hidden .morph, html.document-hidden .radar-orbit, html.document-hidden .radar-point { animation-play-state: paused !important; }

@media (prefers-reduced-motion: no-preference) {
  .morph-one { animation: morph-one 18s ease-in-out infinite alternate; }
  .morph-two { animation: morph-two 15s ease-in-out infinite alternate; }
  .orbit-a { animation: orbit 35s linear infinite; }
  .orbit-b { animation: orbit 26s linear infinite reverse; }
  .radar-point { animation: float 6s ease-in-out infinite; }
  .point-2 { animation-delay: -2s; }
  .point-3 { animation-delay: -4s; }
  @keyframes morph-one { 45% { border-radius: 60% 40% 31% 69% / 37% 55% 45% 63%; transform: rotate(10deg) scale(1.04); } 100% { border-radius: 42% 58% 67% 33% / 61% 39% 61% 39%; transform: rotate(-6deg) scale(.96); } }
  @keyframes morph-two { 50% { border-radius: 34% 66% 55% 45% / 63% 34% 66% 37%; transform: translate(25px,-20px) rotate(-7deg); } }
  @keyframes orbit { to { transform: rotate(360deg); } }
  @keyframes float { 50% { transform: translateY(-7px); } }

  @supports (animation-timeline: view()) {
    .story-rank span {
      animation: rank-bloom both linear;
      animation-timeline: view(block);
      animation-range: entry 0% cover 34%;
    }
    @keyframes rank-bloom {
      from { opacity: .12; filter: blur(5px); transform: translateY(34px) scale(.88); }
      to { opacity: 1; filter: blur(0); transform: none; }
    }
  }
}

@media (max-width: 1020px) {
  .reading-rail { display: block; right: 0; top: 0; width: 0; height: 0; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; transform: none; }
  .reading-rail::before, .reading-rail::after, .reading-rail > a { display: none; }
  .reading-rail-live { position: fixed; z-index: 86; right: 12px; top: auto; bottom: 78px; display: grid; min-width: 124px; transform: none; }
  .nav-links { display: none; }
  .hero-shell { grid-template-columns: 1fr; padding-top: 150px; }
  .hero-radar { width: min(470px, 76vw); margin-top: 20px; }
  .editorial, .method-shell, .subscribe-shell, .ai-shell { grid-template-columns: 1fr; }
  .author-card { display: grid; grid-template-columns: 42% 58%; }
  .author-card picture { height: 100%; min-height: 470px; }
  .method-copy, .subscribe-copy, .ai-intro { position: static; }
  .ranking-grid { grid-template-columns: 1fr; }
  .radar-grid { grid-template-columns: 1fr; }
  .ledger-explainer ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fast-read-grid { grid-template-columns: 1fr; }
  .fast-read-grid li { min-height: 0; }
  .rank-card { min-height: 0; }
  .story-head { grid-template-columns: 130px 1fr; }
  .article-media { width: min(calc(100% - 130px),1080px); }
  .story-body { grid-template-columns: 250px minmax(0,1fr); gap: 45px; }
  .legal-map { margin-left: 130px; padding-left: 30px; }
}

@media (max-width: 720px) {
  body { font-size: 16px; }
  .whatsapp-benefits { padding: 14px; }
  .whatsapp-benefits-head { grid-template-columns: 34px minmax(0,1fr); }
  .whatsapp-benefits-status { grid-column: 1 / -1; justify-self: start; }
  .whatsapp-benefits-grid { grid-template-columns: 1fr; }
  .whatsapp-benefits-grid article { min-height: 74px; }
  h1 { font-size: clamp(3.1rem, 14vw, 5rem); }
  h2 { font-size: clamp(2.25rem, 10vw, 3.4rem); }
  .nav-shell { width: calc(100% - 24px); min-height: 68px; gap: 10px; }
  .site-header { backdrop-filter: blur(10px) saturate(125%); -webkit-backdrop-filter: blur(10px) saturate(125%); }
  .logo-link img { width: 148px; }
  .language-switch a { min-width: 44px; min-height: 44px; padding-inline: 4px; }
  .theme-toggle { display: none; }
  .nav-cta { display: none; }
  .hero-shell { width: calc(100% - 32px); padding: 118px 0 70px; }
  .issue-chip { align-items: flex-start; flex-direction: column; gap: 2px; border-radius: 13px; }
  .hero-deck { font-size: 1.08rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .primary-button, .secondary-button { width: 100%; }
  .hero-radar { width: 82vw; margin: 30px auto; }
  .radar-point { width: 126px; min-height: 84px; padding: 11px; }
  .radar-point strong { font-size: 1rem; }
  .point-1 { left: -2%; }
  .point-2 { right: -4%; }
  .point-3 { left: 4%; }
  .proof-bar > div { width: 100%; grid-template-columns: 1fr; }
  .proof-bar span { padding: 12px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .proof-bar span { align-items: center; }
  .return-thread { grid-template-columns: 42px minmax(0,1fr); gap: 12px; margin-top: 14px; padding: 15px; }
  .return-thread-mark { width: 40px; height: 40px; }
  .return-thread a { grid-column: 1 / -1; width: 100%; text-align: center; }
  .ledger-explainer { margin-top: -8px; padding: 19px; }
  .ledger-explainer ol { grid-template-columns: 1fr; }
  .lexi-float { right: 12px; bottom: max(12px,env(safe-area-inset-bottom)); padding: 6px; }
  .lexi-float-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .lexi-float.is-nudging { padding-left: 14px; }
  .lexi-float.is-nudging .lexi-float-copy { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; }
  .lexi-float-avatar { width: 52px; height: 52px; flex-basis: 52px; }
  .lexi-context { right: 12px; bottom: max(82px,calc(env(safe-area-inset-bottom) + 82px)); width: min(420px,calc(100vw - 24px)); grid-template-columns: 92px 1fr; padding: 18px 18px 18px 8px; border-radius: 24px; }
  .lexi-context > img { width: 92px; height: 104px; }
  .lexi-context-eyebrow { margin-right: 32px; font-size: .62rem; }
  .lexi-context-comment { font-size: .95rem; }
  .lexi-context-question { font-size: .74rem; }
  .lexi-context-actions { align-items: stretch; flex-direction: column; }
  .lexi-context-actions button { width: 100%; }
  .law-right-media-dock { left: 12px; bottom: max(12px,env(safe-area-inset-bottom)); width: auto; max-width: calc(100vw - 92px); }
  .media-dock-actions { flex-wrap: nowrap; }
  .media-music-toggle strong, .media-library-toggle strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .media-music-toggle { width: 52px; min-width: 52px; min-height: 52px; padding: 0; justify-content: center; }
  .media-library-toggle { width: 52px; height: 52px; padding: 0; justify-content: center; }
  .media-library { position: fixed; right: 12px; bottom: max(76px,calc(env(safe-area-inset-bottom) + 76px)); left: 12px; width: auto; max-height: calc(100dvh - 100px); }
  .media-library-head > div { min-width: 0; }
  .media-library-head h2 { overflow-wrap: normal; word-break: normal; }
  .media-channels { grid-template-columns: 1fr; }
  .signup-video-window { top: max(72px,env(safe-area-inset-top)); right: 12px; width: min(360px,calc(100vw - 24px)); border-radius: 17px; }
  .signup-video-head strong { font-size: .7rem; }
  .booking-popup { right: 12px; bottom: max(82px,calc(env(safe-area-inset-bottom) + 82px)); width: min(366px,calc(100vw - 24px)); padding: 23px; }
  .booking-popup-actions { align-items: stretch; flex-direction: column; }
  .booking-popup-actions a,.booking-popup-actions button { width: 100%; }
  .book-popup { top: max(72px,env(safe-area-inset-top)); left: 12px; width: min(410px,calc(100vw - 24px)); grid-template-columns: 105px 1fr; gap: 14px; padding: 18px; }
  .book-popup h2 { font-size: 1.35rem; }
  .book-popup-actions { align-items: stretch; flex-direction: column; }
  .book-popup-actions a,.book-popup-actions button { width: 100%; }
  .whatsapp-popup { left: 12px; bottom: max(82px,calc(env(safe-area-inset-bottom) + 82px)); width: min(366px,calc(100vw - 24px)); padding: 23px; }
  .whatsapp-popup-actions { align-items: stretch; flex-direction: column; }
  .whatsapp-popup-actions button { width: 100%; }
  .section-shell, .stories-shell, .subscribe-shell, .footer-shell { width: calc(100% - 32px); }
  .fast-read-heading { grid-template-columns: 1fr; gap: 6px; }
  .fast-read-grid li { padding: 22px; }
  .brand-film { min-height: 650px; }
  .brand-film-copy { width: calc(100% - 32px); }
  .brand-film-orbit { right: -52vw; width: 110vw; opacity: .6; }
  .editorial { padding-block: 80px; }
  .author-card { display: block; }
  .author-card picture { height: 390px; min-height: 0; }
  .ranking-section, .method-shell { padding-block: 80px; }
  .ledger-grid { grid-template-columns: 1fr; }
  .ledger-card { padding: 22px; }
  .ledger-caveat { grid-template-columns: 1fr; }
  .rank-card { padding: 22px; }
  .method-steps li { grid-template-columns: 46px 1fr; }
  .method-steps > li > span { width: 40px; height: 40px; }
  .story { padding-block: 90px; }
  .story-head { grid-template-columns: 1fr; gap: 25px; }
  .story-head, .story-rank, .story-title-block { width: 100%; min-width: 0; max-width: 100%; }
  .story-title-block h1, .story-title-block h2 { overflow-wrap: normal; word-break: normal; hyphens: none; }
  .story-rank span { font-size: 5.5rem; }
  .story-body { margin-top: 40px; grid-template-columns: 1fr; }
  .article-media { width: 100%; margin-top: 34px; border-radius: 16px; }
  .legal-map { grid-template-columns: 1fr; margin: 34px 0 0; padding: 0; }
  .legal-map a { min-height: 0; }
  .story-aside { position: static; }
  .copy-section, .action-panel { grid-template-columns: 34px 1fr; gap: 10px; }
  .action-panel { padding: 24px 18px; }
  .sources a { grid-template-columns: 1fr; gap: 3px; }
  .story-flow ol { grid-template-columns: 1fr; }
  .story-flow li { min-height: 76px; }
  .story-flow li:not(:last-child)::after { content: "↓"; right: 18px; top: auto; bottom: -12px; }
  .subscribe-shell { padding-block: 80px; }
  .social-grid { grid-template-columns: repeat(2,1fr); }
  .subscribe-card { padding: 23px 18px; border-radius: var(--radius); }
  .footer-shell { grid-template-columns: 1fr; }
  .footer-shell > div:last-child { text-align: left; }
  .status-card { padding: 35px 24px; }
  .status-card img { width: min(100%, 230px); height: auto; margin-bottom: 28px; }
  .status-card h1 { font-size: clamp(2.1rem,11vw,3.2rem); }
  .status-card .primary-button { box-sizing: border-box; width: 100%; justify-content: center; text-align: center; }
  .story-breadcrumb { align-items: flex-start; flex-direction: column; }
  .ai-shell { width: calc(100% - 32px); padding-block: 78px; gap: 38px; }
  .ai-intro h2 { font-size: clamp(2.8rem,14vw,4.4rem); }
  .ai-card { padding: 22px 17px; }
  .ai-answer { padding: 55px 19px 22px; }
  .ai-answer-mark { left: 20px; top: 18px; }
  .legal-hero { padding: 130px 20px 65px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  ::view-transition-old(root), ::view-transition-new(root), ::view-transition-group(lawright-logo), ::view-transition-group(story-card) { animation: none !important; }
  .lexi-float-avatar img { animation: none !important; }
  html.js .reveal { opacity: 1; transform: none; }
  .hero-film video, .brand-film video { display: none; }
  .ai-constellation { display: none; }
  .story-flow li { opacity: 1; transform: none; animation: none !important; }
}

/* ──────────────────────────────────────────────────────────────────────────
   EDITION 002 · THE EVIDENCE CHAMBER
   A restrained museum/editorial system: warm stock, midnight ink, brass rules
   and three original diagrams. Nothing in this block applies to edition 001.
   ────────────────────────────────────────────────────────────────────────── */
body[data-issue-id="002"] .reading-progress span {
  background: linear-gradient(90deg, var(--proof-copper), var(--proof-brass), var(--proof-mint));
  box-shadow: 0 0 18px rgba(213,170,88,.4);
}
body[data-issue-id="002"] .site-header {
  border-bottom: 1px solid rgba(228,189,112,.24);
  background: rgba(4,18,23,.78);
  backdrop-filter: blur(18px) saturate(115%);
}
body[data-issue-id="002"] .site-header.is-scrolled { background: rgba(4,18,23,.96); }
body[data-issue-id="002"] .nav-cta,
body[data-issue-id="002"] .language-switch a[aria-current="page"] {
  color: var(--proof-ink);
  background: var(--proof-brass);
}
body[data-issue-id="002"] .hero {
  min-height: max(820px,100svh);
  isolation: isolate;
  background: radial-gradient(circle at 76% 42%, rgba(133,213,197,.14), transparent 26%), linear-gradient(118deg,#041217 0%,#08252e 58%,#103c43 100%);
}
body[data-issue-id="002"] .hero::before {
  content: "EVIDENCE  /  BEWIJS  /  PREUVE";
  position: absolute;
  z-index: 2;
  right: clamp(20px,4vw,70px);
  bottom: 30px;
  color: rgba(228,189,112,.62);
  font: 800 .68rem/1 var(--sans);
  letter-spacing: .28em;
  writing-mode: vertical-rl;
}
body[data-issue-id="002"] .hero::after {
  z-index: 1;
  opacity: 1;
  background: linear-gradient(90deg,rgba(4,18,23,.96) 0%,rgba(4,18,23,.82) 42%,rgba(4,18,23,.26) 72%,rgba(4,18,23,.66));
}
body[data-issue-id="002"] .hero-film--evidence {
  opacity: .58;
  mix-blend-mode: luminosity;
  filter: sepia(.18) saturate(.72) contrast(1.08);
  background: #08252e url('/assets/images/issue-002-proof.svg') 83% 50% / min(760px,64vw) auto no-repeat;
  transform: scale(1.02);
}
body[data-issue-id="002"] .hero-film--evidence::after {
  background: radial-gradient(circle at 78% 48%, transparent 0 18%,rgba(4,18,23,.28) 42%,rgba(4,18,23,.72) 76%);
}
body[data-issue-id="002"] .hero-grid-lines {
  z-index: 1;
  opacity: .16;
  background-image: linear-gradient(rgba(228,189,112,.34) 1px,transparent 1px),linear-gradient(90deg,rgba(228,189,112,.34) 1px,transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg,transparent 5%,black 46%,black 92%,transparent);
}
body[data-issue-id="002"] .morph {
  z-index: 1;
  border-color: rgba(228,189,112,.26);
  border-radius: 0;
  background: transparent;
  box-shadow: inset 0 0 0 12px rgba(228,189,112,.025);
}
body[data-issue-id="002"] .morph-one { width: 520px; right: -255px; top: 12%; transform: rotate(18deg); }
body[data-issue-id="002"] .morph-two { width: 320px; left: -205px; bottom: -90px; transform: rotate(45deg); }
body[data-issue-id="002"] .hero-shell { grid-template-columns: minmax(0,1.16fr) minmax(360px,.84fr); }
body[data-issue-id="002"] .issue-chip {
  padding: 9px 0;
  border: 0;
  border-top: 1px solid rgba(228,189,112,.62);
  border-bottom: 1px solid rgba(228,189,112,.62);
  border-radius: 0;
  background: transparent;
  letter-spacing: .13em;
}
body[data-issue-id="002"] .issue-chip span { color: var(--proof-brass); }
body[data-issue-id="002"] .hero h1 {
  max-width: 680px;
  font-size: clamp(4.4rem,8.3vw,8.5rem);
  font-weight: 520;
  line-height: .88;
  letter-spacing: -.065em;
  text-shadow: 0 24px 80px rgba(0,0,0,.25);
}
body[data-issue-id="002"] .hero-deck { max-width: 630px; color: rgba(255,253,248,.78); }
body[data-issue-id="002"] .primary-button {
  color: var(--proof-ink);
  border-radius: 4px;
  background: var(--proof-brass);
  box-shadow: 0 14px 34px rgba(213,170,88,.2);
}
body[data-issue-id="002"] .secondary-button { border-radius: 4px; border-color: rgba(255,253,248,.34); background: rgba(255,253,248,.06); }
body[data-issue-id="002"] .hero-proof { padding-top: 16px; border-top: 1px solid rgba(255,253,248,.15); }
body[data-issue-id="002"] .hero-proof span::before { border-radius: 0; background: var(--proof-mint); box-shadow: none; transform: rotate(45deg); }
body[data-issue-id="002"] .hero-radar {
  width: min(430px,39vw);
  border-color: rgba(228,189,112,.42);
  border-radius: 3px;
  background: linear-gradient(rgba(7,29,38,.42),rgba(7,29,38,.84)),url('/assets/images/issue-002-governance.svg') center/cover;
  box-shadow: 18px 18px 0 rgba(228,189,112,.11),0 40px 100px rgba(0,0,0,.28);
}
body[data-issue-id="002"] .hero-radar::before,
body[data-issue-id="002"] .hero-radar::after { border-color: rgba(133,213,197,.24); }
body[data-issue-id="002"] .hero-radar > p {
  width: 160px;
  padding: 12px;
  color: var(--proof-white);
  background: rgba(4,18,23,.82);
  font-size: .86rem;
  letter-spacing: .04em;
}
body[data-issue-id="002"] .radar-orbit { border-color: rgba(228,189,112,.4); }
body[data-issue-id="002"] .radar-point {
  min-height: 100px;
  border-color: rgba(133,213,197,.42);
  border-radius: 4px;
  background: rgba(4,18,23,.9);
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
}
body[data-issue-id="002"] .radar-point > span { color: var(--proof-brass); }
body[data-issue-id="002"] .radar-point:hover,
body[data-issue-id="002"] .radar-point:focus-visible { border-color: var(--proof-brass); background: #0d3841; }
body[data-issue-id="002"] .proof-bar { color: var(--proof-ink); background: var(--proof-brass); }
body[data-issue-id="002"] .proof-bar span { border-color: rgba(7,29,38,.2); }
body[data-issue-id="002"] .proof-bar strong { color: var(--proof-ink); }
body[data-issue-id="002"] .proof-bar small { color: #17353b; }

body[data-issue-id="002"] .kicker { color: var(--teal-ink); letter-spacing: .18em; }
body[data-issue-id="002"] .kicker.light { color: var(--proof-brass); }
body[data-issue-id="002"] .fast-read { position: relative; padding-top: clamp(95px,11vw,140px); }
body[data-issue-id="002"] .fast-read::before { content: "002"; position: absolute; right: 0; top: 55px; color: color-mix(in srgb,var(--ink) 6%,transparent); font: 900 clamp(7rem,18vw,14rem)/1 var(--serif); pointer-events: none; }
body[data-issue-id="002"] .fast-read-heading { position: relative; grid-template-columns: .72fr 2.28fr; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
body[data-issue-id="002"] .fast-read-grid { gap: 0; border: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow-sm); }
body[data-issue-id="002"] .fast-read-grid li {
  min-height: 280px;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
body[data-issue-id="002"] .fast-read-grid li:last-child { border-right: 0; }
body[data-issue-id="002"] .fast-read-grid li > span { color: var(--proof-copper); font-weight: 500; }
body[data-issue-id="002"] .fast-read-grid li p { color: var(--teal-ink); }
body[data-issue-id="002"] .editorial { align-items: center; }
body[data-issue-id="002"] .editorial-copy { padding-left: clamp(20px,4vw,60px); border-left: 1px solid var(--proof-brass); }
body[data-issue-id="002"] .editorial-copy > p:nth-of-type(2) { color: var(--ink); }
body[data-issue-id="002"] .author-card { border-radius: 3px; background: var(--proof-ink); box-shadow: 20px 20px 0 color-mix(in srgb,var(--proof-brass) 22%,transparent); }
body[data-issue-id="002"] .author-card img { filter: grayscale(100%) sepia(.12) contrast(1.08); }

body[data-issue-id="002"] .ai-companion {
  color: var(--proof-white);
  background: radial-gradient(circle at 82% 20%,rgba(133,213,197,.14),transparent 24%),var(--proof-ink);
}
body[data-issue-id="002"] .ai-card { border-color: rgba(228,189,112,.25); border-radius: 6px; background: rgba(255,253,248,.06); }
body[data-issue-id="002"] .ai-submit { color: var(--proof-ink); background: var(--proof-brass); }
body[data-issue-id="002"] .ranking-section { color: var(--proof-white); background: linear-gradient(145deg,#06171d,#0d3239); }
body[data-issue-id="002"] .ranking-section .section-heading > p:not(.kicker) { color: rgba(255,253,248,.7); }
body[data-issue-id="002"] .ranking-section .section-heading > a { color: var(--proof-brass); }
body[data-issue-id="002"] .ranking-grid { gap: 1px; background: rgba(228,189,112,.32); border: 1px solid rgba(228,189,112,.32); }
body[data-issue-id="002"] .rank-card {
  min-height: 540px;
  border: 0;
  border-radius: 0;
  color: var(--proof-white);
  background: linear-gradient(165deg,#10343b,#09252c);
  box-shadow: none;
}
body[data-issue-id="002"] .rank-card::before { width: 1px; height: 150px; right: 30px; top: 28px; border-radius: 0; background: var(--proof-brass); }
body[data-issue-id="002"] .rank-card::after { background: radial-gradient(circle at var(--glare-x) var(--glare-y),rgba(133,213,197,.15),transparent 44%); }
body[data-issue-id="002"] .rank-card:hover,
body[data-issue-id="002"] .rank-card:focus-visible { border-color: transparent; background-color: rgba(133,213,197,.07); box-shadow: inset 0 -4px var(--proof-brass); }
body[data-issue-id="002"] .rank-number { color: rgba(228,189,112,.65); font-weight: 450; }
body[data-issue-id="002"] .rank-meta span,
body[data-issue-id="002"] .rank-category { color: var(--proof-mint); }
body[data-issue-id="002"] .rank-meta strong { color: var(--proof-white); }
body[data-issue-id="002"] .rank-card p { color: rgba(255,253,248,.68); }
body[data-issue-id="002"] .rank-card .text-link { color: var(--proof-brass); }
body[data-issue-id="002"] .method-section { background: var(--proof-paper); color: var(--proof-ink); }
body[data-issue-id="002"] .method-section::before { border-radius: 0; border-color: rgba(7,29,38,.12); background: linear-gradient(135deg,transparent 49.8%,rgba(7,29,38,.08) 50%,transparent 50.2%); transform: rotate(12deg); }
body[data-issue-id="002"] .method-section .kicker.light { color: #7d5919; }
body[data-issue-id="002"] .method-copy > p:not(.kicker),
body[data-issue-id="002"] .method-steps p { color: #455d60; }
body[data-issue-id="002"] .method-freeze,
body[data-issue-id="002"] .method-steps li { border-color: rgba(7,29,38,.18); }
body[data-issue-id="002"] .method-steps > li > span { border: 1px solid var(--proof-ink); border-radius: 0; color: var(--proof-ink); background: transparent; }

body[data-issue-id="002"] .brand-film--evidence { min-height: min(820px,88svh); background: #06171d; }
body[data-issue-id="002"] .evidence-triptych { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3,1fr); }
body[data-issue-id="002"] .evidence-triptych figure { margin: 0; overflow: hidden; border-right: 1px solid rgba(228,189,112,.18); }
body[data-issue-id="002"] .evidence-triptych img { width: 100%; height: 100%; object-fit: cover; opacity: .42; filter: grayscale(1) sepia(.18) contrast(1.12); transform: scale(1.03); transition: opacity .7s ease,transform 1.2s ease; }
body[data-issue-id="002"] .brand-film--evidence:hover .evidence-triptych img { opacity: .58; transform: scale(1); }
body[data-issue-id="002"] .brand-film-overlay { background: linear-gradient(90deg,rgba(4,18,23,.92),rgba(4,18,23,.44) 55%,rgba(4,18,23,.7)); }
body[data-issue-id="002"] .brand-film-copy { left: max(22px,calc((100% - var(--shell))/2)); max-width: 700px; }
body[data-issue-id="002"] .brand-film-copy h2 { font-size: clamp(3rem,6.5vw,6.4rem); }
body[data-issue-id="002"] .brand-film-orbit { border-color: rgba(228,189,112,.46); border-radius: 0; transform: translateY(-50%) rotate(45deg); }
body[data-issue-id="002"] .brand-film-orbit span { border-radius: 0; border-color: rgba(133,213,197,.3); }

body[data-issue-id="002"] .story { border-bottom-color: var(--line); }
body[data-issue-id="002"] .story:nth-child(even) { position: relative; }
body[data-issue-id="002"] .story:nth-child(even)::before { content: ""; position: absolute; inset: 0 50% 0 calc(50% - 50vw); z-index: -1; width: 100vw; background: color-mix(in srgb,var(--teal) 5%,var(--paper)); }
body[data-issue-id="002"] .story-rank span { color: color-mix(in srgb,var(--proof-copper) 54%,transparent); font-weight: 450; }
body[data-issue-id="002"] .story-category { color: var(--teal-ink); letter-spacing: .14em; }
body[data-issue-id="002"] .story-metric { border-radius: 2px; color: var(--proof-ink); background: var(--proof-brass); }
body[data-issue-id="002"] .case-status { border-left-color: var(--proof-copper); background: color-mix(in srgb,var(--proof-copper) 7%,var(--white)); }
body[data-issue-id="002"] .article-media { border: 1px solid var(--line); border-radius: 4px; background: var(--proof-ink); box-shadow: 18px 18px 0 color-mix(in srgb,var(--proof-brass) 18%,transparent),var(--shadow-lg); }
body[data-issue-id="002"] .article-media img { background: #0b3038; }
body[data-issue-id="002"] .article-media figcaption { color: rgba(255,253,248,.72); background: var(--proof-ink); }
body[data-issue-id="002"] .legal-map { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body[data-issue-id="002"] .legal-map a { min-height: 112px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; }
body[data-issue-id="002"] .legal-map a:last-child { border-right: 0; }
body[data-issue-id="002"] .legal-map a:hover { background: color-mix(in srgb,var(--proof-brass) 12%,transparent); }
body[data-issue-id="002"] .story-aside blockquote { border-color: var(--proof-brass); color: var(--burgundy-ink); font-size: 1.25rem; }
body[data-issue-id="002"] .share-button,
body[data-issue-id="002"] .social-share-links button { min-height: 44px; border-radius: 3px; }
body[data-issue-id="002"] .copy-section { grid-template-columns: 58px 1fr; padding-block: 50px; }
body[data-issue-id="002"] .copy-label { color: var(--proof-copper); font-size: 1.1rem; }
body[data-issue-id="002"] .action-panel { border: 1px solid var(--line); border-radius: 4px; background: var(--white); box-shadow: 10px 10px 0 color-mix(in srgb,var(--proof-brass) 16%,transparent); }
body[data-issue-id="002"] .action-panel li::before { border-radius: 2px; background: var(--proof-ink-soft); }
body[data-issue-id="002"] .story-flow { border-radius: 4px; }
body[data-issue-id="002"] .story-flow li { border-radius: 3px; }
body[data-issue-id="002"] .takeaway { border-radius: 3px; border-color: var(--proof-brass); background: color-mix(in srgb,var(--proof-brass) 12%,var(--white)); }
body[data-issue-id="002"] .further-reading { border-radius: 3px; }
body[data-issue-id="002"] .further-reading header { background: var(--proof-ink); }
body[data-issue-id="002"] .sources summary { min-height: 64px; align-items: center; }
body[data-issue-id="002"] .closing-section { border-top: 1px solid var(--line); background: var(--paper-deep); }
body[data-issue-id="002"] .closing-shell { text-align: left; }
body[data-issue-id="002"] .closing-shell h2 { max-width: 780px; }
body[data-issue-id="002"] .signature { color: var(--proof-ink); }
body[data-issue-id="002"] .subscribe-section { background: var(--proof-ink); }
body[data-issue-id="002"] .subscribe-aura { border-radius: 0; background: linear-gradient(135deg,rgba(213,170,88,.23),transparent 65%); transform: rotate(25deg); }
body[data-issue-id="002"] .subscribe-card { border-radius: 6px; }
body[data-issue-id="002"] .submit-button { color: var(--proof-ink); background: var(--proof-brass); }
body[data-issue-id="002"] .site-footer { border-top: 1px solid rgba(228,189,112,.24); background: #031014; }
body[data-issue-id="002"] .law-right-media-dock { border-color: rgba(228,189,112,.5); background: rgba(4,18,23,.94); }
body[data-issue-id="002"] .media-music-toggle,
body[data-issue-id="002"] .media-library-toggle { color: var(--proof-white); border-color: rgba(228,189,112,.5); background: #0d343c; }
body[data-issue-id="002"] .media-music-toggle:hover,
body[data-issue-id="002"] .media-library-toggle:hover { color: var(--proof-ink); background: var(--proof-brass); }
body[data-issue-id="002"] :focus-visible { outline-color: var(--proof-brass); }

@media (max-width: 1020px) {
  body[data-issue-id="002"] .hero-shell { grid-template-columns: 1fr; }
  body[data-issue-id="002"] .hero-radar { width: min(520px,74vw); }
  body[data-issue-id="002"] .ranking-grid { grid-template-columns: 1fr; }
  body[data-issue-id="002"] .rank-card { min-height: 0; }
}

@media (max-width: 720px) {
  body[data-issue-id="002"] { background-size: 20px 20px; }
  body[data-issue-id="002"] .hero { min-height: auto; }
  body[data-issue-id="002"] .hero::before { display: none; }
  body[data-issue-id="002"] .hero-shell { padding-top: 118px; }
  body[data-issue-id="002"] .hero h1 { font-size: clamp(3.65rem,18vw,5.5rem); }
  body[data-issue-id="002"] .hero-film--evidence { opacity: .3; background-position: 70% 58%; background-size: auto 62%; }
  body[data-issue-id="002"] .hero-radar { width: min(88vw,420px); box-shadow: 9px 9px 0 rgba(228,189,112,.12); }
  body[data-issue-id="002"] .fast-read-heading { grid-template-columns: 1fr; }
  body[data-issue-id="002"] .fast-read-grid { grid-template-columns: 1fr; }
  body[data-issue-id="002"] .fast-read-grid li { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  body[data-issue-id="002"] .fast-read-grid li:last-child { border-bottom: 0; }
  body[data-issue-id="002"] .editorial-copy { padding-left: 20px; }
  body[data-issue-id="002"] .evidence-triptych { grid-template-columns: 1fr; }
  body[data-issue-id="002"] .evidence-triptych figure:nth-child(n+2) { display: none; }
  body[data-issue-id="002"] .brand-film-copy { left: 16px; right: 16px; width: auto; }
  body[data-issue-id="002"] .legal-map a { min-height: 88px; border-right: 0; border-bottom: 1px solid var(--line); }
  body[data-issue-id="002"] .legal-map a:last-child { border-bottom: 0; }
  body[data-issue-id="002"] .copy-section { grid-template-columns: 38px 1fr; }
  body[data-issue-id="002"] .article-media { box-shadow: 8px 8px 0 color-mix(in srgb,var(--proof-brass) 18%,transparent); }
}

@media (hover: none) {
  body[data-issue-id="002"] .brand-film--evidence .evidence-triptych img { opacity: .52; transform: none; }
}

/* Edition 002 rebuild: Law Right brand architecture. This later, compact layer
   deliberately neutralises the rejected overlapping evidence-chamber draft. */
body[data-issue-id="002"] .site-header {
  border-bottom: 1px solid rgba(251,250,246,.16);
  background: rgba(14,58,70,.96);
  backdrop-filter: blur(14px);
}
body[data-issue-id="002"] .site-header.is-scrolled { background: #0e3a46; }
body[data-issue-id="002"] .nav-cta,
body[data-issue-id="002"] .language-switch a[aria-current="page"] { color: #0e3a46; background: #e8a800; }
body[data-issue-id="002"] .reading-progress span { background: linear-gradient(90deg,#207890,#e8a800); box-shadow: none; }
body[data-issue-id="002"] .reading-rail-live { display: none; }
body[data-issue-id="002"] .reading-rail { border-color: rgba(32,120,144,.3); background: rgba(251,250,246,.94); }
body[data-issue-id="002"] .reading-rail > a { color: #0e3a46; }
body[data-issue-id="002"] .reading-rail > a[aria-current="location"] { color: #0e3a46; background: #e8a800; }

body[data-issue-id="002"] .hero {
  min-height: auto;
  color: #fbfaf6;
  background: #0e3a46;
  isolation: isolate;
}
body[data-issue-id="002"] .hero::before,
body[data-issue-id="002"] .hero::after { display: none; }
body[data-issue-id="002"] .hero-film--evidence {
  opacity: 1;
  mix-blend-mode: normal;
  filter: none;
  transform: none;
  background: radial-gradient(circle at 84% 20%,rgba(232,168,0,.16),transparent 20%),radial-gradient(circle at 74% 78%,rgba(32,120,144,.48),transparent 32%),linear-gradient(135deg,#0e3a46,#0b303a);
}
body[data-issue-id="002"] .hero-film--evidence::after { background: linear-gradient(90deg,rgba(14,58,70,.14),rgba(14,58,70,.5)); }
body[data-issue-id="002"] .morph { display: none; }
body[data-issue-id="002"] .hero-grid-lines {
  opacity: .11;
  background-image: linear-gradient(rgba(251,250,246,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(251,250,246,.45) 1px,transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg,transparent,black 62%,black);
  transform: none;
}
body[data-issue-id="002"] .hero-shell {
  width: min(calc(100% - 48px),var(--shell));
  min-height: 790px;
  padding: 132px 0 72px;
  grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr);
  gap: clamp(48px,7vw,96px);
}
body[data-issue-id="002"] .hero-copy { max-width: 690px; }
body[data-issue-id="002"] .issue-chip {
  gap: 14px;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 2px solid #e8a800;
  border-radius: 0;
  background: transparent;
  letter-spacing: .1em;
}
body[data-issue-id="002"] .issue-chip span { color: #e8a800; }
body[data-issue-id="002"] .hero h1 {
  max-width: 680px;
  margin-top: 34px;
  font-size: clamp(4.1rem,7.4vw,7.1rem);
  font-weight: 600;
  line-height: .94;
  letter-spacing: -.055em;
  text-shadow: none;
}
body[data-issue-id="002"] .hero-deck { max-width: 650px; color: rgba(251,250,246,.82); font-size: clamp(1.12rem,1.65vw,1.34rem); }
body[data-issue-id="002"] .hero-actions { gap: 12px; }
body[data-issue-id="002"] .primary-button,
body[data-issue-id="002"] .secondary-button { min-height: 50px; border-radius: 10px; translate: none; }
body[data-issue-id="002"] .primary-button { color: #0e3a46; background: #e8a800; box-shadow: none; }
body[data-issue-id="002"] .secondary-button { color: #fbfaf6; border-color: rgba(251,250,246,.42); background: rgba(251,250,246,.05); }
body[data-issue-id="002"] .hero-proof { margin-top: 30px; padding-top: 18px; border-top: 1px solid rgba(251,250,246,.18); }
body[data-issue-id="002"] .hero-proof span::before { border-radius: 50%; background: #e8a800; transform: none; }

body[data-issue-id="002"] .evidence-index {
  position: relative;
  z-index: 2;
  align-self: center;
  overflow: hidden;
  border: 1px solid rgba(251,250,246,.24);
  border-radius: 22px;
  background: rgba(251,250,246,.07);
  box-shadow: 0 24px 70px rgba(5,31,38,.25);
  backdrop-filter: blur(10px);
}
body[data-issue-id="002"] .evidence-index header { display: grid; grid-template-columns: 64px 1fr; gap: 18px; padding: 24px; align-items: center; border-bottom: 1px solid rgba(251,250,246,.18); }
body[data-issue-id="002"] .evidence-index header > span { color: #e8a800; font: 800 .78rem/1 var(--sans); letter-spacing: .12em; }
body[data-issue-id="002"] .evidence-index header p { margin: 0 0 5px; color: #9bd1dc; font-size: .66rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
body[data-issue-id="002"] .evidence-index h2 { margin: 0; color: #fbfaf6; font-size: clamp(1.45rem,2vw,2rem); letter-spacing: -.025em; }
body[data-issue-id="002"] .evidence-index ol { position: relative; z-index: 1; margin: 0; padding: 0; list-style: none; }
body[data-issue-id="002"] .evidence-index li + li { border-top: 1px solid rgba(251,250,246,.15); }
body[data-issue-id="002"] .evidence-index a { display: grid; min-height: 86px; padding: 18px 24px; grid-template-columns: 44px 1fr 24px; gap: 14px; align-items: center; color: #fbfaf6; text-decoration: none; transition: background .2s ease; }
body[data-issue-id="002"] .evidence-index a:hover,
body[data-issue-id="002"] .evidence-index a:focus-visible { background: rgba(232,168,0,.12); }
body[data-issue-id="002"] .evidence-index a > span:first-child { color: #e8a800; font: 700 .82rem/1 var(--sans); }
body[data-issue-id="002"] .evidence-index a strong,
body[data-issue-id="002"] .evidence-index a small { display: block; }
body[data-issue-id="002"] .evidence-index a strong { font-family: var(--serif); font-size: 1rem; line-height: 1.25; }
body[data-issue-id="002"] .evidence-index a small { margin-top: 4px; color: rgba(251,250,246,.65); font-size: .68rem; }
body[data-issue-id="002"] .evidence-index a i { color: #e8a800; font-style: normal; }
body[data-issue-id="002"] .evidence-index figure { height: 150px; margin: 0; overflow: hidden; border-top: 1px solid rgba(251,250,246,.15); background: #092e38; }
body[data-issue-id="002"] .evidence-index figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; opacity: .78; }

body[data-issue-id="002"] .proof-bar { color: #0e3a46; background: #e8a800; }
body[data-issue-id="002"] .proof-bar > div { min-height: 68px; }
body[data-issue-id="002"] .proof-bar span { border-color: rgba(14,58,70,.2); }
body[data-issue-id="002"] .proof-bar strong,
body[data-issue-id="002"] .proof-bar small { color: #0e3a46; }
body[data-issue-id="002"] .kicker { color: #176578; }
body[data-issue-id="002"] .kicker.light { color: #ffd35f; }

body[data-issue-id="002"] .fast-read { padding-block: clamp(80px,9vw,120px); }
body[data-issue-id="002"] .fast-read::before { display: none; }
body[data-issue-id="002"] .fast-read-heading { grid-template-columns: .78fr 2.22fr; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
body[data-issue-id="002"] .fast-read-grid { gap: 18px; border: 0; background: transparent; box-shadow: none; }
body[data-issue-id="002"] .fast-read-grid li { min-height: 250px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: var(--shadow-sm); }
body[data-issue-id="002"] .fast-read-grid li:last-child { border-right: 1px solid var(--line); }
body[data-issue-id="002"] .fast-read-grid li > span { color: #207890; font-weight: 600; }

body[data-issue-id="002"] .ai-companion { color: #fbfaf6; background: #0e3a46; }
body[data-issue-id="002"] .ai-card { border-color: rgba(251,250,246,.2); border-radius: 20px; background: rgba(251,250,246,.07); }
body[data-issue-id="002"] .ai-submit { color: #0e3a46; background: #e8a800; }
body[data-issue-id="002"] .editorial { align-items: start; grid-template-columns:1fr; gap:clamp(42px,6vw,72px); }
body[data-issue-id="002"] .editorial-copy { max-width:880px; padding-left:clamp(20px,4vw,54px); border-left:4px solid #e9a825; }
body[data-issue-id="002"] .author-card { display:grid; grid-template-columns:minmax(340px,40%) minmax(0,60%); min-height:620px; border:1px solid rgba(255,255,255,.14); border-radius:24px; background:linear-gradient(145deg,#100b46 0%,#171148 62%,#80074b 150%); box-shadow:var(--shadow-lg); }
body[data-issue-id="002"] .author-card::after { content:""; position:absolute; z-index:2; left:40%; top:0; bottom:0; width:1px; background:linear-gradient(transparent,rgba(233,168,37,.85) 22%,rgba(233,168,37,.24) 78%,transparent); pointer-events:none; }
body[data-issue-id="002"] .author-portrait { position:relative; min-width:0; min-height:620px; margin:0; overflow:hidden; background:#212931; }
body[data-issue-id="002"] .author-portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 56%,rgba(16,11,70,.45)); pointer-events:none; }
body[data-issue-id="002"] .author-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 16%; filter:saturate(.78) contrast(1.04); }
body[data-issue-id="002"] .author-card-copy { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; padding:clamp(42px,6vw,80px); }
body[data-issue-id="002"] .author-card-copy::before { content:"LAW RIGHT"; display:block; margin-bottom:26px; color:#e9a825; font-size:.72rem; font-weight:700; letter-spacing:.18em; }
body[data-issue-id="002"] .author-card .author-name { margin:0; color:#fff; font:600 clamp(2.2rem,4.5vw,4.6rem)/1.02 "Roboto Slab",Georgia,serif; letter-spacing:-.035em; }
body[data-issue-id="002"] .author-card .author-role { margin:16px 0 0; color:rgba(255,255,255,.72); font-size:1rem; }
body[data-issue-id="002"] .author-card .author-bio { max-width:650px; margin:30px 0 0; color:rgba(255,255,255,.86); font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.72; }
body[data-issue-id="002"] .author-practice { margin-top:34px; padding-top:24px; border-top:1px solid rgba(255,255,255,.18); }
body[data-issue-id="002"] .author-practice > p { margin:0 0 14px; color:#e9a825; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
body[data-issue-id="002"] .author-practice ul { display:flex; flex-wrap:wrap; gap:8px 18px; margin:0; padding:0; list-style:none; }
body[data-issue-id="002"] .author-practice li { position:relative; padding-left:14px; color:rgba(255,255,255,.88); font-size:.88rem; }
body[data-issue-id="002"] .author-practice li::before { content:""; position:absolute; left:0; top:.58em; width:5px; height:5px; border-radius:50%; background:#e9a825; }
body[data-issue-id="002"] .author-card .author-cta { align-self:flex-start; display:inline-flex; min-height:48px; margin-top:34px; padding:0 22px; align-items:center; gap:12px; border-radius:999px; color:#100b46; background:#e9a825; text-decoration:none; transition:transform .2s ease,background .2s ease; }
body[data-issue-id="002"] .author-card .author-cta:hover { color:#100b46; background:#f4c454; transform:translateY(-2px); }

body[data-issue-id="002"] .ranking-section { color: #fbfaf6; background: #0e3a46; }
body[data-issue-id="002"] .ranking-section .section-heading > p:not(.kicker) { color: rgba(251,250,246,.76); }
body[data-issue-id="002"] .ranking-section .section-heading > a { color: #ffd35f; }
body[data-issue-id="002"] .ranking-grid { gap: 22px; border: 0; background: transparent; }
body[data-issue-id="002"] .rank-card,
body[data-issue-id="002"] .rank-card.tilt-ready,
body[data-issue-id="002"] .rank-card.tilt-ready:hover,
body[data-issue-id="002"] .rank-card.tilt-ready:focus-visible {
  min-height: 510px;
  border: 1px solid rgba(251,250,246,.22);
  border-radius: 18px;
  color: #fbfaf6;
  background: #174f5c;
  box-shadow: none;
  transform: none;
}
body[data-issue-id="002"] .rank-card::before { width: 56px; height: 4px; right: 28px; top: 34px; border-radius: 4px; background: #e8a800; }
body[data-issue-id="002"] .rank-card::after { display: none; }
body[data-issue-id="002"] .rank-card:hover,
body[data-issue-id="002"] .rank-card:focus-visible { border-color: #e8a800; background: #195966; transform: translateY(-4px); }
body[data-issue-id="002"] .rank-number { color: #e8a800; font-weight: 600; }
body[data-issue-id="002"] .rank-meta { position: static; width: auto; max-width: none; margin-top: 18px; align-items: flex-start; text-align: left; }
body[data-issue-id="002"] .rank-meta span,
body[data-issue-id="002"] .rank-category { color: #a9dfe6; }
body[data-issue-id="002"] .rank-meta strong { color: #fbfaf6; }
body[data-issue-id="002"] .rank-category { margin-top: 28px; }
body[data-issue-id="002"] .rank-card p { color: rgba(251,250,246,.76); }
body[data-issue-id="002"] .rank-card .text-link { color: #ffd35f; }

body[data-issue-id="002"] .method-section { color: var(--ink); background: var(--paper-deep); }
body[data-issue-id="002"] .method-section::before { border-color: rgba(32,120,144,.2); border-radius: 50%; background: transparent; transform: none; }
body[data-issue-id="002"] .method-section .kicker.light { color: #176578; }
body[data-issue-id="002"] .method-copy > p:not(.kicker),
body[data-issue-id="002"] .method-steps p { color: var(--muted); }
body[data-issue-id="002"] .method-freeze,
body[data-issue-id="002"] .method-steps li { border-color: var(--line); }
body[data-issue-id="002"] .method-steps > li > span { border: 0; border-radius: 12px; color: #0e3a46; background: #e8a800; }

body[data-issue-id="002"] .brand-film--evidence { min-height: 680px; background: #0e3a46; }
body[data-issue-id="002"] .evidence-triptych { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3,1fr); }
body[data-issue-id="002"] .evidence-triptych figure { margin: 0; overflow: hidden; border-right: 1px solid rgba(251,250,246,.15); }
body[data-issue-id="002"] .evidence-triptych img { width: 100%; height: 100%; object-fit: cover; opacity: .34; filter: grayscale(.4) saturate(.75); transform: none; transition: opacity .35s ease; }
body[data-issue-id="002"] .brand-film--evidence:hover .evidence-triptych img { opacity: .42; transform: none; }
body[data-issue-id="002"] .brand-film-overlay { background: linear-gradient(90deg,rgba(14,58,70,.96),rgba(14,58,70,.55) 62%,rgba(14,58,70,.74)); }
body[data-issue-id="002"] .brand-film-copy { left: max(24px,calc((100% - var(--shell))/2)); max-width: 720px; }
body[data-issue-id="002"] .brand-film-copy h2 { font-size: clamp(3rem,6.2vw,6rem); }
body[data-issue-id="002"] .brand-film-orbit { display: none; }
body[data-issue-id="002"] .ai-constellation { display: none; }

body[data-issue-id="002"] .story { border-bottom-color: var(--line); }
body[data-issue-id="002"] .story:nth-child(even)::before { background: color-mix(in srgb,#207890 5%,var(--paper)); }
body[data-issue-id="002"] .story-rank span { color: color-mix(in srgb,#207890 50%,transparent); font-weight: 600; }
body[data-issue-id="002"] .story-category { color: #176578; }
body[data-issue-id="002"] .story-metric { border-radius: 8px; color: #0e3a46; background: #e8a800; }
body[data-issue-id="002"] .case-status { border-left-color: #207890; background: color-mix(in srgb,#207890 7%,var(--white)); }
body[data-issue-id="002"] .article-media { border: 1px solid var(--line); border-radius: 22px; background: #0e3a46; box-shadow: var(--shadow-lg); }
body[data-issue-id="002"] .article-media img { background: #0e3a46; }
body[data-issue-id="002"] .article-media figcaption { color: rgba(251,250,246,.78); background: #0e3a46; }
body[data-issue-id="002"] .legal-map { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body[data-issue-id="002"] .legal-map a { min-height: 108px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; }
body[data-issue-id="002"] .legal-map a:last-child { border-right: 0; }
body[data-issue-id="002"] .legal-map a:hover { background: color-mix(in srgb,#207890 8%,transparent); }
body[data-issue-id="002"] .story-aside blockquote { border-color: #e8a800; color: var(--ink); }
body[data-issue-id="002"] .share-button,
body[data-issue-id="002"] .social-share-links button { min-height: 44px; border-radius: 10px; }
body[data-issue-id="002"] .copy-section { grid-template-columns: 52px 1fr; padding-block: 48px; }
body[data-issue-id="002"] .copy-label { color: #176578; }
body[data-issue-id="002"] .action-panel { border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: var(--shadow-sm); }
body[data-issue-id="002"] .action-panel li::before { border-radius: 8px; background: #207890; }
body[data-issue-id="002"] .takeaway { border-color: #e8a800; border-radius: 16px; background: color-mix(in srgb,#e8a800 11%,var(--white)); }
body[data-issue-id="002"] .further-reading { border-radius: 18px; }
body[data-issue-id="002"] .further-reading header { background: #0e3a46; }
body[data-issue-id="002"] .sources summary { min-height: 64px; align-items: center; }

/* Article-specific motion keeps its layout box from the first paint. Without
   JavaScript every step is already visible; JS only adds the scroll entrance. */
body[data-issue-id="002"] .story-flow { position: relative; overflow: hidden; border-radius: 18px; }
body[data-issue-id="002"] .story-flow li { opacity: 1; transform: none; border-radius: 12px; }
html.js body[data-issue-id="002"] .story-flow li { opacity: 0; transform: translateY(14px); }
html.js body[data-issue-id="002"] .story-flow.is-visible li { animation: issue002-step-in .48s ease forwards; animation-delay: calc(var(--flow-index) * 100ms); }
body[data-issue-id="002"] .story-flow--evidence-scan { border-color: rgba(32,120,144,.42); background: #0e3a46; }
body[data-issue-id="002"] .story-flow--evidence-scan::before { opacity: 0; background: linear-gradient(90deg,transparent,rgba(232,168,0,.32),transparent); transform: translateX(-100%); animation: none; }
html.js body[data-issue-id="002"] .story-flow--evidence-scan.is-visible::before { animation: issue002-scan-once 1.25s .18s ease-out both; }
body[data-issue-id="002"] .story-flow--evidence-scan li { border-color: rgba(169,223,230,.5); background: #195363; }
body[data-issue-id="002"] .story-flow--evidence-scan li::before { animation: none; background: #e8a800; }
body[data-issue-id="002"] .story-flow--governance-pulse { border-color: rgba(232,168,0,.42); background: color-mix(in srgb,#e8a800 8%,var(--white)); }
body[data-issue-id="002"] .story-flow--governance-pulse li { border-color: rgba(14,58,70,.3); background: #0e3a46; animation: none; }
html.js body[data-issue-id="002"] .story-flow--governance-pulse.is-visible li { animation: issue002-step-in .48s ease forwards,issue002-governance-once .72s ease-out forwards; animation-delay: calc(var(--flow-index) * 100ms),calc(220ms + var(--flow-index) * 130ms); }
body[data-issue-id="002"] .story-flow--rights-weave { border-color: rgba(32,120,144,.36); background: linear-gradient(135deg,rgba(32,120,144,.08),transparent),var(--white); }
body[data-issue-id="002"] .story-flow--rights-weave li { border-radius: 30px 12px; background: linear-gradient(135deg,#207890,#0e3a46); box-shadow: 6px 6px 0 rgba(232,168,0,.22); }
html.js body[data-issue-id="002"] .story-flow--rights-weave.is-visible li { animation: issue002-weave-in .58s ease forwards; animation-delay: calc(var(--flow-index) * 110ms); }
@keyframes issue002-step-in { to { opacity:1; transform:none; } }
@keyframes issue002-scan-once { 0% { opacity:0; transform:translateX(-100%); } 22% { opacity:1; } 100% { opacity:0; transform:translateX(100%); } }
@keyframes issue002-governance-once { 50% { box-shadow:0 0 0 5px rgba(232,168,0,.22); } 100% { box-shadow:none; } }
@keyframes issue002-weave-in { from { opacity:0; transform:translateX(-12px); } to { opacity:1; transform:none; } }

/* Issue 002 signature mechanisms: the diagram carries the idea; labels remain
   ordinary readable text and never depend on SVG or motion. */
body[data-issue-id="002"] .story-flow { padding:clamp(24px,4vw,42px); }
body[data-issue-id="002"] .story-flow h3 { position:relative; z-index:3; margin:0; font-size:clamp(1.3rem,2.4vw,2rem); }
body[data-issue-id="002"] .story-flow-stage { position:relative; min-height:330px; margin-top:18px; }
body[data-issue-id="002"] .story-flow-visual { position:absolute; inset:0 0 58px; width:100%; height:calc(100% - 58px); overflow:visible; }
body[data-issue-id="002"] .story-flow-stage ol { position:absolute; z-index:2; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,4vw,52px); }
body[data-issue-id="002"] .story-flow-stage li,
html.js body[data-issue-id="002"] .story-flow-stage li { min-height:0; padding:14px 0 0; border:0; border-top:1px solid currentColor; border-radius:0; opacity:1; transform:none; background:transparent; box-shadow:none; }
body[data-issue-id="002"] .story-flow-stage li::before,
body[data-issue-id="002"] .story-flow-stage li::after { display:none; }
body[data-issue-id="002"] .story-flow-stage li span { display:block; margin-bottom:7px; font:700 .67rem/1 Roboto,sans-serif; letter-spacing:.12em; }
body[data-issue-id="002"] .story-flow-stage li strong { font-size:clamp(.74rem,1.2vw,.9rem); line-height:1.35; }
body[data-issue-id="002"] .story-flow-visual path,
body[data-issue-id="002"] .story-flow-visual circle,
body[data-issue-id="002"] .story-flow-visual rect { vector-effect:non-scaling-stroke; }
body[data-issue-id="002"] .flow-draw,
body[data-issue-id="002"] .flow-thread { stroke-dasharray:1; stroke-dashoffset:0; }

body[data-issue-id="002"] .story-flow--evidence-scan::before { display:none; }
body[data-issue-id="002"] .story-flow--evidence-scan h3 { color:#fff; }
body[data-issue-id="002"] .story-flow--evidence-scan .story-flow-stage li { color:rgba(255,255,255,.72); }
body[data-issue-id="002"] .story-flow--evidence-scan .story-flow-stage li strong { color:#fff; }
body[data-issue-id="002"] .story-flow--evidence-scan .story-flow-stage li span { color:#e9a825; }
body[data-issue-id="002"] .flow-guide { fill:none; stroke:rgba(255,255,255,.13); stroke-width:9; }
body[data-issue-id="002"] .flow-evidence-route { fill:none; stroke:url(#evidence-route-1); stroke-width:4; stroke-linecap:round; }
body[data-issue-id="002"] .flow-visual--evidence .flow-node { fill:#100b46; stroke:#207890; stroke-width:3; }
body[data-issue-id="002"] .flow-visual--evidence .flow-node path { fill:none; stroke:#fbfaf6; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
body[data-issue-id="002"] .flow-visual--evidence .flow-node-core { fill:#e9a825; stroke:none; }
body[data-issue-id="002"] .flow-visual--evidence .flow-node--owner rect { fill:#80074b; stroke:#e9a825; stroke-width:3; }
body[data-issue-id="002"] .flow-scan-beam { fill:#e9a825; opacity:.14; }

body[data-issue-id="002"] .story-flow--governance-pulse { color:#100b46; background:#fbfaf6; }
body[data-issue-id="002"] .story-flow--governance-pulse h3 { color:#100b46; }
body[data-issue-id="002"] .story-flow--governance-pulse .story-flow-stage li { color:rgba(16,11,70,.35); }
body[data-issue-id="002"] .story-flow--governance-pulse .story-flow-stage li strong { color:#100b46; }
body[data-issue-id="002"] .story-flow--governance-pulse .story-flow-stage li span { color:#80074b; }
body[data-issue-id="002"] .flow-quorum-line { fill:none; stroke:#80074b; stroke-width:3; stroke-linecap:round; }
body[data-issue-id="002"] .governance-table { fill:rgba(16,11,70,.04); stroke:#100b46; stroke-width:2; }
body[data-issue-id="002"] .quorum-seat circle { fill:#100b46; stroke:#e9a825; stroke-width:3; }
body[data-issue-id="002"] .quorum-seat path { fill:none; stroke:#fff; stroke-width:2; }
body[data-issue-id="002"] .decision-mark { fill:none; stroke:#207890; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; }
body[data-issue-id="002"] .minutes-seal circle { fill:#80074b; stroke:#e9a825; stroke-width:3; }
body[data-issue-id="002"] .minutes-seal circle + circle { fill:none; stroke:rgba(255,255,255,.7); stroke-width:1; }
body[data-issue-id="002"] .minutes-seal path { fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }

body[data-issue-id="002"] .story-flow--rights-weave { color:#100b46; background:linear-gradient(145deg,#fbfaf6,#f3eff6); }
body[data-issue-id="002"] .story-flow--rights-weave h3 { color:#100b46; }
body[data-issue-id="002"] .story-flow--rights-weave .story-flow-stage li { color:rgba(16,11,70,.35); }
body[data-issue-id="002"] .story-flow--rights-weave .story-flow-stage li strong { color:#100b46; }
body[data-issue-id="002"] .story-flow--rights-weave .story-flow-stage li span { color:#80074b; }
body[data-issue-id="002"] .flow-thread { fill:none; stroke-width:6; stroke-linecap:round; }
body[data-issue-id="002"] .flow-thread--gold { stroke:#e9a825; }
body[data-issue-id="002"] .flow-thread--burgundy { stroke:#80074b; }
body[data-issue-id="002"] .flow-thread--teal { stroke:#207890; }
body[data-issue-id="002"] .provenance-node circle { fill:#fbfaf6; stroke:#100b46; stroke-width:3; }
body[data-issue-id="002"] .provenance-node path { fill:none; stroke:#100b46; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
body[data-issue-id="002"] .provenance-node--use circle { fill:#100b46; stroke:#e9a825; }
body[data-issue-id="002"] .provenance-node--use path { fill:#e9a825; stroke:#e9a825; }
body[data-issue-id="002"] .provenance-node--pay circle { fill:#80074b; stroke:#e9a825; }
body[data-issue-id="002"] .provenance-node--pay path { stroke:#fff; }
body[data-issue-id="002"] .weave-over { fill:none; stroke:#fbfaf6; stroke-width:10; }

@media (prefers-reduced-motion:no-preference) {
  html.js body[data-issue-id="002"] .story-flow.is-visible .flow-draw,
  html.js body[data-issue-id="002"] .story-flow.is-visible .flow-thread { animation:issue002-svg-draw 1.25s cubic-bezier(.2,.7,.2,1) both; }
  html.js body[data-issue-id="002"] .story-flow.is-visible .flow-node,
  html.js body[data-issue-id="002"] .story-flow.is-visible .provenance-node { animation:issue002-node-lock .42s calc(260ms + var(--node-index) * 170ms) ease-out both; }
  html.js body[data-issue-id="002"] .story-flow.is-visible .quorum-seat { animation:issue002-seat-confirm .34s calc(180ms + var(--seat-index) * 90ms) ease-out both; }
  html.js body[data-issue-id="002"] .story-flow.is-visible .decision-mark { animation:issue002-mark-sign .62s .68s ease-out both; }
  html.js body[data-issue-id="002"] .story-flow.is-visible .minutes-seal { animation:issue002-seal-stamp .48s .88s cubic-bezier(.2,.75,.2,1) both; }
  html.js body[data-issue-id="002"] .story-flow.is-visible .flow-scan-beam { animation:issue002-beam-pass 1.15s .08s ease-in-out both; }
  @keyframes issue002-svg-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
  @keyframes issue002-node-lock { from { opacity:.15; filter:blur(3px); } to { opacity:1; filter:none; } }
  @keyframes issue002-seat-confirm { from { opacity:.2; filter:blur(2px); } to { opacity:1; filter:none; } }
  @keyframes issue002-mark-sign { from { opacity:.1; stroke-dasharray:1; stroke-dashoffset:1; } to { opacity:1; stroke-dashoffset:0; } }
  @keyframes issue002-seal-stamp { from { opacity:.15; filter:blur(3px); } to { opacity:1; filter:none; } }
  @keyframes issue002-beam-pass { 0% { opacity:0; transform:translateX(0); } 20% { opacity:.42; } 100% { opacity:0; transform:translateX(740px); } }
}

body[data-issue-id="002"] .closing-section { border-top: 1px solid var(--line); background: var(--paper-deep); }
body[data-issue-id="002"] .closing-shell { text-align: left; }
body[data-issue-id="002"] .signature { color: var(--ink); }
body[data-issue-id="002"] .subscribe-section { background: #0e3a46; }
body[data-issue-id="002"] .subscribe-aura { border-radius: 50%; background: radial-gradient(circle,rgba(232,168,0,.2),transparent 68%); transform: none; }
body[data-issue-id="002"] .subscribe-card { border-radius: 22px; }
body[data-issue-id="002"] .submit-button { color: #0e3a46; background: #e8a800; }
body[data-issue-id="002"] .site-footer { border-top: 1px solid rgba(251,250,246,.18); background: #082a33; }
body[data-issue-id="002"] .law-right-media-dock { border-color: rgba(251,250,246,.3); background: rgba(14,58,70,.97); }
body[data-issue-id="002"] .media-music-toggle,
body[data-issue-id="002"] .media-library-toggle { color: #fbfaf6; border-color: rgba(251,250,246,.3); background: #207890; }
body[data-issue-id="002"] .media-music-toggle:hover,
body[data-issue-id="002"] .media-library-toggle:hover { color: #0e3a46; background: #e8a800; }
body[data-issue-id="002"] :focus-visible { outline-color: #e8a800; }

@media (max-width:1020px) {
  body[data-issue-id="002"] .reading-rail { display:none; }
  body[data-issue-id="002"] .hero-shell { min-height: auto; padding-block: 140px 84px; grid-template-columns:1fr; }
  body[data-issue-id="002"] .evidence-index { width:min(100%,650px); justify-self:center; }
  body[data-issue-id="002"] .ranking-grid { grid-template-columns:1fr; }
  body[data-issue-id="002"] .rank-card,
  body[data-issue-id="002"] .rank-card.tilt-ready { min-height:0; }
}

@media (max-width:720px) {
  body[data-issue-id="002"] .nav-shell { gap:10px; }
  body[data-issue-id="002"] .logo-link img { width:128px; height:auto; }
  body[data-issue-id="002"] .hero-shell { width:calc(100% - 32px); padding:112px 0 66px; gap:42px; }
  body[data-issue-id="002"] .hero h1 { margin-top:24px; font-size:clamp(3.25rem,16vw,5rem); }
  body[data-issue-id="002"] .issue-chip { align-items:flex-start; flex-direction:column; }
  body[data-issue-id="002"] .evidence-index { border-radius:18px; }
  body[data-issue-id="002"] .evidence-index header { grid-template-columns:1fr; gap:8px; padding:20px; }
  body[data-issue-id="002"] .evidence-index a { min-height:82px; padding:16px 18px; grid-template-columns:36px 1fr 18px; gap:10px; }
  body[data-issue-id="002"] .evidence-index figure { height:120px; }
  body[data-issue-id="002"] .proof-bar > div { grid-template-columns:repeat(2,1fr); }
  body[data-issue-id="002"] .proof-bar span { min-height:58px; border-right:1px solid rgba(14,58,70,.18); border-bottom:1px solid rgba(14,58,70,.18); }
  body[data-issue-id="002"] .fast-read-heading { grid-template-columns:1fr; }
  body[data-issue-id="002"] .fast-read-grid { grid-template-columns:1fr; }
  body[data-issue-id="002"] .fast-read-grid li,
  body[data-issue-id="002"] .fast-read-grid li:last-child { min-height:0; border:1px solid var(--line); }
  body[data-issue-id="002"] .editorial-copy { padding-left:18px; }
  body[data-issue-id="002"] .author-card { grid-template-columns:1fr; min-height:0; }
  body[data-issue-id="002"] .author-card::after { display:none; }
  body[data-issue-id="002"] .author-portrait { min-height:0; height:clamp(380px,118vw,500px); }
  body[data-issue-id="002"] .author-card-copy { padding:34px 26px 38px; border-top:1px solid rgba(233,168,37,.42); }
  body[data-issue-id="002"] .author-card .author-name { font-size:clamp(2.35rem,12vw,3.6rem); overflow-wrap:anywhere; }
  body[data-issue-id="002"] .author-practice ul { display:grid; grid-template-columns:1fr; gap:9px; }
  body[data-issue-id="002"] .evidence-triptych { grid-template-columns:1fr; }
  body[data-issue-id="002"] .evidence-triptych figure:nth-child(n+2) { display:none; }
  body[data-issue-id="002"] .section-heading h2,
  body[data-issue-id="002"] .story-title-block h1,
  body[data-issue-id="002"] .story-title-block h2,
  body[data-issue-id="002"] .brand-film-copy h2 { overflow-wrap:anywhere; hyphens:auto; }
  body[data-issue-id="002"] .brand-film-copy { left:16px; right:16px; width:auto; max-width:none; box-sizing:border-box; }
  body[data-issue-id="002"] .legal-map a { min-height:84px; border-right:0; border-bottom:1px solid var(--line); }
  body[data-issue-id="002"] .legal-map a:last-child { border-bottom:0; }
  body[data-issue-id="002"] .copy-section { grid-template-columns:36px 1fr; }
  body[data-issue-id="002"] .story-flow ol { grid-template-columns:1fr; }
  body[data-issue-id="002"] .story-flow li { min-height:76px; }
  body[data-issue-id="002"] .law-right-media-dock { left:12px; right:auto; bottom:max(12px,env(safe-area-inset-bottom)); }
  body[data-issue-id="002"] .lexi-float { right:12px; bottom:max(12px,env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion:reduce) {
  body[data-issue-id="002"] .story-flow::before,
  body[data-issue-id="002"] .story-flow li,
  html.js body[data-issue-id="002"] .story-flow li { opacity:1; transform:none; animation:none!important; }
  body[data-issue-id="002"] .evidence-triptych img { transition:none; }
}

/* Final brand lock from the current Law Right site: navy and burgundy carry
   the identity; gold is the call-to-action; teal is only a functional accent. */
body[data-issue-id="002"] .site-header,
body[data-issue-id="002"] .site-header.is-scrolled { background:#100b46; }
body[data-issue-id="002"] .nav-cta,
body[data-issue-id="002"] .language-switch a[aria-current="page"],
body[data-issue-id="002"] .primary-button,
body[data-issue-id="002"] .ai-submit,
body[data-issue-id="002"] .submit-button { color:#100b46; background:#e9a825; }
body[data-issue-id="002"] .hero { background:#100b46; }
body[data-issue-id="002"] .hero-film--evidence { background:radial-gradient(circle at 82% 18%,rgba(233,168,37,.19),transparent 22%),radial-gradient(circle at 75% 76%,rgba(128,7,75,.5),transparent 34%),linear-gradient(135deg,#09062f,#100b46 58%,#24105c); }
body[data-issue-id="002"] .issue-chip { border-bottom-color:#e9a825; }
body[data-issue-id="002"] .issue-chip span,
body[data-issue-id="002"] .evidence-index header > span,
body[data-issue-id="002"] .evidence-index a > span:first-child,
body[data-issue-id="002"] .evidence-index a i,
body[data-issue-id="002"] .rank-number { color:#e9a825; }
body[data-issue-id="002"] .evidence-index { background:rgba(16,11,70,.7); border-color:rgba(255,255,255,.24); }
body[data-issue-id="002"] .evidence-index figure { background:#100b46; }
body[data-issue-id="002"] .proof-bar { background:#e9a825; }
body[data-issue-id="002"] .proof-bar strong,
body[data-issue-id="002"] .proof-bar small { color:#100b46; }
body[data-issue-id="002"] .proof-bar--editorial > div { width:min(calc(100% - 44px),var(--shell)); grid-template-columns:repeat(3,1fr); }
body[data-issue-id="002"] .proof-bar--editorial span { min-height:68px; align-items:center; gap:10px; }
body[data-issue-id="002"] .proof-bar--editorial strong { flex:0 0 auto; }
body[data-issue-id="002"] .proof-bar--editorial small { overflow-wrap:normal; word-break:normal; }
body[data-issue-id="002"] .ai-companion,
body[data-issue-id="002"] .ranking-section,
body[data-issue-id="002"] .subscribe-section { background:#100b46; }
body[data-issue-id="002"] .rank-card,
body[data-issue-id="002"] .rank-card.tilt-ready,
body[data-issue-id="002"] .rank-card.tilt-ready:hover,
body[data-issue-id="002"] .rank-card.tilt-ready:focus-visible { background:#212931; }
body[data-issue-id="002"] .rank-card:hover,
body[data-issue-id="002"] .rank-card:focus-visible { background:#324153; border-color:#e9a825; }
body[data-issue-id="002"] .brand-film--evidence { background:#100b46; }
body[data-issue-id="002"] .brand-film-overlay { background:linear-gradient(90deg,rgba(9,6,47,.96),rgba(16,11,70,.55) 62%,rgba(128,7,75,.65)); }
body[data-issue-id="002"] .article-media,
body[data-issue-id="002"] .article-media figcaption { background:#100b46; }
body[data-issue-id="002"] .story-metric,
body[data-issue-id="002"] .method-steps > li > span { color:#100b46; background:#e9a825; }
body[data-issue-id="002"] .action-panel li::before { background:#80074b; }
body[data-issue-id="002"] .story-flow--evidence-scan { background:#100b46; }
body[data-issue-id="002"] .story-flow--evidence-scan li { background:#324153; }
body[data-issue-id="002"] .story-flow--governance-pulse li { background:#100b46; }
body[data-issue-id="002"] .story-flow--rights-weave li { background:linear-gradient(135deg,#80074b,#100b46); }
body[data-issue-id="002"] .story-flow .story-flow-stage li,
html.js body[data-issue-id="002"] .story-flow .story-flow-stage li { border-radius:0; background:transparent; box-shadow:none; }
body[data-issue-id="002"] .article-taxonomy > div {
  border-color:rgba(16,11,70,.16);
  background:#f4f1ea;
}
body[data-issue-id="002"] .article-taxonomy strong { color:#80074b; }
body[data-issue-id="002"] .article-taxonomy span {
  color:#212931;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(16,11,70,.12);
}
body[data-issue-id="002"] .site-footer { background:#09062f; }
body[data-issue-id="002"] .law-right-media-dock { width:max-content; max-width:calc(100vw - 24px); border:0; background:transparent; }
body[data-issue-id="002"] .law-right-media-dock:has(.media-library:not([hidden])) { width:min(390px,calc(100vw - 24px)); }
body[data-issue-id="002"] .media-library { width:min(390px,calc(100vw - 24px)); }
body[data-issue-id="002"] .media-music-toggle,
body[data-issue-id="002"] .media-library-toggle { background:#80074b; }

/* Stable first paint and anchor navigation. Edition 002 never depends on an
   observer to reveal content or calculate deferred section heights. */
body[data-issue-id="002"] .ranking-section,
body[data-issue-id="002"] .method-section,
body[data-issue-id="002"] .attention-evidence,
body[data-issue-id="002"] .brand-film,
body[data-issue-id="002"] .story,
body[data-issue-id="002"] .editorial-radar,
body[data-issue-id="002"] .closing-section,
body[data-issue-id="002"] .subscribe-section { content-visibility:visible; contain-intrinsic-size:none; }
html.js body[data-issue-id="002"] .reveal { opacity:1; transform:none; transition:none; }
html.js body[data-issue-id="002"] .story-flow li { opacity:1; transform:none; }

@media (prefers-reduced-motion:no-preference) {
  body[data-page-kind="issue"][data-issue-id="002"] .hero h1 { animation:issue002-title-mask .72s .12s both cubic-bezier(.2,.75,.2,1); }
  body[data-page-kind="issue"][data-issue-id="002"] .evidence-index { animation:issue002-index-in .7s .22s both cubic-bezier(.2,.75,.2,1); }
  @keyframes issue002-title-mask { from { opacity:0; clip-path:inset(0 100% 0 0); transform:translateY(10px); } to { opacity:1; clip-path:inset(0); transform:none; } }
  @keyframes issue002-index-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
  @supports (animation-timeline:view()) {
    body[data-issue-id="002"] .reveal:not(.story-flow) {
      animation:issue002-section-in both linear;
      animation-timeline:view(block);
      animation-range:entry 5% cover 27%;
    }
    @keyframes issue002-section-in {
      from { opacity:.3; transform:translateY(16px); }
      to { opacity:1; transform:none; }
    }
    body[data-issue-id="002"] .fast-read-grid { position:relative; }
    body[data-issue-id="002"] .fast-read-grid::before {
      content:"";
      position:absolute;
      z-index:3;
      left:0;
      top:-1px;
      width:100%;
      height:3px;
      border-radius:3px;
      background:#e9a825;
      transform-origin:left;
      animation:issue002-route-draw both linear;
      animation-timeline:view(block);
      animation-range:entry 8% cover 36%;
      pointer-events:none;
    }
    body[data-issue-id="002"] .author-card img {
      animation:issue002-ink-reveal both linear;
      animation-timeline:view(block);
      animation-range:entry 4% cover 35%;
    }
    body[data-issue-id="002"] .signature {
      animation:issue002-seal-in both linear;
      animation-timeline:view(block);
      animation-range:entry 10% cover 34%;
    }
    body[data-issue-id="002"][data-story-rank="1"] .article-media img {
      animation:issue002-evidence-lens both linear;
      animation-timeline:view(block);
      animation-range:entry 0% cover 38%;
    }
    body[data-issue-id="002"][data-story-rank="2"] .article-media img {
      animation:issue002-board-lock both linear;
      animation-timeline:view(block);
      animation-range:entry 0% cover 38%;
    }
    body[data-issue-id="002"][data-story-rank="3"] .article-media img {
      animation:issue002-provenance-weave both linear;
      animation-timeline:view(block);
      animation-range:entry 0% cover 38%;
    }
    @keyframes issue002-route-draw { from { transform:scaleX(0); } to { transform:scaleX(1); } }
    @keyframes issue002-ink-reveal { from { clip-path:inset(0 0 100%); filter:grayscale(1) contrast(1.15); } to { clip-path:inset(0); filter:saturate(.78) contrast(1.04); } }
    @keyframes issue002-seal-in { from { opacity:.2; transform:translateY(8px) scale(.96); } to { opacity:1; transform:none; } }
    @keyframes issue002-evidence-lens { from { clip-path:inset(0 48% 0 48% round 20px); filter:saturate(.6); } to { clip-path:inset(0 round 20px); filter:none; } }
    @keyframes issue002-board-lock { from { opacity:.45; transform:scale(1.035); } to { opacity:1; transform:none; } }
    @keyframes issue002-provenance-weave { from { clip-path:polygon(0 0,18% 0,0 28%,0 100%); } to { clip-path:polygon(0 0,100% 0,100% 100%,0 100%); } }
  }
}

@media (max-width:720px) {
  body[data-issue-id="002"] .proof-bar--editorial > div { width:100%; grid-template-columns:1fr; }
  body[data-issue-id="002"] .proof-bar--editorial span { min-height:52px; justify-content:flex-start; padding-inline:20px; }
  body[data-issue-id="002"] .proof-bar--editorial small { white-space:nowrap; }
  body[data-issue-id="002"] .story-flow { padding:22px 18px; }
  body[data-issue-id="002"] .story-flow-stage { min-height:260px; margin-top:12px; }
  body[data-issue-id="002"] .story-flow-visual { inset:0 0 76px; height:calc(100% - 76px); }
  body[data-issue-id="002"] .story-flow-stage ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  body[data-issue-id="002"] .story-flow-stage li,
  html.js body[data-issue-id="002"] .story-flow-stage li { min-height:0; padding-top:10px; }
  body[data-issue-id="002"] .story-flow-stage li strong { font-size:.68rem; overflow-wrap:anywhere; }
}

/* Edition 002 luminous cabinet palette. This final scoped layer deliberately
   removes the rejected night/purple treatment without changing edition 001. */
body[data-issue-id="002"] {
  --lr-blue:#075f91;
  --lr-electric:#1486d4;
  --lr-orange:#e96b22;
  --lr-yellow:#f2bd00;
  --lr-cloud:#eef8fd;
  --ink:#12384e;
  --muted:#526f7f;
  --line:rgba(7,95,145,.18);
  --paper:#fff;
  --paper-deep:#f2f9fc;
  color:var(--ink);
  background:#fff;
}
body[data-issue-id="002"] .site-header,
body[data-issue-id="002"] .site-header.is-scrolled { border-bottom-color:rgba(255,255,255,.24); background:rgba(7,95,145,.97); }
body[data-issue-id="002"] .skip-link,
body[data-issue-id="002"] .nav-cta,
body[data-issue-id="002"] .language-switch a[aria-current="page"],
body[data-issue-id="002"] .primary-button,
body[data-issue-id="002"] .ai-submit,
body[data-issue-id="002"] .submit-button { color:#12384e; }
body[data-issue-id="002"] .hero { color:#0a4f78; background:linear-gradient(135deg,#fff 0%,#f3faff 58%,#dff3fc 100%); }
body[data-issue-id="002"] .hero-film--evidence { background:radial-gradient(circle at 82% 17%,rgba(242,189,0,.36),transparent 19%),radial-gradient(circle at 76% 77%,rgba(233,107,34,.22),transparent 28%),linear-gradient(135deg,transparent 34%,rgba(20,134,212,.13)); }
body[data-issue-id="002"] .hero-film--evidence::after { background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.62) 54%,rgba(223,243,252,.22)); }
body[data-issue-id="002"] .hero-grid-lines { opacity:.13; background-image:linear-gradient(rgba(7,95,145,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(7,95,145,.4) 1px,transparent 1px); }
body[data-issue-id="002"] .issue-chip { color:#075f91; border-bottom-color:#e96b22; }
body[data-issue-id="002"] .issue-chip span { color:#b84a12; }
body[data-issue-id="002"] .hero h1 { color:#075f91; }
body[data-issue-id="002"] .hero-deck { color:#315f76; }
body[data-issue-id="002"] .secondary-button { color:#075f91; border-color:rgba(7,95,145,.38); background:#fff; }
body[data-issue-id="002"] .hero-proof { color:#315f76; border-top-color:rgba(7,95,145,.18); }
body[data-issue-id="002"] .hero-proof span::before { background:#e96b22; }
body[data-issue-id="002"] .evidence-index { border-color:rgba(7,95,145,.22); background:rgba(255,255,255,.94); box-shadow:0 24px 65px rgba(7,95,145,.17); }
body[data-issue-id="002"] .evidence-index header { border-bottom-color:rgba(7,95,145,.15); }
body[data-issue-id="002"] .evidence-index header > span,
body[data-issue-id="002"] .evidence-index a > span:first-child,
body[data-issue-id="002"] .evidence-index a i { color:#b84a12; }
body[data-issue-id="002"] .evidence-index header p { color:#1470a5; }
body[data-issue-id="002"] .evidence-index h2,
body[data-issue-id="002"] .evidence-index a { color:#12384e; }
body[data-issue-id="002"] .evidence-index li + li { border-top-color:rgba(7,95,145,.14); }
body[data-issue-id="002"] .evidence-index a:hover,
body[data-issue-id="002"] .evidence-index a:focus-visible { background:#fff6d5; }
body[data-issue-id="002"] .evidence-index a small { color:#526f7f; }
body[data-issue-id="002"] .evidence-index figure { border-top-color:rgba(7,95,145,.15); background:#dff3fc; }
body[data-issue-id="002"] .evidence-index figure img { opacity:.9; filter:saturate(.92) contrast(1.02); }

body[data-issue-id="002"] .proof-bar { background:#f2bd00; }
body[data-issue-id="002"] .proof-bar strong,
body[data-issue-id="002"] .proof-bar small { color:#12384e; }
body[data-issue-id="002"] .fast-read,
body[data-issue-id="002"] .editorial,
body[data-issue-id="002"] .stories-shell,
body[data-issue-id="002"] .closing-section { background:#fff; }
body[data-issue-id="002"] .fast-read-grid li { border-color:rgba(7,95,145,.17); background:#fff; box-shadow:0 14px 34px rgba(7,95,145,.08); }
body[data-issue-id="002"] .fast-read-grid li > span { color:#e96b22; }
body[data-issue-id="002"] .editorial-copy { border-left-color:#f2bd00; }
body[data-issue-id="002"] .author-card { border-color:rgba(7,95,145,.2); background:linear-gradient(145deg,#075f91,#0d78b5 66%,#1486d4); box-shadow:0 24px 65px rgba(7,95,145,.2); }
body[data-issue-id="002"] .author-card::after { background:linear-gradient(transparent,rgba(242,189,0,.9) 22%,rgba(255,255,255,.2) 78%,transparent); }
body[data-issue-id="002"] .author-portrait { background:#dceef7; }
body[data-issue-id="002"] .author-portrait::after { background:linear-gradient(180deg,transparent 70%,rgba(7,95,145,.3)); }

body[data-issue-id="002"] .ranking-section { color:#12384e; background:linear-gradient(180deg,#edf8fd,#fff 74%); }
body[data-issue-id="002"] .ranking-section .section-heading > p:not(.kicker) { color:#526f7f; }
body[data-issue-id="002"] .ranking-section .section-heading > a { color:#075f91; }
body[data-issue-id="002"] .ranking-grid { gap:24px; }
body[data-issue-id="002"] .rank-card,
body[data-issue-id="002"] .rank-card.tilt-ready,
body[data-issue-id="002"] .rank-card.tilt-ready:hover,
body[data-issue-id="002"] .rank-card.tilt-ready:focus-visible { min-height:0; border:1px solid rgba(7,95,145,.2); color:#12384e; background:#fff; box-shadow:0 18px 45px rgba(7,95,145,.1); transform:none; }
body[data-issue-id="002"] .rank-card:hover,
body[data-issue-id="002"] .rank-card:focus-visible { border-color:var(--card-accent,#1486d4); background:#fff; box-shadow:0 24px 55px rgba(7,95,145,.16); transform:translateY(-3px); }
body[data-issue-id="002"] .rank-card[data-story-rank="1"] { --card-accent:#1486d4; --card-soft:#e9f6ff; }
body[data-issue-id="002"] .rank-card[data-story-rank="2"] { --card-accent:#e96b22; --card-soft:#fff1e7; }
body[data-issue-id="002"] .rank-card[data-story-rank="3"] { --card-accent:#f2bd00; --card-soft:#fff8d8; }
body[data-issue-id="002"] .rank-card::before { background:var(--card-accent,#1486d4); }
body[data-issue-id="002"] .rank-number { color:var(--card-accent,#1486d4); }
body[data-issue-id="002"] .rank-card[data-story-rank="3"] .rank-number { color:#8a6700; }
body[data-issue-id="002"] .rank-meta span,
body[data-issue-id="002"] .rank-category { color:#176f9f; }
body[data-issue-id="002"] .rank-meta strong { color:#12384e; }
body[data-issue-id="002"] .rank-card p { color:#526f7f; }
body[data-issue-id="002"] .rank-card .text-link { color:#075f91; }
body[data-issue-id="002"] .rank-card-visual { position:relative; display:block; height:178px; margin:22px -10px 24px; overflow:hidden; border:1px solid color-mix(in srgb,var(--card-accent) 28%,white); border-radius:16px; background:var(--card-soft); }
body[data-issue-id="002"] .rank-card-visual .story-flow-visual { position:static; display:block; width:100%; height:100%; padding:12px; overflow:visible; box-sizing:border-box; }
body[data-issue-id="002"] .rank-card[data-story-rank="1"] .rank-card-visual .flow-guide { stroke:rgba(7,95,145,.15); }
body[data-issue-id="002"] .rank-card[data-story-rank="1"] .rank-card-visual .flow-node { fill:#fff; stroke:#1486d4; }
body[data-issue-id="002"] .rank-card[data-story-rank="1"] .rank-card-visual .flow-node path { stroke:#075f91; }
body[data-issue-id="002"] .rank-card[data-story-rank="1"] .rank-card-visual .flow-node--owner rect { fill:#e96b22; stroke:#f2bd00; }
body[data-issue-id="002"] .rank-card[data-story-rank="2"] .rank-card-visual .flow-quorum-line { stroke:#e96b22; }
body[data-issue-id="002"] .rank-card[data-story-rank="2"] .rank-card-visual .minutes-seal circle { fill:#075f91; }
body[data-issue-id="002"] .rank-card[data-story-rank="3"] .rank-card-visual .flow-thread--burgundy { stroke:#e96b22; }
body[data-issue-id="002"] .rank-card[data-story-rank="3"] .rank-card-visual .provenance-node--pay circle { fill:#e96b22; }
body[data-issue-id="002"] .story-taxonomy i,
body[data-issue-id="002"] .story-keywords i { color:#12384e; background:#edf7fc; }

body[data-issue-id="002"] .method-section { color:#12384e; background:#fff8db; }
body[data-issue-id="002"] .method-section::before { border-color:rgba(233,107,34,.22); }
body[data-issue-id="002"] .method-section .kicker.light { color:#b24b12; }
body[data-issue-id="002"] .method-steps > li > span { color:#fff; background:#e96b22; }
body[data-issue-id="002"] .brand-film--evidence { background:#1486d4; }
body[data-issue-id="002"] .evidence-triptych img { opacity:.66; filter:saturate(.92) contrast(1.03); }
body[data-issue-id="002"] .brand-film-overlay { background:linear-gradient(90deg,rgba(7,95,145,.9),rgba(20,134,212,.52) 62%,rgba(233,107,34,.38)); }

body[data-issue-id="002"] .story:nth-child(even)::before { background:#f4faff; }
body[data-issue-id="002"] .story-rank span { color:rgba(20,134,212,.42); }
body[data-issue-id="002"] .story-category { color:#075f91; }
body[data-issue-id="002"] .story-metric { color:#12384e; background:#f2bd00; }
body[data-issue-id="002"] .case-status span,
body[data-issue-id="002"] .legal-map span,
body[data-issue-id="002"] .sources summary span:last-child,
body[data-issue-id="002"] .takeaway > span { color:#b84a12; }
body[data-issue-id="002"] .action-panel li { color:#315f76; }
body[data-issue-id="002"] .closing-shell > p:nth-last-of-type(2) { color:#075f91; }
body[data-issue-id="002"] .further-reading a:hover,
body[data-issue-id="002"] .further-reading a:focus-visible { color:#075f91; }
body[data-issue-id="002"] .article-media,
body[data-issue-id="002"] .article-media figcaption { background:#075f91; }
body[data-issue-id="002"] .article-taxonomy > div { border-color:rgba(7,95,145,.16); background:#edf8fd; }
body[data-issue-id="002"] .article-taxonomy strong { color:#d65517; }
body[data-issue-id="002"] .article-taxonomy span { color:#12384e; background:#fff; }
body[data-issue-id="002"] .story-flow--evidence-scan { border-color:rgba(20,134,212,.48); background:#0877b5; }
body[data-issue-id="002"] .flow-visual--evidence .flow-node { fill:#075f91; stroke:#f2bd00; }
body[data-issue-id="002"] .flow-visual--evidence .flow-node--owner rect { fill:#e96b22; }
body[data-issue-id="002"] .story-flow--governance-pulse { border-color:rgba(233,107,34,.42); background:#fff8ed; }
body[data-issue-id="002"] .story-flow--governance-pulse,
body[data-issue-id="002"] .story-flow--governance-pulse h3,
body[data-issue-id="002"] .story-flow--rights-weave,
body[data-issue-id="002"] .story-flow--rights-weave h3 { color:#12384e; }
body[data-issue-id="002"] .flow-quorum-line { stroke:#e96b22; }
body[data-issue-id="002"] .quorum-seat circle { fill:#075f91; }
body[data-issue-id="002"] .governance-table { stroke:#075f91; }
body[data-issue-id="002"] .minutes-seal circle { fill:#075f91; }
body[data-issue-id="002"] .story-flow--rights-weave { border-color:rgba(20,134,212,.34); background:linear-gradient(145deg,#fffbe8,#eef8fd); }
body[data-issue-id="002"] .flow-thread--burgundy { stroke:#e96b22; }
body[data-issue-id="002"] .provenance-node circle { stroke:#075f91; }
body[data-issue-id="002"] .provenance-node path { stroke:#075f91; }
body[data-issue-id="002"] .provenance-node--use circle { fill:#075f91; stroke:#f2bd00; }
body[data-issue-id="002"] .provenance-node--use path { fill:#f2bd00; stroke:#f2bd00; }
body[data-issue-id="002"] .provenance-node--pay circle { fill:#e96b22; }
body[data-issue-id="002"] .provenance-node--pay path { stroke:#fff; }
body[data-issue-id="002"] .story-flow--governance-pulse .story-flow-stage li span,
body[data-issue-id="002"] .story-flow--rights-weave .story-flow-stage li span { color:#b84a12; }
body[data-issue-id="002"] .story-flow--governance-pulse .story-flow-stage li strong,
body[data-issue-id="002"] .story-flow--rights-weave .story-flow-stage li strong { color:#12384e; }
body[data-issue-id="002"] .action-panel li::before { background:#e96b22; }
body[data-issue-id="002"] .takeaway { border-color:#f2bd00; background:#fff8d8; }
body[data-issue-id="002"] .further-reading header { background:#075f91; }

body[data-issue-id="002"] .ai-companion { color:#12384e; background:linear-gradient(135deg,#e8f7ff,#fff 70%); }
body[data-issue-id="002"] .ai-intro h2,
body[data-issue-id="002"] .ai-intro > p:not(.kicker) { color:#12384e; }
body[data-issue-id="002"] .ai-intro .kicker.light { color:#b84a12; }
body[data-issue-id="002"] .ai-persona strong { color:#075f91; }
body[data-issue-id="002"] .ai-persona span,
body[data-issue-id="002"] .ai-boundary p,
body[data-issue-id="002"] .ai-status { color:#526f7f; }
body[data-issue-id="002"] .ai-card { border-color:rgba(7,95,145,.2); background:#fff; box-shadow:0 18px 45px rgba(7,95,145,.1); }
body[data-issue-id="002"] .ai-card::before { color:rgba(7,95,145,.08); }
body[data-issue-id="002"] form[data-ai-form] label { color:#12384e; }
body[data-issue-id="002"] .ai-suggestions button { color:#075f91; border-color:rgba(7,95,145,.24); background:#edf8fd; }
body[data-issue-id="002"] .ai-boundary { color:#315f76; background:#edf8fd; }
body[data-issue-id="002"] .ai-companion { scroll-margin-top:88px; }
body[data-issue-id="002"] .ai-shell { padding-block:clamp(76px,8vw,112px); gap:clamp(44px,6vw,82px); align-items:center; }
body[data-issue-id="002"] .ai-intro { position:relative; top:auto; }
body[data-issue-id="002"] .ai-intro h2 { max-width:660px; margin:14px 0 20px; font-size:clamp(2.55rem,4.2vw,4.5rem); line-height:.98; letter-spacing:-.045em; text-wrap:balance; }
body[data-issue-id="002"] .ai-intro > p:not(.kicker) { max-width:650px; font-size:1rem; line-height:1.62; }
body[data-issue-id="002"] .ai-boundary { margin-top:24px; padding:16px 18px; border:1px solid rgba(7,95,145,.12); border-radius:16px; }
body[data-issue-id="002"] .ai-boundary p { margin:1px 0 0; line-height:1.5; }
body[data-issue-id="002"] .ai-card { width:100%; max-width:820px; justify-self:end; padding:clamp(24px,3vw,34px); border-radius:24px; }
body[data-issue-id="002"] .ai-card::before { right:24px; top:16px; font-size:4rem; }
body[data-issue-id="002"] .ai-field-head { display:flex; gap:18px; align-items:baseline; justify-content:space-between; padding-right:72px; }
body[data-issue-id="002"] .ai-field-head > span { color:#6c8795; font-size:.68rem; font-weight:800; font-variant-numeric:tabular-nums; }
body[data-issue-id="002"] form[data-ai-form] { gap:13px; }
body[data-issue-id="002"] form[data-ai-form] textarea { min-height:116px; max-height:220px; padding:16px 17px; border-color:rgba(7,95,145,.22); border-radius:15px; background:#fbfdff; box-shadow:inset 0 1px 0 #fff,0 8px 24px rgba(7,95,145,.05); }
body[data-issue-id="002"] .ai-suggestions { gap:7px; }
body[data-issue-id="002"] .ai-suggestions button { min-height:44px; padding:7px 11px; line-height:1.25; }
body[data-issue-id="002"] .ai-suggestions button:hover,
body[data-issue-id="002"] .ai-suggestions button:focus-visible { color:#12384e; border-color:#f2bd00; background:#fff7ce; }
body[data-issue-id="002"] .ai-submit { min-height:54px; margin-top:2px; color:#12384e; background:linear-gradient(90deg,#f2bd00,#ffd769); box-shadow:0 14px 28px rgba(242,189,0,.2); }
body[data-issue-id="002"] .ai-submit:disabled { opacity:.72; color:#506674; background:#e8f0f4; }
body[data-issue-id="002"] .ai-status { position:relative; min-height:0; padding-left:16px; font-size:.7rem; line-height:1.45; }
body[data-issue-id="002"] .ai-status::before { content:""; position:absolute; left:1px; top:.48em; width:7px; height:7px; border-radius:50%; background:#1486d4; box-shadow:0 0 0 4px rgba(20,134,212,.11); }
body[data-issue-id="002"] .ai-status[data-state="ready"]::before { background:#1d8c62; box-shadow:0 0 0 4px rgba(29,140,98,.12); }
body[data-issue-id="002"] .ai-status[data-state="unavailable"]::before { background:#e96b22; box-shadow:0 0 0 4px rgba(233,107,34,.12); }
body[data-issue-id="002"] .subscribe-section { background:#0877b5; }
body[data-issue-id="002"] .subscribe-aura { background:radial-gradient(circle,rgba(242,189,0,.3),transparent 68%); }
body[data-issue-id="002"] .site-footer { background:#075f91; }
body[data-issue-id="002"] .media-music-toggle,
body[data-issue-id="002"] .media-library-toggle { background:#e96b22; }

/* Edition 002 retains the reader-controlled music and podcast dock. Its
   compact placement and the shared floating-experience coordinator keep it
   clear of subscription actions while preserving the three-language journey. */
body[data-issue-id="002"] .story-breadcrumb a { color:#075f91; }
body[data-issue-id="002"] .toast { background:#075f91; }

@media (max-width:720px) {
  body[data-issue-id="002"] .ai-shell { width:calc(100% - 32px); padding-block:68px; gap:30px; }
  body[data-issue-id="002"] .ai-persona { grid-template-columns:76px 1fr; gap:14px; margin-bottom:18px; }
  body[data-issue-id="002"] .ai-persona img { width:76px; height:82px; }
  body[data-issue-id="002"] .ai-intro h2 { font-size:clamp(2.5rem,12vw,3.65rem); line-height:1; }
  body[data-issue-id="002"] .ai-card { padding:22px 17px; border-radius:20px; }
  body[data-issue-id="002"] .ai-field-head { padding-right:54px; }
  body[data-issue-id="002"] form[data-ai-form] textarea { min-height:108px; }
  body[data-issue-id="002"] .ai-suggestions { display:grid; grid-template-columns:1fr; }
  body[data-issue-id="002"] .ai-suggestions button { width:100%; justify-content:flex-start; text-align:left; }
}

@media (prefers-reduced-motion:no-preference) {
  html.js body[data-issue-id="002"] .rank-card.is-visible .rank-card-visual { animation:issue002-card-visual-reveal .9s cubic-bezier(.2,.75,.2,1) both; }
  html.js body[data-issue-id="002"] .rank-card[data-story-rank="1"].is-visible .rank-card-visual .flow-scan-beam { animation:issue002-card-scan 6s 1s ease-in-out 3 both; }
  html.js body[data-issue-id="002"] .rank-card[data-story-rank="2"].is-visible .rank-card-visual .minutes-seal { animation:issue002-card-seal 7s 1s ease-in-out 3 both; }
  html.js body[data-issue-id="002"] .rank-card[data-story-rank="3"].is-visible .rank-card-visual .flow-thread { animation:issue002-card-weave 8s calc(1s + var(--thread-index,0) * 180ms) ease-in-out 3 both; }
  body[data-issue-id="002"] .ai-persona img { animation:issue002-avatar-breathe 8s ease-in-out 3 both; }
  html.js body[data-issue-id="002"] .rank-card:hover .rank-card-visual *,
  html.js.document-hidden body[data-issue-id="002"] .rank-card-visual * { animation-play-state:paused!important; }
  @keyframes issue002-card-visual-reveal { from { opacity:.15; clip-path:inset(0 100% 0 0 round 16px); } to { opacity:1; clip-path:inset(0 round 16px); } }
  @keyframes issue002-card-scan { 0%,100% { opacity:.1; transform:translateX(0); } 50% { opacity:.4; transform:translateX(700px); } }
  @keyframes issue002-card-seal { 0%,100% { opacity:.78; filter:none; } 50% { opacity:1; filter:drop-shadow(0 0 8px rgba(233,107,34,.42)); } }
  @keyframes issue002-card-weave { 0%,100% { opacity:.76; } 50% { opacity:1; } }
  @keyframes issue002-avatar-breathe { 0%,100% { transform:none; } 50% { transform:translateY(-4px); } }
}

@media (max-width:720px) {
  body[data-issue-id="002"] .rank-card-visual { height:142px; margin-inline:0; }
  body[data-issue-id="002"] .hero-film--evidence::after { background:rgba(255,255,255,.7); }
  html:not([lang="nl"]) body[data-issue-id="002"] .story-title-block h1,
  html:not([lang="nl"]) body[data-issue-id="002"] .story-title-block h2 { overflow-wrap:normal; hyphens:none; }
  html[lang="nl"] body[data-issue-id="002"] .story-title-block h1,
  html[lang="nl"] body[data-issue-id="002"] .story-title-block h2 { overflow-wrap:anywhere; hyphens:auto; }
}

@media (prefers-reduced-motion:reduce) {
  body[data-issue-id="002"] .rank-card-visual,
  body[data-issue-id="002"] .rank-card-visual * { opacity:1; animation:none!important; transform:none; }
}

/* Permanent issue library: each edition remains reachable as a real tree,
   including its three localized analyses. */
.issue-archive { position:relative; padding:clamp(72px,9vw,132px) 0; overflow:hidden; color:var(--ink); background:var(--paper-deep); scroll-margin-top:88px; }
.archive-shell { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:clamp(38px,7vw,100px); align-items:start; }
.archive-heading { position:sticky; top:120px; }
.archive-heading h2 { max-width:520px; margin:12px 0 18px; font-size:clamp(2.5rem,5.2vw,5rem); line-height:.96; }
.archive-heading > p:last-child { max-width:520px; color:var(--muted); }
.archive-tree,.archive-tree ol { margin:0; padding:0; list-style:none; }
.archive-tree { position:relative; display:grid; gap:22px; }
.archive-tree::before { content:""; position:absolute; left:15px; top:30px; bottom:30px; width:2px; background:linear-gradient(var(--teal),var(--gold)); }
.archive-node { position:relative; padding-left:54px; }
.archive-branch { position:absolute; left:8px; top:40px; width:16px; height:16px; border:4px solid var(--paper-deep); border-radius:50%; background:var(--gold); box-shadow:0 0 0 2px var(--teal); }
.archive-node.is-current .archive-branch { background:var(--burgundy); }
.archive-card { padding:clamp(22px,3vw,34px); border:1px solid var(--line); border-radius:22px; background:var(--paper); box-shadow:0 18px 48px rgba(16,11,70,.08); }
.archive-card-head { display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:18px; align-items:start; }
.archive-number { color:var(--burgundy); font:900 1.1rem/1 var(--sans); letter-spacing:.12em; }
.archive-card-head p { margin:0 0 7px; color:var(--teal-ink); font-size:.65rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.archive-card h3 { margin:0; font-size:clamp(1.35rem,2.4vw,2rem); line-height:1.08; }
.archive-card h3 a { color:inherit; text-decoration:none; }
.archive-card h3 a:hover,.archive-card h3 a:focus-visible,.archive-open:hover,.archive-open:focus-visible { color:var(--burgundy); }
.archive-card time { color:var(--muted); font-size:.72rem; font-weight:750; white-space:nowrap; }
.archive-card details { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.archive-card summary { display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--teal-ink); font-size:.72rem; font-weight:900; cursor:pointer; list-style:none; }
.archive-card summary::-webkit-details-marker { display:none; }
.archive-card details[open] summary span { transform:rotate(45deg); }
.archive-card details ol { display:grid; gap:0; margin-top:14px; }
.archive-card details li + li { border-top:1px solid var(--line); }
.archive-card details a { display:grid; min-height:56px; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:center; color:inherit; text-decoration:none; font-size:.78rem; line-height:1.35; }
.archive-card details a span { color:var(--burgundy); font-size:.65rem; font-weight:900; }
.archive-open { display:inline-flex; margin-top:18px; gap:10px; color:var(--teal-ink); font-size:.72rem; font-weight:900; text-decoration:none; }

/* Edition 002: the title never relies on a clipping mask, so every glyph is
   readable even during capture, slow rendering or interrupted animation. */
body[data-issue-id="002"] .hero-copy { max-width:760px; overflow:visible; }
body[data-issue-id="002"] .hero .hero-title { max-width:760px; overflow:visible; font-size:clamp(3.8rem,6.55vw,6.75rem); line-height:.94; letter-spacing:-.052em; text-wrap:balance; }
@keyframes issue002-title-mask { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }

/* No stock-photo collage: the manifesto uses a bespoke vector signal. */
body[data-issue-id="002"] .brand-film--vector { min-height:clamp(620px,72vw,850px); background:linear-gradient(135deg,#075f91,#1486d4 72%,#58bde7); }
body[data-issue-id="002"] .brand-vector-stage { position:absolute; inset:0; overflow:hidden; }
body[data-issue-id="002"] .brand-vector-stage svg { width:100%; height:100%; }
body[data-issue-id="002"] .brand-grid { fill:none; stroke:rgba(255,255,255,.1); stroke-width:1; }
body[data-issue-id="002"] .brand-signal-line { fill:none; stroke:url(#brand-signal); stroke-width:8; stroke-linecap:round; }
body[data-issue-id="002"] .brand-signal-line--b { stroke-width:4; opacity:.55; }
body[data-issue-id="002"] .brand-signal-line--c { stroke:#9cddf7; stroke-width:3; stroke-dasharray:4 18; opacity:.58; }
body[data-issue-id="002"] .brand-signal-ghost { fill:none; stroke:rgba(255,255,255,.18); stroke-width:30; filter:url(#brand-soft); }
body[data-issue-id="002"] .brand-node-card > rect { fill:rgba(255,255,255,.12); stroke:rgba(255,255,255,.58); stroke-width:2; }
body[data-issue-id="002"] .brand-node-card > text { fill:#fff; font:900 25px/1 var(--sans); letter-spacing:4px; }
body[data-issue-id="002"] .brand-evidence-node circle { fill:#fff; stroke:#f2bd00; stroke-width:8; }
body[data-issue-id="002"] .brand-evidence-node path { fill:none; stroke:#075f91; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; }
body[data-issue-id="002"] .brand-evidence-node--two circle { fill:#f2bd00; stroke:#fff; }
body[data-issue-id="002"] .brand-evidence-node--two path { stroke:#075f91; }
body[data-issue-id="002"] .brand-evidence-node--three circle { fill:#e96b22; stroke:#fff; }
body[data-issue-id="002"] .brand-evidence-node--three path { stroke:#fff; }
body[data-issue-id="002"] .brand-responsibility-seal { fill:none; stroke:#fff; stroke-width:9; stroke-linecap:round; stroke-linejoin:round; filter:url(#brand-glow); }
body[data-issue-id="002"] .brand-seal-halo { fill:rgba(242,189,0,.14); stroke:#f2bd00; stroke-width:2; stroke-dasharray:7 12; }
body[data-issue-id="002"] .brand-seal-ring { fill:#075f91; stroke:#fff; stroke-width:5; stroke-dasharray:420; stroke-dashoffset:420; }
body[data-issue-id="002"] .brand-seal-rays { stroke:#f2bd00; stroke-width:6; }
body[data-issue-id="002"] .brand-film--vector .brand-film-overlay { background:linear-gradient(90deg,rgba(7,95,145,.88) 0%,rgba(7,95,145,.5) 46%,rgba(7,95,145,.08)); }
@media (prefers-reduced-motion:no-preference) {
  body[data-issue-id="002"] .brand-film--vector .brand-signal-line--a { stroke-dasharray:2200; stroke-dashoffset:2200; animation:brand-vector-draw 8.4s cubic-bezier(.2,.72,.2,1) infinite; }
  body[data-issue-id="002"] .brand-film--vector .brand-signal-line--b { stroke-dasharray:12 22; animation:brand-vector-drift 5.2s linear infinite; }
  body[data-issue-id="002"] .brand-film--vector .brand-signal-line--c { animation:brand-vector-drift 7s linear infinite reverse; }
  body[data-issue-id="002"] .brand-film--vector .brand-scan-beam { animation:brand-vector-scan 8.4s .15s cubic-bezier(.22,.68,.2,1) infinite; }
  body[data-issue-id="002"] .brand-film--vector .brand-node-card { opacity:.54; animation:brand-vector-node-activate 8.4s ease-in-out infinite; }
  body[data-issue-id="002"] .brand-film--vector .brand-node-card--two { animation-delay:1.15s; }
  body[data-issue-id="002"] .brand-film--vector .brand-node-card--three { animation-delay:2.3s; }
  body[data-issue-id="002"] .brand-film--vector .brand-seal-ring { animation:brand-vector-seal 8.4s 3.3s cubic-bezier(.18,.84,.2,1) infinite; }
  body[data-issue-id="002"] .brand-film--vector .brand-seal-halo { animation:brand-vector-halo 2.6s 3.9s ease-out infinite; }
  @keyframes brand-vector-draw { 0%,7% { stroke-dashoffset:2200; opacity:.18; } 54%,88% { stroke-dashoffset:0; opacity:1; } 100% { stroke-dashoffset:0; opacity:.35; } }
  @keyframes brand-vector-drift { to { stroke-dashoffset:-160; } }
  @keyframes brand-vector-scan { 0%,8% { opacity:0; transform:translateX(-260px); } 18% { opacity:.64; } 58%,100% { opacity:0; transform:translateX(1840px); } }
  @keyframes brand-vector-node-activate { 0%,8%,78%,100% { opacity:.42; filter:none; } 16%,55% { opacity:1; filter:drop-shadow(0 0 20px rgba(242,189,0,.72)); } }
  @keyframes brand-vector-seal { 0%,8% { stroke-dashoffset:420; opacity:.25; } 27%,72% { stroke-dashoffset:0; opacity:1; } 100% { stroke-dashoffset:0; opacity:.4; } }
  @keyframes brand-vector-halo { 0% { opacity:.15; stroke-width:2; } 55% { opacity:.9; stroke-width:5; } 100% { opacity:.12; stroke-width:2; } }
}

/* Make all three editorial motions unmistakable when their visual enters the
   reading viewport; the final frame remains readable without JavaScript. */
body[data-issue-id="002"] [data-motion-signature] { isolation:isolate; }
@media (prefers-reduced-motion:no-preference) {
  body[data-issue-id="002"] [data-motion-signature].motion-playing .flow-draw,
  body[data-issue-id="002"] [data-motion-signature].motion-playing .flow-thread { stroke-dasharray:1; stroke-dashoffset:1; animation:issue002-motion-draw 2.2s cubic-bezier(.2,.75,.2,1) forwards; }
  body[data-issue-id="002"] [data-motion-signature="evidence"].motion-playing .flow-scan-beam { animation:issue002-motion-scan 2.6s .3s ease-in-out both; }
  body[data-issue-id="002"] [data-motion-signature="governance"].motion-playing .minutes-seal { transform-origin:center; animation:issue002-motion-seal 2.4s .55s cubic-bezier(.18,.8,.2,1) both; }
  body[data-issue-id="002"] [data-motion-signature="rights"].motion-playing .flow-thread { animation-duration:2.8s; animation-delay:calc(var(--thread-index,0) * 180ms); }
  @keyframes issue002-motion-draw { to { stroke-dashoffset:0; } }
  @keyframes issue002-motion-scan { 0% { opacity:0; transform:translateX(-520px); } 24% { opacity:.62; } 100% { opacity:0; transform:translateX(620px); } }
  @keyframes issue002-motion-seal { 0% { opacity:0; transform:scale(1.55) rotate(-8deg); } 72% { opacity:1; transform:scale(.92) rotate(1deg); } 100% { opacity:1; transform:none; } }
}

/* Lexi 002 is deliberately bright and editorial, never purple or gadget-like. */
body[data-issue-id="002"] .lexi-float { border-color:rgba(255,255,255,.82); background:linear-gradient(135deg,#075f91,#1486d4); box-shadow:0 18px 48px rgba(7,95,145,.28); }
body[data-issue-id="002"] .lexi-float-copy strong { color:#f2bd00; }
body[data-issue-id="002"] .lexi-float-avatar { background:#fff; }
body[data-issue-id="002"] .lexi-context { color:#fff; border-color:rgba(255,255,255,.7); background:linear-gradient(135deg,#075f91,#1486d4 72%,#e96b22); box-shadow:0 28px 80px rgba(7,95,145,.32); }
body[data-issue-id="002"] .lexi-context-eyebrow { color:#f9d75d; }
body[data-issue-id="002"] .lexi-context-actions [data-lexi-context-ask] { color:#12384e; border-color:#f2bd00; background:#f2bd00; }

body[data-issue-id="002"] .archive-branch { border-color:#eef8fd; background:#f2bd00; box-shadow:0 0 0 2px #1486d4; }
body[data-issue-id="002"] .archive-node.is-current .archive-branch { background:#e96b22; }
body[data-issue-id="002"] .archive-number,
body[data-issue-id="002"] .archive-card details a span { color:#b84a12; }
body[data-issue-id="002"] .archive-card-head p,
body[data-issue-id="002"] .archive-card summary,
body[data-issue-id="002"] .archive-open { color:#075f91; }

/* One restrained collection invitation per session, positioned opposite Lexi
   so both remain usable. It points to a permanent issue-001 route. */
.previous-issue-button { border-color:rgba(233,107,34,.48)!important; }
.previous-issue-invitation {
  position:fixed;
  z-index:920;
  left:20px;
  bottom:20px;
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  gap:16px;
  width:min(430px,calc(100vw - 40px));
  padding:22px 48px 22px 22px;
  border:1px solid rgba(7,95,145,.2);
  border-radius:24px;
  color:#12384e;
  background:linear-gradient(135deg,#fff 0%,#fff8d8 100%);
  box-shadow:0 24px 70px rgba(7,95,145,.24);
  opacity:0;
  transform:translateY(18px);
  transition:opacity .28s ease,transform .28s ease;
}
.previous-issue-invitation[hidden] { display:none; }
.previous-issue-invitation.is-visible { opacity:1; transform:none; }
.previous-issue-number { display:grid; place-items:center; width:68px; height:68px; border-radius:18px; color:#fff; background:#e96b22; font-size:1.08rem; font-weight:950; letter-spacing:.08em; }
.previous-issue-invitation p { margin:0 0 5px; color:#075f91; font-size:.62rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.previous-issue-invitation h2 { margin:0 0 7px; font:900 1.25rem/1.04 var(--serif); }
.previous-issue-invitation div > span { display:block; color:#526f7f; font-size:.72rem; line-height:1.45; }
.previous-issue-invitation a { display:inline-flex; margin-top:12px; gap:9px; color:#075f91; font-size:.72rem; font-weight:900; text-decoration:none; }
.previous-issue-invitation a:hover,.previous-issue-invitation a:focus-visible { color:#b84a12; text-decoration:underline; text-underline-offset:4px; }
.previous-issue-close { position:absolute; top:10px; right:12px; width:32px; height:32px; border:0; border-radius:50%; color:#075f91; background:transparent; font-size:1.25rem; cursor:pointer; }
.previous-issue-close:hover,.previous-issue-close:focus-visible { color:#fff; background:#075f91; }

@media (max-width:720px) {
  .archive-shell { grid-template-columns:1fr; }
  .archive-heading { position:static; }
  .archive-node { padding-left:38px; }
  .archive-tree::before { left:9px; }
  .archive-branch { left:2px; }
  .archive-card-head { grid-template-columns:44px minmax(0,1fr); }
  .archive-card time { grid-column:2; }
  body[data-issue-id="002"] .hero .hero-title { max-width:100%; font-size:clamp(2.75rem,13.8vw,4.35rem); line-height:.96; letter-spacing:-.045em; overflow-wrap:normal; hyphens:none; }
  body[data-issue-id="002"] .brand-film--vector { min-height:620px; }
  body[data-issue-id="002"] .brand-vector-stage { left:-42%; width:150%; }
  body[data-issue-id="002"] .lexi-context { width:calc(100vw - 24px); right:12px; bottom:84px; grid-template-columns:76px minmax(0,1fr); gap:4px; padding:18px 16px 18px 8px; border-radius:22px; }
  body[data-issue-id="002"] .lexi-context > img { width:78px; height:92px; }
  .previous-issue-invitation { left:12px; bottom:92px; width:calc(100vw - 24px); grid-template-columns:52px minmax(0,1fr); gap:12px; padding:18px 42px 18px 16px; border-radius:20px; }
  .previous-issue-number { width:52px; height:52px; border-radius:14px; font-size:.82rem; }
}

@media (max-width:360px) {
  body[data-issue-id="002"] .hero .hero-title { font-size:clamp(2.55rem,13vw,3.5rem); }
}

/* Trilingual legal glossary: the same definition is available with a mouse,
   keyboard or touch. Tooltips remain part of the document and never replace
   the visible legal label. */
.article-taxonomy.has-glossary { position:relative; overflow:visible; }
.article-taxonomy .legal-glossary-note { grid-column:1/-1; margin:0; color:var(--muted); font-size:.68rem; font-weight:650; }
.article-taxonomy .legal-term {
  position:relative;
  appearance:none;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  max-width:100%;
  padding:0;
  border:0;
  border-radius:999px;
  color:inherit;
  background:transparent;
  font:inherit;
  text-align:left;
  cursor:help;
}
.article-taxonomy .legal-term > span:first-child {
  display:block;
  padding:7px 11px;
  border-radius:999px;
  color:#12384e;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(7,95,145,.2);
  font-size:.7rem;
  line-height:1.2;
  transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.article-taxonomy .legal-term:hover > span:first-child,
.article-taxonomy .legal-term:focus-visible > span:first-child,
.article-taxonomy .legal-term[aria-expanded="true"] > span:first-child {
  color:#fff;
  background:#075f91;
  box-shadow:0 8px 22px rgba(7,95,145,.2);
  transform:translateY(-1px);
}
.article-taxonomy .legal-term:focus-visible { outline:3px solid #f2bd00; outline-offset:3px; }
.article-taxonomy .legal-term .legal-definition {
  position:absolute;
  z-index:30;
  left:50%;
  bottom:calc(100% + 12px);
  width:min(340px,calc(100vw - 36px));
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.6);
  border-radius:14px;
  color:#fff;
  background:#075f91;
  box-shadow:0 18px 44px rgba(7,95,145,.28);
  font-size:.74rem;
  font-weight:650;
  line-height:1.48;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .16s ease,transform .16s ease;
}
.article-taxonomy .legal-term .legal-definition::after {
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  border:7px solid transparent;
  border-top-color:#075f91;
  transform:translateX(-50%);
}
.article-taxonomy .legal-term:hover .legal-definition,
.article-taxonomy .legal-term:focus-visible .legal-definition,
.article-taxonomy .legal-term[aria-expanded="true"] .legal-definition { opacity:1; pointer-events:auto; transform:translate(-50%,0); }
.article-taxonomy .legal-term.is-escape-closed .legal-definition { opacity:0!important; pointer-events:none!important; transform:translate(-50%,8px)!important; }

/* Three purpose-built editorial films: 5 seconds each, silent, lightweight and
   held on a readable poster when motion is reduced or data saving is enabled. */
body[data-issue-id="002"] .story-motion-video { position:absolute; inset:0; display:block; overflow:hidden; border-radius:inherit; background:#eef8fd; }
body[data-issue-id="002"] .story-motion-video video { display:block; width:100%; height:100%; object-fit:cover; opacity:.96; }
body[data-issue-id="002"] .story-motion-video .story-motion-sheen { position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.38) 48%,transparent 64%); opacity:0; transform:translateX(-70%); }
body[data-issue-id="002"] .story-motion-video.motion-playing .story-motion-sheen { animation:issue002-film-sheen 1.15s .18s ease-out both; }
body[data-issue-id="002"] .story-flow-stage > .story-motion-video { inset:0 0 94px; border:1px solid rgba(7,95,145,.18); border-radius:18px; }
@keyframes issue002-film-sheen { 0% { opacity:0; transform:translateX(-70%); } 38% { opacity:.8; } 100% { opacity:0; transform:translateX(80%); } }

@media (max-width:1020px) {
  /* Hidden fixed tooltips inside scroll-animated ancestors must not extend the
     document's scrollable width. Render the compact popover only while it is
     actually being used. */
  .article-taxonomy .legal-term .legal-definition { position:fixed; z-index:1000; left:18px; right:18px; bottom:24px; display:none; width:auto; transform:translateY(12px); }
  .article-taxonomy .legal-term .legal-definition::after { display:none; }
  .article-taxonomy .legal-term:hover .legal-definition,
  .article-taxonomy .legal-term:focus-visible .legal-definition,
  .article-taxonomy .legal-term[aria-expanded="true"] .legal-definition { display:block; transform:none; }
}

@media (max-width:720px) {
  .article-taxonomy .legal-term .legal-definition { position:fixed; z-index:1000; left:18px; right:18px; bottom:24px; width:auto; transform:translateY(12px); }
  .article-taxonomy .legal-term .legal-definition::after { display:none; }
  .article-taxonomy .legal-term:hover .legal-definition,
  .article-taxonomy .legal-term:focus-visible .legal-definition,
  .article-taxonomy .legal-term[aria-expanded="true"] .legal-definition { transform:none; }
  body[data-issue-id="002"] .story-flow-stage > .story-motion-video { inset:0 0 86px; }
}

@media (prefers-reduced-motion:reduce) {
  .article-taxonomy .legal-term > span:first-child,
  .article-taxonomy .legal-term .legal-definition,
  body[data-issue-id="002"] .story-motion-video .story-motion-sheen { transition:none; animation:none!important; }
}

/* Issue 002 pre-release: a bright, self-contained editorial preview. The
   archive can point here immediately; app.js opens the permanent issue route
   at the Brussels release instant. */
.next-issue-button { border-color:rgba(242,189,0,.72)!important; background:rgba(242,189,0,.08)!important; }
.archive-node.is-upcoming .archive-branch { background:#f2bd00; box-shadow:0 0 0 2px #e96b22; }
.archive-node.is-upcoming .archive-card { border-color:rgba(242,189,0,.52); background:linear-gradient(145deg,#fff 0%,#fff8d8 100%); box-shadow:0 22px 56px rgba(233,107,34,.13); }
.archive-node.is-upcoming .archive-number { color:#b84a12; }
.upcoming-issue-invitation { border-color:rgba(242,189,0,.58); background:linear-gradient(135deg,#fff 0%,#fff4bd 100%); }
.upcoming-issue-invitation .previous-issue-number { color:#12384e; background:#f2bd00; }

.release-announcement { min-height:100vh; color:#12384e; background:#f8fcff; }
.release-announcement .site-header { background:rgba(7,95,145,.96); }
.announcement-nav-label { margin:0 auto; color:#dceef7; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-align:center; }
.announcement-hero { position:relative; min-height:760px; padding:clamp(150px,14vw,210px) 0 clamp(84px,10vw,144px); overflow:hidden; background:linear-gradient(135deg,#edf9ff 0%,#fff 54%,#fff7d4 100%); }
.announcement-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(7,95,145,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(7,95,145,.06) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,#000,transparent 78%); }
.announcement-hero-shell { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:clamp(46px,8vw,120px); align-items:center; }
.announcement-copy { max-width:860px; }
.announcement-copy .kicker { color:#b84a12; }
.announcement-copy h1 { max-width:930px; margin:16px 0 26px; color:#075f91; font:950 clamp(3.7rem,7.2vw,7.4rem)/.9 var(--serif); letter-spacing:-.055em; text-wrap:balance; }
.announcement-copy > p:not(.kicker) { max-width:800px; margin:0; color:#315f76; font-size:clamp(1.08rem,1.7vw,1.42rem); line-height:1.62; }
.announcement-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.announcement-actions .primary-button { color:#12384e; background:#f2bd00; box-shadow:0 14px 34px rgba(242,189,0,.28); }
.announcement-actions .secondary-button { color:#075f91; border-color:rgba(7,95,145,.3); background:rgba(255,255,255,.72); }
.release-clock { position:relative; padding:30px; border:1px solid rgba(7,95,145,.2); border-radius:30px; background:rgba(255,255,255,.8); box-shadow:0 30px 80px rgba(7,95,145,.14); backdrop-filter:blur(18px); }
.release-clock::before { content:""; position:absolute; inset:10px; border:1px solid rgba(242,189,0,.36); border-radius:22px; pointer-events:none; }
.release-clock > p { position:relative; margin:0 0 20px; color:#075f91; font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.release-clock > div { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.release-clock span { display:grid; min-width:0; place-items:center; padding:18px 5px; border-radius:17px; color:#fff; background:#075f91; }
.release-clock span:nth-child(2) { background:#1486d4; }
.release-clock span:nth-child(3) { color:#12384e; background:#f2bd00; }
.release-clock span:nth-child(4) { background:#e96b22; }
.release-clock strong { font:900 clamp(1.6rem,3vw,2.5rem)/1 var(--serif); font-variant-numeric:tabular-nums; }
.release-clock small { margin-top:8px; font-size:.58rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.release-clock time { position:relative; display:block; margin-top:18px; color:#526f7f; font-size:.72rem; line-height:1.45; }
.announcement-orbit { position:absolute; z-index:1; right:-8vw; top:18%; width:min(58vw,840px); aspect-ratio:1; opacity:.22; pointer-events:none; }
.announcement-orbit span { position:absolute; inset:0; border:2px solid #1486d4; border-radius:50%; }
.announcement-orbit span:nth-child(2) { inset:16%; border-color:#e96b22; transform:rotate(32deg); }
.announcement-orbit span:nth-child(3) { inset:31%; border-color:#f2bd00; transform:rotate(-22deg); }
.announcement-orbit i { position:absolute; inset:40%; display:grid; place-items:center; border-radius:50%; color:#fff; background:#075f91; font:950 clamp(2rem,5vw,4.5rem)/1 var(--serif); font-style:normal; }
.announcement-programme { padding:clamp(82px,10vw,144px) 0; background:#fff; scroll-margin-top:100px; }
.announcement-programme-heading { max-width:940px; margin:0 0 54px; }
.announcement-programme-heading .kicker { color:#b84a12; }
.announcement-programme-heading h2 { margin:12px 0 0; color:#12384e; font:900 clamp(2.8rem,5.8vw,5.4rem)/.96 var(--serif); letter-spacing:-.045em; text-wrap:balance; }
.announcement-programme-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; padding:0; list-style:none; }
.announcement-programme-card { position:relative; min-width:0; padding:32px; overflow:hidden; border:1px solid rgba(7,95,145,.16); border-radius:26px; background:#f5fbff; box-shadow:0 20px 52px rgba(7,95,145,.09); }
.announcement-programme-card::before { content:""; position:absolute; inset:0 0 auto; height:7px; background:#1486d4; }
.announcement-programme-card[data-programme-rank="2"] { background:#fff5ed; }
.announcement-programme-card[data-programme-rank="2"]::before { background:#e96b22; }
.announcement-programme-card[data-programme-rank="3"] { background:#fffbea; }
.announcement-programme-card[data-programme-rank="3"]::before { background:#f2bd00; }
.announcement-programme-rank { display:block; margin-bottom:28px; color:#1486d4; font:950 3.4rem/1 var(--serif); }
.announcement-programme-card[data-programme-rank="2"] .announcement-programme-rank { color:#e96b22; }
.announcement-programme-card[data-programme-rank="3"] .announcement-programme-rank { color:#9b7400; }
.announcement-programme-card > p:first-of-type { margin:0 0 12px; color:#075f91; font-size:.7rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.announcement-programme-card h3 { margin:0 0 18px; color:#12384e; font:850 clamp(1.35rem,2.1vw,2rem)/1.1 var(--serif); }
.announcement-programme-card > p:nth-of-type(2) { min-height:7.2em; margin:0 0 24px; color:#526f7f; font-size:.9rem; line-height:1.55; }
.announcement-programme-card > div + div { margin-top:18px; }
.announcement-programme-card > div > strong { display:block; margin-bottom:9px; color:#b84a12; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; }
.announcement-programme-card > div > span { display:flex; flex-wrap:wrap; gap:6px; }
.announcement-programme-card i { padding:6px 9px; border-radius:999px; color:#12384e; background:#fff; box-shadow:inset 0 0 0 1px rgba(7,95,145,.14); font-size:.62rem; font-style:normal; line-height:1.2; }
.announcement-cta { padding:0 0 clamp(82px,10vw,140px); background:#fff; }
.announcement-cta-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:34px; align-items:center; padding:clamp(28px,4vw,50px); border-radius:28px; color:#fff; background:linear-gradient(125deg,#075f91,#1486d4 70%,#e96b22); box-shadow:0 26px 70px rgba(7,95,145,.22); }
.announcement-cta-card > span { color:#f2bd00; font:950 clamp(2.6rem,5vw,5rem)/1 var(--serif); }
.announcement-cta-card p { max-width:740px; margin:0 0 18px; color:#fff; font-size:1rem; }
.announcement-cta-card .primary-button { color:#12384e; background:#f2bd00; }

@media (prefers-reduced-motion:no-preference) {
  .announcement-orbit > span:first-child { animation:announcement-orbit-spin 18s linear infinite; }
  .announcement-orbit > span:nth-child(2) { animation:announcement-orbit-spin 13s linear infinite reverse; }
  .announcement-orbit i { animation:announcement-core-pulse 3.2s ease-in-out infinite; }
  .release-clock span:nth-child(4) strong { animation:announcement-second-pulse 1s steps(1,end) infinite; }
  @keyframes announcement-orbit-spin { to { transform:rotate(360deg); } }
  @keyframes announcement-core-pulse { 50% { box-shadow:0 0 0 32px rgba(20,134,212,.12),0 0 60px rgba(7,95,145,.3); transform:scale(1.04); } }
  @keyframes announcement-second-pulse { 50% { opacity:.62; } }
}

@media (max-width:900px) {
  .announcement-nav-label { display:none; }
  .announcement-hero-shell { grid-template-columns:1fr; }
  .release-clock { max-width:640px; }
  .announcement-programme-grid { grid-template-columns:1fr; }
  .announcement-programme-card > p:nth-of-type(2) { min-height:0; }
}

@media (max-width:560px) {
  .announcement-hero { min-height:auto; padding-top:132px; }
  .announcement-copy h1 { font-size:clamp(3rem,15vw,4.8rem); }
  .announcement-actions { display:grid; }
  .release-clock { padding:22px 16px; border-radius:24px; }
  .release-clock > div { gap:5px; }
  .release-clock span { padding:14px 2px; }
  .release-clock strong { font-size:1.45rem; }
  .release-clock small { font-size:.48rem; }
  .announcement-programme-card { padding:26px 22px; }
  .announcement-cta-card { grid-template-columns:1fr; gap:18px; }
}

/* Edition 002 hero signature — "L'acte de preuve". The vector scene tells a
   complete story once, then becomes a calm editorial map. It ships inline,
   adds no network request and leaves the complete final state visible when
   JavaScript or motion is unavailable. */
body[data-page-kind="issue"][data-issue-id="002"] .hero-shell {
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  grid-template-areas:"copy proof-map" "actions proof-map" "trust proof-map";
  grid-template-rows:auto auto auto;
  column-gap:clamp(34px,5vw,78px);
  row-gap:26px;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-copy { grid-area:copy; align-self:end; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-actions { grid-area:actions; align-self:start; margin-top:-12px; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof { grid-area:trust; align-self:start; margin-top:-22px; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map {
  position:relative;
  z-index:3;
  width:min(100%,590px);
  justify-self:end;
  align-self:center;
  grid-area:proof-map;
  color:#12384e;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map-head {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:17px;
  align-items:end;
  padding:0 8px 14px;
  border-bottom:1px solid rgba(7,95,145,.2);
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map-head > span {
  color:#e96b22;
  font:950 1rem/1 var(--sans);
  letter-spacing:.12em;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map-head p {
  margin:0 0 4px;
  color:#1470a5;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map-head h2 {
  margin:0;
  color:#12384e;
  font:900 clamp(1.3rem,1.8vw,1.75rem)/1.05 var(--serif);
  letter-spacing:-.03em;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-stage {
  --hero-proof-rx:0deg;
  --hero-proof-ry:0deg;
  position:relative;
  width:100%;
  aspect-ratio:720/500;
  overflow:hidden;
  background:radial-gradient(circle at 36% 50%,rgba(242,189,0,.18),transparent 24%),radial-gradient(circle at 82% 50%,rgba(20,134,212,.15),transparent 32%);
  perspective:1100px;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-stage::after {
  content:"";
  position:absolute;
  inset:10% 3%;
  z-index:-1;
  background:radial-gradient(ellipse,rgba(7,95,145,.12),transparent 66%);
  filter:blur(22px);
  pointer-events:none;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-svg {
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  transform:rotateX(var(--hero-proof-rx)) rotateY(var(--hero-proof-ry));
  transform-origin:center;
  transition:transform .42s cubic-bezier(.2,.75,.2,1);
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-grid path {
  fill:none;
  stroke:rgba(7,95,145,.095);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-source-halo,
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-light,
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-prism-aura { fill:url(#hero-proof-glow); }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-source { fill:#e96b22; stroke:#fff; stroke-width:5; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-route {
  fill:none;
  stroke:url(#hero-proof-route-gradient);
  stroke-width:8;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-route--two { stroke-width:10; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-route--seal { stroke:#e96b22; stroke-width:5; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-prism-shape {
  fill:url(#hero-proof-prism-gradient);
  stroke:#075f91;
  stroke-width:4;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-prism-line { fill:none; stroke:rgba(255,255,255,.78); stroke-width:3; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-prism > circle:last-child { fill:#075f91; stroke:#fff; stroke-width:5; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-node-halo {
  fill:rgba(20,134,212,.08);
  stroke:rgba(20,134,212,.26);
  stroke-width:2;
  stroke-dasharray:7 11;
  transition:opacity .18s ease,stroke .18s ease;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-node-disc {
  fill:#fff;
  stroke:#1486d4;
  stroke-width:6;
  transform-box:fill-box;
  transform-origin:center;
  transition:transform .18s ease,fill .18s ease,stroke .18s ease;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-node--two .hero-proof-node-disc { stroke:#e96b22; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-node--three .hero-proof-node-disc { stroke:#f2bd00; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-icon {
  fill:none;
  stroke:#075f91;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-icon--threads { stroke-width:4; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-seal-wave { fill:none; stroke:#e96b22; stroke-width:3; opacity:.55; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-seal-disc { fill:#e96b22; stroke:#fff; stroke-width:6; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-seal path { fill:none; stroke:#fff; stroke-width:6; stroke-linecap:round; stroke-linejoin:round; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-light { opacity:.5; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:0;
  padding:0;
  overflow:hidden;
  border-top:1px solid rgba(7,95,145,.2);
  border-bottom:1px solid rgba(7,95,145,.2);
  list-style:none;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links li + li { border-left:1px solid rgba(7,95,145,.16); }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links a {
  display:grid;
  min-height:92px;
  padding:14px 12px;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  color:#12384e;
  background:rgba(255,255,255,.58);
  text-decoration:none;
  transition:background .18s ease,color .18s ease;
}
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links a:hover,
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links a:focus-visible { color:#075f91; background:#fff8d8; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links a > span:first-child { color:#e96b22; font-size:.65rem; font-weight:950; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links strong,
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links small { display:block; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links strong { font:850 .78rem/1.15 var(--serif); }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links small { margin-top:4px; overflow:visible; color:#526f7f; font-size:.58rem; line-height:1.3; text-overflow:clip; white-space:normal; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links i { color:#e96b22; font-size:.7rem; font-style:normal; }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-node.is-active .hero-proof-node-disc { fill:#fff8d8; stroke:#e96b22; transform:scale(1.11); }
body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-node.is-active .hero-proof-node-halo { opacity:1; stroke:#f2bd00; }

@media (prefers-reduced-motion:no-preference) {
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-route { stroke-dasharray:1; stroke-dashoffset:1; opacity:.16; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-source,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-prism-shape,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-prism-line,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-prism > circle:last-child,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-node-disc,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-icon,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-seal-disc,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-seal path { opacity:.12; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-node-halo,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-seal-wave,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-ready .hero-proof-light { opacity:0; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-source { animation:hero-proof-source-in .34s ease-out both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-route--input { animation:hero-proof-route-in .74s .2s cubic-bezier(.2,.72,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-prism-shape,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-prism-line,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-prism > circle:last-child { animation:hero-proof-prism-in .48s .58s cubic-bezier(.18,.84,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-route--one { animation:hero-proof-route-in .76s .82s cubic-bezier(.2,.72,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-route--two { animation:hero-proof-route-in .76s 1.02s cubic-bezier(.2,.72,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-route--three { animation:hero-proof-route-in .76s 1.22s cubic-bezier(.2,.72,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--one .hero-proof-node-disc,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--one .hero-proof-icon,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--one .hero-proof-node-halo { animation:hero-proof-node-in .48s 1.14s cubic-bezier(.18,.84,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--two .hero-proof-node-disc,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--two .hero-proof-icon,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--two .hero-proof-node-halo { animation:hero-proof-node-in .48s 1.36s cubic-bezier(.18,.84,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--three .hero-proof-node-disc,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--three .hero-proof-icon,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-node--three .hero-proof-node-halo { animation:hero-proof-node-in .48s 1.58s cubic-bezier(.18,.84,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-route--seal { animation:hero-proof-route-in .4s 1.72s cubic-bezier(.2,.72,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-seal-disc,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-seal path,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-seal-wave { animation:hero-proof-seal-in .72s 1.92s cubic-bezier(.15,.85,.2,1) both; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map.hero-motion-playing .hero-proof-light { animation:hero-proof-afterglow .72s 2.1s ease-out both; }
  @keyframes hero-proof-source-in { from { opacity:0; transform:scale(.35); transform-origin:54px 250px; } 72% { opacity:1; transform:scale(1.28); transform-origin:54px 250px; } to { opacity:1; transform:none; transform-origin:54px 250px; } }
  @keyframes hero-proof-route-in { from { stroke-dashoffset:1; opacity:.16; } to { stroke-dashoffset:0; opacity:1; } }
  @keyframes hero-proof-prism-in { from { opacity:.08; transform:scale(.78); transform-origin:262px 250px; } to { opacity:1; transform:none; transform-origin:262px 250px; } }
  @keyframes hero-proof-node-in { from { opacity:0; transform:scale(.64); } 72% { opacity:1; transform:scale(1.1); } to { opacity:1; transform:none; } }
  @keyframes hero-proof-seal-in { from { opacity:0; transform:scale(.62) rotate(-12deg); transform-origin:center; } 72% { opacity:1; transform:scale(1.12) rotate(2deg); transform-origin:center; } to { opacity:1; transform:none; transform-origin:center; } }
  @keyframes hero-proof-afterglow { 0% { opacity:0; transform:scale(.2); transform-origin:center; } 55% { opacity:.9; transform:scale(1.35); transform-origin:center; } 100% { opacity:.5; transform:none; transform-origin:center; } }
}

@media (max-width:1020px) {
  body[data-page-kind="issue"][data-issue-id="002"] .hero-shell {
    grid-template-columns:1fr;
    grid-template-areas:"copy" "proof-map" "actions" "trust";
    grid-template-rows:auto;
    gap:30px;
  }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map { width:min(100%,720px); justify-self:center; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-actions,
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof { margin-top:0; }
}
@media (max-width:720px) {
  body[data-page-kind="issue"][data-issue-id="002"] .hero-shell {
    grid-template-areas:"copy" "actions" "proof-map" "trust";
    gap:20px;
    padding:104px 0 48px;
  }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map-head { grid-template-columns:1fr; gap:6px; padding-inline:2px; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-stage { max-height:220px; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links li + li { border-top:0; border-left:1px solid rgba(7,95,145,.16); }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links a {
    min-height:96px;
    padding:10px 8px;
    grid-template-columns:1fr;
    gap:4px;
    align-content:start;
  }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links strong { font-size:.7rem; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links small { font-size:.54rem; overflow-wrap:anywhere; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-links i { display:none; }
}
@media (prefers-reduced-motion:reduce), (update:slow) {
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-svg { transform:none!important; transition:none; }
  body[data-page-kind="issue"][data-issue-id="002"] .hero-proof-map * { animation:none!important; }
}

/* Shared reader controls are permanent Law Right artifacts. Edition 002 keeps
   the exact purple-and-gold music, podcast and Lexi treatment introduced in
   edition 001; only the editorial canvas around them changes between issues. */
body[data-issue-id="002"] .law-right-media-dock {
  width:min(390px,calc(100vw - 36px));
  max-width:none;
  border:0;
  background:transparent;
}
body[data-issue-id="002"] .law-right-media-dock:has(.media-library:not([hidden])) {
  width:min(390px,calc(100vw - 36px));
}
body[data-issue-id="002"] .media-music-toggle,
body[data-issue-id="002"] .media-library-toggle,
body[data-issue-id="002"] .media-music-toggle:hover,
body[data-issue-id="002"] .media-library-toggle:hover {
  color:#fff;
  border-color:rgba(255,255,255,.5);
  background:linear-gradient(135deg,rgba(16,11,70,.96),rgba(128,7,75,.96));
  box-shadow:0 15px 36px rgba(16,11,70,.27);
}
body[data-issue-id="002"] .media-music-toggle.is-on,
body[data-issue-id="002"] .media-music-toggle.is-on:hover {
  color:var(--navy);
  border-color:var(--gold-light);
  background:var(--gold-light);
}
body[data-issue-id="002"] .media-music-toggle span,
body[data-issue-id="002"] .media-library-toggle span,
body[data-issue-id="002"] .lexi-float-copy strong,
body[data-issue-id="002"] .lexi-context-eyebrow { color:var(--gold-light); }
body[data-issue-id="002"] .media-music-toggle.is-on span { color:var(--burgundy); }
body[data-issue-id="002"] .lexi-float {
  color:#fff;
  border-color:rgba(255,255,255,.55);
  background:linear-gradient(135deg,rgba(16,11,70,.96),rgba(128,7,75,.96));
  box-shadow:0 18px 48px rgba(16,11,70,.34);
}
body[data-issue-id="002"] .lexi-float-avatar { background:rgba(255,255,255,.12); }
body[data-issue-id="002"] .lexi-context {
  color:#fff;
  border-color:rgba(255,255,255,.5);
  background:linear-gradient(135deg,rgba(16,11,70,.98),rgba(91,4,54,.98));
  box-shadow:0 32px 90px rgba(9,6,47,.42);
}
body[data-issue-id="002"] .lexi-context-actions [data-lexi-context-ask] {
  color:var(--navy);
  border-color:var(--gold-light);
  background:var(--gold-light);
}
@media (max-width:720px) {
  body[data-issue-id="002"] .law-right-media-dock {
    width:auto;
    max-width:calc(100vw - 92px);
  }
  body[data-issue-id="002"] .law-right-media-dock:has(.media-library:not([hidden])) {
    width:min(390px,calc(100vw - 24px));
    max-width:calc(100vw - 24px);
  }
}

@media print {
  :root { --paper: #fff; --ink: #000; --muted: #333; }
  .site-header, .reading-progress, .hero-radar, .hero-proof-stage, .hero-actions, .proof-bar, .share-button, .subscribe-section, .site-footer, .toast, .lexi-float, .lexi-context, .law-right-media-dock, .signup-video-window, .booking-popup, .book-popup, .whatsapp-popup, .morph, .hero-grid-lines, .hero-film, .brand-film, .ai-companion { display: none !important; }
  .hero { min-height: auto; color: #000; background: #fff; }
  .hero-shell { min-height: auto; padding: 20px 0 40px; display: block; }
  .hero-deck, .hero-proof { color: #333; }
  .issue-chip { color: #333; border-color: #777; }
  .editorial, .story, .method-shell, .closing-section { padding-block: 34px; }
  .author-card { break-inside: avoid; }
  .story-head, .story-body { display: block; }
  .story-aside { position: static; }
  .method-section { color: #000; background: #fff; }
  .method-copy > p:not(.kicker), .method-steps p { color: #333; }
  .story { break-before: page; }
  .reveal { opacity: 1 !important; transform: none !important; }
  a { color: #000; }
}

/* Issue 004 — defence visual language: supply chain, evidence and accountability. */
body[data-issue-id="004"] .brand-film--defence {
  background: radial-gradient(circle at 72% 28%, rgba(241,191,45,.22), transparent 34%), linear-gradient(135deg,#073d59 0%,#0b607c 52%,#172042 100%);
}
body[data-issue-id="004"] .brand-defence-stage { position:absolute; inset:0; opacity:.92; }
body[data-issue-id="004"] .brand-defence-stage svg { width:100%; height:100%; overflow:visible; }
body[data-issue-id="004"] .defence-hero-grid { fill:none; stroke:rgba(255,255,255,.12); stroke-width:1; }
body[data-issue-id="004"] .defence-hero-route { fill:none; stroke:url(#defence-hero-line); stroke-width:5; stroke-linecap:round; stroke-dasharray:1; animation:defence-route-draw 8s ease-in-out infinite alternate; }
body[data-issue-id="004"] .defence-hero-route--second { opacity:.55; stroke-width:3; animation-delay:-3s; }
body[data-issue-id="004"] .defence-hero-node { fill:#0b4f6b; stroke:#f1bf2d; stroke-width:4; filter:drop-shadow(0 0 18px rgba(241,191,45,.35)); animation:defence-node-pulse 4.8s ease-in-out infinite; }
body[data-issue-id="004"] .defence-hero-node path { fill:none; stroke:#fff; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
body[data-issue-id="004"] .defence-hero-node:nth-of-type(2) { animation-delay:1.2s; }
body[data-issue-id="004"] .defence-hero-node:nth-of-type(3) { animation-delay:2.4s; }
body[data-issue-id="004"] .defence-hero-pulse { filter:drop-shadow(0 0 12px #fff); }
body[data-issue-id="004"] .flow-visual--defence .flow-guide, body[data-issue-id="004"] .flow-visual--hybrid .flow-guide { stroke:rgba(12,87,117,.2); }
body[data-issue-id="004"] .flow-defence-route, body[data-issue-id="004"] .flow-hybrid-route, body[data-issue-id="004"] .flow-responsibility-route { fill:none; stroke:url(#defence-chain-1); stroke-width:6; stroke-linecap:round; stroke-dasharray:1; animation:defence-route-draw 6s ease-in-out infinite alternate; }
body[data-issue-id="004"] .flow-visual--responsibility .flow-node, body[data-issue-id="004"] .flow-visual--hybrid .flow-node, body[data-issue-id="004"] .flow-visual--defence .flow-node { fill:#0b4f6b; stroke:#f1bf2d; stroke-width:4; }
body[data-issue-id="004"] .flow-visual--responsibility .flow-node path, body[data-issue-id="004"] .flow-visual--hybrid .flow-node path, body[data-issue-id="004"] .flow-visual--defence .flow-node path { fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
@keyframes defence-route-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes defence-node-pulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.08); } }
@media (prefers-reduced-motion:reduce) { body[data-issue-id="004"] .defence-hero-route, body[data-issue-id="004"] .flow-defence-route, body[data-issue-id="004"] .flow-hybrid-route, body[data-issue-id="004"] .flow-responsibility-route, body[data-issue-id="004"] .defence-hero-node { animation:none; } }
