/**
 * Borsite design tokens - primitives + semantic + theme overrides + on-dark.
 * Authoritative docs: docs/design-system.md (LOCKED from Homepage FINAL).
 * Visual SoT: Homepage FINAL + reference/Borsite_Design_System.html.
 * Themes: html[data-theme="light|dark"]. Spacing: 8px scale.
 * Do not invent alternate palettes; document deviations in docs/decisions.md.
 */

:root {
  /* --- Primitives (locked) --- */
  --borsite-primitive-paper: #eee9df;
  --borsite-primitive-mist: #eef1ed;
  --borsite-primitive-ink: #101817;
  --borsite-primitive-deep: #081617;
  --borsite-primitive-teal-dark: #10292a;
  --borsite-primitive-teal: #164447;
  --borsite-primitive-brass: #927d5a;
  --borsite-primitive-sage: #e4ebe7;
  --borsite-primitive-cream: #f2eee7;

  /* --- Typography --- */
  --borsite-font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  --borsite-font-display-accent: "Vollkorn", Georgia, "Times New Roman", serif;
  --borsite-font-ui: "Commissioner", Arial, "Helvetica Neue", sans-serif;
  --borsite-font-sans: var(--borsite-font-ui);
  --borsite-font-serif: var(--borsite-font-display);

  /* --- Font weights (UI rebalance - calmer medium, no 700+) --- */
  --borsite-weight-display: 400;
  --borsite-weight-ui: 500;
  --borsite-weight-ui-strong: 600;
  --borsite-weight-label: 500; /* caps kickers/labels - thinner than buttons 600; emphasis via tracking + color */
  --borsite-weight-brand: 600;

  /* --- Letter-spacing --- */
  --borsite-tracking-ui: 0.015em; /* desktop nav ~0.01-0.02em */
  --borsite-tracking-btn: 0.04em; /* buttons 0.03-0.045em */
  --borsite-tracking-label: 0.16em; /* open caps tracking 0.14-0.17em - denser than buttons */
  --borsite-tracking-brand: 0.1em; /* ALL-CAPS logo: open 0.08-0.12em - not cramped / not negative */
  --borsite-tracking-tagline: 0.1em; /* legacy; tagline removed from header */
  --borsite-tracking-card-title: -0.02em; /* legacy alias; editorial cards use --borsite-tracking-display */
  --borsite-tracking-display: -0.02em; /* large serif H1/H2 - slight negative OK */

  /* --- Type optical / label size (visual-lock-v1-type) --- */
  --borsite-accent-optical-size: 1.12em; /* Vollkorn italic optical match vs Source Serif roman */
  --borsite-tracking-accent: 0.01em; /* slightly open vs headline negative tracking */
  --borsite-size-label: 0.5625rem; /* ~9px - slightly smaller than prior 10px; not button-like */

  /* --- Spacing (8px scale; half-steps allowed) --- */
  --borsite-space-0: 0;
  --borsite-space-1: 0.25rem; /* 4px */
  --borsite-space-2: 0.5rem; /* 8px */
  --borsite-space-3: 0.75rem; /* 12px */
  --borsite-space-4: 1rem; /* 16px */
  --borsite-space-5: 1.25rem; /* 20px */
  --borsite-space-6: 1.5rem; /* 24px */
  --borsite-space-8: 2rem; /* 32px */
  --borsite-space-10: 2.5rem; /* 40px */
  --borsite-space-12: 3rem; /* 48px */
  --borsite-space-16: 4rem; /* 64px */

  /* --- Radii (homepage FINAL: ~18 / 24 / 32) --- */
  --borsite-radius-sm: 0.5rem; /* 8px */
  --borsite-radius-md: 1.125rem; /* 18px */
  --borsite-radius-lg: 1.5rem; /* 24px */
  --borsite-radius-xl: 2rem; /* 32px */
  --borsite-radius-pill: 999px;

  /* --- Shadows (homepage surfaces) --- */
  --borsite-shadow: 0 1.125rem 3.75rem color-mix(in srgb, var(--borsite-primitive-ink) 10%, transparent);
  --borsite-shadow-soft: 0 0.625rem 1.875rem color-mix(in srgb, var(--borsite-primitive-ink) 8%, transparent);

  /* --- Motion --- */
  --borsite-duration-fast: 150ms;
  --borsite-duration-base: 250ms;
  --borsite-duration-slow: 380ms;
  --borsite-ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
  --borsite-ease-out: ease-out;
  --borsite-motion-drawer: transform var(--borsite-duration-slow) var(--borsite-ease-standard);
  --borsite-motion-fade: opacity var(--borsite-duration-base) var(--borsite-ease-out);
  --borsite-motion-color: background-color var(--borsite-duration-base) ease,
    color var(--borsite-duration-base) ease,
    border-color var(--borsite-duration-base) ease;

  /* --- Layout --- */
  --borsite-max-content: 45rem;
  --borsite-max-wide: 80rem; /* 1280px @ 16px */
  --borsite-max-band: 56rem; /* editorial content band (no longer a page width, RULES 49) */
  /* One page width for every page and component (RULES 49, designer 18.10.2026): the locked
     .borsite-wrap of the v1 HTML, min(100% - 2.75rem, 80rem); 100% - 1.5rem up to 640px. */
  --borsite-layout-w: min(calc(100% - 2.75rem), var(--borsite-max-wide));
  /* Reading text (body, About text, descriptions, row text): at most 45rem, left-aligned inside
     the page width (RULES 50). */
  --borsite-read-w: 45rem;
  --borsite-drawer-width: min(26.25rem, 92vw);

  /* --- Semantic (default = light surfaces until data-theme / OS applies) --- */
  --borsite-color-bg: var(--borsite-primitive-paper);
  --borsite-color-bg-elevated: var(--borsite-primitive-cream);
  --borsite-color-bg-muted: var(--borsite-primitive-mist);
  --borsite-color-bg-inverse: var(--borsite-primitive-deep);
  --borsite-color-surface: var(--borsite-primitive-sage);
  --borsite-color-text: var(--borsite-primitive-ink);
  --borsite-color-text-muted: color-mix(in srgb, var(--borsite-primitive-ink) 72%, transparent);
  --borsite-color-text-inverse: var(--borsite-primitive-cream);
  --borsite-color-border: color-mix(in srgb, var(--borsite-primitive-ink) 14%, transparent);
  --borsite-color-accent: var(--borsite-primitive-brass);
  --borsite-color-kicker: #927d5a; /* LOCKED - only light/card/paper kicker color */
  --borsite-color-accent-editorial: var(--borsite-color-kicker); /* alias → kicker */
  --borsite-color-accent-strong: var(--borsite-primitive-teal);
  --borsite-color-link: var(--borsite-primitive-teal);
  --borsite-color-link-hover: var(--borsite-primitive-brass);
  --borsite-btn-primary-text: #fff;
  --borsite-btn-primary-bg: linear-gradient(105deg, #23484a 0%, #274d4e 52%, #2a5050 100%);
  --borsite-color-focus: var(--borsite-primitive-teal);
  --borsite-color-overlay: color-mix(in srgb, var(--borsite-primitive-deep) 50%, transparent);
  --borsite-shadow-drawer: -1.875rem 0 5rem color-mix(in srgb, var(--borsite-primitive-ink) 16%, transparent);
  --borsite-shadow: 0 1.125rem 3.75rem color-mix(in srgb, var(--borsite-primitive-ink) 10%, transparent);
  --borsite-shadow-soft: 0 0.625rem 1.875rem color-mix(in srgb, var(--borsite-primitive-ink) 8%, transparent);
  /* --- On-dark / hero (locked FINAL hex; surfaces on photos) ---
   * See docs/design-system.md §3.3 - used by hero + feature even in light theme.
   */
  --borsite-color-title-accent: #927d5a;
  --borsite-color-title-accent-on-dark: #c5b58f;
  /* Kickers: EXACTLY two colors - light=#927d5a (--kicker), dark/photo=#f7f3ec (--kicker-on-dark). No gold/teal/rust for kickers. */
  --borsite-color-kicker-on-dark: #f7f3ec; /* LOCKED - only dark/hero/on-image kicker */
  --borsite-color-kicker-on-dark-solid: #f7f3ec;
  --borsite-color-hero-kicker: var(--borsite-color-kicker-on-dark); /* alias */
  --borsite-color-hero-text: #f7f3ec;
  --borsite-color-hero-body: #ddd6cc;
  --borsite-color-inline-accent-on-dark: #c5b58f; /* gold on-dark (same as title-accent-on-dark; was mint #c5d5d0) */
  --borsite-weight-meta: 500; /* date / reading time - not caps */

  /* --- Component state: card hover / focus-visible (LOCKED 18.10.2026, docs/design-system.md) --- */
  --borsite-motion-duration: var(--borsite-duration-base);
  --borsite-motion-ease: var(--borsite-ease-standard);
  --borsite-card-lift-hover: -0.125rem;
  --borsite-card-zoom-hover: 1.035;
  --borsite-shadow-card-hover: 0 1.5rem 3.5rem color-mix(in srgb, var(--borsite-primitive-ink) 16%, transparent),
    0 0.375rem 1rem color-mix(in srgb, var(--borsite-primitive-ink) 10%, transparent);
  --borsite-card-stroke-hover: color-mix(in srgb, var(--borsite-primitive-brass) 60%, transparent);

  /* --- Image tone (LOCKED 18.10.2026): slightly green dark tint that evens out photo colour --- */
  --borsite-image-tone: linear-gradient(0deg,
      color-mix(in srgb, var(--borsite-primitive-deep) 50%, transparent) 0%,
      color-mix(in srgb, var(--borsite-primitive-teal-dark) 22%, transparent) 45%,
      transparent 100%);
  /* Photo with text on it (feature card): tone + legible bottom */
  --borsite-image-tone-text: linear-gradient(0deg,
      color-mix(in srgb, var(--borsite-primitive-deep) 88%, transparent) 0%,
      color-mix(in srgb, var(--borsite-primitive-teal-dark) 30%, transparent) 60%,
      transparent 100%);
  /* Hero: dark behind the text on the left, fading out to the right so the photo stays visible */
  --borsite-hero-overlay: linear-gradient(90deg,
      color-mix(in srgb, var(--borsite-primitive-deep) 86%, transparent) 0%,
      color-mix(in srgb, var(--borsite-primitive-deep) 70%, transparent) 26%,
      color-mix(in srgb, var(--borsite-primitive-teal-dark) 40%, transparent) 50%,
      color-mix(in srgb, var(--borsite-primitive-teal-dark) 12%, transparent) 74%,
      transparent 100%);
  /* Hero on mobile: text sits at the bottom */
  --borsite-hero-overlay-mobile: linear-gradient(180deg,
      color-mix(in srgb, var(--borsite-primitive-deep) 6%, transparent) 0%,
      color-mix(in srgb, var(--borsite-primitive-deep) 18%, transparent) 32%,
      color-mix(in srgb, var(--borsite-primitive-deep) 80%, transparent) 70%,
      color-mix(in srgb, var(--borsite-primitive-deep) 90%, transparent) 100%);

}


/* Explicit light */
html[data-theme="light"] {
  color-scheme: light;
  --borsite-color-title-accent: #927d5a;
  --borsite-color-bg: var(--borsite-primitive-paper);
  --borsite-color-bg-elevated: var(--borsite-primitive-cream);
  --borsite-color-bg-muted: var(--borsite-primitive-mist);
  --borsite-color-bg-inverse: var(--borsite-primitive-deep);
  --borsite-color-surface: var(--borsite-primitive-sage);
  --borsite-color-text: var(--borsite-primitive-ink);
  --borsite-color-text-muted: color-mix(in srgb, var(--borsite-primitive-ink) 72%, transparent);
  --borsite-color-text-inverse: var(--borsite-primitive-cream);
  --borsite-color-border: color-mix(in srgb, var(--borsite-primitive-ink) 14%, transparent);
  --borsite-color-accent: var(--borsite-primitive-brass);
  --borsite-color-kicker: #927d5a; /* LOCKED - only light/card/paper kicker color */
  --borsite-color-accent-editorial: var(--borsite-color-kicker); /* alias → kicker */
  --borsite-color-accent-strong: var(--borsite-primitive-teal);
  --borsite-color-link: var(--borsite-primitive-teal);
  --borsite-color-link-hover: var(--borsite-primitive-brass);
  --borsite-btn-primary-text: #fff;
  --borsite-btn-primary-bg: linear-gradient(105deg, #23484a 0%, #274d4e 52%, #2a5050 100%);
  --borsite-color-focus: var(--borsite-primitive-teal);
  --borsite-color-overlay: color-mix(in srgb, var(--borsite-primitive-deep) 50%, transparent);
  --borsite-shadow-drawer: -1.875rem 0 5rem color-mix(in srgb, var(--borsite-primitive-ink) 16%, transparent);
  --borsite-shadow: 0 1.125rem 3.75rem color-mix(in srgb, var(--borsite-primitive-ink) 10%, transparent);
  --borsite-shadow-soft: 0 0.625rem 1.875rem color-mix(in srgb, var(--borsite-primitive-ink) 8%, transparent);
}

/* Explicit dark */
html[data-theme="dark"] {
  color-scheme: dark;
  --borsite-color-title-accent: #927d5a; /* paper titles; hero uses *-on-dark */
  --borsite-color-bg: var(--borsite-primitive-deep);
  --borsite-color-bg-elevated: var(--borsite-primitive-teal-dark);
  --borsite-color-bg-muted: var(--borsite-primitive-ink);
  --borsite-color-bg-inverse: var(--borsite-primitive-cream);
  --borsite-color-surface: var(--borsite-primitive-teal);
  --borsite-color-text: var(--borsite-primitive-cream);
  --borsite-color-text-muted: color-mix(in srgb, var(--borsite-primitive-cream) 70%, transparent);
  --borsite-color-text-inverse: var(--borsite-primitive-deep);
  --borsite-color-border: color-mix(in srgb, var(--borsite-primitive-cream) 16%, transparent);
  --borsite-color-accent: var(--borsite-primitive-brass);
  --borsite-color-accent-strong: var(--borsite-primitive-sage);
  --borsite-color-link: var(--borsite-primitive-sage);
  --borsite-color-link-hover: var(--borsite-primitive-brass);
  --borsite-btn-primary-text: #edf3ef;
  --borsite-btn-primary-bg: linear-gradient(105deg, #345f5b, #2e5551 55%, #294d49);
  --borsite-color-focus: var(--borsite-primitive-brass);
  --borsite-color-overlay: color-mix(in srgb, var(--borsite-primitive-deep) 70%, transparent);
  --borsite-shadow-drawer: -1.875rem 0 5rem color-mix(in srgb, var(--borsite-primitive-deep) 60%, transparent);
  --borsite-shadow: 0 1.375rem 4rem color-mix(in srgb, #000 30%, transparent);
  --borsite-shadow-soft: 0 0.75rem 2.375rem color-mix(in srgb, #000 20%, transparent);
  --borsite-shadow-card-hover: 0 1.75rem 4rem color-mix(in srgb, #000 44%, transparent),
    0 0.5rem 1.25rem color-mix(in srgb, #000 28%, transparent);
  --borsite-card-stroke-hover: color-mix(in srgb, var(--borsite-primitive-brass) 70%, transparent);
  --borsite-image-tone: linear-gradient(0deg,
      color-mix(in srgb, var(--borsite-primitive-deep) 60%, transparent) 0%,
      color-mix(in srgb, var(--borsite-primitive-teal-dark) 30%, transparent) 45%,
      transparent 100%);
}

/* System preference when no explicit data-theme (no-JS / first paint) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    color-scheme: dark;
    --borsite-color-bg: var(--borsite-primitive-deep);
    --borsite-color-bg-elevated: var(--borsite-primitive-teal-dark);
    --borsite-color-bg-muted: var(--borsite-primitive-ink);
    --borsite-color-bg-inverse: var(--borsite-primitive-cream);
    --borsite-color-surface: var(--borsite-primitive-teal);
    --borsite-color-text: var(--borsite-primitive-cream);
    --borsite-color-text-muted: color-mix(in srgb, var(--borsite-primitive-cream) 70%, transparent);
    --borsite-color-text-inverse: var(--borsite-primitive-deep);
    --borsite-color-border: color-mix(in srgb, var(--borsite-primitive-cream) 16%, transparent);
    --borsite-color-accent: var(--borsite-primitive-brass);
    --borsite-color-accent-strong: var(--borsite-primitive-sage);
    --borsite-color-link: var(--borsite-primitive-sage);
    --borsite-color-link-hover: var(--borsite-primitive-brass);
    --borsite-btn-primary-text: #edf3ef;
    --borsite-btn-primary-bg: linear-gradient(105deg, #345f5b, #2e5551 55%, #294d49);
    --borsite-color-focus: var(--borsite-primitive-brass);
    --borsite-color-overlay: color-mix(in srgb, var(--borsite-primitive-deep) 70%, transparent);
    --borsite-shadow-drawer: -1.875rem 0 5rem color-mix(in srgb, var(--borsite-primitive-deep) 60%, transparent);
    --borsite-shadow-card-hover: 0 1.75rem 4rem color-mix(in srgb, #000 44%, transparent),
      0 0.5rem 1.25rem color-mix(in srgb, #000 28%, transparent);
    --borsite-card-stroke-hover: color-mix(in srgb, var(--borsite-primitive-brass) 70%, transparent);
    --borsite-image-tone: linear-gradient(0deg,
        color-mix(in srgb, var(--borsite-primitive-deep) 60%, transparent) 0%,
        color-mix(in srgb, var(--borsite-primitive-teal-dark) 30%, transparent) 45%,
        transparent 100%);
}
}

html {
  color-scheme: light dark;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --borsite-duration-fast: 0ms;
    --borsite-duration-base: 0ms;
    --borsite-duration-slow: 0ms;
  }
}

body {
  background-color: var(--borsite-color-bg);
  background-image:
    radial-gradient(circle at 10% 5%, color-mix(in srgb, var(--borsite-primitive-cream) 74%, transparent), transparent 30%),
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--borsite-primitive-sage) 46%, transparent), transparent 30%),
    radial-gradient(circle at 52% 54%, color-mix(in srgb, var(--borsite-primitive-mist) 88%, transparent), transparent 38%),
    linear-gradient(135deg, var(--borsite-primitive-paper) 0%, var(--borsite-primitive-mist) 34%, #e4edeb 68%, #dde8e5 100%);
  background-attachment: fixed;
  color: var(--borsite-color-text);
  font-family: var(--borsite-font-ui);
  transition: var(--borsite-motion-color);
  font-feature-settings: "locl" 1;
  margin: 0;
  line-height: 1.45;
}

html[data-theme="dark"] body {
  background-image:
    radial-gradient(circle at 11% 3%, color-mix(in srgb, var(--borsite-primitive-brass) 12%, transparent), transparent 27%),
    radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--borsite-primitive-teal) 18%, transparent), transparent 31%),
    radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--borsite-primitive-teal-dark) 40%, transparent), transparent 39%),
    linear-gradient(145deg, #081313 0%, #0c1a19 43%, #102220 72%, #091616 100%);
}

/* Component colour tokens (from the locked HTML values, moved out of component CSS 18.10.2026).
   Change here, never in components.css / pages.css. */
:root {
  --borsite-c-white: #fff;
  --borsite-c-btn--primary-bg: #23484a;
  --borsite-c-btn--primary-bg-2: #274d4e;
  --borsite-c-btn--primary-bg-3: #2a5050;
  --borsite-c-white-dark: #edf3ef;
  --borsite-c-btn--primary-bg-dark: #345f5b;
  --borsite-c-btn--primary-bg-dark-2: #2e5551;
  --borsite-c-btn--primary-bg-dark-3: #294d49;
  --borsite-c-black: #000;
  --borsite-c-hero-card-bg: rgba(20, 20, 20, 0.96);
  --borsite-c-hero-card-bg-2: rgba(20, 20, 20, 0.72);
  --borsite-c-hero-card-bg-3: rgba(7, 18, 19, 0.86);
  --borsite-c-hero-card-bg-4: rgba(7, 18, 19, 0.66);
  --borsite-c-hero-card-bg-5: rgba(7, 18, 19, 0.32);
  --borsite-c-hero-card-bg-6: rgba(7, 18, 19, 0.08);
  --borsite-c-hero-card-bg-7: rgba(5, 14, 15, 0.02);
  --borsite-c-hero-card-bg-8: rgba(5, 14, 15, 0.18);
  --borsite-c-card-bg: #e0ebe8;
  --borsite-c-card-bg-2: #e6ece1;
  --borsite-c-feature-large-bg: rgba(14, 14, 14, 0.84);
  --borsite-c-promo-visual-bg: #ece5db;
  --borsite-c-promo-visual-bg-2: #d7d0c6;
  --borsite-c-promo-visual--book-bg: #e7e7df;
  --borsite-c-promo-visual--book-bg-dark: #162523;
  --borsite-c-promo-visual--book-bg-dark-2: #1d312e;
  --borsite-c-newsletter-bg-dark: rgba(28, 28, 26, 0.82);
  --borsite-c-newsletter-bg-dark-2: rgba(28, 28, 26, 0.58);
  --borsite-c-site-footer-bg: #071111;
  --borsite-c-site-footer-bg-2: #0a1716;
  --borsite-c-site-footer-bg-3: #0e1d1c;
  --borsite-c-site-footer-color: #eee;
  --borsite-c-footer-blurb-color: #91a5a0;
  --borsite-c-footer-col-color: #bac8c4;
  --borsite-c-footer-col-color-2: #eef5f2;
  --borsite-c-newsletter-bg-dark-3: rgba(34, 52, 49, 0.72);
  --borsite-c-newsletter-bg-dark-4: rgba(16, 30, 29, 0.59);
  --borsite-c-icon-btn-bg-dark: rgba(39, 57, 54, 0.72);
  --borsite-c-icon-btn-bg-dark-2: rgba(18, 33, 31, 0.65);
  --borsite-c-hero-card-bg-9: rgba(12, 12, 12, 0.18);
  --borsite-c-hero-card-bg-10: rgba(12, 12, 12, 0.9);
  --borsite-c-home-editor-media-bg: rgb(255 255 255 / 0.94);
  --borsite-c-home-editor-note-color: #4a4a4a;
  --borsite-c-icon-stroke-dark: #8eb0aa;
  --borsite-c-book-cover__inner-bg: rgba(0, 0, 0, 0.2);
  --borsite-c-book-cover__inner-bg-2: rgba(255, 255, 255, 0.22);
  --borsite-c-book-cover__inner-bg-3: rgba(0, 0, 0, 0.08);
  --borsite-c-book-cover__inner-shadow-dark: rgba(0, 0, 0, 0.55);
  --borsite-c-book-cover__inner-shadow-dark-2: rgba(0, 0, 0, 0.35);
}

/* Component size tokens (values unchanged from the locked HTML, moved out of component CSS 18.10.2026).
   One token per component + property + value. Change here, never in components.css / pages.css / article.css. */
:root {
  --borsite-s-skip-link-left: -9999px;
  --borsite-s-skip-link-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-wrap-w: var(--borsite-layout-w);
  --borsite-s-site-header-backdrop: blur(20px) saturate(130%);
  --borsite-s-site-header-webkitba: blur(20px) saturate(130%);
  --borsite-s-site-header-bdb: 1px solid var(--borsite-color-border);
  --borsite-s-header-inner-h: 4.25rem;
  --borsite-s-site-header-shadow: 0 0.625rem 2rem color-mix(in srgb, var(--borsite-primitive-ink) 8%, transparent);
  --borsite-s-header-inner-h-2: 3.625rem;
  --borsite-s-brand-fs: 1.0625rem;
  --borsite-s-header-actions-gap: 0.4rem;
  --borsite-s-header-search-w: clamp(13.75rem, 18vw, 20rem);
  --borsite-s-header-search-h: 2.375rem; /* locked Theme_Preview value */
  --borsite-s-header-search-: 220 / 259 / 320px at 1280 / 1440 / 1920 */
  height: 2.375rem;
  --borsite-s-header-search-bd: 1px solid color-mix(in srgb, var(--borsite-color-border) 72%, transparent);
  --borsite-s-header-search-p: 0 2.25rem 0 0.875rem;
  --borsite-s-header-search-fs: 0.8125rem;
  --borsite-s-header-search-shadow: 0 0 0 3px color-mix(in srgb, var(--borsite-primitive-teal) 8%, transparent);
  --borsite-s-header-search-submit-right: 0.1rem;
  --borsite-s-header-search-submit-w: 1.75rem;
  --borsite-s-header-search-submit-h: 1.75rem;
  --borsite-s-header-search-submit-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-header-search-submit-olo: 2px;
  --borsite-s-icon-w: 1.0625rem;
  --borsite-s-icon-h: 1.0625rem;
  --borsite-s-drawer-lang-gap: 0.3125rem;
  --borsite-s-drawer-lang-h: 2.25rem;
  --borsite-s-drawer-lang-fs: 0.75rem;
  --borsite-s-drawer-lang-inset: -0.25rem 0;
  --borsite-s-drawer-lang-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-drawer-lang-olo: 2px;
  --borsite-s-theme-cycle-btn-w: 2.25rem;
  --borsite-s-theme-cycle-btn-h: 2.25rem;
  --borsite-s-theme-cycle-btn-inset: -0.25rem;
  --borsite-s-theme-cycle-btn-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-theme-cycle-btn-olo: 2px;
  --borsite-s-icon-w-2: 1.125rem;
  --borsite-s-icon-h-2: 1.125rem;
  --borsite-s-theme-cycle-tip-top: calc(100% + 0.5625rem);
  --borsite-s-theme-cycle-tip-fs: 0.75rem;
  --borsite-s-theme-cycle-tip-p: 0.3125rem var(--borsite-space-2);
  --borsite-s-theme-cycle-tip-r: 0.4375rem;
  --borsite-s-theme-cycle-tip-tf: translateY(-3px);
  --borsite-s-theme-pick-p: 3px;
  --borsite-s-theme-pick-shadow: 0 0 0 1px var(--borsite-color-border);
  --borsite-s-theme-pick-opt-w: 2.125rem;
  --borsite-s-theme-pick-opt-h: 1.875rem;
  --borsite-s-theme-pick-opt-inset: -0.4375rem -0.3125rem;
  --borsite-s-theme-pick-opt-shadow: inset 0 0 0 1px color-mix(in srgb, var(--borsite-color-text) 22%, transparent);
  --borsite-s-theme-pick-opt-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-theme-pick-opt-olo: 2px;
  --borsite-s-header-search-w-2: 2.625rem;
  --borsite-s-header-search-submit-w-2: 2.625rem;
  --borsite-s-header-search-submit-h-2: 2.625rem;
  --borsite-s-header-search-submit-bd: 1px solid var(--borsite-color-border);
  --borsite-s-icon-btn-w: 2.625rem;
  --borsite-s-icon-btn-h: 2.625rem;
  --borsite-s-icon-btn-bd: 1px solid var(--borsite-color-border);
  --borsite-s-icon-btn-backdrop: blur(10px);
  --borsite-s-icon-btn-tf: translateY(-2px);
  --borsite-s-icon-btn-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-icon-btn-olo: 2px;
  --borsite-s-icon-w-3: 1.25rem;
  --borsite-s-icon-h-3: 1.25rem;
  --borsite-s-nav--header-gap: clamp(0.75rem, 1.6vw, 1.75rem);
  --borsite-s-nav--header-fs: 0.875rem;
  --borsite-s-nav--header-p: var(--borsite-space-2) 0 0.45rem;
  --borsite-s-nav--header-h: 2px;
  --borsite-s-nav--header-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-nav--header-olo: 4px;
  --borsite-s-drawer-p: 1.75rem;
  --borsite-s-drawer-bdl: 1px solid var(--borsite-color-border);
  --borsite-s-drawer-head-bdb: 1px solid var(--borsite-color-border);
  --borsite-s-drawer-kicker-fs: 1.0625rem;
  --borsite-s-drawer-sub-fs: 0.5625rem;
  --borsite-s-drawer-close-w: 2.75rem;
  --borsite-s-drawer-close-h: 2.75rem;
  --borsite-s-drawer-close-bd: 1px solid var(--borsite-color-border);
  --borsite-s-icon--close-w: 1.125rem;
  --borsite-s-icon--close-h: 1.125rem;
  --borsite-s-icon--close-tf: translate(0.5px, 0.5px);
  --borsite-s-drawer-close-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-drawer-close-olo: 2px;
  --borsite-s-drawer-nav-minh: 3rem;
  --borsite-s-drawer-nav-bdb: 1px solid var(--borsite-color-border);
  --borsite-s-drawer-nav-fs: 1.375rem;
  --borsite-s-drawer-nav-h: 2px;
  --borsite-s-drawer-divider-h: 1px;
  --borsite-s-drawer-divider-m: 1.75rem 0 1.375rem;
  --borsite-s-drawer-label-fs: var(--borsite-size-label, 0.5625rem);
  --borsite-s-drawer-topics-p: var(--borsite-space-2) 0.6875rem;
  --borsite-s-drawer-topics-bd: 1px solid var(--borsite-color-border);
  --borsite-s-drawer-topics-fs: 0.75rem;
  --borsite-s-drawer-footer-minh: 3.5rem;
  --borsite-s-drawer-footer-p: var(--borsite-space-1) 0 0.625rem;
  --borsite-s-drawer-footer-bdb: 1px solid var(--borsite-color-border);
  --borsite-s-drawer-lang-marginle: -0.5rem;
  --borsite-s-drawer-backdrop-backdrop: blur(7px);
  --borsite-s-drawer-backdrop-webkitba: blur(7px);
  --borsite-s-kicker-fs: var(--borsite-size-label, 0.5625rem);
  --borsite-s-label-fs: var(--borsite-size-label, 0.5625rem);
  --borsite-s-label-marginbo: 0.625rem;
  --borsite-s-meta-fs: 0.6875rem;
  --borsite-s-btn-p: 0.875rem 1.35rem;
  --borsite-s-btn-fs: 0.8125rem;
  --borsite-s-btn-gap: 0.625rem;
  --borsite-s-btn-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-btn-olo: 2px;
  --borsite-s-btn--primary-shadow: 0 5px 14px color-mix(in srgb, var(--borsite-primitive-teal) 10%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--borsite-c-white) 10%, transparent);
  --borsite-s-btn--primary-tf: translateY(-2px) scale(1.01);
  --borsite-s-btn--ghost-bd: 1px solid color-mix(in srgb, var(--borsite-c-white) 18%, transparent);
  --borsite-s-btn--ghost-backdrop: blur(10px);
  --borsite-s-btn--ghost-tf: translateY(-2px);
  --borsite-s-btn--primary-shadow-2: 0 9px 26px color-mix(in srgb, var(--borsite-c-black) 19%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--borsite-c-white) 7.5%, transparent);
  --borsite-s-read-fs: 0.8125rem;
  --borsite-s-read-tf: translateX(3px);
  --borsite-s-hero-p: var(--borsite-space-10) 0 2.125rem;
  --borsite-s-hero-card-bd: 1px solid var(--borsite-color-border);
  --borsite-s-hero-card-minh: 33.75rem;
  --borsite-s-hero-content-w: min(37.5rem, 62%);
  --borsite-s-hero-content-minh: 33.75rem;
  --borsite-s-hero-content-p: 3.625rem;
  --borsite-s-hero-content-fs: clamp(3.25rem, 5.4vw, 5rem);
  --borsite-s-hero-content-fs-2: 1.1875rem;
  --borsite-s-section-p: 3.625rem 0;
  --borsite-s-section-head-marginbo: 1.625rem;
  --borsite-s-section-head-fs: clamp(2.25rem, 4vw, 3.375rem);
  --borsite-s-section-head-maxw: 32.5rem;
  --borsite-s-section-head-fs-2: 0.9375rem;
  --borsite-s-card-bd: 1px solid var(--borsite-color-border);
  --borsite-s-card-backdrop: blur(22px) saturate(135%);
  --borsite-s-card-shadow: 0 0.875rem 2.375rem color-mix(in srgb, var(--borsite-primitive-ink) 9%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--borsite-c-white) 82%, transparent);
  --borsite-s-card-tf: translateY(-5px);
  --borsite-s-card-body-p: 1.125rem;
  --borsite-s-card-body-minh: 9.5rem;
  --borsite-s-card-fs: 1.4375rem;
  --borsite-s-feature-grid-gap: 1.125rem;
  --borsite-s-feature-large-minh: 26.875rem;
  --borsite-s-feature-large-bd: 1px solid var(--borsite-color-border);
  --borsite-s-feature-copy-left: 1.75rem;
  --borsite-s-feature-copy-right: 1.75rem;
  --borsite-s-feature-copy-bottom: 1.625rem;
  --borsite-s-feature-copy-fs: 2.625rem;
  --borsite-s-mini-card-cols: 10rem 1fr;
  --borsite-s-mini-card-minh: 8.25rem;
  --borsite-s-mini-card-bd: 1px solid var(--borsite-color-border);
  --borsite-s-mini-card-backdrop: blur(20px) saturate(130%);
  --borsite-s-mini-card-shadow: 0 0.75rem 2.125rem color-mix(in srgb, var(--borsite-primitive-ink) 8%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--borsite-c-white) 78%, transparent);
  --borsite-s-mini-card-tf: translateY(-3px);
  --borsite-s-kicker-marginbo: 0.375rem;
  --borsite-s-mini-copy-fs: 1.125rem;
  --borsite-s-promo-grid-gap: 1.125rem;
  --borsite-s-promo-minh: 12.8125rem;
  --borsite-s-promo-bd: 1px solid var(--borsite-color-border);
  --borsite-s-promo-copy-fs: clamp(1.75rem, 2.5vw, 2.25rem);
  --borsite-s-promo-copy-m: var(--borsite-space-3) 0 1.125rem;
  --borsite-s-promo-copy-fs-2: 0.9375rem;
  --borsite-s-promo-visual-minh: 16.875rem;
  --borsite-s-promo-visual-inset: -8px;
  --borsite-s-promo-visual-w: calc(100% + 16px);
  --borsite-s-promo-visual-h: calc(100% + 16px);
  --borsite-s-newsletter-m: 1.125rem auto var(--borsite-space-16);
  --borsite-s-newsletter-w: var(--borsite-layout-w);
  --borsite-s-newsletter-bd: 1px solid var(--borsite-color-border);
  --borsite-s-newsletter-backdrop: blur(18px);
  --borsite-s-newsletter-p: 1.75rem;
  --borsite-s-newsletter-lh: 1.45; /* locked: inherits the body line height (Theme Preview) */
  --borsite-s-newsletter-fs: 1.75rem;
  --borsite-s-subscribe-minw: 17.5rem;
  --borsite-s-subscribe-bd: 1px solid var(--borsite-color-border);
  --borsite-s-subscribe-p: 0.8125rem var(--borsite-space-4);
  --borsite-s-subscribe-shadow: 0 0 0 4px color-mix(in srgb, var(--borsite-primitive-teal) 8%, transparent);
  --borsite-s-form-status-fs: 0.75rem;
  --borsite-s-hp-left: -9999px;
  --borsite-s-site-footer-p: 2.625rem 0;
  --borsite-s-footer-grid-gap: 1.75rem;
  --borsite-s-brand-fs-2: 1.125rem;
  --borsite-s-footer-blurb-fs: 0.75rem;
  --borsite-s-footer-blurb-maxw: 20rem;
  --borsite-s-footer-col-fs: var(--borsite-size-label, 0.5625rem);
  --borsite-s-footer-col-fs-2: 0.75rem;
  --borsite-s-footer-col-m: 0.4375rem 0;
  --borsite-s-newsletter-shadow: 0 1.5625rem 4.0625rem color-mix(in srgb, var(--borsite-c-black) 24%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--borsite-c-white) 4%, transparent);
  --borsite-s-story-grid-gap: 0.875rem;
  --borsite-s-hero-content-p-2: 2.875rem;
  --borsite-s-wrap-w-2: var(--borsite-layout-w);
  --borsite-s-header-inner-h-3: 4rem;
  --borsite-s-hero-paddingt: 1.125rem;
  --borsite-s-hero-card-minh-2: 35rem;
  --borsite-s-hero-content-p-3: 1.75rem;
  --borsite-s-hero-content-minh-2: 35rem;
  --borsite-s-hero-content-fs-3: 2.75rem;
  --borsite-s-hero-content-fs-4: 1rem;
  --borsite-s-section-p-2: 2.375rem 0;
  --borsite-s-section-head-marginto: 0.625rem;
  --borsite-s-section-head-fs-3: 0.8125rem;
  --borsite-s-card-cols: 7.375rem 1fr;
  --borsite-s-card-marginbo: 0.625rem;
  --borsite-s-card-media-minh: 7.25rem;
  --borsite-s-promo-visual-minh-2: 10.625rem;
  --borsite-s-promo-visual-inset-2: -6px;
  --borsite-s-promo-visual-w-2: calc(100% + 12px);
  --borsite-s-promo-visual-h-2: calc(100% + 12px);
  --borsite-s-card-body-p-2: 0.875rem;
  --borsite-s-card-fs-2: 1rem;
  --borsite-s-feature-large-minh-2: 21.875rem;
  --borsite-s-feature-copy-fs-2: 2rem;
  --borsite-s-mini-card-cols-2: 6.875rem 1fr;
  --borsite-s-mini-card-marginto: 0.625rem;
  --borsite-s-mini-card-minh-2: 6.75rem;
  --borsite-s-promo-cols: 1fr 7.5rem;
  --borsite-s-promo-minh-2: 10.625rem;
  --borsite-s-promo-copy-fs-3: 1.75rem;
  --borsite-s-newsletter-marginbo: 2.25rem;
  --borsite-s-newsletter-w-2: var(--borsite-layout-w);
  --borsite-s-drawer-p-2: 1.375rem;
  --borsite-s-drawer-nav-minh-2: 3.125rem;
  --borsite-s-drawer-nav-fs-2: 1.5rem;
  --borsite-s-drawer-footer-paddingb: max(4px, env(safe-area-inset-bottom));
  --borsite-s-site-header-top: 2rem;
  --borsite-s-drawer-top: 2rem;
  --borsite-s-drawer-h: calc(100% - 2rem);
  --borsite-s-drawer-top-2: 2.875rem;
  --borsite-s-drawer-h-2: calc(100% - 2.875rem);
  --borsite-s-home-editor-row-maxw: 80rem;
  --borsite-s-home-editor-row-p: 0 1.375rem;
  --borsite-s-home-editor-note-fs: 0.8125rem;
  --borsite-s-home-editor-row--dark-p: var(--borsite-space-4) 1.375rem;
  --borsite-s-home-editor-media-inset: auto 0.5rem 0.5rem;
  --borsite-s-home-editor-media-gap: 0.375rem;
  --borsite-s-home-editor-media-r: var(--borsite-radius-md, 0.5rem);
  --borsite-s-home-editor-media-fs: 0.8125rem;
  --borsite-s-base-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-base-olo: 2px;
  --borsite-s-reveal-on-tf: translateY(1.5rem);
  --borsite-s-reveal-on-tf-2: translateY(0.875rem);
  --borsite-s-reveal-on-tf-3: translateY(1.125rem) scale(0.992);
  --borsite-s-hero-content-fs-5: clamp(2.75rem, 4.4vw, 4.25rem);
  --borsite-s-hero-content-fs-6: clamp(2.375rem, 3.6vw, 3.5rem);
  --borsite-s-hero-content-fs-7: clamp(2rem, 3vw, 2.875rem);
  --borsite-s-hero-content-fs-8: 2.375rem;
  --borsite-s-hero-content-fs-9: 2rem;
  --borsite-s-hero-content-fs-10: 1.75rem;
  --borsite-s-pdf-card-ol: 1px solid transparent;
  --borsite-s-pdf-card-olo: -1px;
  --borsite-s-pdf-card-ol-2: 2px solid var(--borsite-color-focus);
  --borsite-s-pdf-card-olo-2: 2px;
  --borsite-s-footer-col-ult: 1px;
  --borsite-s-newsletter-w-3: var(--borsite-layout-w);
  --borsite-s-btn--secondary-bd: 1px solid var(--borsite-color-border);
  --borsite-s-btn--secondary-tf: translateY(-2px);
  --borsite-s-library-title-fs: clamp(2.25rem, 4.2vw, 3.375rem);
  --borsite-s-library-intro-fs: 1.0625rem;
  --borsite-s-library-intro-maxw: 45rem;
  --borsite-s-chips-gap: var(--borsite-space-2) 0.625rem;
  --borsite-s-chip-bd: 1px solid color-mix(in srgb, var(--borsite-color-border) 88%, var(--borsite-primitive-brass));
  --borsite-s-chip-fs: 0.6875rem;
  --borsite-s-chip-p: var(--borsite-space-2) 0.875rem;
  --borsite-s-chip-ol: 2px solid var(--borsite-color-focus, var(--borsite-primitive-teal));
  --borsite-s-chip-olo: 2px;
  --borsite-s-library-count-fs: 0.9375rem;
  --borsite-s-view-toggle-bd: 1px solid var(--borsite-color-border);
  --borsite-s-view-toggle-w: 2.25rem;
  --borsite-s-view-toggle-h: 2.25rem;
  --borsite-s-view-toggle-minh: 2.25rem;
  --borsite-s-view-toggle-bdl: 1px solid var(--borsite-color-border);
  --borsite-s-view-toggle-ol: 2px solid var(--borsite-color-focus, var(--borsite-primitive-teal));
  --borsite-s-view-toggle-olo: -2px;
  --borsite-s-story-grid-gap-2: 1.125rem;
  --borsite-s-card-cols-2: 7.5rem minmax(0, 1fr);
  --borsite-s-card-fs-3: 1.0625rem;
  --borsite-s-meta-marginto: 0.15rem;
  --borsite-s-pagination-gap: 0.35rem;
  --borsite-s-pagination-minw: 2.25rem;
  --borsite-s-pagination-h: 2.25rem;
  --borsite-s-pagination-fs: 0.875rem;
  --borsite-s-pagination-bd: 1px solid transparent;
  --borsite-s-pagination-ol: 2px solid var(--borsite-color-focus, var(--borsite-primitive-teal));
  --borsite-s-pagination-olo: 2px;
  --borsite-s-library-empty-bd: 1px dashed var(--borsite-color-border);
  --borsite-s-library-empty-fs: 1.5rem;
  --borsite-s-card-cols-3: 5.5rem minmax(0, 1fr);
  --borsite-s-card-fs-4: 0.95rem;
  --borsite-s-search-title-fs: clamp(2.25rem, 4.2vw, 3.375rem);
  --borsite-s-search-initial-maxw: 36rem;
  --borsite-s-search-initial-fs: 1.0625rem;
  --borsite-s-search-empty-bd: 1px dashed var(--borsite-color-border);
  --borsite-s-search-empty-fs: 1.5rem;
  --borsite-s-search-empty-fs-2: 1rem;
  --borsite-s-search-empty-home-fs: 0.9375rem;
  --borsite-s-search-empty-home-ol: 2px solid var(--borsite-color-focus, var(--borsite-primitive-teal));
  --borsite-s-search-empty-home-olo: 2px;
  --borsite-s-about-intro-w: var(--borsite-layout-w);
  --borsite-s-article-dek-maxw: 40rem;
  --borsite-s-about-bio-maxw: 40rem;
  --borsite-s-about-follow-maxw: 40rem;
  --borsite-s-about-follow-bdt: 1px solid var(--borsite-color-border);
  --borsite-s-about-follow-label-fs: 0.8125rem;
  --borsite-s-about-social-w: 2.375rem;
  --borsite-s-about-social-h: 2.375rem;
  --borsite-s-about-social-bd: 1px solid var(--borsite-color-border);
  --borsite-s-about-social-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-about-social-olo: 2px;
  --borsite-s-about-portrait-w: min(100%, 16rem);
  --borsite-s-about-portrait-frame-r: var(--borsite-radius-md, 1.125rem);
  --borsite-s-about-portrait-frame-bd: 1px solid var(--borsite-color-border);
  --borsite-s-about-initials-fs: clamp(2.5rem, 6vw, 3.25rem);
  --borsite-s-about-portrait-fs: 0.8125rem;
  --borsite-s-about-below-maxw: 40rem;
  --borsite-s-about-portrait-w-3: min(100%, 14rem);
  --borsite-s-about-portrait-w-2: 15.5rem;
  --borsite-s-podcast-w: var(--borsite-layout-w);
  --borsite-s-article-dek-maxw-2: 36rem;
  --borsite-s-podcast-cover-w: min(100%, 8.5rem);
  --borsite-s-ph-bd: 1px dashed var(--borsite-color-border);
  --borsite-s-ph-fs: 0.6875rem;
  --borsite-s-podcast-latest-art-w: 7.5rem;
  --borsite-s-podcast-thumb-w: 2.75rem;
  --borsite-s-podcast-thumb-h: 2.75rem;
  --borsite-s-ph-w: 2.75rem;
  --borsite-s-ph-h: 2.75rem;
  --borsite-s-ph-r: var(--borsite-radius-sm, 0.25rem);
  --borsite-s-podcast-subscribe-fs: 0.8125rem;
  --borsite-s-podcast-subscribe-minh: 2.75rem;
  --borsite-s-podcast-subscribe-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-podcast-subscribe-olo: 2px;
  --borsite-s-podcast-subscribe-r: 2px;
  --borsite-s-podcast-subscribe-sep-marginin: 0.7rem;
  --borsite-s-podcast-latest-bdt: 1px solid var(--borsite-color-border);
  --borsite-s-podcast-latest-fs: clamp(1.75rem, 3vw, 2.25rem);
  --borsite-s-podcast-row-meta-fs: 0.8125rem;
  --borsite-s-podcast-summary-fs: 1rem;
  --borsite-s-podcast-summary-maxw: 40rem;
  --borsite-s-podcast-archive-fs: clamp(1.5rem, 2.4vw, 1.875rem);
  --borsite-s-podcast-list-bdt: 1px solid var(--borsite-color-border);
  --borsite-s-podcast-row-cols: 2.75rem 2.75rem minmax(0, 1fr) auto;
  --borsite-s-podcast-row-bdb: 1px solid var(--borsite-color-border);
  --borsite-s-podcast-row-minh: 2.75rem;
  --borsite-s-podcast-num-fs: 0.75rem;
  --borsite-s-podcast-row-title-fs: 1.125rem;
  --borsite-s-podcast-row-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-podcast-row-olo: 2px;
  --borsite-s-podcast-cover-w-2: 9.5rem;
  --borsite-s-podcast-row-cols-2: 2.75rem 2.75rem minmax(0, 1fr);
  --borsite-s-hero-content-minh-3: 24rem;
  --borsite-s-hero-content-w-2: min(34rem, 68%);
  --borsite-s-hero-content-p-4: 2.75rem;
  --borsite-s-hero-content-fs-11: clamp(2rem, 3.4vw, 2.85rem);
  --borsite-s-hero-content-m: 0.35rem 0 0;
  --borsite-s-podcast-hero-meta-fs: 0.8125rem;
  --borsite-s-cta-row-marginto: 1.35rem;
  --borsite-s-hero-content-minh-4: 28rem;
  --borsite-s-hero-content-fs-12: 2.15rem;
  --borsite-s-notfound-minh: min(62vh, 36rem);
  --borsite-s-notfound-inner-w: min(calc(100% - 2.75rem), 32rem);
  --borsite-s-notfound-icon-w: 3.25rem;
  --borsite-s-notfound-icon-h: 3.25rem;
  --borsite-s-icon-w-4: 2.75rem;
  --borsite-s-icon-h-4: 2.75rem;
  --borsite-s-notfound-code-fs: clamp(3.5rem, 10vw, 5rem);
  --borsite-s-notfound-message-fs: 1.0625rem;
  --borsite-s-notfound-message-maxw: 28rem;
  --borsite-s-notfound-minh-2: min(52vh, 28rem);
  --borsite-s-book-w: var(--borsite-layout-w);
  --borsite-s-book-section-scrollma: 5.5rem;
  --borsite-s-book-section-head-maxw: 45rem;
  --borsite-s-book-section-head-fs: clamp(1.75rem, 3vw, 2.25rem);
  --borsite-s-book-section-head-fs-2: 0.9375rem;
  --borsite-s-book-cover-inner-r: 0.1875rem 0.375rem 0.375rem 0.1875rem;
  --borsite-s-book-cover-inner-shadow: 0 1rem 1.75rem color-mix(in srgb, var(--borsite-primitive-ink) 20%, transparent),
    0 0.25rem 0.6rem color-mix(in srgb, var(--borsite-primitive-ink) 14%, transparent);
  --borsite-s-book-cover-inner-r-2: 0.1875rem 0 0 0.1875rem;
  --borsite-s-book-cover--3d-perspect: 93.75rem;
  --borsite-s-book-cover-inner-shadow-2: 0 1.75rem 3.25rem var(--borsite-c-book-cover__inner-shadow-dark),
    0 0.3rem 0.8rem var(--borsite-c-book-cover__inner-shadow-dark-2);
  --borsite-s-book-hero-cols: minmax(0, 1fr) 7rem;
  --borsite-s-book-hero-title-fs: clamp(2.125rem, 6vw, 3.75rem);
  --borsite-s-book-hero-sub-fs: clamp(1rem, 1.5vw, 1.1875rem);
  --borsite-s-book-hero-sub-maxw: 30rem;
  --borsite-s-book-hero-hook-fs: clamp(1.125rem, 1.6vw, 1.25rem);
  --borsite-s-book-hero-hook-bdl: 2px solid var(--borsite-color-accent);
  --borsite-s-book-hero-hook-maxw: 30rem;
  --borsite-s-book-hero-meta-fs: 0.8125rem;
  --borsite-s-article-meta-sep-marginin: 0.35rem;
  --borsite-s-book-hero-cols-2: minmax(0, 1fr) minmax(0, 19rem);
  --borsite-s-book-themes-fs: 1.5rem;
  --borsite-s-book-themes-fs-2: 0.9375rem;
  --borsite-s-book-story-body-maxw: 45rem;
  --borsite-s-book-story-body-scrollma: 5.5rem;
  --borsite-s-book-toc-bd: 1px solid var(--borsite-color-border);
  --borsite-s-book-toc-toggle-minh: 2.75rem;
  --borsite-s-book-toc-toggle-fs: 0.875rem;
  --borsite-s-book-toc-list-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-book-toc-list-olo: 2px;
  --borsite-s-book-toc-list-r: 2px;
  --borsite-s-book-toc-list-minh: 2.5rem;
  --borsite-s-book-toc-list-bdl: 2px solid transparent;
  --borsite-s-book-toc-list-fs: 0.875rem;
  --borsite-s-book-story-cols: 10.5rem minmax(0, 45rem);
  --borsite-s-book-toc-top: 5.5rem;
  --borsite-s-book-chapters-bdt: 1px solid var(--borsite-color-border);
  --borsite-s-book-chapters-cols: 2.75rem minmax(0, 1fr);
  --borsite-s-book-chapters-bdb: 1px solid var(--borsite-color-border);
  --borsite-s-book-chapters-title-fs: 1.0625rem;
  --borsite-s-book-chapters-note-marginto: 0.2rem;
  --borsite-s-book-chapters-note-fs: 0.8125rem;
  --borsite-s-article-body-fs: 0.8125rem;
  --borsite-s-book-pullquote-fs: clamp(1.375rem, 2.6vw, 1.75rem);
  --borsite-s-book-author-cols: 4.5rem minmax(0, 1fr);
  --borsite-s-book-author-photo-w: 4.5rem;
  --borsite-s-book-author-photo-bd: 1px solid var(--borsite-color-border);
  --borsite-s-read-gap: 0.4rem;
  --borsite-s-book-formats-fs: 1.375rem;
  --borsite-s-book-format-price-fs: 1.75rem;
  --borsite-s-book-format-price-fs-2: 0.875rem;
  --borsite-s-book-format-price-marginle: 0.35rem;
  --borsite-s-book-format-meta-fs: 0.8125rem;
  --borsite-s-book-buy-note-fs: 0.8125rem;
  --borsite-s-newsletter-marginto: 1.125rem;
  --borsite-s-podcast-row-cols-3: 2.75rem minmax(0, 1fr) auto;
  --borsite-s-podcast-thumb-r: var(--borsite-radius-sm, 0.25rem);
  --borsite-s-podcast-row-cols-4: 2.75rem minmax(0, 1fr);
  --borsite-s-book-format-soon-fs: 0.8125rem;
  --borsite-s-pages-editor-panel-cols: repeat(auto-fill, minmax(16rem, 1fr));
  --borsite-s-pages-editor-panel-maxw: 56rem;
  --borsite-s-pages-editor-panel-bd: 1px dashed var(--borsite-color-border);
  --borsite-s-pages-editor-panel-r: var(--borsite-radius-md, 0.75rem);
  --borsite-s-pages-editor-panel-fs: 0.8125rem;
  --borsite-s-pages-editor-media-gap: 0.375rem;
  --borsite-s-about-split-cols: minmax(0, 1fr) 15.5rem;
  --borsite-s-pages-editor-panel-cols-2: repeat(auto-fill, minmax(min(16rem, 100%), 1fr));
  --borsite-s-article-measure-w: var(--borsite-layout-w);
  --borsite-s-article-breadcrumb-fs: 0.8125rem;
  --borsite-s-article-breadcrumb-gap: 0.35rem;
  --borsite-s-article-breadcrumb-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-article-breadcrumb-olo: 2px;
  --borsite-s-icon--home-w: 1rem;
  --borsite-s-icon--home-h: 1rem;
  --borsite-s-article-title-fs: clamp(2rem, 4.2vw, 3.25rem);
  --borsite-s-article-dek-fs: clamp(1.0625rem, 1.5vw, 1.1875rem);
  --borsite-s-article-meta-fs: 0.8125rem;
  --borsite-s-article-caption-fs: 0.8125rem;
  --borsite-s-article-body-fs-2: 1.125rem;
  --borsite-s-article-body-ult: 1px;
  --borsite-s-article-body-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-article-body-olo: 2px;
  --borsite-s-article-body-fs-3: clamp(1.5rem, 2.4vw, 1.875rem);
  --borsite-s-article-body-fs-4: clamp(1.25rem, 1.8vw, 1.375rem);
  --borsite-s-article-body-bdl: 3px solid var(--borsite-color-accent);
  --borsite-s-section-head-fs-4: clamp(1.75rem, 3vw, 2.25rem);
  --borsite-s-article-body-fs-5: 1.0625rem;
  --borsite-s-article-body-borderbl: 1px solid color-mix(in srgb, var(--borsite-color-accent) 55%, transparent);
  --borsite-s-article-body-fs-6: clamp(1.375rem, 2.2vw, 1.625rem);
  --borsite-s-scroll-bg: linear-gradient(to right, var(--borsite-color-bg) 30%, transparent) left / 2rem 100% no-repeat local,
    linear-gradient(to left, var(--borsite-color-bg) 30%, transparent) right / 2rem 100% no-repeat local,
    radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--borsite-color-text) 18%, transparent), transparent) right / 0.75rem 100% no-repeat scroll;
  --borsite-s-scroll-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-scroll-olo: 2px;
  --borsite-s-article-body-fs-7: 0.9375rem;
  --borsite-s-article-body-minw: 7rem;
  --borsite-s-article-body-p: 0.625rem var(--borsite-space-3);
  --borsite-s-article-body-bdb: 1px solid var(--borsite-color-border);
  --borsite-s-article-body-fs-8: 0.875rem;
  --borsite-s-article-body-w: 4rem;
  --borsite-s-article-body-bdt: 1px solid var(--borsite-color-accent);
  --borsite-s-article-body-bd: 1px solid var(--borsite-color-border);
  --borsite-s-share-btn-minh: 2.25rem;
  --borsite-s-share-btn-p: 0 0.875rem;
  --borsite-s-share-btn-bd: 1px solid var(--borsite-color-border);
  --borsite-s-share-btn-fs: 0.8125rem;
  --borsite-s-share-btn-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-share-btn-olo: 2px;
  --borsite-s-label-minw: 4.5rem;
  --borsite-s-author-box-cols: 4.625rem 1fr;
  --borsite-s-author-box-bd: 1px solid var(--borsite-color-border);
  --borsite-s-author-box-photo-w: 4.625rem;
  --borsite-s-author-box-photo-h: 4.625rem;
  --borsite-s-author-box-name-fs: 1.25rem;
  --borsite-s-author-box-bio-fs: 0.9375rem;
  --borsite-s-author-box-link-fs: 0.8125rem;
  --borsite-s-post-nav-bdt: 1px solid var(--borsite-color-border);
  --borsite-s-post-nav-title-fs: 1.0625rem;
  --borsite-s-post-nav-item-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-post-nav-item-olo: 4px;
  --borsite-s-player-h: 9.5rem;
  --borsite-s-player-r: var(--borsite-radius-md, 0.75rem);
  --borsite-s-player--apple-h: 10.9375rem;
  --borsite-s-player-meta-fs: 0.8125rem;
  --borsite-s-pdf-card-bd: 1px solid var(--borsite-color-border);
  --borsite-s-pdf-card-tf: translateY(-2px);
  --borsite-s-pdf-icon-w: 3rem;
  --borsite-s-pdf-icon-h: 3rem;
  --borsite-s-pdf-icon-r: var(--borsite-radius-md, 0.75rem);
  --borsite-s-pdf-title-fs: 1.125rem;
  --borsite-s-pdf-meta-fs: 0.8125rem;
  --borsite-s-pdf-preview-fs: 0.875rem;
  --borsite-s-pdf-preview-gap: 0.375rem;
  --borsite-s-pdf-preview-minh: 2.75rem;
  --borsite-s-pdf-preview-h: 45rem;
  --borsite-s-pdf-preview-bd: 1px solid var(--borsite-color-border);
  --borsite-s-pdf-preview-r: var(--borsite-radius-md, 0.75rem);
  --borsite-s-pdf-open-fs: 0.8125rem;
  --borsite-s-faq-list-bdt: 1px solid var(--borsite-color-border);
  --borsite-s-faq-item-bdb: 1px solid var(--borsite-color-border);
  --borsite-s-faq-q-p: 1.125rem 0;
  --borsite-s-faq-q-minh: 2.75rem;
  --borsite-s-faq-title-fs: 1.1875rem;
  --borsite-s-faq-title-ult: 1px;
  --borsite-s-faq-q-ol: 2px solid var(--borsite-color-focus);
  --borsite-s-faq-q-olo: 2px;
  --borsite-s-faq-icon-w: 1.5rem;
  --borsite-s-faq-icon-h: 1.5rem;
  --borsite-s-faq-icon-marginto: 0.125rem;
  --borsite-s-faq-icon-bd: 1px solid var(--borsite-color-border);
  --borsite-s-faq-icon-w-2: 0.625rem;
  --borsite-s-faq-icon-h-2: 1px;
  --borsite-s-base-w: 1px;
  --borsite-s-base-h: 1px;
  --borsite-s-base-m: -1px;
  --borsite-s-base-w-2: var(--borsite-layout-w);

  /* Hero title fit (RULES 8, 18.10.2026): one step of data-fit on a hero title, in em. */
  --borsite-title-fit-em: 0.5;

  /* Pagination (decision 18.10.2026, designer): on the right, with previous / next. The locked
     Borsite_Publikacii_v1.html is centred: set this back to center to return to it. */
  --borsite-pagination-justify: flex-end;
  --borsite-pagination-icon: 1rem;
  --borsite-pagination-disabled-opacity: 0.4;
}

/* Page width up to 640px: 100% - 1.5rem (the locked mobile .borsite-wrap). */
@media (max-width: 640px) {
  :root {
    --borsite-layout-w: calc(100% - 1.5rem);
  }
}
