/* Şeymanur Coşkun – Portfolio · Design Tokens v1.0
   Fonts (Google Fonts):
   https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap
*/
:root {
  /* ---------- Color: core (fixed palette) ---------- */
  --color-blue: #1D3FE0;          /* Kobalt – primary accent */
  --color-ink: #0A0A0A;           /* Siyah / mürekkep */
  --color-white: #FFFFFF;

  /* ---------- Color: derived blues ---------- */
  --color-blue-700: #1631B3;      /* hover/pressed on blue */
  --color-blue-900: #0D1D6B;      /* deep blue (footer accents, overlays) */
  --color-blue-100: #E8ECFC;      /* light blue surface */
  --color-blue-50:  #F4F6FE;      /* very light blue surface */

  /* ---------- Color: neutrals ---------- */
  --color-gray-700: #3D3D3D;      /* secondary text on white (11.1:1) */
  --color-gray-500: #5E5E5E;      /* meta / caption text (6.6:1) */
  --color-gray-300: #BDBDBD;      /* strong hairline, disabled border */
  --color-gray-200: #DADADA;      /* hairline */
  --color-gray-100: #F2F2F2;      /* neutral surface */
  --color-ink-800: #1A1A1A;       /* raised surface on black */
  --color-ink-600: #8A8A8A;       /* meta text on black (6.0:1) */
  --color-ink-line: #2E2E2E;      /* hairline on black */

  /* ---------- Color: semantic ---------- */
  --bg: var(--color-white);
  --bg-subtle: var(--color-blue-50);
  --bg-inverse: var(--color-ink);
  --bg-accent: var(--color-blue);
  --text: var(--color-ink);
  --text-secondary: var(--color-gray-700);
  --text-muted: var(--color-gray-500);
  --text-inverse: var(--color-white);
  --text-accent: var(--color-blue);
  --line: var(--color-gray-200);
  --line-strong: var(--color-ink);
  --line-inverse: var(--color-ink-line);
  --focus-ring: var(--color-blue);
  --img-placeholder: var(--color-blue);

  /* ---------- Typography: families ---------- */
  --font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* ---------- Typography: scale (desktop) ---------- */
  --fs-display: 120px;  --lh-display: 0.92; --ls-display: -0.04em;
  --fs-h1: 72px;        --lh-h1: 1.0;       --ls-h1: -0.035em;
  --fs-h2: 48px;        --lh-h2: 1.05;      --ls-h2: -0.03em;
  --fs-h3: 28px;        --lh-h3: 1.15;      --ls-h3: -0.015em;
  --fs-h4: 20px;        --lh-h4: 1.25;      --ls-h4: -0.01em;
  --fs-lead: 22px;      --lh-lead: 1.45;    --ls-lead: -0.005em;
  --fs-body: 17px;      --lh-body: 1.6;     --ls-body: 0;
  --fs-small: 14px;     --lh-small: 1.5;    --ls-small: 0;
  --fs-label: 12px;     --lh-label: 1.3;    --ls-label: 0.08em;
  --fs-stat: 72px;      --lh-stat: 0.95;    --ls-stat: -0.04em;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;

  /* ---------- Spacing (4px base) ---------- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;
  --space-11: 160px;

  /* ---------- Grid / layout ---------- */
  --grid-columns: 12;
  --grid-gutter: 24px;
  --grid-margin: 48px;
  --container-max: 1440px;
  --content-max: 1344px;          /* 1440 - 2 × 48 */
  --measure: 68ch;                /* max line length for running text */
  --nav-height: 64px;
  --section-gap: var(--space-10);

  /* ---------- Lines, radius, elevation ---------- */
  --hairline: 1px;
  --rule-strong: 2px;
  --radius-0: 0;
  --radius-pill: 999px;           /* only filter chips */
  --shadow-none: none;            /* system is flat; no shadows */

  /* ---------- Motion ---------- */
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur-fast: 120ms;
  --dur-base: 220ms;
  --dur-slow: 420ms;

  /* ---------- Z-index ---------- */
  --z-nav: 50;
  --z-modal: 100;
}

/* Tablet ≤ 1024px */
@media (max-width: 1024px) {
  :root {
    --fs-display: 88px;
    --fs-h1: 56px;
    --fs-h2: 40px;
    --fs-h3: 24px;
    --fs-stat: 60px;
    --grid-columns: 8;
    --grid-gutter: 20px;
    --grid-margin: 32px;
    --section-gap: var(--space-9);
  }
}

/* Mobile ≤ 640px */
@media (max-width: 640px) {
  :root {
    --fs-display: 52px;  --ls-display: -0.04em;
    --fs-h1: 40px;
    --fs-h2: 32px;
    --fs-h3: 22px;
    --fs-h4: 18px;
    --fs-lead: 19px;
    --fs-body: 16px;
    --fs-stat: 40px;
    --grid-columns: 4;
    --grid-gutter: 16px;
    --grid-margin: 16px;
    --nav-height: 56px;
    --section-gap: var(--space-8);
  }
}
