/* ─────────────────────────────────────────────────────────────
   330 Ads — design tokens
   Brand: dark teal (#071817) + warm cream (#F5EFE3) + amber (#E8C26B)
   Derived from the 330 Hosting main site (#071817 theme-color).
   All colours, type, spacing, radii referenced by token — never inline.
   ──────────────────────────────────────────────────────────── */

:root {
  /* ── brand ─────────────────────────────────────────────── */
  --color-brand: #071817;            /* ink: header text, dark bands */
  --color-brand-deep: #050F0F;       /* hover/active for brand surfaces */
  --color-brand-soft: #1A2C2A;       /* raised on dark, alt dark band */
  --color-cream: #F5EFE3;            /* warm paper, headlines on dark */
  --color-cream-deep: #E8E1D0;       /* alt cream band */
  --color-amber: #E8C26B;            /* primary CTA, accent line */
  --color-amber-deep: #C9A44E;       /* hover on amber CTA */

  /* ── neutrals ──────────────────────────────────────────── */
  --color-ink: #0E1B1A;
  --color-ink-soft: #36413F;
  --color-muted: #5E6866;
  --color-paper: #FBF8F1;
  --color-paper-deep: #F2ECDD;
  --color-field: #FFFFFF;
  --color-border: #D9D2C0;
  --color-border-strong: #B6AC92;
  --color-success: #2F6B4A;
  --color-success-soft: #E4F1E9;
  --color-danger: #B33A3A;
  --color-danger-soft: #FBEEEE;

  /* on-dark text roles */
  --color-on-dark: #F5EFE3;
  --color-on-dark-soft: #C8C8BD;
  --color-on-dark-faint: #8B948F;
  --color-on-dark-rule: #1F302E;

  /* ── type roles ────────────────────────────────────────── */
  --font-display: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-utility: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* ── scale ─────────────────────────────────────────────── */
  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: 1.0625rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-xl2: 1.75rem;
  --text-2xl: 2rem;
  --text-3xl: 2.625rem;
  --text-4xl: 3.25rem;
  --text-5xl: 4.25rem;

  /* ── space ─────────────────────────────────────────────── */
  --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: 4.5rem;
  --space-9: 6rem;
  --space-10: 9rem;

  /* ── layout ────────────────────────────────────────────── */
  --maxw: 1200px;
  --maxw-narrow: 880px;
  --measure: 64ch;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;

  /* ── elevation ─────────────────────────────────────────── */
  --shadow-sm: 0 1px 2px rgba(7, 24, 23, 0.06), 0 1px 1px rgba(7, 24, 23, 0.04);
  --shadow-md: 0 4px 12px rgba(7, 24, 23, 0.08), 0 2px 4px rgba(7, 24, 23, 0.05);
  --shadow-lg: 0 12px 32px rgba(7, 24, 23, 0.12), 0 4px 8px rgba(7, 24, 23, 0.06);

  /* ── motion ────────────────────────────────────────────── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}