/* ==========================================================================
   Design tokens — ported from design/tokens/*.css
   Fonts are enqueued in inc/setup.php (not @import). To swap the headline face,
   change --font-display here and the Google Fonts URL in inc/setup.php.
   ========================================================================== */
:root{
/* Brand — logo */
--rea-red-logo:#EA1C2D;
--rea-black:#000000;
--rea-white:#FFFFFF;
/* Brand — web red ramp (site UI red is #CF342D) */
--red-50:#FDF1F0;
--red-100:#F9DAD8;
--red-300:#E6827D;
--red-500:#CF342D;
--red-600:#B52C26;
--red-700:#9A2B26;
--red-900:#5E1814;
/* Neutrals — sampled from live site */
--ink-1000:#000000;
--ink-900:#1B1B1B;
--ink-850:#222222;
--ink-800:#333333;
--ink-700:#4C4C4C;
--ink-600:#636363;
--ink-500:#8F8F8F;
--ink-300:#C9C9C9;
--ink-200:#E4E4E4;
--ink-100:#F2F2F2;
--ink-50:#F8F8F8;
/* Status — for maintenance / ops surfaces */
--green-500:#1E8E3E;--green-50:#EAF6EE;
--amber-500:#C77800;--amber-50:#FDF4E3;
--blue-500:#2F6FA3;--blue-50:#EAF2F9;
/* Semantic */
--brand-primary:var(--red-500);
--brand-primary-hover:var(--red-600);
--brand-primary-press:var(--red-700);
--brand-mark:var(--rea-red-logo);
--text-heading:var(--ink-850);
--text-body:var(--ink-700);
--text-muted:var(--ink-600);
--text-inverse:var(--rea-white);
--text-accent:var(--red-500);
--surface-page:var(--rea-white);
--surface-card:var(--rea-white);
--surface-subtle:var(--ink-50);
--surface-band:var(--ink-600);
--surface-dark:var(--ink-900);
--surface-overlay:rgba(0,0,0,.45);
--border-subtle:var(--ink-200);
--border-strong:var(--ink-300);
--focus-ring:rgba(207,52,45,.35);
--status-success:var(--green-500);--status-success-bg:var(--green-50);
--status-warning:var(--amber-500);--status-warning-bg:var(--amber-50);
--status-info:var(--blue-500);--status-info-bg:var(--blue-50);
--status-danger:var(--red-500);--status-danger-bg:var(--red-50);
}

:root{
--font-display:'Nunito Sans','Montserrat',system-ui,sans-serif;
--font-body:'Montserrat',system-ui,sans-serif;
--font-condensed:'Roboto Condensed','Arial Narrow',sans-serif;
--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fw-black:900;
--fs-display:80px;--lh-display:1;
--fs-h1:56px;--lh-h1:1.05;
--fs-h2:40px;--lh-h2:1.15;
--fs-h3:26px;--lh-h3:1.2;
--fs-h4:22px;--lh-h4:1.25;
--fs-lead:20px;--lh-lead:1.4;
--fs-body-lg:18px;--lh-body-lg:1.35;
--fs-body:16px;--lh-body:1.45;
--fs-small:15px;--lh-small:1.2;
--fs-caption:13px;--lh-caption:1.3;
--fs-nav:15px;
--ls-caps:.02em;
--ls-body:.01em;
--ls-display:-.01em;
}

:root{
--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;--space-30:120px;
--container-max:1180px;
--container-wide:1400px;
--gutter:20px;
--header-h:136px;
--section-y:96px;
}

:root{
--radius-xs:3px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--radius-pill:999px;
--shadow-card:0 2px 14px rgba(0,0,0,.14);
--shadow-soft:0 6px 24px rgba(0,0,0,.08);
--shadow-pop:0 12px 36px rgba(0,0,0,.28);
--shadow-title:0 2px 6px rgba(0,0,0,.45);
--ease-out:cubic-bezier(.2,.7,.2,1);
--dur-fast:150ms;--dur-base:250ms;--dur-slow:400ms;
--overlay-hero:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15) 60%,rgba(0,0,0,.35));
--overlay-band:linear-gradient(180deg,#222222 0%,#8F8F8F 100%);
}


/* Base — from design/styles.css */
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);letter-spacing:var(--ls-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-extrabold);color:var(--text-heading);margin:0;text-wrap:balance}
a{color:var(--brand-primary);text-decoration:none}
a:hover{color:var(--brand-primary-hover);text-decoration:underline}

