/* Self-hosted fonts: one WOFF2 per face holding Google's latin range plus Turkish (Ğ ğ İ Ş ş, ₺), built by
   tools/subset-fonts.py from the OFL sources in design/fonts/source (the tool rewrites the hashed names below).
   No unicode-range: each face is a single file, so the browser falls back per character for anything it lacks.
   Playfair Display = headings (700 section, 900 page title), Barlow = body, Barlow Condensed 700 = CTA plates,
   800 = labels (eyebrow, badges, bar). Playfair has no ₺ glyph: amounts render in Barlow. */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/barlow-400.96c9c6c1.woff2) format('woff2');}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-600.285b219d.woff2) format('woff2');}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700.a7ab1ad4.woff2) format('woff2');}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/barlow-condensed-800.aea01f04.woff2) format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/playfair-700.5dc9f2ee.woff2) format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/playfair-900.11e4ccf2.woff2) format('woff2');}

:root {
  /* Palette — black + orange (design/SANAT-YONETIMI.md, user decision 2026-09-25). EVERY colour value of the site lives
     in this block: the raw palette first, then the roles the components use. tools/lib/checks.js CONTRAST_PAIRS
     computes the ratios of the text/background roles (≥ 4.5; the CTA label on the plate ≥ 3, measured 8.13).
     Rules: CTA text is always ink-0 on mandarin; cream on mandarin (2.08) is forbidden; text-mute only on ink-0/ink-1. */
  --ink-0: #0A0807;          /* hero court, header, footer: the deepest black */
  --ink-1: #141110;          /* page ground */
  --ink-2: #1F1A17;          /* card / panel surface */
  --line: #332A24;           /* decorative edge (never text) */
  --mandarin: #F58A1F;       /* CTA fill, links, active nav, badges */
  --mandarin-deep: #C4600F;  /* pressed, input edge */
  --mandarin-light: #FFB25C; /* CTA hover, focus ring, status dot */
  --ember: #7A3A08;          /* gradient end, shadow face, hairline; never a large text ground */
  --cream: #F5EBDC;          /* primary text */
  --text-2: #B8A895;         /* secondary text */
  --text-mute: #8C7E70;      /* small meta, only on ink-0 / ink-1 */

  /* roles (names say what a colour does) */
  --surface: var(--ink-1);
  --surface-2: var(--ink-0);
  --surface-raised: var(--ink-2);
  --surface-raised-2: var(--line);   /* panel inside a panel */
  --brand: var(--mandarin);          /* CTA plate, seal */
  --on-brand: var(--ink-0);          /* text on the plate: always black */
  --cta-label: var(--on-brand);
  --cta-hover: var(--mandarin-light);   /* plate hover (label stays ink-0: 11.21) */
  --cta-pressed: var(--mandarin-deep);  /* plate pressed (ink-0: 4.78) */
  --accent: var(--mandarin);         /* links, icons, heading accent word */
  --accent-hi: var(--mandarin-light);/* hover text, focus ring */
  --accent-deep: var(--mandarin-deep);
  --status: var(--mandarin-light);   /* "adres güncel" dot */
  --status-text: var(--text-2);      /* status text beside the dot */
  --text: var(--cream);
  --text-muted: var(--text-2);
  --danger: var(--mandarin-light);   /* warnings: no red in this palette; the icon carries the meaning */
  --line-strong: var(--ember);

  /* derived (no literal colour) */
  --brand-grad: linear-gradient(180deg, var(--mandarin-light) 0%, var(--mandarin) 38%, var(--mandarin) 70%, var(--mandarin-deep) 100%);
  --panel-grad: linear-gradient(180deg, var(--ink-2) 0%, var(--ink-1) 100%);
  --scrim: color-mix(in srgb, var(--ink-0) 90%, transparent);
  --glow: color-mix(in srgb, var(--mandarin) 16%, transparent);

  /* Type */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-label: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', system-ui, sans-serif;
  --font-head: var(--font-display);
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.25rem;
  --fs-lg: 1.75rem;
  --fs-xl: 2.5rem;
  --fs-2xl: 3.5rem;
  --fs-hero: clamp(3rem, 12vw, 6rem);

  /* Space (4pt) */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-6: 24px;
  --s-8: 32px; --s-12: 48px; --s-16: 64px; --s-24: 96px;

  /* Shape & depth */
  --radius: 10px;
  --shadow-deep: 0 18px 40px rgba(0, 0, 0, 0.5);

  /* Motion */
  --dur-fast: 180ms;
  --dur: 280ms;
  --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);

  /* Layers */
  --z-sticky: 20;
  --z-header: 40;
  --z-skip: 100;

  --container: 1200px;
  --sticky-h: 66px;
}
