/* Fonts are loaded via <link rel="preconnect"> + <link rel="stylesheet"> in HTML head.
   @import here is removed because it blocks CSS parsing and duplicates the HTML load. */

:root {
  /* Colors — Maison palette */
  --alba: #FAF7F1;
  --linen: #F1ECE2;
  --stone: #E7E1D4;
  --basalt: #1C1A17;
  --ink-2: #5A554C;
  --ink-muted: #8B857A;
  --olivar: #6B7A4B;
  --sienna: #B4612E;
  --hairline: #D9D2C3;
  --surface-card: color-mix(in srgb, var(--alba) 70%, var(--linen) 30%);
  --overlay-grad: linear-gradient(to top, rgba(12,10,8,0.72) 0%, rgba(12,10,8,0.35) 40%, rgba(12,10,8,0) 80%);

  /* Typography */
  --font-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;

  /* Type scale — generous, editorial */
  --fs-display: clamp(3rem, 7vw, 6rem);
  --fs-h1: clamp(2.5rem, 5vw, 4.5rem);
  --fs-h2: clamp(1.875rem, 3.4vw, 3rem);
  --fs-h3: clamp(1.375rem, 1.8vw, 1.75rem);
  --fs-body-lg: clamp(1.125rem, 1.2vw, 1.3125rem);
  --fs-body: 1rem;
  --fs-caption: 0.875rem;
  --fs-eyebrow: 0.6875rem;

  /* Spacing — roomier scale */
  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2rem;
  --sp-5: 2.5rem;
  --sp-6: 3rem;
  --sp-8: 4rem;
  --sp-10: 5rem;
  --sp-12: 7rem;
  --sp-14: 8.5rem;
  --sp-16: 10rem;

  /* Layout */
  --container: 1440px;
  --content: 1200px;
  --narrow: 62ch;
  --header-h: 148px;

  /* Motion */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 600ms;
  --dur-slow: 800ms;
}

@media (max-width: 1023px) {
  :root { --header-h: 104px; }
}
@media (max-width: 639px) {
  :root { --header-h: 88px; }
}

html, body { overflow-x: hidden; }
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
