/*
  ARCLO V2 — DESIGN TOKENS
  Single source of truth for color, type, spacing, radii and motion.
  Change brand values here and they cascade through the entire site.
*/

:root {
  /* ---------------------------------------------------------------
     COLOR — core brand palette (do not add new hues without reason)
  --------------------------------------------------------------- */
  --navy-950: #050e1c;   /* deepest cinematic band (footer, overlays) */
  --navy-900: #081f3b;   /* primary navy — headlines, primary dark bg */
  --navy-800: #0e2c50;   /* hover state for navy-900 surfaces */
  --navy-700: #2f4a6d;   /* supporting navy — secondary text on dark */
  --slate-400: #a7b4c7;  /* muted blue-gray — tertiary text, quiet borders */
  --fog-100: #e8ebf0;    /* near-white — alt section bg, hairlines on dark */
  --canvas: #f8f7f2;     /* warm off-white — PRIMARY page background */
  --canvas-dim: #efede4; /* pressed/hover state for canvas surfaces */
  --white: #ffffff;
  --star-gold: #f0b429; /* review-star fill only — a recognized rating
    convention, not a brand accent. Do not use elsewhere. */
  --color-success: #2f6b4f; /* muted, on-palette green — success/confirmation
    states only (booking confirmed, form submitted). Not a general accent. */

  /* Semantic color roles */
  --color-bg: var(--canvas);
  --color-bg-alt: var(--fog-100);
  --color-surface: var(--white);
  --color-ink: var(--navy-900);
  --color-ink-soft: rgba(8, 31, 59, 0.72);
  --color-ink-muted: rgba(8, 31, 59, 0.64); /* tuned for ~4.6:1 contrast on canvas, meets WCAG AA for small text */
  --color-ink-faint: rgba(8, 31, 59, 0.32);
  --color-border: rgba(8, 31, 59, 0.12);
  --color-border-strong: rgba(8, 31, 59, 0.22);

  --color-bg-dark: var(--navy-900);
  --color-bg-dark-deep: var(--navy-950);
  --color-on-dark: var(--canvas);
  --color-on-dark-soft: rgba(248, 247, 242, 0.72);
  --color-on-dark-muted: rgba(248, 247, 242, 0.52);
  --color-border-on-dark: rgba(248, 247, 242, 0.16);

  --color-accent: var(--navy-700);

  /* ---------------------------------------------------------------
     TYPOGRAPHY
  --------------------------------------------------------------- */
  --font-display: "Fraunces", "Iowan Old Style", "Georgia", serif;
  --font-body: "Work Sans", -apple-system, "Segoe UI", sans-serif;

  --tracking-tight: -0.03em;
  --tracking-snug: -0.015em;
  --tracking-normal: 0;
  --tracking-wide: 0.08em;
  --tracking-wider: 0.14em;

  --leading-tight: 1.05;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.7;

  /* Fluid type scale */
  --text-hero: clamp(2.75rem, 1.6rem + 5vw, 6.25rem);
  --text-hero-compact: clamp(2.5rem, 1.85rem + 3vw, 4.25rem);
  --text-h1: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem);
  --text-h2: clamp(1.875rem, 1.5rem + 1.6vw, 2.75rem);
  --text-h3: clamp(1.375rem, 1.2rem + 0.7vw, 1.75rem);
  --text-lead: clamp(1.125rem, 1.02rem + 0.4vw, 1.375rem);
  --text-body: 1.0625rem;
  --text-small: 0.9375rem;
  --text-micro: 0.8125rem;
  --text-eyebrow: 0.8125rem;
  --text-stat: clamp(3.5rem, 2.6rem + 4vw, 6rem);
  --text-numeral: clamp(3.5rem, 2.8rem + 3vw, 5.5rem);

  /* ---------------------------------------------------------------
     SPACING — generous, editorial rhythm
  --------------------------------------------------------------- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  --section-pad-y: clamp(4.5rem, 3.5rem + 5vw, 9rem);
  --section-pad-y-tight: clamp(3rem, 2.5rem + 2.5vw, 5.5rem);
  --container-pad-x: clamp(1.25rem, 0.9rem + 2vw, 3rem);

  /* ---------------------------------------------------------------
     LAYOUT
  --------------------------------------------------------------- */
  --container-max: 1200px;
  --container-max-wide: 1440px;
  --container-max-narrow: 760px;

  /* ---------------------------------------------------------------
     RADII — restrained, never oversized
  --------------------------------------------------------------- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-full: 999px;

  /* ---------------------------------------------------------------
     SHADOWS — layered, navy-tinted, never flat
  --------------------------------------------------------------- */
  --shadow-sm: 0 1px 2px rgba(8, 31, 59, 0.05), 0 1px 1px rgba(8, 31, 59, 0.03);
  --shadow-md: 0 6px 16px rgba(8, 31, 59, 0.07), 0 2px 6px rgba(8, 31, 59, 0.04);
  --shadow-lg: 0 20px 48px rgba(8, 31, 59, 0.10), 0 6px 16px rgba(8, 31, 59, 0.05);
  --shadow-xl: 0 32px 72px rgba(8, 31, 59, 0.16), 0 10px 24px rgba(8, 31, 59, 0.07);

  /* ---------------------------------------------------------------
     MOTION — transform/opacity only, spring-style easing
  --------------------------------------------------------------- */
  --ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 160ms;
  --duration-base: 320ms;
  --duration-slow: 640ms;

  /* ---------------------------------------------------------------
     Z-INDEX LAYERS
  --------------------------------------------------------------- */
  --z-header: 100;
  --z-overlay: 200;
}
