/* ====================================================================
   OR GOYIM — Design System · global entry point
   Consumers link THIS one file. It only @imports; all real rules live
   in the token + base files below. Order matters: fonts & tokens first,
   then the base layer that depends on them.
   ==================================================================== */
/* ====================================================================
   OR GOYIM — Webfonts
   The three brand families are all served from Google Fonts (the same
   source the live site uses). Pulled in here via @import so every
   consumer that links styles.css gets them automatically.
     · Cinzel            — display / titling serif (Roman capitals)
     · DM Sans           — body / UI sans
     · Noto Serif Hebrew — Hebrew scripture text (RTL)
   NOTE: loaded from the Google Fonts CDN rather than self-hosted .ttf
   files (the original binaries were not provided). Swap for local
   @font-face rules if you need a fully offline bundle.
   ==================================================================== */
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./dc7865cf.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./fc576ab3.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./dc7865cf.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fc576ab3.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./dc7865cf.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fc576ab3.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('./dc7865cf.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('./fc576ab3.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('./dc7865cf.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('./fc576ab3.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('./8471dc86.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('./d82ae606.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('./8471dc86.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('./d82ae606.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('./c8eab0e5.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('./fa682184.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./c8eab0e5.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fa682184.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./c8eab0e5.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./fa682184.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./c8eab0e5.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fa682184.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* hebrew */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('./5feb25ed.woff2') format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('./d15a7229.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('./78ab000c.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* hebrew */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('./5feb25ed.woff2') format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('./d15a7229.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('./78ab000c.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* hebrew */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('./5feb25ed.woff2') format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('./d15a7229.woff2') format('woff2');
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif Hebrew';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('./78ab000c.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ====================================================================
   OR GOYIM — Color tokens
   "Dark moderno": warm carbon ground, brand colour lives in the TEXT
   and accents (gold + a Greek violet), never as flat fill backgrounds.
   Base scale first, then semantic aliases that the components consume.
   The brand ships FOUR palettes; the default ("Carbón & Oro") lives on
   :root, the others are theme scopes toggled via [data-pal] on <html>.
   ==================================================================== */
:root {
  /* ---- Brand · gold (the Light / אוֹר) ---- */
  --or-gold: #c8922a; /* core gold — accents, rules, glows   */
  --or-gold-light: #e8c46a; /* luminous gold — headings, gradients */
  --or-gold-soft: #d8a943; /* mid gold — hover fills              */
  --or-gold-ink: #241a05; /* near-black gold — text ON gold      */

  /* ---- Brand · Greek violet (the Septuagint / NT voice) ---- */
  --or-greek: #b58fe0;

  /* ---- Carbon ground (warm near-black) ---- */
  --or-bg: #0e0c0a; /* page background       */
  --or-bg-2: #13100b; /* raised panels / wells */
  --or-ink: #080705; /* deepest — splash, overlays */

  /* ---- Parchment / text neutrals ---- */
  --or-cream: #ece8df; /* primary text on dark / "ivory" seal */
  --or-muted: #a49c8c; /* secondary text   */
  --or-dim: #756e60; /* tertiary / hints */

  /* ---- Glass + translucent layers (over carbon) ---- */
  --or-panel: rgba(255, 255, 255, 0.038); /* card fill            */
  --or-panel-2: rgba(255, 255, 255, 0.06); /* card hover / raised  */
  --or-glass: rgba(20, 16, 11, 0.55); /* blurred glass panel  */
  --or-border: rgba(232, 196, 106, 0.16); /* hairline gold border */
  --or-border-2: rgba(232, 196, 106, 0.34); /* emphasised border    */
  --or-glow: rgba(200, 146, 42, 0.5); /* gold halo / glow     */

  /* ---- Semantic aliases (components reference THESE) ---- */
  --text-strong: var(--or-cream);
  --text-body: var(--or-cream);
  --text-muted: var(--or-muted);
  --text-dim: var(--or-dim);
  --text-accent: var(--or-gold-light);
  --text-greek: var(--or-greek);

  --surface-page: var(--or-bg);
  --surface-raised: var(--or-bg-2);
  --surface-card: var(--or-panel);
  --surface-card-hover: var(--or-panel-2);
  --surface-glass: var(--or-glass);

  --border-hair: var(--or-border);
  --border-strong: var(--or-border-2);

  --accent: var(--or-gold);
  --accent-bright: var(--or-gold-light);
  --on-accent: var(--or-gold-ink);

  /* Page-depth light halos (fixed background) */
  --halo:
    radial-gradient(60% 50% at 12% 8%, rgba(200, 146, 42, 0.16), transparent 60%),
    radial-gradient(55% 45% at 92% 22%, rgba(107, 80, 160, 0.12), transparent 60%),
    radial-gradient(70% 60% at 50% 108%, rgba(200, 146, 42, 0.1), transparent 60%), var(--or-bg); /* @kind other */
}

/* =====================================================================
   PALETTE 2 · Índigo Nocturno — deep violet-navy night
   ===================================================================== */
html[data-pal='indigo'] {
  --or-bg: #161233;
  --or-bg-2: #1d1842;
  --or-ink: #0d0a22;
  --or-gold: #d7a94b;
  --or-gold-light: #e6c079;
  --or-greek: #c9b3f0;
  --or-cream: #f0e9da;
  --or-muted: #a99fc4;
  --or-dim: #6f6890;
  --or-panel: rgba(255, 255, 255, 0.045);
  --or-panel-2: rgba(255, 255, 255, 0.075);
  --or-border: rgba(230, 192, 121, 0.18);
  --or-border-2: rgba(230, 192, 121, 0.38);
  --or-glow: rgba(214, 169, 75, 0.5);
  --or-glass: rgba(22, 18, 51, 0.6);
  --halo:
    radial-gradient(60% 50% at 12% 8%, rgba(214, 169, 75, 0.16), transparent 60%),
    radial-gradient(55% 45% at 92% 22%, rgba(150, 110, 220, 0.16), transparent 60%),
    radial-gradient(70% 60% at 50% 108%, rgba(214, 169, 75, 0.1), transparent 60%), var(--or-bg); /* @kind other */
}

/* =====================================================================
   PALETTE 3 · Esmeralda & Violeta — jewel-dark emerald
   ===================================================================== */
html[data-pal='esmeralda'] {
  --or-bg: #0a1410;
  --or-bg-2: #0e1b16;
  --or-ink: #06100c;
  --or-gold: #12b886;
  --or-gold-light: #34d9a0;
  --or-greek: #b79cf0;
  --or-cream: #eaf3ee;
  --or-muted: #94b3a6;
  --or-dim: #5f8276;
  --or-panel: rgba(255, 255, 255, 0.045);
  --or-panel-2: rgba(255, 255, 255, 0.075);
  --or-border: rgba(52, 217, 160, 0.18);
  --or-border-2: rgba(52, 217, 160, 0.36);
  --or-glow: rgba(18, 184, 134, 0.42);
  --or-glass: rgba(10, 20, 16, 0.6);
  --halo:
    radial-gradient(60% 50% at 12% 8%, rgba(18, 184, 134, 0.18), transparent 60%),
    radial-gradient(55% 45% at 90% 24%, rgba(150, 108, 224, 0.2), transparent 60%),
    radial-gradient(70% 60% at 50% 108%, rgba(52, 217, 160, 0.12), transparent 60%), var(--or-bg); /* @kind other */
}

/* =====================================================================
   PALETTE 4 · Pergamino & Tinta — LIGHT parchment + ink (the one light
   theme; text neutrals invert to navy ink, accent stays gold)
   ===================================================================== */
html[data-pal='pergamino'] {
  --or-bg: #f4ecdd;
  --or-bg-2: #fbf6ec;
  --or-ink: #14213d;
  --or-gold: #b8881f;
  --or-gold-light: #b8881f;
  --or-greek: #6b3fa0;
  --or-cream: #14213d;
  --or-muted: #5a5346;
  --or-dim: #8a8270;
  --or-panel: #fcf7ec;
  --or-panel-2: #f6edd9;
  --or-border: rgba(20, 33, 62, 0.1);
  --or-border-2: rgba(184, 136, 31, 0.4);
  --or-glow: rgba(184, 136, 31, 0.3);
  --or-glass: rgba(251, 246, 235, 0.85);
  --halo:
    radial-gradient(60% 50% at 12% 8%, rgba(184, 136, 31, 0.12), transparent 60%),
    radial-gradient(55% 45% at 92% 22%, rgba(107, 63, 160, 0.07), transparent 60%),
    radial-gradient(70% 60% at 50% 108%, rgba(184, 136, 31, 0.08), transparent 60%), var(--or-bg); /* @kind other */
}

/* =====================================================================
   PALETTE 5 · Ónix — MODERN dark. Cooler, cleaner near-black with a
   crisper gold and neutral-gray text. Less "manuscript", more premium app.
   ===================================================================== */
html[data-pal='onix'] {
  --or-bg: #0b0c10;
  --or-bg-2: #14161c;
  --or-ink: #06070a;
  --or-gold: #d7a24a;
  --or-gold-light: #f0c572;
  --or-gold-soft: #e3b45a;
  --or-gold-ink: #1a1304;
  --or-greek: #b9a6f2;
  --or-cream: #f1f1ee;
  --or-muted: #969aa6;
  --or-dim: #5c6070;
  --or-panel: rgba(255, 255, 255, 0.04);
  --or-panel-2: rgba(255, 255, 255, 0.065);
  --or-border: rgba(240, 197, 114, 0.15);
  --or-border-2: rgba(240, 197, 114, 0.32);
  --or-glow: rgba(215, 162, 74, 0.4);
  --or-glass: rgba(11, 12, 16, 0.62);
  --halo:
    radial-gradient(55% 45% at 14% 6%, rgba(215, 162, 74, 0.12), transparent 60%),
    radial-gradient(50% 40% at 90% 18%, rgba(120, 120, 160, 0.1), transparent 60%),
    radial-gradient(70% 60% at 50% 110%, rgba(215, 162, 74, 0.06), transparent 60%), var(--or-bg); /* @kind other */
}

/* =====================================================================
   PALETTE 6 · Lino — MODERN light. Warm bone off-white, charcoal ink,
   refined gold. Cleaner and less yellow than Pergamino — easy to read.
   ===================================================================== */
html[data-pal='lino'] {
  --or-bg: #f3f0e9;
  --or-bg-2: #fbfaf6;
  --or-ink: #1a1b20;
  --or-gold: #b08220;
  --or-gold-light: #c79a33;
  --or-gold-soft: #bc8e2a;
  --or-gold-ink: #fbfaf6;
  --or-greek: #6b46c1;
  --or-cream: #1e1f25;
  --or-muted: #5a5b63;
  --or-dim: #8c8d95;
  --or-panel: #ffffff;
  --or-panel-2: #f1eee6;
  --or-border: rgba(26, 27, 32, 0.09);
  --or-border-2: rgba(176, 130, 32, 0.36);
  --or-glow: rgba(176, 130, 32, 0.2);
  --or-glass: rgba(251, 250, 246, 0.85);
  --shadow-card: 0 18px 44px -28px rgba(26, 27, 32, 0.3);
  --halo:
    radial-gradient(55% 45% at 14% 6%, rgba(176, 130, 32, 0.1), transparent 60%),
    radial-gradient(50% 40% at 90% 18%, rgba(107, 70, 193, 0.05), transparent 60%),
    radial-gradient(70% 60% at 50% 110%, rgba(176, 130, 32, 0.06), transparent 60%), var(--or-bg); /* @kind other */
}

/* ====================================================================
   OR GOYIM — Typography tokens
   Three voices: Cinzel (titling serif, "stone-cut" Roman caps),
   DM Sans (warm geometric body/UI), Noto Serif Hebrew (scripture).
   Cinzel runs slightly tracked-out; DM Sans is the workhorse.
   ==================================================================== */
:root {
  /* ---- Families ---- */
  --font-display: 'Cinzel', Georgia, 'Times New Roman', serif; /* titles, creed, numerals */
  --font-body: 'DM Sans', system-ui, -apple-system, Segoe UI, sans-serif; /* everything else */
  --font-hebrew: 'Noto Serif Hebrew', 'DM Sans', serif; /* Hebrew, RTL */
  /* Greek uses --font-body (DM Sans renders polytonic Greek well) coloured with --text-greek */

  /* ---- Type scale (fluid where it matters). hero→eyebrow, all @kind font ---- */
  --fs-hero: clamp(3rem, 7vw, 5.4rem); /* @kind font */
  --fs-display: clamp(1.9rem, 4.4vw, 2.9rem); /* @kind font */
  --fs-creed: clamp(1.15rem, 2.4vw, 1.6rem); /* @kind font */
  --fs-h3: 1.34rem; /* @kind font */
  --fs-h4: 1.16rem; /* @kind font */
  --fs-lead: 1.06rem; /* @kind font */
  --fs-body: 1rem; /* @kind font */
  --fs-sm: 0.92rem; /* @kind font */
  --fs-xs: 0.84rem; /* @kind font */
  --fs-eyebrow: 0.74rem; /* @kind font */

  /* ---- Weights (Cinzel 600-800 titles, DM Sans 300-600 body) ---- */
  --fw-body: 400; /* @kind font */
  --fw-medium: 500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-display: 700; /* @kind font */
  --fw-display-xb: 800; /* @kind font */

  /* ---- Line heights ---- */
  --lh-tight: 1.05; /* @kind font */
  --lh-snug: 1.3; /* @kind font */
  --lh-body: 1.65; /* @kind font */

  /* ---- Tracking (uppercase kickers ride wide; wordmark slightly tracked) ---- */
  --ls-hero: 1px; /* @kind font */
  --ls-display: 0.5px; /* @kind font */
  --ls-eyebrow: 3px; /* @kind font */
  --ls-brand: 1.5px; /* @kind font */
}

/* ====================================================================
   OR GOYIM — Spacing, radii & layout tokens
   Generous, airy spacing. Large soft radii on cards (22px), tighter on
   chips/buttons. Sections breathe with ~96px vertical rhythm.
   ==================================================================== */
:root {
  /* ---- Spacing scale (4px base) ---- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px; /* default section padding (vertical) */

  /* ---- Radii ---- */
  --radius-pill: 999px; /* kickers, tags, social chips     */
  --radius-lg: 22px; /* cards, verse card, glass panels */
  --radius-md: 16px; /* buttons-large, app icons        */
  --radius-sm: 14px; /* buttons, stat cards             */
  --radius-xs: 11px; /* small chips, nav CTA            */

  /* ---- Layout ---- */
  --container-max: 1200px; /* content width cap   */
  --container-pad: 24px; /* gutter              */
  --nav-height: 68px;
}

/* ====================================================================
   OR GOYIM — Effects: shadows, glows, glass, motion
   Depth comes from soft drop shadows + warm gold glows + grain, never
   from hard borders. Glass = blur + translucency over the carbon halo.
   ==================================================================== */
:root {
  /* ---- Shadows (long, soft, warm-black) ---- */
  --shadow-card: 0 24px 60px -28px rgba(0, 0, 0, 0.85);
  --shadow-soft: 0 16px 40px -26px rgba(0, 0, 0, 0.6);
  --shadow-pop: 0 20px 44px -12px rgba(200, 146, 42, 0.8); /* gold lift on hover */
  --shadow-gold: 0 14px 34px -12px rgba(200, 146, 42, 0.6); /* primary button     */

  /* ---- Glow (gold halo behind logo / luminous text) ---- */
  --glow-gold: 0 0 28px var(--or-glow); /* @kind shadow */
  --glow-text: 0 0 18px var(--or-glow); /* @kind shadow */

  /* ---- Glass blur ---- */
  --blur-glass: blur(16px) saturate(140%); /* @kind other */
  --blur-soft: blur(14px); /* @kind other */

  /* ---- Gradients ---- */
  --grad-gold: linear-gradient(135deg, var(--or-gold-light), var(--or-gold)); /* @kind other */
  --grad-gold-rule: linear-gradient(90deg, var(--or-gold), var(--or-gold-light)); /* @kind other */
  --grad-gold-text: linear-gradient(135deg, var(--or-gold-light), var(--or-gold)); /* @kind other */

  /* Ivory seal disc placed behind the navy-lion logo so it reads on dark */
  --seal-disc: radial-gradient(
    circle at 50% 46%,
    #f3ecdb 0%,
    #ece1c9 54%,
    rgba(236, 225, 201, 0) 78%
  ); /* @kind other */

  /* Subtle film grain (data-URI noise) — overlay at low opacity */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E"); /* @kind other */

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1); /* @kind other */
  --dur-fast: 0.2s; /* @kind other */
  --dur-base: 0.22s; /* @kind other */
  --dur-slow: 0.6s; /* @kind other */
  /* Convention: hover lifts -2 to -4px + brighter border/glow; press settles
     back to 0. Reveal = fade + 22-28px rise on --ease-out. Reduced-motion
     collapses all of the above to a short opacity fade. */
}

/* ====================================================================
   OR GOYIM — Base layer
   Resets, the page background system (carbon + light-halos + grain),
   and a few brand utility classes used across cards, components and
   UI kits. Imported by styles.css after the tokens.
   ==================================================================== */

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

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  position: relative;
  overflow-x: hidden;
}

/* Fixed warm light-halos → depth, never flat */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: var(--halo);
}
/* Subtle film grain over everything */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.32;
  mix-blend-mode: overlay;
  background-image: var(--grain);
}

img {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}

/* ---- Brand utility classes ---- */
.or-hebrew {
  font-family: var(--font-hebrew);
  direction: rtl;
  unicode-bidi: isolate;
}
.or-greek {
  color: var(--text-greek);
}
.or-cinzel {
  font-family: var(--font-display);
}
.or-gold {
  color: var(--text-accent);
}

/* Ivory seal disc behind the lion logo so the navy emblem reads on dark */
.or-seal {
  background: var(--seal-disc);
  border-radius: 50%;
}

/* Section-title <em> accent → gold (used by SectionHeading + .or-sec-title) */
.or-sec-title em {
  font-style: normal;
  color: var(--text-accent);
}

/* Brand icon helper (for sprite <use> usage, mirrors the Icon component) */
.or-ic {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: inline-block;
  vertical-align: middle;
}

/* Container */
.or-wrap {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.2s !important;
    scroll-behavior: auto !important;
  }
}
