/* ==========================================================================
   Guerrilla News 2026 theme
   ========================================================================== */
:root {
  --ink: #0b0b0d;
  --ink-2: #151519;
  --ink-3: #202027;
  --paper: #f5f2eb;
  --paper-2: #ebe5d9;
  --card: #ffffff;
  --text: #141417;
  --muted: #5f5b55;
  --line: rgba(20, 20, 23, .13);
  --pink: #ff2e88;
  --pink-d: #d8116a;
  --cyan: #18d2ef;
  --cyan-d: #0797ae;
  --on-dark: #f3f1ec;
  --on-dark-muted: #a9a6a0;
  --line-dark: rgba(255, 255, 255, .12);
  --radius: 10px;
  --shadow: 0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.08);
  --f-display: var(--gh-font-heading, "Archivo"), "Arial Narrow", sans-serif;
  --f-ui: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-body: var(--gh-font-body, "Source Serif 4"), Georgia, serif;
  --f-marker: "Permanent Marker", "Comic Sans MS", cursive;
  --wrap: 1280px;
  --gutter: clamp(16px, 4vw, 40px);
}
html[data-scheme="night"] {
  --paper: #111114;
  --paper-2: #18181d;
  --card: #1c1c22;
  --text: #f0eee9;
  --muted: #a7a39c;
  --line: rgba(255,255,255,.12);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--paper); color: var(--text);
  font: 400 17px/1.55 var(--f-ui);
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }
.sr, .skip { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.skip:focus { position: fixed; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 999; background: var(--pink); color: #fff; padding: 10px 14px; border-radius: 6px; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 2px; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.wrap--text { max-width: calc(720px + var(--gutter) * 2); }
.wrap--wide { max-width: calc(1120px + var(--gutter) * 2); }

/* Type -------------------------------------------------------------------- */
.display-1, .display-2, .article__title, .card__title, .sec-h h2, .lead h1 {
  font-family: var(--f-display); font-stretch: 72%; font-weight: 850;
  letter-spacing: -.01em; line-height: .98; margin: 0; text-wrap: balance;
}
.display-1 { font-size: clamp(38px, 6vw, 76px); }
.display-2 { font-size: clamp(30px, 4vw, 50px); margin-bottom: .35em; }
.kicker {
  display: inline-flex; align-items: center; gap: 6px;
  font: 800 12px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase;
  color: var(--pink-d); margin: 0 0 10px;
}
.kicker .ico { width: 14px; height: 14px; }
.kicker--pink { color: var(--pink); }
.kicker--cyan { color: var(--cyan); }
.meta { font: 500 13px/1.4 var(--f-ui); color: var(--muted); margin: 8px 0 0; }
.meta--light { color: var(--on-dark-muted); }
.muted { color: var(--on-dark-muted); }
.marker { font-family: var(--f-marker); color: var(--pink); font-size: 22px; line-height: 1.1; margin: 0 0 12px; transform: rotate(-1.5deg); }
.marker--xl { font-size: clamp(38px, 6vw, 72px); }
.ico { width: 18px; height: 18px; flex: none; vertical-align: -3px; }

/* Buttons & chips ---------------------------------------------------------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 22px; border-radius: 999px; border: 2px solid transparent;
  font: 800 15px/1 var(--f-ui); letter-spacing: .02em; white-space: nowrap;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn--sm { padding: 9px 15px; font-size: 13px; }
.btn--lg { padding: 17px 30px; font-size: 17px; }
.btn--block { width: 100%; }
.btn--pink { background: var(--pink); color: #fff; box-shadow: 0 6px 20px rgba(255,46,136,.35); }
.btn--pink:hover { background: var(--pink-d); }
.btn--cyan { background: var(--cyan); color: var(--ink); }
.btn--dark { background: var(--ink); color: #fff; }
html[data-scheme="night"] .btn--dark { background: #fff; color: var(--ink); }
.btn--ghost { border-color: currentColor; background: transparent; }
.btn--ghost-light { border-color: rgba(255,255,255,.55); color: #fff; background: transparent; }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px;
  border: 1px solid var(--line); background: transparent; font: 700 13px/1 var(--f-ui);
}
.chip.is-on { background: var(--ink); color: #fff; border-color: var(--ink); }
.chip--cyan { background: var(--cyan); color: var(--ink); border: 0; }
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 999px; font: 800 11px/1 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; }
.badge .ico { width: 12px; height: 12px; }
.badge--lock { position: absolute; top: 12px; left: 12px; background: rgba(11,11,13,.85); color: var(--cyan); }
.badge--inline { background: var(--ink); color: var(--cyan); margin-left: 8px; }
.link-quiet { font: 700 14px/1 var(--f-ui); opacity: .85; background: none; border: 0; padding: 0; }
.icon-btn { background: none; border: 0; padding: 8px; display: inline-flex; color: inherit; }

/* Ticker ------------------------------------------------------------------- */
.ticker {
  display: flex; align-items: stretch; height: 38px; background: var(--ink); color: var(--on-dark);
  font: 600 13px/38px var(--f-ui); border-bottom: 1px solid var(--line-dark);
}
.ticker__label { display: flex; align-items: center; gap: 8px; padding: 0 16px; background: var(--pink); color: #fff; font-weight: 900; letter-spacing: .1em; flex: none; }
.ticker__track { flex: 1; min-width: 0; overflow: hidden; position: relative; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.ticker__items { display: inline-flex; gap: 42px; white-space: nowrap; padding-left: 24px; animation: tick 70s linear infinite; }
.ticker:hover .ticker__items { animation-play-state: paused; }
.ticker__items a { opacity: .92; }
.ticker__items a:hover { color: var(--cyan); }
.ticker__items b { color: var(--cyan); margin-right: 8px; font-weight: 800; }
.ticker__tip { flex: none; padding: 0 16px; color: var(--cyan); font-weight: 800; border-left: 1px solid var(--line-dark); }
@keyframes tick { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ticker__items { animation: none; } }
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: #fff; display: inline-block; box-shadow: 0 0 0 0 rgba(255,255,255,.7); animation: pulse 1.8s infinite; }
.sec-h .pulse-dot, .kicker .pulse-dot { background: var(--pink); }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255,46,136,.6); } 70% { box-shadow: 0 0 0 10px rgba(255,46,136,0); } 100% { box-shadow: 0 0 0 0 rgba(255,46,136,0); } }

/* Masthead ----------------------------------------------------------------- */
.masthead { background: var(--ink); color: var(--on-dark); position: sticky; top: 0; z-index: 50; transition: box-shadow .2s ease; }
/* One menu bar that follows the reader: main.js switches it to fixed and keeps the spacer the same height. */
.masthead.is-fixed { position: fixed; left: 0; right: 0; top: var(--head-top, 0px); }
.masthead.is-scrolled { box-shadow: 0 6px 24px rgba(0,0,0,.35); }
.masthead-spacer { display: none; }
.masthead.is-fixed + .masthead-spacer { display: block; height: var(--head-h, 74px); }
html { scroll-padding-top: calc(var(--head-h, 74px) + 12px); }
.masthead__inner { display: flex; align-items: center; gap: 22px; height: 74px; transition: height .2s ease; }
.masthead__inner.wrap { max-width: 1720px; padding: 0 clamp(16px, 2.2vw, 40px); }
.masthead.is-scrolled .masthead__inner { height: 60px; }
.brand { display: flex; align-items: center; gap: 12px; flex: none; }
.brand__logo { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 2px solid var(--pink); transition: width .2s ease, height .2s ease; }
.masthead.is-scrolled .brand__logo { width: 38px; height: 38px; }
.brand__word { font-family: var(--f-marker); font-size: 27px; line-height: 1; letter-spacing: .01em; transform: rotate(-2deg); display: inline-block; }
.brand__g { color: var(--pink); text-shadow: 2px 2px 0 rgba(0,0,0,.5); }
.brand__n { color: var(--cyan); text-shadow: 2px 2px 0 rgba(0,0,0,.5); }
.mainnav { flex: 1; min-width: 0; display: flex; align-items: center; gap: 2px; }
.mainnav__list { list-style: none; display: flex; gap: 2px; margin: 0; padding: 0; min-width: 0; overflow: hidden; flex: 0 1 auto; }
.mainnav a, .mainnav__more-btn { display: block; white-space: nowrap; padding: 8px 11px; border-radius: 6px; font: 700 14.5px/1 var(--f-ui); color: var(--on-dark); opacity: .88; }
.mainnav a:hover, .mainnav a[aria-current="page"], .mainnav__more-btn:hover, .mainnav__more-btn[aria-expanded="true"] { opacity: 1; background: var(--ink-3); }
.mainnav a[aria-current="page"] { color: var(--cyan); }
.mainnav__ic a { color: var(--cyan); }
.mainnav__m { display: none; }
.mainnav__more { position: relative; flex: none; }
.mainnav__more-btn.has-current { color: var(--cyan); }
.mainnav__more-btn { background: none; border: 0; cursor: pointer; }
.mainnav__drop { display: none; position: absolute; top: calc(100% + 8px); right: 0; min-width: 220px; list-style: none; margin: 0; padding: 8px; background: var(--ink-2); border: 1px solid var(--line-dark); border-radius: 10px; box-shadow: 0 16px 40px rgba(0,0,0,.45); z-index: 2; }
.mainnav__more.is-open .mainnav__drop { display: block; }
.mainnav__drop a { padding: 10px 12px; }
.masthead__actions { display: flex; align-items: center; gap: 12px; margin-left: auto; flex: none; }
.burger { display: none; flex-direction: column; gap: 5px; }
.burger span { width: 22px; height: 2px; background: currentColor; display: block; }

/* Hero --------------------------------------------------------------------- */
.hero { background: var(--ink); color: var(--on-dark); padding: 28px 0 44px; }
.hero__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 32px; }
.lead { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 540px; display: flex; align-items: flex-end; background: var(--ink-3); }
.lead__media { position: absolute; inset: 0; }
.lead__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.lead:hover .lead__media img { transform: scale(1.03); }
.lead__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,11,13,.15) 0%, rgba(11,11,13,.8) 45%, rgba(11,11,13,.98) 100%); }
.lead__body { position: relative; padding: clamp(22px, 3.5vw, 40px); }
.lead h1 { font-size: clamp(34px, 4.6vw, 64px); }
.lead h1 a:hover { color: var(--cyan); }
.lead__dek { font: 400 19px/1.45 var(--f-body); color: #dcd9d3; max-width: 60ch; margin: 14px 0 0; }
.rail-h { font: 900 13px/1 var(--f-ui); letter-spacing: .14em; text-transform: uppercase; margin: 0 0 14px; display: flex; align-items: center; gap: 10px; }
.rail-h::after { content: ""; flex: 1; height: 2px; background: var(--pink); }
.toplist { list-style: none; margin: 0; padding: 0; counter-reset: t; }
.toplist li { counter-increment: t; display: grid; grid-template-columns: 34px 1fr; column-gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--line-dark); }
.toplist li::before { content: counter(t); grid-row: span 3; font: 900 30px/1 var(--f-display); font-stretch: 70%; color: var(--pink); }
.toplist .kicker { margin: 0 0 6px; color: var(--cyan); font-size: 11px; }
.toplist a { font: 800 19px/1.15 var(--f-display); font-stretch: 85%; }
.toplist a:hover { color: var(--cyan); }
.toplist .meta { color: var(--on-dark-muted); margin-top: 4px; }
.tipbox { margin-top: 20px; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 18px; border-radius: var(--radius); background: linear-gradient(135deg, var(--pink), #b3125f); color: #fff; font-size: 15px; line-height: 1.35; transition: transform .15s; }
.tipbox:hover { transform: translateY(-2px); }
.tipbox__ico { width: 42px; height: 42px; border-radius: 50%; background: rgba(0,0,0,.25); display: grid; place-items: center; }

/* Bands -------------------------------------------------------------------- */
.band--brick {
  color: #fff; padding: 34px 0;
  background-color: #1b0f11;
  background-image:
    linear-gradient(90deg, rgba(11,11,13,.92), rgba(11,11,13,.55) 50%, rgba(11,11,13,.92)),
    repeating-linear-gradient(0deg, rgba(0,0,0,.55) 0 3px, transparent 3px 34px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.45) 0 3px, transparent 3px 74px),
    linear-gradient(#5b2721, #3a1814);
}
.band__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.band .marker { margin: 0; }
.stats { list-style: none; display: flex; gap: clamp(20px, 4vw, 56px); margin: 0; padding: 0; flex-wrap: wrap; }
.stats li { display: flex; flex-direction: column; }
.stats strong { font: 900 clamp(32px, 4vw, 48px)/1 var(--f-display); font-stretch: 70%; color: var(--cyan); }
.stats span { font: 700 12px/1.3 var(--f-ui); text-transform: uppercase; letter-spacing: .1em; color: #d8d4cc; }

/* Sections ----------------------------------------------------------------- */
.section { padding: clamp(40px, 6vw, 72px) 0; }
.section--tight { padding-top: 32px; }
.section--dark { background: var(--ink-2); color: var(--on-dark); }
.section--ink { background: var(--ink); color: var(--on-dark); }
.section--soft { background: var(--paper-2); }
.section--vault { background: radial-gradient(1000px 400px at 80% 0%, rgba(24,210,239,.18), transparent 60%), var(--ink); color: var(--on-dark); }
.sec-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; border-bottom: 3px solid currentColor; padding-bottom: 12px; }
.sec-h h2 { font-size: clamp(30px, 3.6vw, 44px); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.sec-h h2 small { font: 500 15px/1.3 var(--f-ui); letter-spacing: 0; opacity: .7; }
.sec-h__more { font: 800 14px/1 var(--f-ui); display: inline-flex; align-items: center; gap: 6px; color: var(--pink); white-space: nowrap; }
.split { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); }

/* Cards -------------------------------------------------------------------- */
.grid { display: grid; gap: 28px; }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { display: flex; flex-direction: column; background: var(--card); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .2s ease; }
.card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(0,0,0,.06), 0 16px 40px rgba(0,0,0,.14); }
.card__media { position: relative; aspect-ratio: 16/9; overflow: hidden; background: var(--paper-2); }
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.card__body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.card__title { font-size: 25px; line-height: 1.02; }
.card__title a:hover { color: var(--pink-d); }
.card__dek { font: 400 15.5px/1.45 var(--f-body); color: var(--muted); margin: 10px 0 0; }
.card .meta { margin-top: auto; padding-top: 12px; }
.card--noimg .card__body { border-top: 5px solid var(--pink); }

/* Live Wire ---------------------------------------------------------------- */
.wire { display: flex; flex-direction: column; }
.wire__item { display: grid; grid-template-columns: 78px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line-dark); }
.wire__time { font: 800 13px/1.2 var(--f-ui); color: var(--pink); text-transform: uppercase; letter-spacing: .04em; }
.wire__time small { display: block; color: var(--on-dark-muted); font-weight: 600; margin-top: 4px; letter-spacing: 0; text-transform: none; }
.wire__title { font: 800 20px/1.18 var(--f-display); font-stretch: 88%; margin: 0; }
.wire__title a:hover { color: var(--cyan); }
.wire__sum, .pulse__text, .wire__title, .rec__what { overflow-wrap: anywhere; }
.wire__sum { font: 400 15.5px/1.5 var(--f-body); color: #cfccc6; margin: 6px 0 0; }
.wire__tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; font: 700 11.5px/1 var(--f-ui); }
.wire__tags span { padding: 5px 8px; border-radius: 4px; background: var(--ink-3); color: var(--on-dark-muted); }
.wire__tags .t-county { color: var(--cyan); }
.wire__tags .t-src { background: transparent; border: 1px solid var(--line-dark); }
.tag-gn { display: inline-block; padding: 2px 6px; border-radius: 4px; background: var(--pink); color: #fff; font: 900 11px/1.2 var(--f-ui); letter-spacing: .06em; vertical-align: 2px; }
.wire__foot { margin-top: 20px; color: var(--on-dark-muted); }
.wire__foot a { color: var(--cyan); font-weight: 700; }
.wire-empty, .empty { padding: 26px; border: 1px dashed var(--line-dark); border-radius: var(--radius); color: var(--on-dark-muted); text-align: center; }
.section:not(.section--dark) .empty { border-color: var(--line); color: var(--muted); }
.skeleton { height: 76px; border-radius: 8px; margin-bottom: 12px; background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.1), rgba(255,255,255,.04)); background-size: 200% 100%; animation: shimmer 1.4s infinite; }
.section:not(.section--dark):not(.section--ink) .skeleton { background: linear-gradient(90deg, rgba(0,0,0,.04), rgba(0,0,0,.08), rgba(0,0,0,.04)); background-size: 200% 100%; }
@keyframes shimmer { to { background-position: -200% 0; } }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.filters select, .filters input { background: var(--ink-3); color: var(--on-dark); border: 1px solid var(--line-dark); border-radius: 8px; padding: 10px 12px; min-width: 170px; }
.filters input { flex: 1; min-width: 200px; }
.section--dark .chip { border-color: var(--line-dark); color: var(--on-dark); }
.section--dark .chip.is-on { background: var(--cyan); color: var(--ink); border-color: var(--cyan); }

