/* Design tokens. Custom properties only: no selectors beyond :root. */

:root {
  /* Surfaces */
  --ace-ink: #07090F;
  --ace-ink-2: #0B101B;
  --ace-ink-3: #111826;

  /* Text */
  --ace-porcelain: #F2EEE5;
  --ace-muted: rgba(242, 238, 229, .55);
  --ace-faint: rgba(242, 238, 229, .52);

  /* Accents */
  --ace-gold: #C6A15B;
  --ace-gold-bright: #E8CE9A;
  --ace-gold-soft: rgba(198, 161, 91, .12);

  /* Lines & focus */
  --ace-line: rgba(242, 238, 229, .10);
  --ace-line-strong: rgba(242, 238, 229, .18);
  --ace-focus: var(--ace-gold-bright);

  /* Typefaces */
  --ace-font-display: "Cormorant Garamond", "Cormorant Fallback", Georgia, serif;
  --ace-font-body: "Outfit", "Outfit Fallback", system-ui, sans-serif;

  /* Fluid type, 360 → 1440 */
  --ace-fs-hero: clamp(3rem, 1.84rem + 5.15vw, 6.5rem);
  --ace-fs-h2: clamp(2.05rem, 1.6rem + 2vw, 3.4rem);
  --ace-fs-h3: clamp(1.15rem, 1.03rem + 0.52vw, 1.5rem);
  --ace-fs-lead: clamp(1.05rem, 0.95rem + 0.44vw, 1.35rem);
  --ace-fs-body: clamp(0.975rem, 0.95rem + 0.13vw, 1.0625rem);
  --ace-fs-sm: clamp(0.875rem, 0.85rem + 0.09vw, 0.9375rem);
  --ace-fs-overline: 0.75rem;
  --ace-fs-mega: clamp(3.4rem, 2.5rem + 4vw, 6rem);

  /* Tracked caps */
  --ace-track-ui: .16em;
  --ace-track-label: .22em;
  --ace-track-wide: .28em;

  /* Spacing */
  --ace-sp-1: 0.25rem;
  --ace-sp-2: 0.5rem;
  --ace-sp-3: 0.75rem;
  --ace-sp-4: 1rem;
  --ace-sp-5: 1.5rem;
  --ace-sp-6: clamp(2rem, 1.6rem + 1.8vw, 3rem);
  --ace-sp-7: clamp(3rem, 2.2rem + 3.5vw, 5rem);
  --ace-sp-8: clamp(4.5rem, 3rem + 6.5vw, 8rem);

  /* Measure */
  --ace-section-pad: clamp(5rem, 3.3rem + 7.4vw, 9rem);
  --ace-container: 72rem;
  --ace-gutter: clamp(1.25rem, 0.9rem + 1.6vw, 2rem);
  --ace-header-h: clamp(4.25rem, 4rem + 1vw, 5.25rem);

  /* Radii */
  --ace-r-sm: 6px;
  --ace-r-md: 12px;
  --ace-r-lg: 22px;
  --ace-r-pill: 999px;

  /* Elevation */
  --ace-shadow-md: 0 0 0 1px rgba(242, 238, 229, .05), 0 18px 40px -24px rgba(0, 0, 0, .85);
  --ace-shadow-lg: 0 0 0 1px rgba(242, 238, 229, .06), 0 40px 90px -40px rgba(0, 0, 0, .90);
  --ace-glow-gold: 0 0 0 1px rgba(198, 161, 91, .35), 0 18px 50px -22px rgba(198, 161, 91, .45);

  /* Motion */
  --ace-ease: cubic-bezier(.22, 1, .36, 1);
  --ace-ease-inout: cubic-bezier(.65, 0, .35, 1);
  --ace-ease-soft: cubic-bezier(.16, 1, .3, 1);
  --ace-dur-fast: 180ms;
  --ace-dur: 400ms;
  --ace-dur-hover: 480ms;
  --ace-dur-slow: 900ms;
  --ace-dur-slower: 1250ms;

  /* Card lift */
  --ace-card-lift: 4px;

  /* Reveal timing */
  --ace-reveal-transition:
    opacity var(--ace-dur-slower) var(--ace-ease-soft) var(--reveal-delay, 0ms),
    translate var(--ace-dur-slower) var(--ace-ease-soft) var(--reveal-delay, 0ms);

  /* Stacking */
  --ace-z-header: 100;
  --ace-z-skip: 200;
  --ace-z-intro: 300;
}
