/* ra-skin.css — Reaves Academy brand skin, applied site-wide. Fixes the two bugs that made pages read "bland vanilla":
   (1) the brand fonts (Fredoka/Nunito) were never loaded; (2) :root had --font:undefined so all body text fell back to
   the default browser font. Linked LAST in <head> so it completes/overrides each page's local :root without fighting
   page-specific layout. */
/* fonts self-hosted via /fonts/fonts.css — external @import removed for CSP */

:root {
  --font: 'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;   /* was undefined → the "bland" body text */
  --display: 'Fredoka', 'Nunito', sans-serif;
  --ink: #22201c; --ink2: #55524a;
  --well: #faf7f2; --paper: #faf7f2; --panel: #fffdf7; --card: #fffdf7; --hair: #e7e1d7;
  --ember: #E06A45; --filament: #E5A43B; --gold: #E5A43B; --olive: #8FA35C; --slate: #7E93A8;
}

/* Brand typography everywhere */
html, body { font-family: var(--font); color: var(--ink); }
body { background: linear-gradient(168deg, #faf7f0, #f3ecdd 58%, #ece0cb) fixed; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, .display, .title, .eyebrow, .price, .stat-value, .card-title { font-family: var(--display); }

/* Warm paper texture (subtle) — only if the page hasn't set its own body::before */
body:not([data-skinned])::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/filter%3E%3C/svg%3E"); }

/* Gentle brand defaults (won't override an element's own explicit styles) */
a { color: var(--ember); }
