@font-face {
  font-family: "Manrope";
  src: url("assets/fonts/manrope-400.woff2") format("woff2"), url("assets/fonts/manrope-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("assets/fonts/manrope-500.woff2") format("woff2"), url("assets/fonts/manrope-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("assets/fonts/manrope-600.woff2") format("woff2"), url("assets/fonts/manrope-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("assets/fonts/manrope-700.woff2") format("woff2"), url("assets/fonts/manrope-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --blue-950: #082b45;
  --blue-900: #143a57;
  --blue-800: #214d69;
  --blue-700: #35627e;
  --blue-100: #dce8eb;
  --mineral: #edf3f3;
  --ivory: #f7f3e9;
  --paper: #fffdf8;
  --white: #ffffff;
  --olive: #87906d;
  --coral: #934333;
  --ink: var(--blue-950);
  --muted: #536b79;
  --line: #c8d6da;
  --line-dark: rgb(255 255 255 / .22);
  --focus: #eea84b;
  --error: #a63e35;
  --font-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --text-xs: .75rem;
  --text-sm: clamp(.86rem, .83rem + .12vw, .94rem);
  --text-base: clamp(1rem, .96rem + .15vw, 1.075rem);
  --text-lg: clamp(1.14rem, 1.04rem + .38vw, 1.36rem);
  --text-xl: clamp(1.45rem, 1.26rem + .72vw, 1.9rem);
  --text-2xl: clamp(2rem, 1.55rem + 1.7vw, 3.1rem);
  --text-hero: clamp(2.6rem, 1.85rem + 3.1vw, 5.25rem);
  --tracking-tight: -.045em;
  --tracking-wide: .13em;
  --container: 90rem;
  --gutter: clamp(1.25rem, 4vw, 4.5rem);
  --section: clamp(4.5rem, 8vw, 8.5rem);
  --section-compact: clamp(3.4rem, 6vw, 6rem);
  --header-height: 6rem;
  --radius: 2px;
  --ease: cubic-bezier(.2, .72, .25, 1);
  --duration: 220ms;

  /* Compatibility aliases retained for every existing route. */
  --color-background: var(--paper);
  --color-surface: var(--white);
  --color-surface-muted: var(--mineral);
  --color-surface-strong: var(--blue-900);
  --color-foreground: var(--ink);
  --color-foreground-muted: var(--muted);
  --color-on-strong: var(--white);
  --color-on-strong-muted: #d9e5e9;
  --color-primary: var(--coral);
  --color-primary-hover: #773225;
  --color-primary-foreground: var(--white);
  --color-border: var(--line);
  --color-border-strong: #aebfc5;
  --color-border-dark: var(--line-dark);
  --color-focus: var(--focus);
  --color-error: var(--error);
  --color-selection: #c8dce5;
  --font-heading: var(--font-sans);
  --font-body: var(--font-sans);
  --font-ui: var(--font-sans);
  --page-container: var(--container);
  --page-gutter: var(--gutter);
  --reading-measure: 70ch;
  --narrow-measure: 52ch;
  --section-space: var(--section);
  --section-space-compact: var(--section-compact);
  --focus-width: 3px;
  --focus-offset: 3px;
  --rs-text-2xs: .6875rem;
  --rs-text-xs: var(--text-xs);
  --rs-text-sm: var(--text-sm);
  --rs-text-base: var(--text-base);
  --rs-text-lg: var(--text-lg);
  --rs-text-xl: var(--text-xl);
  --rs-text-2xl: var(--text-2xl);
  --rs-text-3xl: var(--text-hero);
  --rs-font-weight-regular: 400;
  --rs-font-weight-medium: 500;
  --rs-font-weight-semibold: 600;
  --rs-font-weight-bold: 700;
  --rs-leading-tight: 1.05;
  --rs-leading-normal: 1.65;
  --rs-tracking-tight: var(--tracking-tight);
  --rs-tracking-ui: var(--tracking-wide);
  --rs-duration-fast: 140ms;
  --rs-duration-normal: var(--duration);
  --rs-ease-standard: var(--ease);
  --rs-radius-none: 0;
  --rs-radius-sm: var(--radius);
  --rs-shadow-header: 0 10px 32px rgb(8 43 69 / .1);
  --rs-space-1: .25rem;
  --rs-space-2: .5rem;
  --rs-space-3: .75rem;
  --rs-space-4: 1rem;
  --rs-space-5: 1.25rem;
  --rs-space-6: 1.5rem;
  --rs-space-8: 2rem;
  --rs-space-10: 2.5rem;
  --rs-space-12: 3rem;
  --rs-space-16: 4rem;
  --rs-space-20: 5rem;
  --rs-space-24: 6rem;
  --rs-space-32: 8rem;
  --nav-background: var(--white);
  --nav-foreground: var(--ink);
  --nav-foreground-muted: var(--muted);
  --nav-active: var(--coral);
}

@media (max-width: 1060px) {
  :root { --header-height: 5rem; }
}