/* Social Pulse ------------------------------------------------------------- */
.pulse { display: flex; flex-direction: column; gap: 12px; }
.pulse__item { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 14px; border-radius: var(--radius); background: var(--ink-3); border: 1px solid var(--line-dark); }
.pulse__avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font: 900 16px/1 var(--f-ui); color: var(--ink); background: var(--cyan); overflow: hidden; }
.pulse__avatar img { width: 100%; height: 100%; object-fit: cover; }
.pulse__who { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font: 800 14px/1.2 var(--f-ui); }
.pulse__plat { font: 800 10px/1 var(--f-ui); text-transform: uppercase; letter-spacing: .08em; padding: 4px 6px; border-radius: 4px; background: rgba(255,255,255,.08); color: var(--on-dark-muted); }
.pulse__time { color: var(--on-dark-muted); font-weight: 600; font-size: 12.5px; }
.pulse__text { font: 400 15px/1.45 var(--f-body); color: #dedbd5; margin: 6px 0 0; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.pulse__text a { color: var(--cyan); }
.pulse__heat { display: inline-flex; gap: 6px; margin-top: 8px; font: 700 11.5px/1 var(--f-ui); color: var(--pink); }
.pulse[data-mode="compact"] .pulse__text { -webkit-line-clamp: 2; }
.leaders { list-style: none; margin: 0 0 28px; padding: 0; counter-reset: l; }
.leaders li { counter-increment: l; display: grid; grid-template-columns: 26px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line-dark); font: 700 15px/1.2 var(--f-ui); }
.leaders li::before { content: counter(l); color: var(--pink); font: 900 20px/1 var(--f-display); font-stretch: 70%; }
.leaders small { color: var(--on-dark-muted); font-weight: 600; }
.rail-h--light { color: var(--on-dark); }
.chips--static span { display: inline-block; padding: 6px 10px; margin: 0 6px 6px 0; border-radius: 999px; background: var(--ink-3); font: 700 13px/1 var(--f-ui); color: var(--cyan); }
.disclaimer { margin-top: 28px; font-size: 13px; color: var(--on-dark-muted); max-width: 80ch; }

/* Case files --------------------------------------------------------------- */
.cases { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 1fr); gap: 18px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.cases--grid { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
.case { position: relative; min-height: 260px; border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; background: var(--ink-3); color: #fff; scroll-snap-align: start; }
.case img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; transition: opacity .3s, transform .5s; }
.case::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,.9)); }
.case:hover img { opacity: .7; transform: scale(1.04); }
.case > span { position: relative; z-index: 1; }
.case__status { align-self: flex-start; margin-bottom: auto; padding: 6px 10px; border-radius: 4px; background: var(--pink); font: 900 11px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; }
.case__title { font: 850 28px/1 var(--f-display); font-stretch: 72%; }
.case__dek { font-size: 14px; color: #d6d2cb; margin-top: 8px; }
.case-hero { position: relative; background: var(--ink); color: #fff; padding: 80px 0 56px; overflow: hidden; }
.case-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .35; }
.case-hero__inner { position: relative; }
.case-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; padding-top: 48px; padding-bottom: 64px; }
.timeline { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 3px solid var(--pink); }
.timeline li { position: relative; padding: 0 0 18px 10px; }
.timeline li::before { content: ""; position: absolute; left: -27px; top: 4px; width: 13px; height: 13px; border-radius: 50%; background: var(--paper); border: 3px solid var(--pink); }
.timeline time { display: block; font: 800 12px/1 var(--f-ui); color: var(--muted); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.timeline a { font: 800 17px/1.2 var(--f-display); font-stretch: 88%; }

/* Shorts reel -------------------------------------------------------------- */
.reel { display: grid; grid-auto-flow: column; grid-auto-columns: 190px; gap: 14px; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; }
.reel__item { position: relative; aspect-ratio: 9/16; border-radius: 14px; overflow: hidden; background: var(--ink-3); color: #fff; scroll-snap-align: start; }
.reel__item img { width: 100%; height: 100%; object-fit: cover; }
.reel__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.88)); }
.reel__play { position: absolute; top: 12px; right: 12px; z-index: 1; width: 34px; height: 34px; border-radius: 50%; background: var(--pink); display: grid; place-items: center; }
.reel__play .ico { width: 14px; height: 14px; }
.reel__title { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 1; font: 800 15px/1.15 var(--f-ui); }

