/* Design tokens — 4M Equity design system */
/* Google Fonts substitutes (Newsreader, Figtree — OFL). Replace with licensed brand fonts when supplied. */
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Figtree-normal-400-latinext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Figtree-normal-400-latin.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: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Figtree-normal-500-latinext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Figtree-normal-500-latin.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: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/Figtree-normal-600-latinext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/Figtree-normal-600-latin.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: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Figtree-normal-700-latinext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Figtree-normal-700-latin.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: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Newsreader-italic-400-latinext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Newsreader-italic-400-latin.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: 'Newsreader';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/Newsreader-normal-300-latinext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/Newsreader-normal-300-latin.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: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Newsreader-normal-400-latinext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Newsreader-normal-400-latin.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: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Newsreader-normal-500-latinext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Newsreader-normal-500-latin.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;
}

:root{
/* Navy — night sky, header, footer, dark panels */
--navy-950:#00101B;--navy-900:#021729;--navy-800:#0A2134;--navy-700:#132F47;--navy-600:#24425F;--navy-500:#3D5873;
/* Gold — brass/amber accent from evening light */
--gold-200:#F0DCC0;--gold-300:#E6BE8A;--gold-400:#D29B67;--gold-500:#C39154;--gold-600:#A87A44;--gold-700:#81633E;
/* Cream — warm paper surfaces */
--cream-50:#FCFBF5;--cream-100:#FAF9F4;--cream-200:#F3F0E8;--cream-300:#E8E4DA;--cream-400:#D9D4C7;
/* Ink — text on light */
--ink-900:#0E1620;--ink-800:#1E2731;--ink-700:#3A4149;--ink-500:#6A7077;--ink-400:#8D9196;
/* Feedback (forms only, used sparingly) */
--green-600:#4E7A5A;--red-600:#A4473A;
--white:#FFFFFF;

/* Semantic */
--surface-page:var(--cream-50);
--surface-card:var(--cream-100);
--surface-muted:var(--cream-200);
--surface-inverse:var(--navy-900);
--surface-inverse-deep:var(--navy-950);
--surface-panel-dark:rgba(0,16,27,.92);
--text-heading:var(--ink-900);
--text-body:var(--ink-700);
--text-muted:var(--ink-500);
--text-on-dark:#F5F2EA;
--text-on-dark-muted:rgba(245,242,234,.72);
--text-accent:var(--gold-400);
--text-accent-on-dark:var(--gold-300);
--accent:var(--gold-500);
--accent-hover:var(--gold-600);
--accent-press:var(--gold-700);
--border-subtle:var(--cream-300);
--border-strong:var(--cream-400);
--border-accent:var(--gold-500);
--border-on-dark:rgba(245,242,234,.16);
--icon-accent:var(--gold-500);
--focus-ring:var(--gold-400);
--overlay-hero:linear-gradient(90deg,rgba(0,16,27,.82) 0%,rgba(0,16,27,.45) 45%,rgba(0,16,27,0) 75%);/* @kind color */
--overlay-bottom:linear-gradient(0deg,rgba(0,16,27,.78) 0%,rgba(0,16,27,0) 60%);/* @kind color */
--success:var(--green-600);--danger:var(--red-600);
}
:root{
--font-serif-display:"Newsreader","Georgia","Times New Roman",serif;
--font-sans:"Figtree","Helvetica Neue",Arial,sans-serif;
--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
/* Display scale (serif, light/regular) */
--fs-display-xl:76px;--fs-display-l:56px;--fs-display-m:44px;--fs-display-s:34px;
--fs-title-l:26px;--fs-title-m:22px;--fs-title-s:19px;
/* Sans scale */
--fs-lead:18px;--fs-body:16px;--fs-body-s:14px;--fs-caption:13px;--fs-eyebrow:12px;--fs-nav:14px;--fs-button:13px;
--lh-display:1.05;/* @kind other */
--lh-heading:1.15;/* @kind other */
--lh-body:1.6;/* @kind other */
--lh-tight:1.3;/* @kind other */

--tracking-display:-0.01em;--tracking-eyebrow:0.14em;--tracking-button:0.12em;--tracking-wordmark:0.28em;
/* Semantic */
--type-display:var(--weight-regular) var(--fs-display-xl)/var(--lh-display) var(--font-serif-display);
--type-h1:var(--weight-regular) var(--fs-display-l)/var(--lh-heading) var(--font-serif-display);
--type-h2:var(--weight-regular) var(--fs-display-m)/var(--lh-heading) var(--font-serif-display);
--type-h3:var(--weight-regular) var(--fs-title-m)/var(--lh-tight) var(--font-serif-display);
--type-body:var(--weight-regular) var(--fs-body)/var(--lh-body) var(--font-sans);
--type-body-s:var(--weight-regular) var(--fs-body-s)/var(--lh-body) var(--font-sans);
--type-eyebrow:var(--weight-semibold) var(--fs-eyebrow)/1.2 var(--font-sans);
--type-button:var(--weight-semibold) var(--fs-button)/1 var(--font-sans);
}
: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-32:128px;
--container-max:1280px;--gutter:72px;--gutter-mobile:24px;--header-height:84px;
--section-pad-y:var(--space-24);--card-pad:var(--space-6);
--radius-none:0;--radius-xs:2px;--radius-s:4px;
--border-hairline:1px solid var(--border-subtle);
--border-accent-line:1px solid var(--border-accent);
--shadow-card:0 1px 2px rgba(14,22,32,.04),0 8px 24px rgba(14,22,32,.06);
--shadow-card-hover:0 2px 4px rgba(14,22,32,.06),0 16px 40px rgba(14,22,32,.10);
--shadow-panel:0 24px 60px rgba(0,16,27,.35);
--ease-standard:cubic-bezier(.2,.7,.2,1);/* @kind other */
--ease-out:cubic-bezier(.16,1,.3,1);/* @kind other */
--dur-fast:150ms;/* @kind other */
--dur-base:250ms;/* @kind other */
--dur-slow:600ms;/* @kind other */
--z-header:50;/* @kind other */
--z-overlay:100;/* @kind other */
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-serif-display);font-weight:var(--weight-regular);color:var(--text-heading);margin:0;letter-spacing:var(--tracking-display);text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--text-accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--accent-hover)}
::selection{background:var(--gold-200);color:var(--ink-900)}
:focus-visible{outline:1px solid var(--focus-ring);outline-offset:3px}
