/* Generated from design/design-tokens.json. Do not maintain a second token source. */
:root {
  --color-blue: #001b2e;
  --color-gold: #e1ae45;
  --color-gold-light: #ecc35a;
  --color-cream: #f7f5f0;
  --color-white: #ffffff;
  --color-surface: #e1dcd2;
  --color-ink: var(--color-blue);
  --color-muted: color-mix(in srgb, var(--color-blue) 64%, transparent);
  --color-subtle: color-mix(in srgb, var(--color-blue) 48%, transparent);
  --color-line: color-mix(in srgb, var(--color-blue) 12%, transparent);
  --color-inverse-muted: color-mix(in srgb, var(--color-cream) 64%, transparent);
  --color-inverse-line: color-mix(in srgb, var(--color-cream) 12%, transparent);
  --color-glass: color-mix(in srgb, var(--color-cream) 16%, transparent);
  --color-overlay: color-mix(in srgb, var(--color-blue) 32%, transparent);
  --color-overlay-strong: color-mix(in srgb, var(--color-blue) 64%, transparent);
  --color-overlay-gold: color-mix(in srgb, var(--color-gold) 48%, transparent);
  --font-body: "Noto Sans", "Microsoft YaHei", "PingFang SC", sans-serif;
  --font-label: "Noto Sans", "Microsoft YaHei", "PingFang SC", sans-serif;
  --weight-normal: 400;
  --weight-heading: 500;
  --weight-section-heading: 700;
  --font-h1: 60px;
  --line-h1: 60px;
  --tracking-h1: -2px;
  --font-h2: 48px;
  --line-h2: 52px;
  --tracking-h2: -1.25px;
  --font-h3: 40px;
  --line-h3: 44px;
  --tracking-h3: -1px;
  --font-h4: 32px;
  --line-h4: 36px;
  --tracking-h4: -.5px;
  --font-h5: 28px;
  --line-h5: 32px;
  --tracking-h5: -.5px;
  --font-h6: 24px;
  --line-h6: 28px;
  --tracking-h6: -.25px;
  --font-body-size: 16px;
  --line-body: 24px;
  --font-small: 14px;
  --line-small: 20px;
  --font-large: 20px;
  --line-large: 28px;
  --font-caption: 11px;
  --line-caption: 12px;
  --tracking-label: 1.25px;
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 48px;
  --space-9: 64px;
  --space-10: 80px;
  --space-11: 120px;
  --space-12: 160px;
  --section-small: 80px;
  --section-medium: 120px;
  --section-large: 160px;
  --section-extra-large: 200px;
  --container-max: 1600px;
  --page-padding: 100px;
  --grid-gap: 16px;
  --frame-padding: 8px;
  --radius-small: 24px;
  --radius-medium: 32px;
  --radius-large: 40px;
  --radius-pill: 1080px;
  --radius-input: 8px;
  --button-height: 48px;
  --button-small-height: 40px;
  --nav-height: 48px;
  --promo-height: 32px;
  --spotlight-height: 600px;
  --spotlight-tablet-min: 480px;
  --spotlight-media-min: 240px;
  --nav-scroll-threshold: 120px;
  --border-width: 1px;
  --focus-width: 2px;
  --blur-nav: 40px;
  --blur-overlay: 8px;
  --motion-fast: 300ms;
  --motion-hover: 400ms;
  --motion-reveal: 500ms;
  --motion-nav: 600ms;
  --motion-image: 2000ms;
  --motion-overlap: 1000ms;
  --motion-delay-title: 1210ms;
  --motion-delay-body: 1350ms;
  --motion-delay-buttons: 1700ms;
  --motion-delay-overlap: 2400ms;
  --motion-stagger: 100ms;
  --motion-line-stagger: 108ms;
  --motion-card-delay: 500ms;
  --motion-body-delay: 200ms;
  --motion-hover-delay: 80ms;
  --motion-char-stagger: 20ms;
  --motion-scrub: 800ms;
  --motion-nav-shift-delay: 100ms;
  --ease-out: cubic-bezier(.215,.61,.355,1);
  --ease-text: cubic-bezier(.22,1,.36,1);
  --ease-standard: ease;
  --reveal-offset: 8px;
  --line-offset: 32%;
  --stagger-offset: 4px;
  --hover-scale: .96;
  --image-load-scale: 1.08;
  --hero-scroll-travel: 64px;
  --parallax-medium: 4;
  --hero-scroll-opacity: .24;
  --hero-image-scroll-opacity: .32;
  --hero-image-scroll-scale: 1.08;
  --overlap-distance: 40px;
  --parallax-strong: 8;
  --parallax-scale-medium: 1.08;
  --parallax-scale-strong: 1.12;
  --z-base: 0;
  --z-section: 1;
  --z-nav: 100;
  --z-dialog: 200;
}

@media (max-width: 991px) {
  :root {
    --font-h1: 56px;
    --line-h1: 56px;
    --font-h2: 40px;
    --line-h2: 44px;
    --font-h3: 36px;
    --line-h3: 40px;
    --font-h4: 28px;
    --line-h4: 32px;
    --font-h5: 24px;
    --line-h5: 28px;
    --font-h6: 20px;
    --line-h6: 24px;
    --space-5: 16px;
    --space-7: 28px;
    --space-8: 40px;
    --space-9: 48px;
    --space-10: 64px;
    --space-11: 80px;
    --space-12: 120px;
    --section-small: 64px;
    --section-medium: 80px;
    --section-large: 96px;
    --section-extra-large: 160px;
    --page-padding: 32px;
    --radius-large: 40px;
    --radius-medium: 32px;
    --radius-small: 24px;
  }
}

@media (max-width: 767px) {
  :root {
    --font-h1: 40px;
    --line-h1: 40px;
    --font-h2: 32px;
    --line-h2: 36px;
    --font-h3: 28px;
    --line-h3: 32px;
    --font-h4: 24px;
    --line-h4: 28px;
    --font-h5: 20px;
    --line-h5: 24px;
    --font-h6: 16px;
    --line-h6: 24px;
    --page-padding: 24px;
    --radius-large: 24px;
    --radius-medium: 20px;
    --radius-small: 16px;
    --section-small: 48px;
    --section-medium: 64px;
    --section-large: 80px;
    --section-extra-large: 120px;
    --hero-scroll-travel: 32px;
  }
}

@media (max-width: 479px) {
  :root {
    --font-h1: 40px;
    --line-h1: 40px;
    --font-h2: 32px;
    --line-h2: 36px;
    --font-h3: 28px;
    --line-h3: 32px;
    --font-h4: 24px;
    --line-h4: 28px;
    --font-h5: 20px;
    --line-h5: 24px;
    --font-h6: 16px;
    --line-h6: 24px;
    --page-padding: 24px;
    --radius-large: 24px;
    --radius-medium: 20px;
    --radius-small: 16px;
    --section-small: 48px;
    --section-medium: 64px;
    --section-large: 80px;
    --section-extra-large: 120px;
  }
}
