/* Accessibility improvements over the live design (PARITY-GAPS "Accessibility improvements"). Loaded after the site CSS. */
:root {
  --a11y-accent: oklch(47% .24 292); --a11y-on-accent: #fff; --a11y-focus: oklch(47% .24 292);
  --a11y-bg: oklch(97.5% .008 88); --a11y-ink: oklch(17% .01 290); --a11y-ink-2: oklch(38% .02 290);
  --a11y-rule: oklch(85% .02 290);
}
main[tabindex="-1"]:focus { outline: none; }

/* 1.4.1 links in running text are underlined, not colour-only */
.inline-link, .inline-link-on-dark, .editorial-copy a:not([class]), .a11y-statement a { text-decoration: underline; text-decoration-thickness: max(1px, .07em); text-underline-offset: .2em; }

/* Home hero veil: owner asked for a light 20% overlay (10/27); legibility comes from the text shadow + soft scrim behind the headline */
/* Owner 10/27: no full-screen veil; a very light black "orb" behind the hero copy, darker toward the middle, clear at the edges */
.hero-veil.hero-veil { background: radial-gradient(ellipse 58% 46% at 50% 56%,
  color-mix(in oklab, var(--foreground) 38%, transparent) 0%,
  color-mix(in oklab, var(--foreground) 24%, transparent) 40%,
  color-mix(in oklab, var(--foreground) 8%, transparent) 72%,
  transparent 100%); }
@media (max-width: 767px) { .hero-veil.hero-veil { background: radial-gradient(ellipse 85% 42% at 50% 58%,
  color-mix(in oklab, var(--foreground) 40%, transparent) 0%,
  color-mix(in oklab, var(--foreground) 24%, transparent) 45%,
  color-mix(in oklab, var(--foreground) 6%, transparent) 78%,
  transparent 100%); } }
.hero-scrim.hero-scrim::before { background: none; }
.hero-shadow { text-shadow: 0 1px 3px color-mix(in oklab, var(--foreground) 70%, transparent), 0 2px 14px color-mix(in oklab, var(--foreground) 55%, transparent); }
/* Home hero: author wordmark sits lower (owner, 10/27) */
.reveal > div > a[href="/about"]:first-child { margin-top: 16svh; }
@media (min-width: 768px) { .reveal > div > a[href="/about"]:first-child { margin-top: 9svh; } }

/* 1.4.3 small coloured text: darker coral / rose for small caps labels on light surfaces, ink on the coral ticker */
.eyebrow.text-coral { color: oklch(50% .19 31); }
.eyebrow.text-rose { color: oklch(48% .2 350); }
section[aria-label="Announcements"] .ticker-group p { color: oklch(17% .01 290); }

/* 2.2.2 hero video pause control (next to "Play music") */
.tb-vid-btn { position: absolute; right: 4.75rem; bottom: 1rem; z-index: 20; display: grid; place-items: center; width: 3rem; height: 3rem;
  border-radius: 9999px; border: 1px solid color-mix(in oklab, var(--background) 40%, transparent);
  background: color-mix(in oklab, var(--foreground) 95%, transparent); color: var(--background); cursor: pointer; box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1); }
.tb-vid-btn svg { width: 1.25rem; height: 1.25rem; }
.tb-vid-btn:hover { background: var(--foreground); }
.tb-vid-btn:focus-visible { outline: 3px solid var(--background); outline-offset: 2px; box-shadow: 0 0 0 6px var(--foreground); }

/* footer toolbar trigger, in the Privacy / Terms row */
.tb-a11y-slot { display: flex; justify-content: center; }
:has(> .tb-a11y-slot) { flex-wrap: wrap; }
.tb-a11y-slot .a11y-tb-slot { margin: 0; }
.tb-a11y-slot .a11y-tb-trigger { color: inherit; font: inherit; }

/* statement page */
.a11y-statement h2 { font-family: var(--font-display, inherit); font-size: 1.75rem; line-height: 1.2; margin-top: 2.5rem; }
.a11y-statement ul { list-style: disc; padding-left: 1.25rem; display: grid; gap: .6rem; }
.a11y-statement p + p, .a11y-statement p + ul, .a11y-statement ul + p { margin-top: 1rem; }

/* soundtrack: categories switching must not move the reader's scroll position (live does not) */
html.tb-no-anchor, html.tb-no-anchor body { overflow-anchor: none; }

/* Home: coral announcement marquee removed (owner, 10/27) */
section[aria-label="Announcements"]:has(.ticker-track) { display: none; } /* sitewide: no SEO value (owner 10/27) */

/* Home: premise lines ("A ranch… A girl… A hunter…") parked for now (owner, 10/27). Delete this rule to bring them back. */
main > section[aria-label="The story"] { display: none; }
/* Header + menu-sheet logo: one-line lockup (owner, 10/27; src/lib/header-logo.mjs). Sized by width so it fits
   between "Buy the Book" and the icons at 320. */
.tb-logo-line { display: block; height: auto; width: clamp(7.5rem, calc(100vw - 13.5rem), 18.75rem); max-width: none; }
.tb-logo-line--menu { width: clamp(11rem, 55vw, 18rem); }

/* Home: Readers ask (pink) runs straight into the author intro, no cream gap (owner 10/27) */
.tb-ask ~ section[aria-labelledby="home-author-intro"] { margin-top: 0; }

/* Footer: no separating rules between the link row and the copyright (owner 10/27) */
footer .border-t.pt-7 { border-top-width: 0; }
footer > .grid.border-b { border-bottom-width: 0; }

/* Home hero: flat 10% black overlay across the whole hero (owner request 2026-10-28) */
.hero-veil.hero-veil::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / 0.10); pointer-events: none; }