/* Vault -------------------------------------------------------------------- */
.vault-teaser { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.vault-teaser p { color: #d2cfc8; font: 400 18px/1.5 var(--f-body); }
.vault-teaser__stack { display: grid; gap: 12px; }
.vault-chip { position: relative; display: flex; align-items: flex-end; min-height: 110px; padding: 16px; border-radius: var(--radius); overflow: hidden; background: var(--ink-3); border: 1px solid rgba(24,210,239,.35); font: 800 17px/1.2 var(--f-ui); }
.vault-chip img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(3px) brightness(.45); transform: scale(1.1); }
.vault-chip span { position: relative; display: flex; gap: 8px; align-items: center; }
.vault-chip .ico { color: var(--cyan); }
.vault-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.vcard__media { position: relative; display: block; aspect-ratio: 16/9; border-radius: var(--radius); overflow: hidden; background: var(--ink-3); }
.vcard__media img { width: 100%; height: 100%; object-fit: cover; }
.vcard__lock, .vcard__play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(11,11,13,.45); color: var(--cyan); }
.vcard__lock .ico, .vcard__play .ico { width: 34px; height: 34px; }
.vcard__play { color: #fff; background: rgba(0,0,0,.2); }
.vcard__title { font: 800 18px/1.15 var(--f-ui); margin: 10px 0 0; }

/* Records clock ------------------------------------------------------------ */
.records { display: grid; gap: 10px; }
.rec { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 18px; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); border-left: 6px solid var(--cyan); }
.rec--late { border-left-color: var(--pink); }
.rec__days { font: 900 42px/1 var(--f-display); font-stretch: 68%; color: var(--pink-d); text-align: center; }
.rec__days small { display: block; font: 800 10.5px/1.2 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.rec__agency { font: 850 21px/1.1 var(--f-display); font-stretch: 80%; margin: 0; }
.rec__what { font: 400 15px/1.4 var(--f-body); color: var(--muted); margin: 4px 0 0; }
.rec__status { font: 800 12px/1 var(--f-ui); padding: 7px 10px; border-radius: 999px; background: var(--paper-2); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.rec__status--fulfilled { background: #d7f5e4; color: #0d6b3a; }
.rec__status--denied { background: #ffe0ec; color: var(--pink-d); }

/* Donate ------------------------------------------------------------------- */
.donate-band { background: var(--paper-2); padding: clamp(44px, 6vw, 80px) 0; }
.donate-band__head { max-width: 760px; margin-bottom: 28px; }
.donate-band__head p { font: 400 17px/1.5 var(--f-body); color: var(--muted); }
.goal { margin-top: 18px; max-width: 520px; }
.goal--wide { max-width: none; margin-top: 32px; }
.goal__bar { height: 12px; border-radius: 999px; background: rgba(0,0,0,.1); overflow: hidden; }
.goal__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--pink), var(--cyan)); border-radius: 999px; }
.goal p { font: 800 13px/1 var(--f-ui); margin: 10px 0 0; color: var(--text); }
.cadence { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--ink); margin-bottom: 22px; }
.cadence__opt { border: 0; background: transparent; color: #fff; padding: 9px 18px; border-radius: 999px; font: 800 14px/1 var(--f-ui); }
.cadence__opt em { font-style: normal; color: var(--cyan); font-size: 12px; margin-left: 4px; }
.cadence__opt.is-on { background: var(--pink); }
.cadence__opt.is-on em { color: #fff; }
.tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; align-items: stretch; }
.tier { position: relative; display: flex; flex-direction: column; background: var(--card); border-radius: 16px; padding: 28px 24px; box-shadow: var(--shadow); border: 2px solid transparent; }
.tier--hot { border-color: var(--pink); transform: translateY(-8px); box-shadow: 0 20px 50px rgba(255,46,136,.18); }
.tier__flag { position: absolute; top: -13px; left: 24px; background: var(--pink); color: #fff; padding: 6px 12px; border-radius: 999px; font: 900 11px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; }
.tier__name { font: 850 30px/1 var(--f-display); font-stretch: 75%; margin: 0; }
.tier__price { font: 900 46px/1 var(--f-display); font-stretch: 70%; margin: 14px 0 6px; }
.tier__price small { font: 700 15px/1 var(--f-ui); color: var(--muted); margin-left: 4px; }
.tier__desc { color: var(--muted); font-size: 15px; margin: 6px 0 0; }
.tier__list { list-style: none; padding: 0; margin: 16px 0 24px; flex: 1; }
.tier__list li { position: relative; padding: 7px 0 7px 26px; font-size: 15px; border-bottom: 1px dashed var(--line); }
.tier__list li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 12px; height: 7px; border-left: 3px solid var(--pink); border-bottom: 3px solid var(--pink); transform: rotate(-45deg); }
.tiers__alt { margin-top: 22px; font-weight: 600; color: var(--muted); }
.tiers__alt a { color: var(--pink-d); font-weight: 800; }
.uses__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 18px; }
.uses__grid strong { font: 850 22px/1.05 var(--f-display); font-stretch: 80%; color: var(--cyan); }
.uses__grid p { color: #cfccc6; font: 400 15.5px/1.5 var(--f-body); }
.faq { border-bottom: 1px solid var(--line); padding: 16px 0; }
.faq summary { font: 800 18px/1.3 var(--f-ui); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq summary::after { content: "+"; color: var(--pink); font-size: 24px; line-height: 1; }
.faq[open] summary::after { content: "\2212"; }
.faq p { font: 400 17px/1.55 var(--f-body); color: var(--muted); }
.faq a { color: var(--pink-d); font-weight: 700; }
.np-line { display: flex; gap: 8px; align-items: center; font: 700 14px/1.4 var(--f-ui); color: var(--cyan); margin-top: 16px; }
.pricelist { list-style: none; margin: 0 0 12px; padding: 0; }
.pricelist li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.pricelist strong { font: 900 20px/1 var(--f-display); font-stretch: 75%; color: var(--pink-d); }

/* Page heroes -------------------------------------------------------------- */
.page-hero { background: var(--ink); color: #fff; padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 5vw, 64px); position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; right: -120px; top: -120px; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle, rgba(255,46,136,.35), transparent 65%); }
.page-hero--vault::before, .page-hero--pulse::before { background: radial-gradient(circle, rgba(24,210,239,.35), transparent 65%); }
.page-hero__inner { position: relative; }
.page-hero .display-1 { max-width: 980px; }
.page-hero__dek { font: 400 clamp(18px, 2vw, 21px)/1.5 var(--f-body); color: #d9d6cf; max-width: 64ch; margin: 18px 0 0; }
.page-h { margin-bottom: 28px; }
.assure { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 0; margin: 24px 0 0; font: 700 14px/1 var(--f-ui); color: var(--cyan); }
.assure li { display: flex; align-items: center; gap: 8px; }
.tag-hero { background: var(--ink); color: #fff; padding: 72px 0 48px; position: relative; overflow: hidden; }
.tag-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .3; }
.tag-hero__inner { position: relative; }
.tag-hero__dek { font: 400 19px/1.5 var(--f-body); color: #d9d6cf; max-width: 64ch; margin: 14px 0 0; }
.author-hero { display: flex; gap: 28px; align-items: center; }
.author-hero__img { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; border: 4px solid var(--pink); }

/* Tip desk ----------------------------------------------------------------- */
.tip-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); padding-top: 40px; padding-bottom: 72px; }
.tipdesk { background: var(--card); border-radius: 18px; box-shadow: var(--shadow); padding: clamp(18px, 3vw, 34px); margin-top: -80px; position: relative; z-index: 2; }
.tipdesk__tabs { display: flex; gap: 6px; padding: 5px; background: var(--paper-2); border-radius: 999px; margin-bottom: 24px; width: fit-content; }
.tipdesk__tab { border: 0; background: transparent; padding: 10px 18px; border-radius: 999px; font: 800 14px/1 var(--f-ui); }
.tipdesk__tab.is-on { background: var(--ink); color: #fff; }
.step { border: 0; padding: 0; margin: 0 0 28px; }
.step legend { font: 850 24px/1.1 var(--f-display); font-stretch: 80%; display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 0; }
.step legend small { font: 600 14px/1 var(--f-ui); color: var(--muted); }
.step__n { width: 30px; height: 30px; border-radius: 50%; background: var(--pink); color: #fff; display: grid; place-items: center; font: 900 15px/1 var(--f-ui); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips label { cursor: pointer; }
.chips input { position: absolute; opacity: 0; pointer-events: none; }
.chips span { display: inline-block; padding: 10px 14px; border-radius: 999px; border: 1.5px solid var(--line); font: 700 14px/1 var(--f-ui); transition: all .15s; }
.chips label:hover span { border-color: var(--pink); }
.chips input:checked + span { background: var(--ink); color: #fff; border-color: var(--ink); }
.chips input:focus-visible + span { outline: 3px solid var(--cyan); outline-offset: 2px; }
.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; flex: 1; min-width: 0; }
.field > span { font: 800 13px/1.2 var(--f-ui); }
.field input, .field select, .field textarea, .chat__form textarea, .signup__input {
  width: 100%; padding: 12px 14px; border-radius: 10px; border: 1.5px solid var(--line); background: var(--paper);
  font: 400 16px/1.4 var(--f-ui); color: var(--text); transition: border-color .15s, box-shadow .15s;
}
.field input:focus, .field select:focus, .field textarea:focus, .chat__form textarea:focus { outline: 0; border-color: var(--pink); box-shadow: 0 0 0 4px rgba(255,46,136,.15); }
.field-row { display: flex; gap: 14px; flex-wrap: wrap; }
.field-row .field { min-width: 220px; }
.drop { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 30px 18px; border: 2px dashed var(--line); border-radius: 14px; background: var(--paper); cursor: pointer; transition: border-color .15s, background .15s; font-size: 15px; color: var(--muted); }
.drop .ico { width: 30px; height: 30px; color: var(--pink); }
.drop.is-over { border-color: var(--pink); background: rgba(255,46,136,.06); }
.drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.filelist { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 6px; }
.filelist li { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 9px 12px; background: var(--paper-2); border-radius: 8px; font: 600 14px/1.2 var(--f-ui); }
.filelist button { border: 0; background: none; color: var(--pink-d); font-weight: 800; }
.filelist progress { width: 90px; accent-color: var(--pink); }
.hint { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; color: var(--muted); margin: 10px 0 0; line-height: 1.45; }
.hint .ico { color: var(--cyan-d); width: 16px; height: 16px; margin-top: 1px; }
.check { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0 0; font-size: 14.5px; line-height: 1.45; }
.check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--pink); flex: none; }
.tipform__err { color: var(--pink-d); font-weight: 700; }
.tip-aside { padding-top: 8px; }
.howto { margin: 0 0 24px; padding-left: 22px; }
.howto li { margin-bottom: 12px; font: 400 16px/1.5 var(--f-body); }
.howto li::marker { color: var(--pink); font-weight: 900; font-family: var(--f-ui); }
.aside-box { padding: 18px 20px; border-radius: 12px; background: var(--ink); color: #eae7e1; margin-bottom: 20px; }
.aside-box h3 { margin: 0 0 6px; font: 850 20px/1.1 var(--f-display); font-stretch: 80%; color: var(--cyan); }
.aside-box p { margin: 0; font-size: 15px; line-height: 1.5; }

.case-room { margin-top: 8px; scroll-margin-top: calc(var(--head-h, 74px) + 24px); }
.receipt { padding: 18px; border-radius: 12px; background: #fff4f9; border: 2px solid var(--pink); margin-bottom: 18px; color: #141417; }
.receipt code { font: 800 17px/1 ui-monospace, Menlo, monospace; background: #fff; border: 1px solid var(--line); padding: 5px 8px; border-radius: 6px; user-select: all; }
.case-room__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.case-room__head .kicker { margin: 0; }
.case-room__status { margin: 4px 0 0; font: 800 15px/1 var(--f-ui); }
.chat { display: flex; flex-direction: column; gap: 12px; padding: 18px 0; max-height: 560px; overflow-y: auto; }
.msg { max-width: 86%; padding: 12px 15px; border-radius: 16px; font: 400 15.5px/1.5 var(--f-ui); white-space: pre-wrap; word-wrap: break-word; }
.msg--desk { align-self: flex-start; background: var(--paper-2); border-bottom-left-radius: 4px; }
.msg--staff { align-self: flex-start; background: var(--ink); color: #fff; border-bottom-left-radius: 4px; }
.msg--tipster { align-self: flex-end; background: var(--pink); color: #fff; border-bottom-right-radius: 4px; }
.msg__who { display: block; font: 800 11px/1 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; opacity: .7; margin-bottom: 6px; }
.msg--typing { display: inline-flex; gap: 4px; }
.msg--typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); animation: blink 1.2s infinite; }
.msg--typing i:nth-child(2) { animation-delay: .2s; } .msg--typing i:nth-child(3) { animation-delay: .4s; }
@keyframes blink { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
.chat__form { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: end; border-top: 1px solid var(--line); padding-top: 12px; }
.chat__attach { display: inline-flex; align-items: center; gap: 6px; height: 46px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--line); cursor: pointer; color: var(--pink-d); font: 800 13px/1 var(--f-ui); white-space: nowrap; }
.chat__attach.has-files { background: var(--pink); color: #fff; border-color: var(--pink); }

/* Records request builder --------------------------------------------------- */
.ora { background: var(--card); border-radius: 18px; box-shadow: var(--shadow); padding: clamp(18px, 3vw, 34px); }
.ora__out textarea { width: 100%; font: 400 14px/1.55 ui-monospace, Menlo, monospace; padding: 14px; border-radius: 10px; border: 1.5px solid var(--line); background: var(--paper); color: var(--text); margin-top: 18px; }

/* Article ------------------------------------------------------------------ */
.article { padding: clamp(32px, 5vw, 64px) 0 20px; }
.article__title { font-size: clamp(38px, 5.4vw, 68px); }
.article__dek { font: 400 clamp(19px, 2vw, 23px)/1.45 var(--f-body); color: var(--muted); margin: 18px 0 0; }
.byline { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 26px 0 28px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.byline__img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.byline__name { margin: 0; font: 800 15px/1.2 var(--f-ui); }
.byline__name a { color: var(--pink-d); }
.byline .meta { margin-top: 3px; }
.byline .share { margin-left: auto; }
.share { display: flex; align-items: center; gap: 6px; }
.share__label { font: 800 13px/1 var(--f-ui); margin-right: 6px; }
.share__btn { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--paper-2); border: 0; font: 900 13px/1 var(--f-ui); transition: background .15s, color .15s; }
.share__btn:hover { background: var(--pink); color: #fff; }
.share__btn.is-done { background: var(--cyan); color: var(--ink); }
.article__image { margin: 0 auto 36px; }
.article__image img { width: 100%; border-radius: var(--radius); }
.article__image figcaption, .gh-content figcaption { font: 500 13.5px/1.4 var(--f-ui); color: var(--muted); margin-top: 10px; text-align: center; }

.gh-content { font: 400 20px/1.7 var(--f-body); }
.gh-content > * + * { margin-top: 1.1em; margin-bottom: 0; }
.gh-content > :first-child { margin-top: 0; }
.gh-content h2, .gh-content h3, .gh-content h4 { font-family: var(--f-display); font-stretch: 80%; font-weight: 850; line-height: 1.08; margin-top: 1.8em; }
.gh-content h2 { font-size: 34px; } .gh-content h3 { font-size: 27px; } .gh-content h4 { font-size: 22px; }
.gh-content a { color: var(--pink-d); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.gh-content blockquote:not(.kg-blockquote-alt) { border-left: 5px solid var(--pink); margin-left: 0; padding: 4px 0 4px 22px; font-style: italic; }
.gh-content .kg-blockquote-alt { font: 800 italic 28px/1.25 var(--f-display); font-stretch: 85%; text-align: center; color: var(--pink-d); }
.gh-content ul, .gh-content ol { padding-left: 1.3em; }
.gh-content li + li { margin-top: .45em; }
.gh-content li::marker { color: var(--pink); }
.gh-content table { width: 100%; border-collapse: collapse; font: 400 15.5px/1.45 var(--f-ui); display: block; overflow-x: auto; }
.gh-content th { background: var(--ink); color: #fff; text-align: left; padding: 10px 12px; }
.gh-content td { padding: 10px 12px; border-bottom: 1px solid var(--line); }
.gh-content hr { border: 0; height: 3px; width: 80px; background: var(--pink); margin: 2.2em auto; }
.gh-content img { border-radius: 8px; }
.gh-content pre { overflow-x: auto; background: var(--ink); color: #eee; padding: 16px; border-radius: 10px; font-size: 14px; }
.gh-content .kg-width-wide { position: relative; width: min(1120px, 94vw); left: 50%; transform: translateX(-50%); }
.gh-content .kg-width-full { position: relative; width: 100vw; left: 50%; transform: translateX(-50%); }
.gh-content .kg-width-full img { border-radius: 0; }
.gh-content .kg-callout-card { font-family: var(--f-ui); font-size: 17px; }
.gh-content .gh-post-upgrade-cta, .gh-content .gh-post-upgrade-cta-content { border-radius: 16px; }
.gh-post-upgrade-cta-content { background: var(--ink) !important; padding: 40px 28px !important; }
.gh-post-upgrade-cta h2 { color: #fff !important; font-family: var(--f-display) !important; font-stretch: 75%; font-size: 34px !important; }
.gh-post-upgrade-cta a.gh-btn { background: var(--pink) !important; border-radius: 999px !important; }
.inline-tip { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; margin: 2em 0; border-radius: 12px; background: var(--ink); color: #eeebe5; font: 400 16px/1.5 var(--f-ui); }
.inline-tip p { margin: 0; }
.inline-tip a { color: var(--cyan); }
.inline-tip__ico { width: 36px; height: 36px; flex: none; border-radius: 50%; background: var(--pink); display: grid; place-items: center; color: #fff; }
.article__foot { margin-top: 40px; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; }
.endcard { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; margin: 32px 0; padding: 26px; border-radius: 16px; background: var(--ink); color: #ebe8e2; }
.endcard p { margin: 0; font-size: 15.5px; line-height: 1.5; }
.endcard .btn-row { margin: 0; }
.endcard .btn--dark { background: #fff; color: var(--ink); }
.comments { margin-top: 32px; }

/* Newsletter & footer ------------------------------------------------------ */
.newsletter-band { background: linear-gradient(120deg, #120a1a, var(--ink) 40%, #04161b); color: #fff; padding: 56px 0; }
.newsletter-band__inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 36px; align-items: center; }
.signup { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.signup__input { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.signup__busy, .signup__ok, .signup__err { display: none; }
.signup.loading .signup__idle { display: none; } .signup.loading .signup__busy { display: inline; }
.signup.success .signup__ok { display: block; grid-column: 1/-1; color: var(--cyan); margin: 0; font-weight: 700; }
.signup.error .signup__err { display: block; grid-column: 1/-1; color: var(--pink); margin: 0; }
.footer { background: var(--ink); color: var(--on-dark-muted); padding: 56px 0 28px; border-top: 1px solid var(--line-dark); font-size: 15px; }
.footer__grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 32px; }
.footer__grid a { display: block; padding: 5px 0; color: #d9d6cf; }
.footer__grid a:hover { color: var(--cyan); }
.footer__h { font: 900 12px/1 var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: #fff; margin: 0 0 12px; }
.footer__np { font-size: 13px; color: var(--cyan); }
.brand--footer .brand__word { font-size: 32px; }
.footer__base { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line-dark); font-size: 13px; }
.footer__base ul { list-style: none; display: flex; gap: 16px; margin: 0; padding: 0; }

.sticky-cta { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: 14px; padding: 10px 10px 10px 20px; border-radius: 999px; background: var(--ink); color: #fff; box-shadow: 0 12px 40px rgba(0,0,0,.35); font: 700 14px/1.2 var(--f-ui); width: max-content; max-width: calc(100vw - 32px); animation: rise .4s ease; }
.sticky-cta__x { background: none; border: 0; color: #aaa; font-size: 22px; line-height: 1; padding: 0 8px; }
@keyframes rise { from { transform: translate(-50%, 30px); opacity: 0; } }

/* Pagination / error -------------------------------------------------------- */
.pagination { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 40px; font: 800 15px/1 var(--f-ui); }
.pagination a { color: var(--pink-d); }
.error { min-height: 80vh; display: flex; flex-direction: column; justify-content: center; }
.error-page { background: var(--ink); color: #fff; }

/* Responsive --------------------------------------------------------------- */
@media (max-width: 1100px) {
  .mainnav { display: none; }
  .burger { display: inline-flex; }
  .masthead.is-open .mainnav { display: block; position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - 74px); overflow-y: auto; background: var(--ink); padding: 12px var(--gutter) 20px; border-top: 1px solid var(--line-dark); box-shadow: 0 16px 40px rgba(0,0,0,.45); }
  .masthead.is-open .mainnav__list { flex-direction: column; overflow: visible; }
  .masthead.is-open .mainnav a { padding: 12px 10px; font-size: 16px; }
  .mainnav__more { display: none !important; }
  .masthead.is-open .mainnav__m { display: block; border-top: 1px solid var(--line-dark); margin-top: 6px; padding-top: 6px; }
  .masthead.is-open .mainnav__m + .mainnav__m { border-top: 0; margin-top: 0; padding-top: 0; }
  .footer__grid { grid-template-columns: repeat(2, 1fr); }
  .footer__about { grid-column: 1/-1; }
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .uses__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .hero__grid, .split, .vault-teaser, .newsletter-band__inner, .tip-layout, .case-layout { grid-template-columns: 1fr; }
  .lead { min-height: 440px; }
  .grid--3, .cases--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tiers { grid-template-columns: 1fr; max-width: 480px; }
  .tier--hot { transform: none; }
  .tipdesk { margin-top: -40px; }
  .endcard { grid-template-columns: 1fr; }
  .hide-sm { display: none; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .masthead__inner, .masthead.is-scrolled .masthead__inner { height: 62px; gap: 10px; }
  .brand__logo { width: 38px; height: 38px; }
  .brand__word { font-size: 19px; }
  .masthead__actions { gap: 4px; }
  .masthead__actions .btn--sm { padding: 8px 12px; }
  .brand { gap: 8px; min-width: 0; }
  .brand__logo { display: none; }
  .masthead .link-quiet { display: none; }
  .grid--3, .grid--4, .cases--grid, .uses__grid { grid-template-columns: 1fr; }
  .lead { min-height: 400px; }
  .lead__dek { font-size: 17px; }
  .wire__item { grid-template-columns: 1fr; gap: 6px; }
  .rec { grid-template-columns: 76px 1fr; }
  .rec__status { grid-column: 2; justify-self: start; }
  .rec__days { font-size: 34px; }
  .signup { grid-template-columns: 1fr; }
  .gh-content { font-size: 18.5px; }
  .byline .share { margin-left: 0; }
  .ticker__tip { display: none; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .chat__form { grid-template-columns: 1fr auto; }
  .chat__form .btn { grid-column: 1/-1; }
  .sticky-cta span { display: none; }
  .author-hero { flex-direction: column; align-items: flex-start; }
}

.site-main { overflow-x: clip; }
html, body { overflow-x: clip; }

/* ==========================================================================
   v1.1: Gear, Business Partners, Newsletters, Case Tracker, Petitions,
   Organize, Media Hub
   ========================================================================== */
.fineprint { font-size: 13.5px; line-height: 1.5; color: var(--muted); margin-top: 22px; max-width: 80ch; }
.fineprint--dark { color: var(--on-dark-muted); }
.fineprint a, .fineprint--dark a { color: var(--cyan); font-weight: 700; }
.link-cyan { color: var(--cyan); font-weight: 700; text-decoration: underline; }
.muted-dark { color: var(--muted); }
.plain-list { list-style: none; margin: 0; padding: 0; }
.plain-list li { padding: 9px 0; border-bottom: 1px solid var(--line); font: 700 15px/1.3 var(--f-ui); }
.plain-list a:hover { color: var(--pink-d); }
.split--even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.spill { display: inline-block; padding: 5px 9px; border-radius: 999px; font: 800 11px/1 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; background: var(--paper-2); color: var(--text); vertical-align: middle; }
.spill--in_court, .spill--circulating, .spill--needed { background: var(--pink); color: #fff; }
.spill--active, .spill--filed, .spill--counting, .spill--drafting, .spill--appeal { background: var(--cyan); color: var(--ink); }
.spill--won, .spill--passed, .spill--certified, .spill--received, .spill--on_ballot { background: #d7f5e4; color: #0d6b3a; }
.spill--funded { background: #fff1c9; color: #6b4d00; }

/* Gear */
.gear-stats { list-style: none; display: flex; gap: 28px; flex-wrap: wrap; padding: 0; margin: 26px 0 0; }
.gear-stats li { display: flex; flex-direction: column; }
.gear-stats strong { font: 900 34px/1 var(--f-display); font-stretch: 70%; color: var(--cyan); }
.gear-stats span { font: 700 12px/1.3 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: #d8d4cc; }
.gear-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .gear-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .gear-grid { grid-template-columns: 1fr; } }
.gear { display: flex; flex-direction: column; background: var(--card); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.gear--received { opacity: .72; }
.gear__img { aspect-ratio: 4/3; background: var(--paper-2); display: grid; place-items: center; overflow: hidden; }
.gear__img img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.gear__ph { font: 900 34px/1 var(--f-display); font-stretch: 70%; color: rgba(0,0,0,.18); text-transform: uppercase; }
.gear__body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.gear__top { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.gear__pri { font: 800 11.5px/1 var(--f-ui); color: var(--pink-d); text-transform: uppercase; letter-spacing: .06em; }
.gear__name { font: 850 22px/1.05 var(--f-display); font-stretch: 80%; margin: 10px 0 0; }
.gear__why { font: 400 15px/1.45 var(--f-body); color: var(--muted); margin: 8px 0 0; }
.gear__foot { margin-top: auto; padding-top: 14px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.gear__price { font: 900 26px/1 var(--f-display); font-stretch: 72%; }
.gear__thanks { font: 800 13px/1 var(--f-ui); color: #0d6b3a; }
.howto-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 36px; }
.howto-row strong, .why-grid strong { font: 850 22px/1.1 var(--f-display); font-stretch: 80%; }
.howto-row p, .why-grid p { font: 400 15.5px/1.5 var(--f-body); color: var(--muted); margin: 6px 0 0; }

/* Business partners */
.why-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.why-grid strong { color: var(--pink-d); }
.levels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
@media (max-width: 900px) { .levels { grid-template-columns: 1fr; } }
.level { position: relative; display: flex; flex-direction: column; background: var(--card); border-radius: 16px; padding: 26px 22px; box-shadow: var(--shadow); border: 2px solid transparent; }
.level--hot { border-color: var(--pink); box-shadow: 0 20px 50px rgba(255,46,136,.16); }
.level .tier__name { font-size: 25px; }
.level__price { font-size: clamp(24px, 2.3vw, 32px); }
.level__price { font: 900 34px/1 var(--f-display); font-stretch: 70%; margin: 12px 0 4px; }
.level .tier__list { margin-bottom: 20px; }
.partner-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.plogo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 18px; min-height: 96px; border-radius: 12px; background: var(--card); box-shadow: var(--shadow); text-align: center; }
.plogo img { max-height: 54px; max-width: 160px; object-fit: contain; }
.plogo__name { font: 850 20px/1.1 var(--f-display); font-stretch: 80%; }
.plogo__meta { font: 800 11px/1.2 var(--f-ui); color: var(--pink-d); text-transform: uppercase; letter-spacing: .08em; }
.plogo__blurb { font-size: 13.5px; color: var(--muted); line-height: 1.4; }
.partner-strip { background: var(--paper-2); border-top: 1px solid var(--line); }
.partner-strip__inner { display: flex; align-items: center; gap: 18px 28px; flex-wrap: wrap; padding-block: 18px; }
.partner-strip__label { font: 900 11.5px/1.2 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.partner-strip__logos { display: flex; gap: 12px; flex-wrap: wrap; flex: 1; min-width: 0; }
.partner-strip .plogo { min-height: 0; padding: 8px 14px; box-shadow: none; background: var(--card); }
.partner-strip .plogo img { max-height: 32px; }
.partner-strip .plogo__name { font-size: 16px; }
.partner-strip__cta { font: 800 13px/1 var(--f-ui); color: var(--pink-d); white-space: nowrap; }
.tip-layout--plain { padding-top: 0; padding-bottom: 0; }
.tipdesk--flat { margin-top: 0; }
.aside-box--light { background: var(--ink-3); }
.inq__ok { color: #0d6b3a; font-weight: 800; }
.section--ink .inq__ok, .section--dark .inq__ok { color: var(--cyan); }
.alt-give { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.alt-give__card { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 12px; background: var(--card); box-shadow: var(--shadow); border-left: 4px solid var(--cyan); transition: transform .15s; }
.alt-give__card:hover { transform: translateY(-2px); }
.alt-give__card strong { font: 850 19px/1.1 var(--f-display); font-stretch: 82%; }
.alt-give__card span { font-size: 14px; color: var(--muted); line-height: 1.4; }

/* Newsletters */
.nl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.nl-card { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 22px 56px; border-radius: 14px; background: var(--card); box-shadow: var(--shadow); cursor: pointer; border: 2px solid transparent; }
.nl-card:has(input:checked) { border-color: var(--pink); }
.nl-card input { position: absolute; left: 20px; top: 24px; width: 20px; height: 20px; accent-color: var(--pink); }
.nl-card strong { font: 850 26px/1 var(--f-display); font-stretch: 76%; }
.nl-card span { font-size: 15px; line-height: 1.45; color: var(--muted); }
.nl-card .nl-card__when { font: 800 11.5px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--pink-d); }
.signup--light { max-width: 560px; margin-top: 22px; }
.signup--light .signup__input { background: var(--card); border-color: var(--line); color: var(--text); }
.signup--light.success .signup__ok { color: #0d6b3a; }
.nl-form.success .signup__ok { display: block; color: #0d6b3a; font-weight: 800; }
.nl-form.loading .signup__idle { display: none; } .nl-form.loading .signup__busy { display: inline; }
.nl-archive { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }

/* Case tracker */
.case-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.case-list--compact { grid-template-columns: 1fr; }
.ccase { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border-radius: 12px; background: var(--card); box-shadow: var(--shadow); border-top: 4px solid var(--ink); transition: transform .15s; }
.ccase:hover { transform: translateY(-2px); }
.ccase__top { display: flex; gap: 8px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.ccase__no { font: 700 13px/1 ui-monospace, Menlo, monospace; color: var(--muted); }
.ccase__title { font: 850 23px/1.05 var(--f-display); font-stretch: 78%; margin: 6px 0 0; }
.ccase__court { margin: 0; font-size: 14px; color: var(--muted); }
.ccase__next { margin: 6px 0 0; font-size: 14.5px; }
.ccase__next strong { color: var(--pink-d); }
.ccase__docs { margin: 0; font: 700 12.5px/1 var(--f-ui); color: var(--muted); }
.back { margin-bottom: 16px; color: var(--pink-d); }
[data-case-detail] { scroll-margin-top: calc(var(--head-h, 74px) + 24px); }
.cdet__grid .doc-list + .rail-h { margin-top: 26px; }
.cdet__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: start; }
.cdet__head .display-2 { margin: 12px 0 14px; }
.cdet__facts { display: grid; grid-template-columns: 120px 1fr; gap: 6px 14px; margin: 0; font-size: 15px; }
.cdet__facts dt { font-weight: 800; color: var(--muted); }
.cdet__facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.countdown { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: 20px 26px; border-radius: 16px; background: var(--ink); color: #fff; min-width: 190px; }
.countdown__n { font: 900 64px/1 var(--f-display); font-stretch: 66%; color: var(--pink); }
.countdown__l { font: 800 11px/1.2 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--on-dark-muted); }
.countdown strong { font: 800 15px/1.2 var(--f-ui); margin-top: 6px; }
.countdown span:last-child { font-size: 13px; color: var(--on-dark-muted); }
.cdet__sum { font: 400 19px/1.6 var(--f-body); max-width: 70ch; margin: 24px 0; }
.cdet__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; margin-top: 12px; }
.timeline strong { display: block; font: 800 16px/1.25 var(--f-ui); }
.timeline p { margin: 4px 0 0; font-size: 14.5px; color: var(--muted); }
.doc-list { display: grid; gap: 10px; }
.doc { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px; border-radius: 10px; background: var(--card); box-shadow: var(--shadow); transition: transform .15s; }
.doc:hover { transform: translateX(3px); }
.doc__ico { width: 48px; height: 58px; border-radius: 6px; background: var(--ink); color: var(--pink); display: grid; place-items: center; font: 900 12px/1 var(--f-ui); letter-spacing: .06em; }
.doc__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.doc__title { font: 800 16px/1.25 var(--f-ui); overflow-wrap: anywhere; }
.doc__meta { font: 700 12.5px/1.3 var(--f-ui); color: var(--muted); }
.doc__sum { font-size: 14px; color: var(--muted); line-height: 1.4; }
.filters--light select, .filters--light input { background: var(--card); color: var(--text); border-color: var(--line); }
.docket { margin-top: 36px; padding: 20px; border-radius: 14px; background: var(--paper-2); }

/* Petitions */
.petitions { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; }
.petitions--compact { grid-template-columns: 1fr; }
.pet { padding: 22px; border-radius: 14px; background: var(--card); box-shadow: var(--shadow); border-top: 5px solid var(--pink); scroll-margin-top: calc(var(--head-h, 74px) + 24px); }
.pet__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pet__kind { font: 900 11.5px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--pink-d); }
.pet__title { font: 850 26px/1.05 var(--f-display); font-stretch: 76%; margin: 10px 0 4px; }
.pet__where { margin: 0; color: var(--muted); font-size: 14.5px; }
.pet__bar { height: 14px; border-radius: 999px; background: var(--paper-2); overflow: hidden; margin-top: 16px; }
.pet__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--pink), var(--cyan)); border-radius: 999px; }
.pet__count { font-size: 14.5px; margin: 8px 0 0; }
.pet__count strong { color: var(--pink-d); }
.pet__sum { font: 400 16.5px/1.55 var(--f-body); margin: 16px 0 0; }
.pet__report { margin-top: 16px; }
.pet__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; padding: 4px 0 8px; }
.pet__form label { display: grid; gap: 4px; font: 700 13px/1.2 var(--f-ui); min-width: 0; }
.pet__form input { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid var(--line, #d6d1c7); border-radius: 8px; font: 400 15px/1.2 var(--f-ui); background: #fff; }
.pet__form button { align-self: end; justify-self: start; }
.pet__msg { grid-column: 1 / -1; margin: 0; font-size: 14px; color: var(--pink-d); }
@media (max-width: 600px) { .pet__form { grid-template-columns: 1fr; } }
.pet__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 12px; }
.pet h4 { margin: 14px 0 6px; font: 900 11.5px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.pet__cols p { margin: 0; font-size: 14.5px; line-height: 1.45; white-space: pre-line; }

/* Organize */
.band--organize { color: #fff; padding: 44px 0; background: radial-gradient(800px 300px at 15% 0%, rgba(255,46,136,.35), transparent 60%), radial-gradient(700px 300px at 90% 100%, rgba(24,210,239,.25), transparent 60%), var(--ink); }
.band--organize .display-2 { margin: 0; }
.band__dek { color: #d2cfc8; font: 400 17px/1.5 var(--f-body); margin: 10px 0 0; max-width: 60ch; }
.playbook { list-style: none; margin: 0; padding: 0; counter-reset: pb; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 32px; }
.playbook li { counter-increment: pb; position: relative; padding: 18px 20px 18px 74px; border-radius: 12px; background: var(--card); box-shadow: var(--shadow); }
.playbook li::before { content: counter(pb); position: absolute; left: 20px; top: 14px; font: 900 44px/1 var(--f-display); font-stretch: 66%; color: var(--pink); }
.playbook strong { font: 850 22px/1.1 var(--f-display); font-stretch: 80%; }
.playbook p { margin: 6px 0 0; font: 400 15.5px/1.55 var(--f-body); color: var(--muted); }
.playbook a { color: var(--pink-d); font-weight: 700; text-decoration: underline; }
.resource-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.resource { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 12px; background: var(--ink); color: #eeebe5; transition: transform .15s; }
.resource:hover { transform: translateY(-3px); }
.resource__type { font: 900 11px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.resource strong { font: 850 22px/1.1 var(--f-display); font-stretch: 80%; color: #fff; }
.resource span { font-size: 14px; line-height: 1.45; color: #cfccc6; }
.resource .resource__dl { margin-top: auto; padding-top: 10px; color: var(--pink); font-weight: 800; }

/* Media hub */
.hub-tabs { display: flex; gap: 8px; margin-bottom: 22px; }
.stream { display: flex; flex-direction: column; gap: 10px; }
.sitem { padding: 14px 16px; border-radius: 10px; background: var(--ink-3); border: 1px solid var(--line-dark); border-left: 4px solid var(--cyan); }
.sitem--social { border-left-color: var(--pink); }
.sitem__src { display: block; font: 800 12px/1.2 var(--f-ui); color: var(--on-dark-muted); text-transform: uppercase; letter-spacing: .06em; }
.sitem__title { display: block; font: 800 19px/1.2 var(--f-display); font-stretch: 88%; margin-top: 6px; }
.sitem__title:hover { color: var(--cyan); }
.sitem p { margin: 6px 0 0; font: 400 15px/1.45 var(--f-body); color: #d6d3cd; overflow-wrap: anywhere; }
.sitem__link { display: inline-block; margin-top: 6px; color: var(--cyan); font-weight: 700; font-size: 14px; }
.sitem__time { display: block; margin-top: 8px; font-size: 12px; color: var(--on-dark-muted); }
.media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.msrc { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 12px; background: var(--ink-3); border: 1px solid var(--line-dark); }
.msrc--feat { border-color: var(--pink); }
.msrc__top { display: flex; justify-content: space-between; gap: 8px; font: 800 11px/1.2 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; }
.msrc__kind { color: var(--cyan); }
.msrc__region { color: var(--on-dark-muted); }
.msrc__name { font: 850 22px/1.1 var(--f-display); font-stretch: 80%; margin: 2px 0 0; }
.msrc__name a:hover { color: var(--cyan); }
.msrc__desc { margin: 0; font-size: 14px; line-height: 1.45; color: #cfccc6; }
.msrc__soc { display: flex; gap: 6px; flex-wrap: wrap; margin-top: auto; padding-top: 6px; }
.msoc { padding: 5px 9px; border-radius: 999px; background: rgba(255,255,255,.08); font: 700 12px/1 var(--f-ui); color: var(--on-dark); }
.msoc:hover { background: var(--pink); color: #fff; }
.msoc--web { background: transparent; border: 1px solid var(--line-dark); }
.filters [data-media-q] { background: var(--ink-3); color: var(--on-dark); border: 1px solid var(--line-dark); border-radius: 999px; padding: 8px 14px; min-width: 200px; flex: 1; }
.suggest { margin-top: 44px; padding: 24px; border-radius: 14px; background: var(--ink-3); }
.suggest .display-2 { font-size: clamp(26px, 3vw, 36px); }
.inq--row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 10px; }
.inq--row input { padding: 12px 14px; border-radius: 10px; border: 1px solid var(--line-dark); background: var(--ink-2); color: var(--on-dark); min-width: 0; }
.inq--row .inq__ok, .inq--row .tipform__err { grid-column: 1/-1; margin: 0; }

@media (max-width: 900px) {
  .split--even, .cdet__grid, .cdet__head, .playbook, .nl-grid, .nl-archive, .why-grid, .howto-row, .alt-give, .inq--row { grid-template-columns: 1fr; }
  .countdown { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px; min-width: 0; }
  .petitions { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pet__cols { grid-template-columns: 1fr; }
  .cdet__facts { grid-template-columns: 1fr; }
  .cdet__facts dt { margin-top: 6px; }
}

/* ==========================================================================
   v1.2: The Inner Circle
   ========================================================================== */
.livebar { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px var(--gutter); background: var(--pink); color: #fff; font: 800 14px/1.2 var(--f-ui); text-align: center; }
.livebar .pulse-dot { background: #fff; }
.ic-hero { position: relative; overflow: hidden; color: #fff; padding: clamp(56px, 8vw, 110px) 0 clamp(44px, 6vw, 72px);
  background: radial-gradient(900px 420px at 85% 10%, rgba(24,210,239,.28), transparent 60%), radial-gradient(700px 380px at 5% 100%, rgba(255,46,136,.32), transparent 60%), var(--ink); }
.ic-hero .display-1 { max-width: 15ch; font-size: clamp(42px, 7vw, 90px); }
.ic-next { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 26px; padding: 12px 18px; border-radius: 12px; background: rgba(255,255,255,.07); border: 1px solid var(--line-dark); font-size: 14.5px; color: #e9e6e0; }
.ic-next strong { font: 800 16px/1.2 var(--f-ui); color: #fff; }
.ic-next__tag { display: inline-flex; align-items: center; gap: 6px; font: 900 11px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.ic-next--home { margin: 4px 0 6px; }
.ic-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.ic-pillar { padding: 22px; border-radius: 14px; background: var(--card); box-shadow: var(--shadow); }
.ic-pillar__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ink); color: var(--cyan); margin-bottom: 12px; }
.ic-pillar strong { font: 850 22px/1.1 var(--f-display); font-stretch: 80%; }
.ic-pillar p { margin: 8px 0 0; font: 400 15.5px/1.5 var(--f-body); color: var(--muted); }
.matrix-wrap { overflow-x: auto; border-radius: 14px; box-shadow: var(--shadow); background: var(--card); }
.matrix { width: 100%; border-collapse: collapse; min-width: 560px; font: 600 15px/1.3 var(--f-ui); }
.matrix th, .matrix td { padding: 13px 16px; border-bottom: 1px solid var(--line); text-align: center; }
.matrix tbody th { text-align: left; font-weight: 700; }
.matrix thead th { background: var(--ink); color: #fff; font: 850 19px/1.1 var(--f-display); font-stretch: 80%; vertical-align: bottom; }
.matrix thead th:first-child { font: 800 12px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; text-align: left; color: var(--on-dark-muted); }
.matrix thead small { display: block; font: 700 12px/1.4 var(--f-ui); color: var(--cyan); font-stretch: 100%; }
.matrix td { color: var(--pink-d); font-weight: 900; font-size: 18px; }
.matrix td.no { color: var(--muted); font-weight: 400; opacity: .5; }
.matrix .matrix__hot { background: #2a1320; }
.matrix .is-mine { background: rgba(24,210,239,.12); }
.matrix thead .is-mine { background: var(--cyan); color: var(--ink); }
.matrix thead .is-mine small { color: var(--ink); }
.vcard__media { position: relative; }
.vcard__badge { position: absolute; left: 10px; top: 10px; z-index: 1; padding: 5px 8px; border-radius: 4px; background: var(--pink); color: #fff; font: 900 10.5px/1 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; }
.section--ink .vcard__title, .section--ink .vcard__title a { color: #fff; }
.section--ink .meta { color: var(--on-dark-muted); }
.advisory { margin: 0 0 24px; padding: 14px 18px; border-radius: 10px; background: var(--ink); color: #eeebe5; border-left: 5px solid var(--pink); font: 400 15.5px/1.5 var(--f-ui); }
.advisory strong { color: var(--pink); }
.advisory--early { border-left-color: var(--cyan); }
.advisory--early strong { color: var(--cyan); }

.ic-bar { background: var(--ink); color: #fff; padding: 34px 0 0; }
.ic-bar__inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.ic-bar__title { margin: 0; font: 850 clamp(34px, 4.6vw, 54px)/1 var(--f-display); font-stretch: 72%; }
.ic-bar__side { display: flex; align-items: center; gap: 16px; }
.ic-level { padding: 8px 14px; border-radius: 999px; background: var(--ink-3); font: 900 12px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.ic-level--3 { background: linear-gradient(90deg, var(--pink), #b3125f); color: #fff; }
.ic-level--2 { background: var(--cyan); color: var(--ink); }
.ic-livecard { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 20px; padding: 14px 18px; border-radius: 12px; background: var(--ink-3); border: 1px solid var(--line-dark); font-size: 15px; }
.ic-livecard:empty { display: none; }
.ic-livecard.is-live { background: var(--pink); border-color: var(--pink); }
.ic-livecard.is-live .pulse-dot { background: #fff; }
.ic-livecard strong { font: 800 17px/1.2 var(--f-ui); }
.ic-count { margin-left: auto; font: 900 22px/1 var(--f-display); font-stretch: 72%; color: var(--cyan); }
.ic-tabs { display: flex; gap: 4px; margin-top: 20px; overflow-x: auto; scrollbar-width: none; }
.ic-tabs::-webkit-scrollbar { display: none; }
.ic-tab { flex: none; border: 0; background: transparent; color: var(--on-dark-muted); padding: 14px 16px; font: 800 14.5px/1 var(--f-ui); border-bottom: 3px solid transparent; }
.ic-tab:hover { color: #fff; }
.ic-tab.is-on { color: #fff; border-bottom-color: var(--pink); }
.ic-panel { padding-top: 32px; }
.ic-room { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); gap: 24px; align-items: start; }
.ic-video { position: relative; aspect-ratio: 16/9; max-width: 100%; border-radius: 14px; overflow: hidden; background: var(--ink); color: #fff; }
.ic-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ic-video__idle { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px; text-align: center; font: 400 17px/1.5 var(--f-body); color: #d6d3cd;
  background: radial-gradient(600px 300px at 50% 0%, rgba(255,46,136,.25), transparent 70%), var(--ink); }
.ic-video__idle p { margin: 0; max-width: 46ch; }
.ic-sched { margin-top: 26px; }
.ic-list { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 10px; }
.ic-item { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 10px; background: var(--card); box-shadow: var(--shadow); font-size: 14.5px; color: var(--muted); }
.ic-item strong { font: 800 17px/1.2 var(--f-ui); color: var(--text); }
.ic-item.is-live { border-left: 4px solid var(--pink); }
.ic-item__kind { font: 900 11px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--pink-d); }
.ic-item .btn { align-self: flex-start; margin-top: 6px; }
.ic-item__up { color: var(--pink-d); font-weight: 800; }
.ic-chat { display: flex; flex-direction: column; height: min(78vh, 720px); border-radius: 14px; overflow: hidden; background: var(--ink); color: var(--on-dark); position: sticky; top: calc(var(--head-h, 74px) + 16px); }
.ic-chat__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line-dark); font-size: 13px; color: var(--on-dark-muted); }
.ic-chat__head strong { font: 900 13px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.ic-chat__pin { padding: 10px 16px; background: rgba(24,210,239,.14); border-bottom: 1px solid var(--line-dark); font-size: 14px; line-height: 1.4; }
.ic-chat__pin strong { color: var(--cyan); }
.ic-chat__msgs { flex: 1; overflow-y: auto; padding: 12px 16px; display: flex; flex-direction: column; gap: 10px; }
.icm { font-size: 14.5px; line-height: 1.45; overflow-wrap: anywhere; }
.icm__who { display: block; font: 800 12.5px/1.3 var(--f-ui); color: var(--on-dark-muted); }
.icm__who em { font-style: normal; margin-left: 4px; padding: 2px 6px; border-radius: 4px; background: var(--pink); color: #fff; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; }
.icm__who em.g { background: var(--cyan); color: var(--ink); }
.icm--ron { padding: 10px 12px; border-radius: 10px; background: #2a1320; border-left: 3px solid var(--pink); }
.icm--ron .icm__who { color: #fff; }
.ic-chat__form { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 12px; border-top: 1px solid var(--line-dark); }
.ic-chat__form input { min-width: 0; padding: 11px 13px; border-radius: 999px; border: 1px solid var(--line-dark); background: var(--ink-3); color: var(--on-dark); }
.ic-chat__form input:disabled, .ic-chat__form button:disabled { opacity: .5; }
.ic-chat__rules { margin: 0; padding: 0 16px 12px; font-size: 11.5px; color: var(--on-dark-muted); }
.ic-ask { display: grid; gap: 10px; margin: 18px 0 26px; }
.ic-ask textarea { width: 100%; padding: 12px 14px; border-radius: 10px; border: 1.5px solid var(--line); background: var(--card); color: var(--text); font: 400 16px/1.4 var(--f-ui); }
.ic-ask .btn { justify-self: start; }
.ic-questions { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.icq { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: start; padding: 14px 16px; border-radius: 12px; background: var(--card); box-shadow: var(--shadow); }
.icq--done { opacity: .75; }
.icq--empty { display: block; color: var(--muted, #666); }
.icq__vote { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 0; border-radius: 10px; border: 1.5px solid var(--line); background: var(--paper); font: 900 17px/1 var(--f-ui); color: var(--text); }
.icq__vote span { color: var(--pink); font-size: 13px; }
.icq__vote.is-on { background: var(--pink); color: #fff; border-color: var(--pink); }
.icq__vote.is-on span { color: #fff; }
.icq__body { margin: 0; font: 400 17px/1.45 var(--f-body); }
.icq__meta { margin: 6px 0 0; font: 700 12.5px/1.3 var(--f-ui); color: var(--muted); }
.icq__meta em { font-style: normal; color: var(--pink-d); }
.icq__answer { margin: 8px 0 0; padding: 10px 12px; border-radius: 8px; background: var(--paper-2); font-size: 15px; }
.ic-polls { display: grid; gap: 18px; margin-top: 18px; }
.icp { padding: 20px; border-radius: 14px; background: var(--card); box-shadow: var(--shadow); }
.icp__state { margin: 0; font: 900 11px/1.3 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--pink-d); }
.icp__title { margin: 8px 0 12px; font: 850 26px/1.05 var(--f-display); font-stretch: 78%; }
.icp__opt { display: block; width: 100%; margin-top: 8px; padding: 13px 16px; border-radius: 10px; border: 1.5px solid var(--line); background: var(--paper); text-align: left; font: 700 15.5px/1.3 var(--f-ui); transition: border-color .15s; }
.icp__opt:hover:not(:disabled) { border-color: var(--pink); }
.icp__opt:disabled { opacity: .6; cursor: not-allowed; }
.icp__res { position: relative; display: flex; justify-content: space-between; gap: 10px; margin-top: 8px; padding: 13px 16px; border-radius: 10px; background: var(--paper-2); overflow: hidden; font: 700 15px/1.3 var(--f-ui); }
.icp__res.is-mine { outline: 2px solid var(--pink); }
.icp__bar { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, rgba(255,46,136,.28), rgba(24,210,239,.28)); }
.icp__lbl, .icp__pct { position: relative; }
.icp__note { margin: 10px 0 0; font-size: 13.5px; color: var(--muted); }
.ic-upgrade { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin-top: 22px; padding: 18px 20px; border-radius: 12px; background: var(--ink); color: #eeebe5; }
.ic-upgrade p { margin: 0; }
@media (max-width: 1000px) {
  .ic-room { grid-template-columns: 1fr; }
  .ic-chat { position: static; height: 520px; }
  .ic-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .ic-pillars { grid-template-columns: 1fr; }
  .ic-count { margin-left: 0; }
}

@media (min-width: 1101px) and (max-width: 1500px) { .mainnav a, .mainnav__more-btn { padding: 8px 8px; font-size: 14px; } .masthead__inner { gap: 14px; } .masthead__actions { gap: 8px; } .brand__word { font-size: 24px; } }
@media (max-width: 600px) { .masthead .chip--cyan { display: none; } }

/* Investigations + Videos (v1.3) ------------------------------------------- */
.section--alt { background: var(--paper-2); }
.series-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 32px; }
.series { display: grid; gap: 6px; padding: 18px; border-radius: 14px; background: var(--card); box-shadow: var(--shadow); border-top: 4px solid var(--pink); }
.series strong { font: 850 22px/1 var(--f-display); font-stretch: 78%; }
.series span { font-size: 14.5px; color: var(--muted); }
.page-hero--video { background: radial-gradient(circle at 80% 20%, rgba(255,46,136,.28), transparent 55%), var(--ink); }
.social-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.social { display: grid; gap: 2px; padding: 10px 16px; border-radius: 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; min-width: 140px; }
.social strong { font: 900 14px/1.1 var(--f-ui); letter-spacing: .04em; text-transform: uppercase; }
.social span { font-size: 13px; opacity: .8; }
.social--yt { border-color: #ff4d4d; } .social--fb { border-color: #4f8cff; } .social--ig { border-color: #e86bd2; } .social--tt { border-color: var(--cyan); }
.social:hover { background: rgba(255,255,255,.16); }
.vtabs { display: flex; gap: 6px; overflow-x: auto; padding-top: 18px; padding-bottom: 6px; scrollbar-width: none; }
.vtabs a { flex: none; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--line); font: 800 14px/1 var(--f-ui); }
.vtabs a:hover { border-color: var(--pink); color: var(--pink-d); }
.shorts-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 180px); gap: 14px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.short { position: relative; display: block; aspect-ratio: 9/16; border-radius: 14px; overflow: hidden; background: var(--ink-3); scroll-snap-align: start; }
.short img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.short span { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 10px 10px; font: 800 13px/1.25 var(--f-ui); color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.85)); }
.sec-note { margin: -10px 0 18px; color: var(--muted); }
.vplayers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.vplayer { margin: 0; }
.vplayer figcaption { margin-top: 8px; font: 800 14px/1.3 var(--f-ui); }
.vplayer__load { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; border: 0; background: radial-gradient(circle, rgba(255,46,136,.35), transparent 70%), var(--ink); color: #fff; font: 800 16px/1.2 var(--f-ui); cursor: pointer; }
.fb-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 32px; align-items: start; }
.fb-embed { position: relative; min-height: 640px; border-radius: 14px; overflow: hidden; background: var(--card); box-shadow: var(--shadow); }
.fb-embed iframe { width: 100%; height: 700px; border: 0; display: block; }
@media (max-width: 900px) { .series-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vplayers, .fb-wrap { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .series-row { grid-template-columns: 1fr; } .social { min-width: 0; flex: 1 1 140px; } }

/* Donation prompt + newsroom chat (v1.5) ---------------------------------- */
.dprompt { position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 70; width: min(380px, calc(100vw - 32px)); padding: 20px 20px 16px; border-radius: 16px; background: var(--ink); color: var(--on-dark); box-shadow: 0 18px 50px rgba(0,0,0,.45); border-top: 4px solid var(--pink); transform: translateY(24px); opacity: 0; transition: transform .3s ease, opacity .3s ease; }
.dprompt.is-in { transform: none; opacity: 1; }
.dprompt__x { position: absolute; top: 8px; right: 10px; width: 32px; height: 32px; border: 0; background: transparent; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; opacity: .7; }
.dprompt__kick { margin: 0 0 6px; font: 900 11px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.dprompt__h { margin: 0 24px 8px 0; font: 850 26px/1.02 var(--f-display); font-stretch: 76%; color: #fff; }
.dprompt__p { margin: 0 0 14px; font-size: 15px; line-height: 1.45; color: var(--on-dark-muted, #cfcac2); }
.dprompt__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.dprompt .btn--ghost { color: #fff; border-color: rgba(255,255,255,.5); }
.dprompt__fine { margin: 12px 0 0; font-size: 12px; color: var(--on-dark-muted, #b9b4ab); }
.dprompt__link { border: 0; background: none; padding: 0; color: var(--cyan); font: inherit; text-decoration: underline; cursor: pointer; }
.gnchat { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 75; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; font-family: var(--f-ui); }
.gnchat__bubble { display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border: 0; border-radius: 999px; background: var(--pink); color: #fff; font: 800 15px/1 var(--f-ui); box-shadow: 0 10px 30px rgba(255,46,136,.4); cursor: pointer; }
.gnchat__dot { width: 9px; height: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.3); }
.gnchat__teaser { position: relative; width: min(300px, calc(100vw - 32px)); display: grid; gap: 4px; padding: 14px 36px 14px 16px; border-radius: 14px; background: var(--card); color: var(--text); box-shadow: 0 12px 34px rgba(0,0,0,.25); cursor: pointer; font-size: 14px; line-height: 1.35; }
.gnchat__teaser strong { font-size: 15px; }
.gnchat__tx { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border: 0; background: transparent; font-size: 20px; cursor: pointer; color: var(--muted); }
.gnchat__panel { width: min(370px, calc(100vw - 32px)); height: min(560px, calc(100vh - 100px)); display: flex; flex-direction: column; border-radius: 16px; overflow: hidden; background: var(--card); color: var(--text); box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.gnchat__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; background: var(--ink); color: #fff; }
.gnchat__head div { display: grid; gap: 2px; } .gnchat__head strong { font-size: 15px; } .gnchat__head span { font-size: 12px; color: var(--cyan); }
.gnchat__min { width: 32px; height: 32px; border: 0; border-radius: 8px; background: rgba(255,255,255,.12); color: #fff; font-size: 20px; cursor: pointer; }
.gnchat__msgs { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: var(--paper); }
.gcm { max-width: 88%; padding: 10px 12px; border-radius: 12px; font-size: 14.5px; line-height: 1.45; background: var(--card); box-shadow: var(--shadow); overflow-wrap: anywhere; }
.gcm--me { align-self: flex-end; background: var(--ink); color: #fff; }
.gcm__who { display: block; margin-bottom: 3px; font: 800 11px/1 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; opacity: .7; }
.gcm--typing { opacity: .7; font-style: italic; }
.gnchat__case { margin: 0; padding: 8px 14px; font-size: 12px; background: var(--paper-2); }
.gnchat__form { padding: 10px 12px 6px; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.gnchat__form textarea { width: 100%; resize: none; border: 1px solid var(--line); border-radius: 10px; padding: 9px 10px; font: 400 15px/1.35 var(--f-ui); }
.gnchat__row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.gnchat__att { padding: 8px 12px; border: 1.5px solid var(--line); border-radius: 999px; font: 800 13px/1 var(--f-ui); color: var(--pink-d); cursor: pointer; }
.gnchat__att.has-files { background: var(--pink); color: #fff; border-color: var(--pink); }
.gnchat__fine { margin: 0; padding: 0 14px 10px; font-size: 11.5px; color: var(--muted); }
.gnchat__fine a { color: var(--pink-d); text-decoration: underline; }
@media (max-width: 600px) { .gnchat__bubble { padding: 11px 14px; font-size: 14px; } .gnchat__panel { height: calc(100vh - 90px); } .dprompt { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); } }

/* v1.6: give by app (PayPal, Venmo, Cash App, monthly) */
.giveapps { margin: 18px 0; }
.giveapps__title { margin: 0 0 10px; font: 900 12px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.giveapps__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.giveapp { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-radius: 12px; background: var(--card); box-shadow: var(--shadow); border-top: 4px solid var(--app, var(--pink)); color: var(--ink); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.giveapp:hover { transform: translateY(-2px); }
.giveapp strong { font: 850 20px/1.05 var(--f-display); font-stretch: 82%; }
.giveapp span { font-size: 13px; color: var(--muted); line-height: 1.3; overflow-wrap: anywhere; }
.giveapp--paypal { --app: #0070ba; }
.giveapp--venmo { --app: #008cff; }
.giveapp--cash { --app: #00c244; }
.giveapp--member { --app: var(--pink); }
.giveapps--dark .giveapp { background: rgba(255,255,255,.08); box-shadow: none; color: #fff; }
.giveapps--dark .giveapp span { color: #cfcac2; }
.giveapps--compact { margin: 4px 0 0; }
.giveapps--compact .giveapps__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.giveapps--compact .giveapp { padding: 10px 12px; border-top-width: 3px; }
.giveapps--compact .giveapp strong { font-size: 18px; }
.give-now { margin-bottom: 28px; padding: 24px; border-radius: 16px; background: var(--paper-2); }
.give-now .display-2 { margin: 0 0 6px; }
.give-now p { margin: 0; color: var(--muted); }
.give-now .give-now__fine { margin-top: 10px; font-size: 14px; }
.article__foot .giveapps { margin-top: -12px; }
@media (max-width: 720px) { .giveapps__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* v1.7 on-site video players */
.vfilter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.vgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.vgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vcard { display: grid; gap: 10px; align-content: start; text-align: left; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; font: inherit; }
.vcard[hidden] { display: none; }
.vcard__thumb { position: relative; display: block; aspect-ratio: 16/9; border-radius: 12px; overflow: hidden; background: var(--ink); }
.vcard__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.vcard:hover .vcard__thumb img, .vcard:focus-visible .vcard__thumb img { transform: scale(1.04); }
.vcard__body { display: grid; gap: 4px; }
.vcard__meta { font: 800 12px/1.2 var(--f-ui); letter-spacing: .05em; text-transform: uppercase; color: var(--pink-d); }
.vcard__title { font: 800 18px/1.25 var(--f-ui); }
.vcard__desc { font-size: 15px; line-height: 1.45; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vplay { position: absolute; left: 50%; top: 50%; width: 58px; height: 58px; margin: -29px 0 0 -29px; border-radius: 50%; background: rgba(255,46,136,.92); box-shadow: 0 6px 22px rgba(0,0,0,.4); }
.vplay::after { content: ""; position: absolute; left: 23px; top: 18px; border-style: solid; border-width: 11px 0 11px 17px; border-color: transparent transparent transparent #fff; }
button.short { padding: 0; border: 0; cursor: pointer; text-align: left; font: inherit; }
.short .vplay { width: 46px; height: 46px; margin: -23px 0 0 -23px; } .short .vplay::after { left: 18px; top: 13px; border-width: 10px 0 10px 15px; }
.shorts-strip--home { margin-top: 26px; }
.vmodal { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0,0,0,.86); }
.vmodal[hidden] { display: none; }
html.vmodal-open { overflow: hidden; }
.vmodal__box { position: relative; width: min(1100px, 100%); }
.vmodal__box.is-short { width: min(420px, 100%); }
.vmodal__frame { position: relative; aspect-ratio: 16/9; background: #000; border-radius: 12px; overflow: hidden; }
.vmodal__box.is-short .vmodal__frame { aspect-ratio: 9/16; max-height: 80vh; margin: 0 auto; }
.vmodal__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vmodal__x { position: absolute; right: -6px; top: -48px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; color: #000; font: 700 26px/1 var(--f-ui); cursor: pointer; }
.vmodal__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; margin-top: 12px; color: #fff; }
.vmodal__title { font: 800 17px/1.3 var(--f-ui); }
.vmodal__links { display: flex; flex-wrap: wrap; gap: 14px; font: 700 14px/1 var(--f-ui); }
.vmodal__links a, .vmodal__links button { color: #fff; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; }
.vmodal__links .vmodal__give { color: var(--pink); }
.gn-ad { margin: 28px auto; text-align: center; }
@media (max-width: 1000px) { .vgrid, .vgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .vgrid, .vgrid--4 { grid-template-columns: 1fr; } .vmodal__x { top: -46px; right: 0; } }
/* GN Sync: freshness stamps and activity log ------------------------------- */
.fresh { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font: 700 13px/1.3 var(--f-ui); color: var(--cyan); }
.fresh .pulse-dot { width: 8px; height: 8px; background: var(--cyan); flex: none; }
.fresh--light { color: var(--muted); margin: -12px 0 16px; }
.fresh--light .pulse-dot { background: var(--pink); }
.sec-h--sub { margin-top: 48px; }
.activity { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.activity .skeleton { list-style: none; }
.activity__item { display: grid; grid-template-columns: 112px auto minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-items: baseline; padding: 14px 16px; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); border-left: 5px solid var(--cyan); }
.activity__item--court { border-left-color: var(--pink); }
.activity__item--story { border-left-color: var(--ink); }
html[data-scheme="night"] .activity__item--story { border-left-color: #fff; }
.activity__item time { font: 800 12px/1.2 var(--f-ui); color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.activity__type { font: 900 10.5px/1 var(--f-ui); text-transform: uppercase; letter-spacing: .1em; padding: 5px 8px; border-radius: 4px; background: var(--paper-2); }
.activity__title { font: 800 17px/1.25 var(--f-display); font-stretch: 88%; overflow-wrap: anywhere; }
.activity__title:hover { color: var(--pink-d); }
.activity__ctx, .activity__item p { grid-column: 3; margin: 0; font: 400 14.5px/1.45 var(--f-body); color: var(--muted); overflow-wrap: anywhere; }
.activity__ctx { font: 700 13px/1.3 var(--f-ui); }
@media (max-width: 600px) {
  .activity__item { grid-template-columns: auto minmax(0, 1fr); }
  .activity__item time { grid-column: 1 / -1; }
  .activity__type { grid-column: 1; }
  .activity__title { grid-column: 2; }
  .activity__ctx, .activity__item p { grid-column: 1 / -1; }
}

/* The Paper Trail ------------------------------------------------------------ */
.page-hero--trail::before { background: radial-gradient(circle, rgba(24,210,239,.35), transparent 65%); }
.trail { padding-top: 28px; }
.trail__bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.trail__field { display: flex; flex: 0 1 280px; min-width: 0; }
.trail__field--grow { flex: 1 1 220px; }
.trail__field select, .trail__field input { width: 100%; background: var(--ink-3); color: var(--on-dark); border: 1px solid var(--line-dark); border-radius: 10px; padding: 12px 14px; font: 600 15px/1.2 var(--f-ui); }
.trail__mapwrap { position: relative; }
.trail__map { background: radial-gradient(900px 400px at 70% 20%, rgba(24,210,239,.10), transparent 60%), var(--ink-2); border: 1px solid var(--line-dark); border-radius: 16px; padding: clamp(8px, 2vw, 22px); }
.trail__map svg { display: block; width: 100%; height: auto; overflow: hidden; }
.trail__skel { height: 320px; margin: 0; }
.okstate { fill: #1b1b22; stroke: var(--cyan); stroke-width: 1.6; stroke-linejoin: round; }
.ref circle { fill: var(--on-dark-muted); opacity: .6; }
.ref text { fill: var(--on-dark-muted); font: 600 10px var(--f-ui); opacity: .75; }
.pin { cursor: pointer; outline: none; }
.pin__dot { fill: var(--pink); stroke: #fff; stroke-width: 1.6; transition: transform .15s, fill .15s; transform-box: fill-box; transform-origin: center; }
.pin:hover .pin__dot, .pin:focus-visible .pin__dot, .pin.is-on .pin__dot { fill: var(--cyan); transform: scale(1.35); }
.pin:focus-visible .pin__dot { stroke: var(--cyan); stroke-width: 3; }
.pin--dim { opacity: .18; }
.pin__ring { fill: none; stroke: var(--pink); stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: pinpulse 2s infinite; }
@keyframes pinpulse { 0% { opacity: .9; transform: scale(.7); } 100% { opacity: 0; transform: scale(1.6); } }
@media (prefers-reduced-motion: reduce) { .pin__ring { animation: none; } }
.trail__tip { position: absolute; z-index: 5; width: 220px; transform: translateY(-100%); pointer-events: none; padding: 10px 12px; border-radius: 10px; background: #fff; color: var(--ink); box-shadow: 0 10px 30px rgba(0,0,0,.4); font: 500 13px/1.35 var(--f-ui); }
.trail__tip strong { display: block; font: 800 15px/1.2 var(--f-ui); }
.trail__tip span { display: block; color: var(--muted); margin-top: 2px; }
.trail__tip em { display: block; font-style: normal; color: var(--pink-d); font-weight: 800; margin-top: 6px; }
.trail__legend { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 12px 0 0; font: 700 12.5px/1 var(--f-ui); color: var(--on-dark-muted); }
.trail__dot { width: 11px; height: 11px; border-radius: 50%; background: var(--pink); border: 2px solid #fff; display: inline-block; }
.trail__dot--new { box-shadow: 0 0 0 4px rgba(255,46,136,.35); margin-left: 12px; }
.trail__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.tcard { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); border-top: 4px solid var(--cyan); transition: transform .15s; }
.tcard:hover, .tcard.is-on { transform: translateY(-2px); border-top-color: var(--pink); }
.tcard strong { font: 850 21px/1.1 var(--f-display); font-stretch: 80%; }
.tcard__kind { font: 800 11px/1 var(--f-ui); text-transform: uppercase; letter-spacing: .08em; color: var(--pink-d); }
.tcard__boards, .tcard__counts, .tcard__latest { font: 500 13.5px/1.4 var(--f-ui); color: var(--muted); }
.tcard__counts { font-weight: 700; color: var(--text); }
.tdet { max-width: 980px; }
.tdet__boards { font: 600 16px/1.4 var(--f-ui); color: var(--muted); margin: 0; }
.tdet__note { font: 400 15.5px/1.5 var(--f-body); color: var(--muted); }
.tdet__tabs { margin: 26px 0 16px; }
.tdet__tabs small { opacity: .7; margin-left: 4px; }
.tlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.titem { display: grid; grid-template-columns: 110px 92px minmax(0, 1fr); gap: 14px; align-items: baseline; padding: 14px 16px; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); }
.titem time { font: 800 12px/1.2 var(--f-ui); color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.titem__kind { justify-self: start; font: 900 10.5px/1 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; border-radius: 4px; background: var(--paper-2); }
.titem__kind--video { background: var(--pink); color: #fff; }
.titem__kind--minutes { background: #d7f5e4; color: #0d6b3a; }
.titem__kind--records, .titem__kind--case { background: var(--ink); color: var(--cyan); }
.titem a { font: 800 17px/1.25 var(--f-display); font-stretch: 88%; overflow-wrap: anywhere; }
.titem a:hover { color: var(--pink-d); }
.titem__board { display: block; font: 600 13px/1.4 var(--f-ui); color: var(--muted); margin-top: 3px; }
.titem p { margin: 6px 0 0; font: 400 14.5px/1.45 var(--f-body); color: var(--muted); }
.tdet__share { margin-top: 20px; font: 600 13px/1.4 var(--f-ui); color: var(--muted); overflow-wrap: anywhere; }
.tdet__share a { color: var(--pink-d); }
@media (max-width: 600px) {
  .titem { grid-template-columns: auto minmax(0, 1fr); }
  .titem time { grid-column: 1 / -1; }
  .titem > div { grid-column: 1 / -1; }
  .trail__field { flex: 1 1 100%; }
  .ref text { font-size: 14px; }
}
.pin__dot--area { fill: rgba(24,210,239,.25); stroke: var(--cyan); stroke-width: 1.6; }
.pin--area:hover .pin__dot--area, .pin--area.is-on .pin__dot--area { fill: var(--cyan); }
.trail__map { position: relative; }
.trail__map.is-zoomed .ref text { font-size: 4px; }
.trail__map.is-zoomed .ref circle { r: .8; }
.trail__map.is-zoomed .okstate { stroke-width: .6; }
.trail__map.is-zoomed .pin__dot { stroke-width: .7; }
.trail__zoomout { position: absolute; top: 12px; right: 12px; z-index: 2; background: rgba(11,11,13,.7); }
.trail__legend .trail__sq { width: 12px; height: 12px; border-radius: 3px; background: rgba(24,210,239,.25); border: 2px solid var(--cyan); display: inline-block; margin-left: 12px; }
.trail__map { overflow: hidden; }

/* v1.9.4 The Paper Trail band, pinned menu link, story town box */
.mainnav__pin a { color: var(--cyan); }
.meet-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 32px; align-items: start; }
.meet-h { font: 900 15px/1.2 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; margin: 0 0 12px; }
.meetings { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.meetings .skeleton { list-style: none; }
.meet { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px 14px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); }
.meet__date { display: grid; place-items: center; height: 58px; border-radius: 10px; background: var(--ink); color: #fff; line-height: 1; }
.meet__date b { font: 800 12px/1 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--cyan); }
.meet__date i { font: 900 24px/1 var(--f-display); font-style: normal; }
.meet__body { display: block; min-width: 0; font: 600 14px/1.35 var(--f-ui); }
.meet__kind { display: inline-block; padding: 2px 8px; border-radius: 999px; font: 800 11px/1.4 var(--f-ui); letter-spacing: .05em; text-transform: uppercase; background: var(--cyan); color: var(--ink); }
.meet__kind--minutes { background: #ffd23f; } .meet__kind--video { background: var(--pink); color: #fff; } .meet__kind--records { background: var(--ink); color: #fff; }
.meet__body-name { font-weight: 800; }
.meet__board { color: var(--muted); }
.meet__title { display: block; margin-top: 4px; font: 800 16px/1.3 var(--f-ui); color: var(--text); text-decoration: underline; text-decoration-color: rgba(0,0,0,.2); text-underline-offset: 3px; }
.meet-side { display: grid; gap: 12px; padding: 20px; border-radius: 14px; background: var(--ink); color: var(--on-dark); }
.meet-side__k { margin: 0; font: 900 13px/1 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--cyan); }
.meet-side select { width: 100%; padding: 12px; border-radius: 10px; border: 1px solid var(--line-dark); background: var(--ink-2, #18181d); color: #fff; font: 600 15px/1.2 var(--f-ui); }
.meet-side__note { margin: 0; font-size: 14px; line-height: 1.5; color: var(--on-dark-muted); }
.meet-side .btn { justify-self: start; }
.town-box { margin: 0 0 28px; padding: 18px 20px; border-radius: 14px; background: var(--ink); color: var(--on-dark); }
.town-box[hidden] { display: none; }
.town-box .kicker { margin: 0 0 6px; }
.town-box__lede { margin: 0 0 12px; font: 600 15px/1.45 var(--f-ui); }
.town-box__links { display: flex; flex-wrap: wrap; gap: 10px; }
.town-box__link { display: grid; gap: 2px; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--cyan); color: #fff; min-width: 180px; }
.town-box__link span { font-size: 13px; color: var(--on-dark-muted); }
.town-box__link:hover { background: rgba(24,210,239,.12); }
@media (max-width: 900px) { .meet-grid { grid-template-columns: 1fr; } }

/* v1.9.6 Paper Trail detail: board filter and paging */
.tdet__board { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 800 13px/1 var(--f-ui); }
.tdet__board select { padding: 9px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--card); color: var(--text); font: 600 14px/1.2 var(--f-ui); max-width: 100%; }
.tdet__more { margin-top: 16px; }
.mtg-hero .display-1 { max-width: 900px; }
.mtg-stats { list-style: none; display: flex; flex-wrap: wrap; gap: 14px 40px; margin: 28px 0 0; padding: 0; }
.mtg-stats li { display: flex; flex-direction: column; }
.mtg-stats strong { font: 900 clamp(30px, 4vw, 46px)/1 var(--f-display); font-stretch: 70%; color: var(--cyan); }
.mtg-stats span { font: 700 12px/1.3 var(--f-ui); text-transform: uppercase; letter-spacing: .1em; color: #d8d4cc; }
.mtg-wrap { padding-top: 28px; padding-bottom: 72px; }
.mtg-bar { position: sticky; top: calc(var(--head-h, 74px) + 8px); z-index: 20; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 12px; margin: 0 0 18px; background: var(--card); border-radius: 14px; box-shadow: var(--shadow); }
.mtg-bar input[type=search] { flex: 1 1 240px; min-width: 0; padding: 12px 14px; border-radius: 10px; border: 1.5px solid var(--line); background: var(--paper); font: 500 16px/1.3 var(--f-ui); }
.mtg-bar input[type=search]:focus { outline: 0; border-color: var(--pink); box-shadow: 0 0 0 4px rgba(255,46,136,.15); }
.mtg-bar select { padding: 11px 12px; border-radius: 10px; border: 1.5px solid var(--line); background: var(--paper); font: 600 14px/1.2 var(--f-ui); max-width: 100%; }
.mtg-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mtg-chip { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border-radius: 999px; border: 1.5px solid var(--line); background: transparent; font: 800 13px/1 var(--f-ui); }
.mtg-chip i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.mtg-chip.is-on { background: var(--ink); color: #fff; border-color: var(--ink); }
html[data-scheme="night"] .mtg-chip.is-on { background: #fff; color: var(--ink); border-color: #fff; }
.mtg-toggle { display: inline-flex; align-items: center; gap: 8px; font: 700 13.5px/1.2 var(--f-ui); cursor: pointer; }
.mtg-toggle input { width: 18px; height: 18px; accent-color: var(--pink); }
.mtg-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.mtg-mapbox { position: sticky; top: calc(var(--head-h, 74px) + 140px); background: var(--ink); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); }
.mtg-map { display: block; width: 100%; height: auto; aspect-ratio: 705 / 345; touch-action: none; cursor: grab; user-select: none; }
.mtg-map.is-drag { cursor: grabbing; }
.mtg-map .co { fill: #1d1d24; stroke: #3a3a45; stroke-width: .6; vector-effect: non-scaling-stroke; transition: fill .15s; cursor: pointer; }
.mtg-map .co:hover { fill: #2a2a34; }
.mtg-map .co.is-sel { fill: #3b1830; stroke: var(--pink); stroke-width: 1.5; }
.mtg-map .dot { stroke: #0b0b0d; stroke-width: .5; vector-effect: non-scaling-stroke; cursor: pointer; }
.mtg-map .dot.off { opacity: .28; }
.mtg-map .dot.is-hl { stroke: #fff; stroke-width: 2; }
.mtg-maptools { position: absolute; top: 10px; right: 10px; display: flex; flex-direction: column; gap: 6px; }
.mtg-maptools button { width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--line-dark); background: rgba(11,11,13,.85); color: #fff; font: 800 18px/1 var(--f-ui); }
.mtg-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 12px 16px; color: var(--on-dark-muted); font: 700 12.5px/1.2 var(--f-ui); border-top: 1px solid var(--line-dark); }
.mtg-legend span { display: inline-flex; align-items: center; gap: 6px; }
.mtg-legend i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.mtg-legend .faded { opacity: .45; }
.mtg-tip { position: absolute; pointer-events: none; z-index: 3; padding: 8px 10px; border-radius: 8px; background: #fff; color: #141417; font: 700 13px/1.3 var(--f-ui); box-shadow: 0 6px 20px rgba(0,0,0,.35); max-width: 240px; transform: translate(-50%, calc(-100% - 12px)); }
.mtg-tip small { display: block; font-weight: 600; color: #5f5b55; }
.mtg-count { font: 800 14px/1.3 var(--f-ui); margin: 0 0 12px; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: baseline; }
.mtg-count button { font: 800 13px/1 var(--f-ui); background: none; border: 0; color: var(--pink-d); padding: 0; }
.mtg-list { display: grid; gap: 10px; }
.mtg-card { background: var(--card); border-radius: 12px; box-shadow: var(--shadow); padding: 14px 16px; border-left: 5px solid var(--c, var(--pink)); scroll-margin-top: 200px; }
.mtg-card.is-hl { outline: 3px solid var(--cyan); }
.mtg-card h3 { margin: 0; font: 850 21px/1.08 var(--f-display); font-stretch: 82%; overflow-wrap: anywhere; }
.mtg-card__meta { margin: 4px 0 0; font: 600 13px/1.35 var(--f-ui); color: var(--muted); }
.mtg-card__meta b { color: var(--text); }
.mtg-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.mtg-links a, .mtg-links button { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px; font: 800 13px/1 var(--f-ui); border: 1.5px solid var(--line); background: transparent; }
.mtg-links .go { background: var(--pink); color: #fff; border-color: var(--pink); }
.mtg-links .go:hover { background: var(--pink-d); }
.mtg-links a:not(.go):hover, .mtg-links button:hover { border-color: var(--pink); }
.mtg-links .ico { width: 14px; height: 14px; }
.mtg-flag { display: inline-block; margin-left: 6px; padding: 3px 7px; border-radius: 4px; font: 800 10.5px/1.2 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; vertical-align: 3px; background: var(--paper-2); color: var(--muted); }
.mtg-flag--none { background: #ffe0ec; color: var(--pink-d); }
.mtg-more { margin-top: 16px; }
.mtg-side { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 40px; }
.mtg-side .aside-box p { color: #d8d4cc; }
.mtg-side .aside-box a { color: var(--cyan); font-weight: 800; }
.mtg-empty { padding: 26px; border: 1.5px dashed var(--line); border-radius: 12px; color: var(--muted); text-align: center; font-weight: 600; }
@media (max-width: 1000px) {
  .mtg-layout { grid-template-columns: 1fr; }
  .mtg-mapbox { position: relative; top: 0; }
  .mtg-side { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .mtg-bar { position: static; }
  .mtg-bar select { flex: 1 1 140px; }
  .mtg-card h3 { font-size: 19px; }
}


/* v1.10 Paper Trail statewide directory merged with our documents */
.mtg-hero .page-hero__dek { max-width: 72ch; }
.mtg-map .dot.ours { stroke: #fff; stroke-width: 1.6; }
.mtg-legend .ring { background: transparent !important; border: 2px solid #fff; width: 10px; height: 10px; box-sizing: border-box; }
.mtg-card--ours { box-shadow: 0 0 0 2px var(--cyan), var(--shadow); }
.mtg-flag--ours { background: var(--cyan); color: var(--ink); }
.mtg-links .ours { background: var(--ink); color: #fff; border-color: var(--ink); }
html[data-scheme="night"] .mtg-links .ours { background: #fff; color: var(--ink); }
#trail-detail { scroll-margin-top: calc(var(--head-h, 74px) + 12px); }
.meet-search { display: flex; gap: 8px; }
.meet-search input { flex: 1; min-width: 0; padding: 11px 12px; border-radius: 10px; border: 1px solid var(--line-dark); background: var(--ink-2); color: #fff; font: 600 15px/1.2 var(--f-ui); }
/* v1.13 investigation files: image-led */
.case-lead{margin:0 0 2rem}
.case-lead__card{position:relative;display:block;min-height:min(70vh,620px);background:#141417;color:#fff;text-decoration:none;overflow:hidden}
.case-lead__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.case-lead__card:hover img{transform:scale(1.03)}
.case-lead__card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.85) 100%)}
.case-lead__txt{position:absolute;z-index:1;left:0;right:0;bottom:0;max-width:1100px;margin:0 auto;padding:clamp(18px,4vw,48px)}
.case-lead__txt h2{margin:.3rem 0 .6rem;font:900 clamp(1.8rem,4.2vw,3.4rem)/1.03 var(--f-display);letter-spacing:-.01em;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.case-lead__txt p{max-width:60ch;font:1.05rem/1.5 var(--f-body);color:#e9e6df}
.case-layout--wide{grid-template-columns:minmax(0,1fr)!important;max-width:820px}
.case-grid .card--noimg{background:linear-gradient(135deg,#141417,#2a1030);color:#fff}
.case-timeline-all{margin-top:1.5rem;font:.95rem var(--f-ui)}.case-timeline-all summary{cursor:pointer;font-weight:700}
.pt-map{height:min(72vh,640px);border-radius:14px;border:1px solid var(--line);overflow:hidden;z-index:0}
.mtg-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.jt-roll{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.jt-roll__track{display:flex;gap:.9rem;width:max-content;animation:jtroll 60s linear infinite}.jt-roll:hover .jt-roll__track{animation-play-state:paused}
@keyframes jtroll{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.jt-roll__track{animation:none;flex-wrap:wrap;width:auto}}
.jt-roll__card{flex:0 0 230px;display:grid;gap:.25rem;padding:.8rem;border-radius:14px;background:#141417;color:#fff;text-decoration:none;border:1px solid #2a2a2e}
.jt-roll__card img,.jt-roll__i{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;background:#2a2a2e}.jt-roll__i{display:grid;place-items:center;font:900 3rem var(--f-display);color:#ff2e88}
.jt-roll__card span{font:.82rem var(--f-ui);color:#a9a6a0}.jt-roll__card em{font:.85rem/1.3 var(--f-ui);font-style:normal;color:#ffc233}.jt-roll__why{font:700 .82rem/1.3 var(--f-ui);color:#18d2ef}
.jr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem}
.jr-card{display:grid;gap:.35rem;align-content:start;padding:.85rem;background:var(--card);border:1px solid var(--line);border-radius:12px}.jr-card span{font:.88rem var(--f-ui);color:var(--muted)}.jr-card em{font:.85rem var(--f-ui);color:var(--muted)}
.cin{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.cin-case{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem}
.cin-case h3{margin:0 0 .5rem;font:800 1.05rem var(--f-display)}.cin-case h3 small{font:.8rem var(--f-ui);color:var(--muted)}.cin-case ul{margin:0;padding-left:1rem;font:.92rem/1.4 var(--f-ui)}.cin-case li{margin-bottom:.4rem}
.pit-box{margin-top:1.5rem;padding:1.2rem;background:var(--card);border:1px solid var(--line);border-left:5px solid #ffb000;border-radius:12px}.pit-box h3{margin:0 0 .5rem}
.ac-free__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.ac-free__card{display:grid;gap:.4rem;align-content:start;padding:1.2rem;border-radius:14px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--text)}
.ac-free__card b{font:900 1.2rem var(--f-display)}.ac-free__card span{font:.95rem/1.45 var(--f-ui);color:var(--muted)}
.ac-free__card .ac-free__tag{justify-self:start;padding:.15rem .6rem;border-radius:999px;background:#145c32;color:#fff;font:800 .75rem var(--f-ui);text-transform:uppercase}
.ac-free__card .ac-free__tag--lock{background:#141417}.ac-free__card--lock{border-color:#141417}
/* Highlighted tabs: Weather and The Paper Trail */
.mainnav__wx>a,.mainnav__pt>a{border-radius:999px;padding:.35em .85em!important;font-weight:800!important;color:#fff!important}
.mainnav__wx>a{background:linear-gradient(135deg,#0797ae,#18d2ef);box-shadow:0 0 0 2px rgba(24,210,239,.25)}
.mainnav__pt>a{background:linear-gradient(135deg,#d8116a,#ff2e88);box-shadow:0 0 0 2px rgba(255,46,136,.25)}
.mainnav__wx>a:hover,.mainnav__pt>a:hover{filter:brightness(1.1)}
/* Lead story v1.12.8: the photo sits in its own 16:9 frame, fully visible, with the headline below it.
   Odd shapes (portrait, square, panoramic) or small images switch to "fit" mode over a blurred copy, so nothing gets cropped badly or stretched. */
.lead { display: flex; flex-direction: column; align-items: stretch; min-height: 0; background: #0b0b0d; }
.lead__media { position: relative; inset: auto; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #141417; }
.lead__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; z-index: 1; }
.lead__media::after { z-index: 2; background: linear-gradient(180deg, rgba(11,11,13,0) 70%, rgba(11,11,13,.55) 100%); }
.lead__bg { position: absolute; inset: -20px; background-size: cover; background-position: center; filter: blur(22px) brightness(.55); transform: scale(1.1); display: none; }
.lead__media.is-fit .lead__bg { display: block; }
.lead__media.is-fit img { object-fit: contain; }
.lead:hover .lead__media.is-fit img { transform: none; }
.lead__body { padding: clamp(18px, 2.6vw, 30px) clamp(20px, 3vw, 36px) clamp(22px, 3vw, 34px); }
.lead h1 { font-size: clamp(30px, 3.4vw, 50px); }
.lead h1 a { color: #fff; }
/* Paper Trail reference labels */
.pt-city{white-space:nowrap;pointer-events:none}.pt-city i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#141417;border:2px solid #fff;margin-right:4px;vertical-align:0}
.pt-city span{font:800 12px/18px var(--f-ui,Arial);color:#141417;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 5px #fff}
.pt-city--1 span{font-size:17px;font-weight:900;letter-spacing:.02em}.pt-city--1 i{display:none}
.pt-capitol{white-space:nowrap;pointer-events:none}.pt-capitol b{color:#ff2e88;font-size:20px;text-shadow:0 0 3px #fff}.pt-capitol span{font:800 11px var(--f-ui,Arial);color:#d8116a;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 4px #fff;margin-left:3px;vertical-align:3px}
.pt-shield{display:grid!important;place-items:center;font:900 11px var(--f-ui,Arial);border-radius:5px;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.4);color:#fff}
.pt-shield--i{background:#1d4ed8}.pt-shield--u{background:#fff;color:#141417;border-color:#141417;border-radius:3px}
/* Live Wire perspective labels and coverage view */
.t-lean{display:inline-block;padding:.05rem .45rem;border-radius:999px;font:700 .72rem/1.5 var(--f-ui);text-decoration:none;color:#fff;background:#6b6b70}
.t-lean--lib{background:#1d4ed8}.t-lean--llib{background:#60a5fa;color:#0b1b3a}.t-lean--ind{background:#6b6b70}.t-lean--lcon{background:#f87171;color:#3a0b0b}.t-lean--con{background:#b91c1c}.t-lean--nr{background:#d4d4d8;color:#27272a}
.cov-intro{margin-bottom:1rem}.cov-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.25rem}@media(max-width:900px){.cov-grid{grid-template-columns:1fr}}
.cov-stories{display:grid;gap:.9rem}.cov-story{background:rgba(255,255,255,.04);border:1px solid var(--line-dark,#333);border-radius:12px;padding:1rem}.cov-story h3{margin:0 0 .2rem;font:800 1.1rem var(--f-display)}
.cov-bar{display:flex;height:24px;border-radius:6px;overflow:hidden;margin:.4rem 0;font:700 .72rem/24px var(--f-ui);color:#fff;text-align:center;background:#333}
.cov-b{white-space:nowrap;overflow:hidden}.cov-b--lib{background:#1d4ed8}.cov-b--ind{background:#6b6b70}.cov-b--con{background:#b91c1c}
.cov-blind{margin:.3rem 0;font:700 .85rem var(--f-ui);color:#ffb000}.cov-story ul{margin:.4rem 0 0;padding-left:1rem;font:.9rem/1.5 var(--f-ui)}
.cov-side h3{margin:0}.cov-talk{margin-top:.8rem}.cov-talk h4{margin:0 0 .3rem;font:800 .95rem var(--f-ui)}.cov-talk--lib h4{color:#60a5fa}.cov-talk--con h4{color:#f87171}
/* Wish List */
.wl-hero{background:#0b0b0d;color:#f3f1ec}.wl-hero .page-hero__dek{color:#d9d6cf}.wl-hero__h{font-family:var(--f-marker,'Permanent Marker',var(--f-display));color:#fff}
.wl-kit{font:600 .95rem var(--f-ui);color:#18d2ef}
.wl-tally{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin-top:1rem}.wl-tally div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.8rem}
.wl-tally b{display:block;font:900 1.9rem/1 var(--f-display);color:#fff}.wl-tally span{font:.85rem var(--f-ui);color:#bdb9b1}
.wl-mo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5rem;background:var(--card);border:2px solid #ff2e88;border-radius:18px;padding:clamp(16px,3vw,32px)}@media(max-width:860px){.wl-mo{grid-template-columns:1fr}}
.wl-mo h2{margin:.2rem 0 .4rem;font:900 1.8rem var(--f-display)}.wl-mo__goal{font:600 1.05rem var(--f-ui);margin:.8rem 0 .4rem}.wl-mo__goal b{font:900 1.6rem var(--f-display);color:#ff2e88}
.wl-mo__list{list-style:none;margin:0;padding:0;font:.92rem var(--f-ui)}.wl-mo__list li{display:flex;justify-content:space-between;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.wl-mo__tot{font-weight:800;border-bottom:0!important}
.wl-prog{height:10px;border-radius:6px;background:var(--line);overflow:hidden;margin:.5rem 0 .2rem}.wl-prog i{display:block;height:100%;background:linear-gradient(90deg,#ff2e88,#18d2ef)}.wl-prog--big{height:16px;margin-bottom:1rem}
.wl-prog__t{margin:0;font:.82rem var(--f-ui);color:var(--muted)}
.wl-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}
.wl-sec{margin-bottom:2rem}.wl-sec header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:3px solid #141417;padding-bottom:.3rem}.wl-sec h3{margin:0;font:900 1.35rem var(--f-display)}.wl-sec header span{font:700 .9rem var(--f-ui);color:var(--muted)}
.wl-sec__b{font:.95rem/1.5 var(--f-body);color:var(--muted);margin:.5rem 0 .8rem}
.wl-item{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:1rem;align-items:center;padding:.85rem 1rem;margin-bottom:.55rem;background:var(--card);border:1px solid var(--line);border-radius:14px}
.wl-item--big{border:2px solid #18d2ef;box-shadow:0 6px 20px rgba(24,210,239,.15)}.wl-item--done{opacity:.75;background:#effcf3;border-color:#86efac}
.wl-item h4{margin:0 0 .2rem;font:800 1.02rem var(--f-display)}.wl-item p{margin:0;font:.9rem/1.45 var(--f-ui)}
.wl-item__side{display:grid;gap:.35rem;justify-items:end;text-align:right}.wl-price{font:900 1.4rem var(--f-display)}.wl-store{font:.8rem var(--f-ui);color:var(--muted)}
@media(max-width:640px){.wl-item{grid-template-columns:1fr}.wl-item__side{justify-items:start;text-align:left;grid-auto-flow:column;align-items:center}}
.wl-badge{display:inline-block;padding:.05rem .45rem;border-radius:999px;background:#18d2ef;color:#06222a;font:800 .68rem var(--f-ui);vertical-align:2px}.wl-badge--done{background:#16a34a;color:#fff}
.wl-levels{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.wl-lv{padding:.3rem .7rem;border-radius:999px;font:700 .85rem var(--f-ui);background:var(--card);border:2px solid var(--line)}
.wl-lv--founding-patron{border-color:#d4a017}.wl-lv--defender{border-color:#ff2e88}.wl-lv--champion{border-color:#18d2ef}.wl-lv--supporter{border-color:#16a34a}.wl-lv--sustainer{border-color:#7a0aa8}
.wl-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}.wl-donor{display:grid;gap:.15rem;padding:.7rem .85rem;border-radius:12px;background:var(--card);border-left:6px solid #16a34a}
.wl-donor strong{font:800 1rem var(--f-display)}.wl-donor span{font:.82rem var(--f-ui);color:var(--muted)}.wl-donor--founding-patron{border-left-color:#d4a017}.wl-donor--defender{border-left-color:#ff2e88}.wl-donor--champion{border-left-color:#18d2ef}.wl-donor--friend{border-left-color:#a1a1aa}
.wl-help__btns{display:flex;flex-wrap:wrap;gap:.5rem}
.wl-dlg{border:0;border-radius:18px;padding:0;max-width:520px;width:calc(100% - 24px)}.wl-dlg::backdrop{background:rgba(0,0,0,.55)}
.wl-form{display:grid;gap:.55rem;padding:1.2rem}.wl-form h3{margin:0;font:900 1.4rem var(--f-display)}.wl-form label{display:grid;gap:.2rem;font:600 .88rem var(--f-ui)}
.wl-form input:not([type=radio]):not([type=checkbox]),.wl-form textarea{padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;font:1rem var(--f-ui)}
.wl-quick{display:flex;gap:.4rem}.wl-quick button{flex:1;padding:.45rem;border-radius:8px;border:1px solid var(--line);background:var(--paper,#f5f2eb);font:700 .95rem var(--f-ui);cursor:pointer}
.wl-methods{border:1px solid var(--line);border-radius:10px;padding:.5rem .8rem;display:grid;gap:.3rem}.wl-methods label{display:flex;gap:.4rem;font-weight:500}.wl-methods [hidden]{display:none}
.wl-actions{display:flex;justify-content:flex-end;gap:.5rem}
/* Live Wire thumbnails and My Oklahoma picks */
.wire__item--t{grid-template-columns:78px 132px 1fr}
.wire__thumb{position:relative;display:block;width:132px;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#1f1f24,#2b2b33)}
.wire__thumb img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}
.wire__thumb span{position:absolute;inset:0;display:grid;place-items:center;font:900 2rem var(--f-display);color:var(--cyan)}
.wire__item--mine{box-shadow:inset 4px 0 0 var(--pink);padding-left:10px}
@media(max-width:640px){.wire__item--t{grid-template-columns:96px 1fr}.wire__item--t .wire__time{grid-column:1/-1}.wire__thumb{width:96px}}
.wire-custom details{background:rgba(255,255,255,.04);border:1px solid var(--line-dark);border-radius:12px;padding:.6rem .9rem;margin-bottom:.8rem}
.wire-custom summary{cursor:pointer;font:800 1rem var(--f-ui);color:var(--cyan)}
.wire-custom fieldset{border:0;padding:0;margin:.7rem 0}.wire-custom legend{font:700 .8rem var(--f-ui);text-transform:uppercase;letter-spacing:.05em;color:var(--on-dark-muted);margin-bottom:.35rem}
.wc-chip{display:inline-block;margin:0 .3rem .35rem 0}.wc-chip input{position:absolute;opacity:0}.wc-chip span{display:inline-block;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--line-dark);font:600 .85rem var(--f-ui);cursor:pointer}
.wc-chip input:checked+span{background:var(--pink);border-color:var(--pink);color:#fff}.wc-chip input:focus-visible+span{outline:2px solid var(--cyan)}
.wire-custom input[name=cities]{width:100%;max-width:520px;padding:.5rem .7rem;border-radius:8px;border:1px solid var(--line-dark);background:transparent;color:inherit;font:1rem var(--f-ui)}
.wc-mode label{display:block;font:.92rem var(--f-ui);margin:.2rem 0}.wc-actions{display:flex;gap:.5rem;align-items:center}
/* Membership-first donate page and prompt */
.member-main{background:linear-gradient(180deg,#fff0f7 0%,var(--paper,#f5f2eb) 70%)}
.member-head{text-align:center;max-width:760px;margin:0 auto 1.6rem}.member-head p{font:1.05rem/1.55 var(--f-body)}
.member-goal{max-width:560px;margin:1rem auto 0}.member-goal p{font:600 .92rem var(--f-ui);margin:.4rem 0 0}
.member-why{list-style:none;margin:1.6rem auto 0;padding:0;max-width:820px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;text-align:center;font:.95rem/1.4 var(--f-ui)}
.member-why li{background:var(--card);border-radius:12px;padding:.8rem;border:1px solid var(--line)}
.member-note{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:90;max-width:min(560px,calc(100% - 24px));padding:.9rem 2.4rem .9rem 1rem;border-radius:14px;background:#141417;color:#fff;font:.95rem/1.45 var(--f-ui);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.member-note button{position:absolute;right:8px;top:6px;border:0;background:none;color:#fff;font-size:1.3rem;cursor:pointer}
.dprompt__tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin:.7rem 0 .6rem}
.dprompt__tier{display:grid;gap:.15rem;padding:.6rem .4rem;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;text-align:center;font:inherit}
.dprompt__tier b{font:900 1.35rem/1 var(--f-display)}.dprompt__tier b small{font-size:.65em;font-weight:700}.dprompt__tier span{font:800 .8rem var(--f-ui)}.dprompt__tier em{font:.7rem/1.25 var(--f-ui);font-style:normal;opacity:.8}
.dprompt__tier.is-hot{border-color:var(--pink);background:rgba(255,46,136,.22);box-shadow:0 0 0 2px rgba(255,46,136,.35)}
.dprompt__tier:hover{border-color:var(--cyan)}.dprompt__join{margin-bottom:.4rem}
.dprompt__once summary{cursor:pointer;font:700 .85rem var(--f-ui);color:#cfccc6;margin:.3rem 0}

/* PayPal coming soon (Oct 2026) */
.give-soon { opacity: .55; cursor: default; pointer-events: none; }

/* 1.15.0: comment perks and the Patron Circle */
.comment-perk { background: var(--card); border-left: 4px solid #ff2e88; border-radius: 12px; padding: 14px 16px; margin: 0 0 18px; font: 500 15px/1.5 var(--f-ui); box-shadow: var(--shadow); }
.comment-perk a { font-weight: 800; }
.patrons { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin-top: 24px; }
.patron { background: var(--card); border-radius: 14px; box-shadow: var(--shadow); padding: 20px; border-top: 4px solid #f5b301; }
.patron--hot { border-top-color: #ff2e88; }
.patron h3 { font: 850 22px/1.1 var(--f-display); font-stretch: 80%; margin: 0 0 4px; }
.patron__price { font: 850 24px/1.2 var(--f-display); color: var(--pink-d); margin: 0 0 10px; }
.patron__price small { font: 700 13px/1 var(--f-ui); color: var(--muted); }
.patron ul { margin: 0; padding-left: 18px; font: 500 15px/1.45 var(--f-ui); }
.patron li { margin: 0 0 6px; }
