/* =========================================================
   Main Management — Design Tokens
   Lifted from the design system; paths re-rooted for new-site/
   ========================================================= */

/* ---- Lato ----
   The single @font-face source for the whole site (advisor + IPC — ipc.css's
   duplicate copy was removed 2026-07-02). font-display: swap everywhere: the
   brand fonts always render, at the cost of a brief fallback flash. */
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/Lato-Light.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: italic; font-weight: 300; font-display: swap; src: url('../fonts/Lato-LightItalic.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Lato-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/Lato-Italic.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/Lato-Bold.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: italic; font-weight: 700; font-display: swap; src: url('../fonts/Lato-BoldItalic.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 900; font-display: swap; src: url('../fonts/Lato-Black.woff2') format('woff2'); }

/* ---- Playfair Display ---- */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/PlayfairDisplay-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/PlayfairDisplay-Italic.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/PlayfairDisplay-Medium.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 500; font-display: swap; src: url('../fonts/PlayfairDisplay-MediumItalic.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/PlayfairDisplay-SemiBold.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/PlayfairDisplay-SemiBoldItalic.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/PlayfairDisplay-Bold.woff2') format('woff2'); }

:root {
  /* GENERATED by _tools/sync-design-system.mjs from the canonical
     design system (main-design-system). Do not hand-edit — change the tokens
     there, then re-run the sync. (The @font-face block above is site-owned.) */
  --main-blue: #0E2748;
  --main-blue-900: #091a31;
  --main-blue-700: #163357;
  --main-blue-500: #2a4668;
  --rust: #B1552B;
  --rust-dark: #8f4322;
  --rust-light: #d47a50;
  --fog-00: #FFFFFF;
  --fog-10: #F7F9FB;
  --fog-20: #EFF3F7;
  --fog-30: #E8EDF2;
  --fog-50: #D8E0E7;
  --fog-80: #AEB9C6;
  --fog-120: #7A8898;
  --fog-180: #516074;
  --fog-220: #35445A;
  --success: #3f7a52;
  --warning: #b1822b;
  --danger: #a83528;
  --fg-1: var(--main-blue);
  --fg-2: var(--fog-180);
  --fg-3: var(--fog-120);
  --fg-accent: var(--rust);
  --fg-inverse: var(--fog-00);
  --bg-page: var(--fog-00);
  --bg-subtle: var(--fog-10);
  --bg-muted: var(--fog-20);
  --bg-inverse: var(--main-blue);
  --border: var(--fog-30);
  --border-strong: var(--fog-50);
  --divider: var(--fog-30);
  --font-serif: 'Playfair Display', 'Iowan Old Style', 'Times New Roman', Georgia, serif;
  --font-sans: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --display-hero: clamp(56px, 6.5vw, 96px);
  --display-1: clamp(44px, 5vw, 76px);
  --h1-size: clamp(40px, 4.8vw, 64px);
  --h2-size: clamp(32px, 3.6vw, 48px);
  --h3-size: clamp(24px, 2.2vw, 32px);
  --h4-size: clamp(20px, 1.6vw, 24px);
  --h5-size: 18px;
  --lede-size: clamp(19px, 1.6vw, 22px);
  --body-size: 17px;
  --small-size: 15px;
  --caption-size: 13px;
  --eyebrow-size: 13px;
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --s-9: 96px;
  --s-10: 128px;
  --s-11: 160px;
  --s-12: 200px;
  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 12px;
  --radius-pill: 2px;
  --shadow-sm: 0 1px 2px rgba(14,39,72,0.04);
  --shadow-md: 0 4px 12px rgba(14,39,72,0.08);
  --shadow-lg: 0 12px 32px -16px rgba(14,39,72,0.12);
  --shadow-xl: 0 24px 80px rgba(14,39,72,0.16);
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 180ms;
  --dur: 320ms;
  --dur-slow: 640ms;
  --ac-us: #0E2748;
  --ac-intl: #3B7A7E;
  --ac-cash: #B1995E;
  --ac-bond: #2C5E8A;
  --ac-other: #8A6E9E;
  --fog-sky: #8AA5C2;
  --sandstone: #E5B99A;
  --steel-blue: #4A6A94;
  --terracotta: #CE8058;
  --harbor-navy: #1F4273;
  --burgundy: #6E2F15;
  --mist: #C6D2DF;
  --taupe: #A78B73;
  --slate: #3D4B60;
  --series-1: #0E2748;
  --series-2: #B1552B;
  --series-3: #8AA5C2;
  --series-4: #E5B99A;
  --series-5: #4A6A94;
  --series-6: #CE8058;
  --series-7: #1F4273;
  --series-8: #6E2F15;
  --sector-energy: #6E2F15;
  --sector-materials: #CE8058;
  --sector-industrials: #B1552B;
  --sector-consumer-discretionary: #E5B99A;
  --sector-financials: #1F4273;
  --sector-information-technology: #0E2748;
  --sector-communication-services: #4A6A94;
  --sector-health-care: #8AA5C2;
  --sector-consumer-staples: #C6D2DF;
  --sector-utilities: #A78B73;
  --sector-real-estate: #3D4B60;
  --container-wide: 1440px;
  --container: 1240px;
  --container-narrow: 960px;
  --gutter: 32px;
  /* per-surface (website chrome — not brand tokens) */
  --nav-h: 96px;
  --nav-h-scrolled: 72px;
}
