/* theme: heritage */
@font-face{font-family:"Bricolage Grotesque Variable";font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/bricolage-grotesque-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/bricolage-grotesque-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque Variable";font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans Variable";font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/fonts/instrument-sans-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/instrument-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans Variable";font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/fonts/instrument-sans-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/instrument-sans-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader Variable";font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/newsreader-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader Variable";font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/newsreader-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader Variable";font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-ext-wght-italic.woff2) format("woff2-variations"),url(/assets/fonts/newsreader-latin-ext-wght-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader Variable";font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-wght-italic.woff2) format("woff2-variations"),url(/assets/fonts/newsreader-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/manrope-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/manrope-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/nunito-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/nunito-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/nunito-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/nunito-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/source-serif-4-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/source-serif-4-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/source-serif-4-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/source-serif-4-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Lora Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/lora-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/lora-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lora Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/lora-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/lora-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/fraunces-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/fraunces-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/fraunces-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/fraunces-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/playfair-display-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/playfair-display-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/playfair-display-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/playfair-display-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Shared design scales (Addendum A6). Every theme's tokens.css comes after
   this file and may override any value; the super admin's Design choices
   (brand, accent, fonts, radius, button shape) come last. */
:root {
  /* Fluid type scale: text steps stay calm, display steps grow to ~5.25rem. */
  --step--2: clamp(0.72rem, 0.7rem + 0.08vw, 0.77rem);
  --step--1: clamp(0.84rem, 0.82rem + 0.1vw, 0.9rem);
  --step-0: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
  --step-1: clamp(1.17rem, 1.1rem + 0.35vw, 1.4rem);
  --step-2: clamp(1.4rem, 1.27rem + 0.65vw, 1.85rem);
  --step-3: clamp(1.72rem, 1.48rem + 1.2vw, 2.55rem);
  --step-4: clamp(2.05rem, 1.65rem + 2vw, 3.45rem);
  --step-5: clamp(2.4rem, 1.75rem + 3.25vw, 4.4rem);
  --step-6: clamp(2.75rem, 1.8rem + 4.75vw, 5.25rem);
  --heading-weight: 650;
  --heading-tracking: -0.025em;
  --heading-leading: 1.08;
  --display-weight: 650;
  --display-tracking: -0.042em;
  --display-leading: 0.98;
  --body-leading: 1.65;
  --eyebrow-size: 0.75rem;
  --eyebrow-weight: 600;
  --eyebrow-tracking: 0.14em;
  --eyebrow-case: uppercase;
  --eyebrow-marker-size: 0.5rem;
  --eyebrow-marker-radius: 1px;

  /* Space and rhythm */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 3rem;
  --s-8: 4.5rem;
  --s-9: 6rem;
  --s-10: 8rem;
  --gutter: clamp(1rem, 0.55rem + 2.2vw, 2.5rem);
  --section-y: clamp(4.25rem, 2.9rem + 5.6vw, 8rem);
  --section-y-compact: clamp(2.75rem, 2.2rem + 2.6vw, 4.5rem);
  --section-y-roomy: clamp(5.5rem, 3.5rem + 8vw, 10.5rem);
  --container: 80rem;
  --container-wide: 96rem;
  --container-narrow: 46rem;
  --header-h: 4.75rem;

  /* Depth: layered ambient + key shadows, tinted by --shadow-rgb. */
  --shadow-rgb: 16 19 26;
  --shadow-1: 0 1px 2px rgb(var(--shadow-rgb) / 0.06), 0 1px 1px rgb(var(--shadow-rgb) / 0.04);
  --shadow-2: 0 1px 2px rgb(var(--shadow-rgb) / 0.05), 0 4px 10px -2px rgb(var(--shadow-rgb) / 0.07), 0 14px 28px -12px rgb(var(--shadow-rgb) / 0.12);
  --shadow-3: 0 2px 4px rgb(var(--shadow-rgb) / 0.04), 0 12px 24px -8px rgb(var(--shadow-rgb) / 0.12), 0 32px 56px -20px rgb(var(--shadow-rgb) / 0.2);
  --shadow-4: 0 4px 8px rgb(var(--shadow-rgb) / 0.05), 0 20px 40px -12px rgb(var(--shadow-rgb) / 0.18), 0 56px 96px -28px rgb(var(--shadow-rgb) / 0.32);
  --shadow-neu: 6px 6px 16px rgb(var(--shadow-rgb) / 0.12), -6px -6px 16px rgb(255 255 255 / 0.85), inset 0 1px 0 rgb(255 255 255 / 0.7);
  --shadow-neu-dark: 6px 6px 18px rgb(0 0 0 / 0.45), -4px -4px 14px rgb(255 255 255 / 0.05), inset 0 1px 0 rgb(255 255 255 / 0.08);

  /* Materials */
  --glass-blur: 18px;
  --glass-light: rgb(255 255 255 / 0.72);
  --glass-light-solid: #ffffff;
  --glass-light-line: rgb(255 255 255 / 0.65);
  --glass-dark: rgb(14 15 18 / 0.46);
  --glass-dark-solid: #1a1b1f;
  --glass-dark-line: rgb(255 255 255 / 0.16);
  --hairline: rgb(var(--shadow-rgb) / 0.1);
  --overlay-strong: linear-gradient(180deg, rgb(8 9 12 / 0.38) 0%, rgb(8 9 12 / 0.28) 38%, rgb(8 9 12 / 0.82) 100%);
  --overlay-medium: linear-gradient(180deg, rgb(8 9 12 / 0.25) 0%, rgb(8 9 12 / 0.18) 40%, rgb(8 9 12 / 0.72) 100%);
  --overlay-light: linear-gradient(180deg, rgb(8 9 12 / 0.12) 0%, rgb(8 9 12 / 0.06) 45%, rgb(8 9 12 / 0.62) 100%);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-1: 150ms;
  --dur-2: 280ms;
  --dur-3: 650ms;
  --dur-4: 1000ms;

  /* Dark sections default to the brand's deepest shade. */
  --c-dark: var(--c-brand-strong);
  --c-dark-2: color-mix(in srgb, var(--c-dark) 88%, #ffffff);
  --c-dark-ink: #ffffff;
  --c-dark-text: rgb(255 255 255 / 0.8);
  --c-dark-muted: rgb(255 255 255 / 0.68);
  --c-dark-line: rgb(255 255 255 / 0.14);
  --c-glow: var(--c-accent);
  /* Accent-coloured text on dark bands (themes with a dark highlight lighten it). */
  --c-dark-accent-text: var(--c-highlight);

  --radius-pill: 999px;
}

/* Heritage theme tokens (A6). Colour pairs used for text reach at least
   4.5:1. Brand/accent families, fonts and radius are re-derived from
   theme.json "design" (and the super admin's Design choices) after this file. */
:root {
  --c-brand: #6b2f1b;
  --c-accent: #a2461f;
  --c-highlight: #d9a441;
  --c-highlight-strong: #e4b964;
  --c-highlight-ink: #2a150d;
  --c-ink: #2a1a12;
  --c-ink-soft: #4a3427;
  --c-muted: #6c5444;
  --c-surface: #fffbf5;
  --c-surface-2: #f6ecdf;
  --c-surface-3: #ecdcc8;
  --c-line: #e5d3bd;
  --c-input-border: #c7ad92;
  --c-header-bg: color-mix(in srgb, #fffbf5 94%, transparent);
  --c-success: #17663a;
  --c-success-soft: #e3f4ea;
  --c-warn: #8a5a00;
  --c-warn-soft: #fdf1d8;
  --c-danger: #b42318;
  --c-danger-soft: #fdecea;
  --c-dark: #2a150d;
  --c-glow: #d9a441;
  --shadow-rgb: 60 30 15;
  --heading-weight: 560;
  --heading-tracking: -0.018em;
  --display-weight: 520;
  --display-tracking: -0.03em;
  --display-leading: 1.02;
  --body-leading: 1.7;
  --eyebrow-case: none;
  --eyebrow-tracking: 0;
  --eyebrow-size: 1rem;
  --eyebrow-weight: 500;
}

/* Heritage: warm paper, characterful serif headlines, italic eyebrows with a
   fine rule, round icon tiles and ochre accents on deep brown bands. */
body { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.eyebrow { font-family: var(--font-heading); font-style: italic; }
.eyebrow::before { width: 2rem; height: 1px; border-radius: 0; }
.brand-mark { border-radius: 50%; background: var(--c-brand); color: var(--c-highlight); font-family: var(--font-heading); font-style: italic; }
.icon-tile { border-radius: 50%; background: var(--c-brand); color: var(--c-highlight); box-shadow: none; }
.icon-tile.light { background: var(--c-surface); color: var(--c-brand); }
.hero-title, .page-hero h1, .sc-sticky :is(h1, h2), .footer-cta h2 { font-optical-sizing: auto; font-variation-settings: "SOFT" 60, "WONK" 1; }
.blk-head :is(h1, h2) { font-variation-settings: "SOFT" 40; }
.card, .feature, .stat, .tier, .faq, .dir-item { box-shadow: none; }
.card:hover, .feature:hover, .tier:hover { box-shadow: var(--shadow-3); }
.prose { font-size: calc(var(--step-0) * 1.06); }
.stats.is-rules .stat, .metric, .ab-counters li { border-left-color: var(--c-highlight); }
.tst-card blockquote p { font-style: italic; font-weight: 420; }
.step-badge { background: transparent; color: var(--c-accent-text); padding: 0; font-family: var(--font-heading); font-style: italic; font-size: var(--step-0); letter-spacing: 0; }
.footer-word { font-style: italic; }

/* design */
:root{
  --c-brand: #6b2f1b;
  --c-brand-strong: #4d2213;
  --c-brand-ink: #ffffff;
  --c-brand-soft: #f0eae8;
  --c-on-dark-strong: #ffffff;
  --c-on-dark: #e9eef4;
  --c-on-dark-muted: #c7c1c3;
  --c-accent: #a2461f;
  --c-accent-strong: #853919;
  --c-accent-ink: #ffffff;
  --c-accent-soft: #f2e5e0;
  --c-accent-text: #a2461f;
  --c-link: #a2461f;
  --focus-ring: color-mix(in srgb, #a2461f 30%, transparent);
  --font-heading: "Fraunces Variable", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --font-body: "Newsreader Variable", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --radius-s: 4px;
  --radius-m: 6px;
  --radius-l: 10px;
  --radius-xl: 14px;
  --button-radius: 6px;
}
