/**
 * Rentium design tokens.
 *
 * Ported 1:1 from the Flutter marketing tokens so the static site and the app
 * cannot drift:
 *   - lib/core/theme/rentium_brand.dart      (tier-0 brand primitives)
 *   - lib/features/landing/presentation/landing_styles.dart  (LandingColors,
 *     LandingTypography, LandingRadius, LandingShadows)
 *
 * Those Dart files were themselves ported from an original CSS/Figma source
 * (haven-styles.tsx) and preserve the source clamp() values in comments. This
 * file restores the real fluid type Flutter had to hardcode to fixed pixels.
 *
 * Rule from DESIGN_SYSTEM.md §1: colours live here and nowhere else. No raw
 * hex outside this file.
 */

:root {
  /* ── Tier 0 · brand primitives (rentium_brand.dart) ───────────────────── */
  --obsidian: #0a0a0b;
  --chalk: #f7f6f3;
  --chalk-deep: #efede8;
  --gold: #c8a96e;
  --emerald: #2a7a5a;
  --crimson: #a63228;

  /* ── Tier 1 · glass + tint primitives (LandingColors) ─────────────────── */
  --glass-white: rgba(255, 255, 255, 0.52);
  --glass-dark: rgba(12, 12, 14, 0.62);
  --gold-subtle: rgba(200, 169, 110, 0.15);
  --mist: rgba(247, 246, 243, 0.08);
  --crimson-subtle: rgba(166, 50, 40, 0.08);

  /* ── Tier 2 · surfaces ────────────────────────────────────────────────── */
  --surface-base: var(--chalk);
  --surface-elevated: rgba(255, 255, 255, 0.72);
  --surface-glass-chrome: var(--glass-white);
  --surface-glass-dark: var(--glass-dark);
  --surface-inverse: var(--obsidian);
  --surface-accent-subtle: var(--gold-subtle);

  /* ── Tier 2 · text ────────────────────────────────────────────────────── */
  --text-primary: var(--obsidian);
  --text-secondary: rgba(10, 10, 11, 0.48);
  --text-tertiary: rgba(10, 10, 11, 0.28);
  --text-inverse-primary: var(--chalk);
  --text-inverse-muted: rgba(247, 246, 243, 0.52);
  --text-accent: var(--gold);
  --text-positive: var(--emerald);

  /* ── Tier 2 · borders ─────────────────────────────────────────────────── */
  --border-subtle: rgba(10, 10, 11, 0.09);
  --border-glass-inner: rgba(255, 255, 255, 0.28);

  /* ── Radii (LandingRadius) ────────────────────────────────────────────── */
  --radius-card: 28px;
  --radius-card-sm: 14px;
  --radius-pill: 999px;

  /* ── Shadows (LandingShadows.glassFloat) ──────────────────────────────── */
  --shadow-glass-float:
    0 24px 48px rgba(10, 10, 11, 0.08),
    0 8px 16px rgba(10, 10, 11, 0.04);

  /* ── Typography ───────────────────────────────────────────────────────── */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    'Helvetica Neue', Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas,
    'Liberation Mono', monospace;

  /* Fluid scale — the original clamp() values, recorded as comments in
     LandingTypography and flattened to fixed px by Flutter. */
  --t-display: clamp(56px, 8vw, 108px);
  --t-headline: clamp(32px, 4.5vw, 64px);
  --t-subhead: clamp(18px, 2vw, 24px);
  --t-body: clamp(15px, 1.2vw, 17px);
  --t-label: 11px;
  --t-mono: 13px;

  /* ── Spacing · 8-point rhythm (DESIGN_SYSTEM.md §7) ───────────────────── */
  --space-xs: 6px;
  --space-sm: 10px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 80px;

  /* ── Layout ───────────────────────────────────────────────────────────── */
  --max-width: 1100px;
  --gutter: 24px;

  /* ── Motion (RentiumAnimations: felt, not watched — 120–400ms) ────────── */
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --dur-fast: 200ms;
  --dur-base: 300ms;
  --dur-slow: 400ms;
}

@media (min-width: 768px) {
  :root {
    --gutter: 48px;
  }
}
