@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0000-024F, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-italic-cyrillic.woff2") format("woff2");
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-italic-latin.woff2") format("woff2");
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  unicode-range: U+0000-024F, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}

:root {
  color-scheme: light;
  --sir-navy: #002349;
  --sir-navy-dark: #001A33;
  --background: #FFFFFF;
  --background-soft: #F5F5F3;
  --text-primary: #111111;
  --text-secondary: #666666;
  --accent-grey: #999999;
  --border: #D8D8D4;
  --gold: #C29B40;
  --white: #FFFFFF;
  --font-heading: "Cormorant Garamond", Georgia, serif;
  --font-body: "Inter", Arial, sans-serif;

  --color-bg: var(--background);
  --color-surface-alt: var(--background-soft);
  --color-surface: var(--white);
  --color-white: var(--white);
  --color-primary: var(--sir-navy);
  --color-primary-dark: var(--sir-navy-dark);
  --color-primary-tint: var(--background-soft);
  --color-accent: var(--sir-navy);
  --color-accent-dark: var(--sir-navy-dark);
  --color-text: var(--text-primary);
  --color-text-muted: var(--text-secondary);
  --color-text-faint: var(--accent-grey);
  --color-border: var(--border);
  --color-border-strong: var(--accent-grey);
  --color-glass: var(--white);
  --color-glass-strong: var(--white);
  --color-glass-border: var(--border);
  --color-overlay: rgba(0, 26, 51, 0.78);
  --color-on-primary: var(--white);
  --color-on-accent: var(--white);
  --color-success: var(--sir-navy);
  --color-error: #9B3434;
  --radius-btn: 0.5rem;
  --font-display: var(--font-heading);
  --font-ui: var(--font-body);
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: clamp(1.05rem, 0.98rem + 0.25vw, 1.25rem);
  --text-lead: clamp(1.2rem, 1.04rem + 0.65vw, 1.7rem);
  --text-h3: clamp(1.5rem, 1.25rem + 1vw, 2rem);
  --text-h2: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);
  --text-hero: clamp(2.5rem, 1.6rem + 4vw, 5rem);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --radius-sm: 0.75rem;
  --radius-md: 1.25rem;
  --radius-lg: 1.75rem;
  --radius-media: clamp(1.5rem, 3vw, 2.5rem);
  --shadow-soft: 0 20px 60px rgba(0, 26, 51, 0.11);
  --shadow-float: 0 30px 90px rgba(0, 26, 51, 0.16);
  --ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-quick: 180ms;
  --duration-standard: 360ms;
  --duration-reveal: 850ms;
  --container: 91rem;
  --gutter: clamp(1rem, 3vw, 3.5rem);

  /* Density scale — used on the home page only, kept here per project convention
     that shared design tokens live in this file. */
  --fs-section-title: var(--text-h2);
  --fs-card-title: clamp(1.5rem, 1.3rem + 0.5vw, 2rem);
  --fs-caption: 0.875rem;
  --lh-title: 1.15;
  --section-py-desktop: 4.5rem;
  --section-py-mobile: 3rem;
  --gap-lg: 2rem;
  --gap-md: 1.25rem;
  --gap-sm: 0.75rem;
  --container-max: 80rem;

  /* Content-text scale — body copy, card/article descriptions, form labels,
     footer text. Headings, nav, buttons, eyebrows, badges and prices stay
     on their own sizes and are untouched by this scale. */
  --fs-body-lg: 1.125rem;
  --fs-body: 1.0625rem;
  --fs-body-sm: 0.9375rem;
  --fs-micro: 0.84375rem;
  --fw-body: 400;
  --fw-body-em: 500;
  --lh-body: 1.6;
}

@media (max-width: 48rem) {
  :root {
    --fs-body-lg: 1.0625rem;
    --fs-body: 1rem;
    --fs-body-sm: 0.875rem;
    --fs-micro: 0.8125rem;
  }
}
