:root {
  --color-abyss: #05061A;
  --color-deep: #0B0D30;
  --color-indigo: #272974;
  --color-medium-blue: #0067B4;
  --color-cyan: #00B2F4;
  --color-white: #FFFFFF;
  --color-light: #F4F7FB;
  --color-graphite: #404140;
  --color-slate: #5B5E73;
  --route-echo: #00B2F4;
  --route-tabua: #8FC8FF;
  --route-topaz: #E4EEF9;
  --route-topaz-on-light: #9AA6C8;
  --white-a4: rgba(255, 255, 255, 0.04);
  --white-a8: rgba(255, 255, 255, 0.08);
  --white-a12: rgba(255, 255, 255, 0.12);
  --white-a16: rgba(255, 255, 255, 0.16);
  --white-a28: rgba(255, 255, 255, 0.28);
  --white-a40: rgba(255, 255, 255, 0.4);
  --white-a48: rgba(255, 255, 255, 0.48);
  --white-a56: rgba(255, 255, 255, 0.56);
  --white-a64: rgba(255, 255, 255, 0.64);
  --white-a76: rgba(255, 255, 255, 0.76);
  --white-a88: rgba(255, 255, 255, 0.88);
  --abyss-a0: rgba(5, 6, 26, 0);
  --abyss-a12: rgba(5, 6, 26, 0.12);
  --abyss-a16: rgba(5, 6, 26, 0.16);
  --abyss-a24: rgba(5, 6, 26, 0.24);
  --abyss-a28: rgba(5, 6, 26, 0.28);
  --abyss-a32: rgba(5, 6, 26, 0.32);
  --abyss-a40: rgba(5, 6, 26, 0.4);
  --abyss-a56: rgba(5, 6, 26, 0.56);
  --abyss-a60: rgba(5, 6, 26, 0.6);
  --abyss-a64: rgba(5, 6, 26, 0.64);
  --abyss-a72: rgba(5, 6, 26, 0.72);
  --abyss-a76: rgba(5, 6, 26, 0.76);
  --abyss-a84: rgba(5, 6, 26, 0.84);
  --abyss-a88: rgba(5, 6, 26, 0.88);
  --abyss-a92: rgba(5, 6, 26, 0.92);
  --abyss-a96: rgba(5, 6, 26, 0.96);
  --deep-a0: rgba(11, 13, 48, 0);
  --deep-a60: rgba(11, 13, 48, 0.6);
  --indigo-a32: rgba(39, 41, 116, 0.32);
  --indigo-a36: rgba(39, 41, 116, 0.36);
  --indigo-a40: rgba(39, 41, 116, 0.4);
  --indigo-a56: rgba(39, 41, 116, 0.56);
  --indigo-a44: rgba(39, 41, 116, 0.44);
  --cyan-a16: rgba(0, 178, 244, 0.16);
  --cyan-a48: rgba(0, 178, 244, 0.48);
  --cyan-a56: rgba(0, 178, 244, 0.56);
  --blue-a56: rgba(0, 103, 180, 0.56);
  --tabua-a8: rgba(143, 200, 255, 0.08);
  --tabua-a12: rgba(143, 200, 255, 0.12);
  --tabua-a16: rgba(143, 200, 255, 0.16);
  --tabua-a48: rgba(143, 200, 255, 0.48);
  --topaz-a44: rgba(228, 238, 249, 0.44);
  --color-mist: var(--white-a76);
  --color-haze: var(--white-a56);
  --color-line-dark: var(--white-a12);
  --color-line-dark-strong: var(--white-a28);
  --color-line-light: #D3D6E5;
  --color-panel-dark: var(--white-a4);
  --header-stuck-bg: var(--abyss-a88);
  --overlay-bg: var(--abyss-a56);
  --scrim: var(--abyss-a72);
  --space-0: 0px;
  --space-2: 2px;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-28: 28px;
  --space-32: 32px;
  --space-36: 36px;
  --space-40: 40px;
  --space-44: 44px;
  --space-48: 48px;
  --space-56: 56px;
  --space-64: 64px;
  --space-72: 72px;
  --space-76: 76px;
  --space-80: 80px;
  --space-88: 88px;
  --space-96: 96px;
  --space-104: 104px;
  --space-120: 120px;
  --space-140: 140px;
  --container: 1440px;
  --page-margin: 48px;
  --gutter: 24px;
  --section-padding-min: 72;
  --section-padding-max: 120;
  --stack-min: 24;
  --stack-max: 32;
  --head-gap: var(--space-24);
  --card-padding: var(--space-28);
  --header-h: 104px;
  --header-h-stuck: 72px;
  --header-gap: var(--space-40);
  --hero-pad-top: var(--space-76);
  --hero-pad-bottom: var(--space-140);
  --measure: 640px;
  --split-gap-min: 48;
  --split-gap-max: 120;
  --system-gap-min: 24;
  --system-gap-max: 80;
  --system-pad-min: 40;
  --system-pad-max: 64;
  --font-sans: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --width-normal: 100%;
  --width-semi: 112%;
  --width-wide: 125%;
  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-none: 0em;
  --tracking-ui: 0.02em;
  --tracking-loose: 0.04em;
  --tracking-label: 0.08em;
  --h1-min: 32;  --h1-max: 60;
  --page-title-min: 30;  --page-title-max: 48;
  --h2-min: 28;  --h2-max: 44;
  --title-l-min: 24;  --title-l-max: 32;
  --title-m-min: 20;  --title-m-max: 24;
  --title-s-min: 18;  --title-s-max: 20;
  --title-l-lh: 1.25;
  --title-m-lh: 1.25;
  --title-s-lh: 1.3;
  --stat-min: 26;  --stat-max: 32;
  --initials-min: 44;  --initials-max: 72;
  --initials-bio-min: 56;  --initials-bio-max: 96;
  --lede: 1.125rem;
  --hero-lede-min: 18;  --hero-lede-max: 20;
  --lede-lh: 1.6;
  --title-xs: 16px;            --title-xs-lh: 20px;
  --body-lg: 18px;       --body-lg-lh: 30px;
  --body: 16px;          --body-lh: 26px;
  --body-sm: 16px;       --body-sm-lh: 24px;
  --body-loose-lh: 28px;
  --caption: 14px;       --caption-lh: 20px;
  --meta: 12px;          --meta-lh: 16px;
  --field-lh: 22px;
  --stat-label-lh: 18px;
  --ui: 16px;            --ui-lh: 20px;
  --ui-sm: 14px;
  --button-lh: 16px;
  --chip: 12px;
  --stat-unit: 16px;
  --glyph: 16px;
  --route-name: 18px;    --route-name-compact: 14px;
  --nav-menu: 20px;      --nav-menu-lh: 24px;
  --radius: 4px;
  --radius-full: 999px;
  --button-h: 56px;
  --control-h: 44px;
  --control-h-sm: 36px;
  --button-pad-x: var(--space-24);
  --chip-h: 24px;
  --chip-pad-x: var(--space-12);
  --icon-sm: 16px;
  --icon-md: 20px;
  --feature-gap: var(--space-64);
  --icon-lg: 48px;
  --dot: 8px;
  --logo-w: 208px;
  --footer-logo-w: 148px;
  --field-label-w: max-content;
  --field-label-w-system: max-content;
  --map-h: 240px;
  --hairline: 1px;
  --focus-ring: 2px;
  --focus-offset: 4px;
  --underline-offset: 8px;
  --map-land-fill: var(--tabua-a8);
  --map-land-line: var(--tabua-a16);
  --map-route-faint: var(--white-a16);
  --map-backhaul: var(--white-a40);
  --map-node: var(--color-white);
  --map-node-ring: var(--white-a40);
  --map-label: var(--white-a88);
  --map-leader: var(--white-a28);
  --map-contour: var(--tabua-a8);
  --map-contour-major: var(--tabua-a12);
  --map-coast: rgba(45, 152, 212, 0.28);
  --map-label-size: 12px;
  --map-label-size-sm: 10px;
  --blur-sm: 8px;
  --blur-md: 12px;
  --blur-lg: 16px;
  --shadow-card-hover: 0 24px 48px -32px var(--indigo-a44);
  --shadow-popup: 0 40px 80px -24px var(--abyss-a60);
  --glow-dot: 0 0 0 4px var(--white-a16), 0 0 16px var(--cyan-a56);
  --dur-fast: .2s;
  --dur-base: .25s;
  --dur-slow: .3s;
  --dur-enter: .9s;
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --section-padding: clamp(calc(var(--section-padding-min) * 1px), calc(var(--section-padding-min) * 1px + (var(--section-padding-max) - var(--section-padding-min)) * (100vw - 390px) / 1530), calc(var(--section-padding-max) * 1px));
  --stack: clamp(calc(var(--stack-min) * 1px), calc(var(--stack-min) * 1px + (var(--stack-max) - var(--stack-min)) * (100vw - 390px) / 1530), calc(var(--stack-max) * 1px));
  --page-hero-pad-top: var(--section-padding);
  --page-hero-pad-bottom: var(--section-padding);
  --split-gap: clamp(calc(var(--split-gap-min) * 1px), calc(var(--split-gap-min) * 1px + (var(--split-gap-max) - var(--split-gap-min)) * (100vw - 390px) / 1530), calc(var(--split-gap-max) * 1px));
  --system-gap: clamp(calc(var(--system-gap-min) * 1px), calc(var(--system-gap-min) * 1px + (var(--system-gap-max) - var(--system-gap-min)) * (100vw - 390px) / 1530), calc(var(--system-gap-max) * 1px));
  --system-pad: clamp(calc(var(--system-pad-min) * 1px), calc(var(--system-pad-min) * 1px + (var(--system-pad-max) - var(--system-pad-min)) * (100vw - 390px) / 1530), calc(var(--system-pad-max) * 1px));
  --h1: clamp(calc(var(--h1-min) * 1rem / 16), calc(var(--h1-min) * 1rem / 16 + (var(--h1-max) - var(--h1-min)) * (100vw - 390px) / 1530), calc(var(--h1-max) * 1rem / 16));
  --page-title: clamp(calc(var(--page-title-min) * 1rem / 16), calc(var(--page-title-min) * 1rem / 16 + (var(--page-title-max) - var(--page-title-min)) * (100vw - 390px) / 1530), calc(var(--page-title-max) * 1rem / 16));
  --h2: clamp(calc(var(--h2-min) * 1rem / 16), calc(var(--h2-min) * 1rem / 16 + (var(--h2-max) - var(--h2-min)) * (100vw - 390px) / 1530), calc(var(--h2-max) * 1rem / 16));
  --hero-lede: clamp(calc(var(--hero-lede-min) * 1rem / 16), calc(var(--hero-lede-min) * 1rem / 16 + (var(--hero-lede-max) - var(--hero-lede-min)) * (100vw - 390px) / 1530), calc(var(--hero-lede-max) * 1rem / 16));
  --title-l: clamp(calc(var(--title-l-min) * 1rem / 16), calc(var(--title-l-min) * 1rem / 16 + (var(--title-l-max) - var(--title-l-min)) * (100vw - 390px) / 1530), calc(var(--title-l-max) * 1rem / 16));
  --title-m: clamp(calc(var(--title-m-min) * 1rem / 16), calc(var(--title-m-min) * 1rem / 16 + (var(--title-m-max) - var(--title-m-min)) * (100vw - 390px) / 1530), calc(var(--title-m-max) * 1rem / 16));
  --title-s: clamp(calc(var(--title-s-min) * 1rem / 16), calc(var(--title-s-min) * 1rem / 16 + (var(--title-s-max) - var(--title-s-min)) * (100vw - 390px) / 1530), calc(var(--title-s-max) * 1rem / 16));
  --stat: clamp(calc(var(--stat-min) * 1rem / 16), calc(var(--stat-min) * 1rem / 16 + (var(--stat-max) - var(--stat-min)) * (100vw - 390px) / 1530), calc(var(--stat-max) * 1rem / 16));
  --initials: clamp(calc(var(--initials-min) * 1rem / 16), calc(var(--initials-min) * 1rem / 16 + (var(--initials-max) - var(--initials-min)) * (100vw - 390px) / 1530), calc(var(--initials-max) * 1rem / 16));
  --initials-bio: clamp(calc(var(--initials-bio-min) * 1rem / 16), calc(var(--initials-bio-min) * 1rem / 16 + (var(--initials-bio-max) - var(--initials-bio-min)) * (100vw - 390px) / 1530), calc(var(--initials-bio-max) * 1rem / 16));
}
@media (max-width: 1280px) {
  :root { --card-padding: var(--space-24); }
}
@media (max-width: 1100px) {
  :root { --logo-w: 188px; --header-gap: var(--space-24); --feature-gap: var(--space-48); }
}
@media (max-width: 780px) {
  :root {
    --page-margin: 20px;
    --header-h: 76px; --header-h-stuck: 60px; --header-gap: var(--space-16);
    --hero-pad-top: var(--space-44); --hero-pad-bottom: var(--space-88);
    --logo-w: 164px;
    --map-h: 220px;
    --feature-gap: var(--space-40);
  }
}
