/* FreshersJobSite design tokens — Sprout / Indigo / Mango (docs/research/brand-spec.md).
   Fonts are self-hosted; the page <head> preloads both files. */
@font-face{font-family:"Space Grotesk";src:url("/assets/fonts/space-grotesk.woff2") format("woff2-variations"),url("/assets/fonts/space-grotesk.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/inter.woff2") format("woff2-variations"),url("/assets/fonts/inter.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  /* ---------- Brand ramps ---------- */
  --sprout-50:#ECFDF5; --sprout-100:#D1FAE5; --sprout-400:#34D399; --sprout-500:#10B981;
  --sprout-600:#059669; --sprout-700:#047857; --sprout-800:#065F46;
  --indigo-50:#EEF2FF; --indigo-100:#E0E7FF; --indigo-500:#6366F1; --indigo-600:#4F46E5; --indigo-700:#4338CA;
  --mango-50:#FFFBEB; --mango-100:#FEF3C7; --mango-500:#F59E0B; --mango-700:#B45309;
  --ink-900:#0F172A; --ink-700:#334155; --ink-500:#475569;
  --night:#1E1B4B; --night-2:#2B2760;

  /* ---------- Semantic surfaces ---------- */
  --color-bg:#F7FBF9;
  --color-surface:#FFFFFF;
  --color-surface-muted:#F1F5F9;      /* chips */
  --color-tint:#EDF7F2;               /* tinted sections */
  --color-border:#E4EBE7;
  --color-border-strong:#CBD5CF;
  --color-ink:var(--night);

  /* ---------- Text ---------- */
  --color-text:#0F172A;
  --color-text-muted:#516070;         /* 6.3:1 on white, 5.9:1 on Mist */
  --color-text-invert:#F8FAFC;

  /* ---------- Actions ---------- */
  --color-primary:var(--sprout-700);
  --color-primary-hover:var(--sprout-800);
  --color-primary-text:#FFFFFF;
  --color-brand:var(--sprout-500);
  --color-link:var(--sprout-700);
  --color-secondary:var(--indigo-600);
  --color-accent:var(--mango-500);
  --color-accent-text:var(--mango-700);
  --color-focus-ring:var(--indigo-600);

  /* ---------- Feedback ---------- */
  --color-success:#16A34A; --color-warning:#D97706; --color-error:#DC2626;

  /* ---------- Gradients ---------- */
  --grad-brand:linear-gradient(135deg,var(--sprout-500),var(--indigo-600));
  --grad-cta:linear-gradient(135deg,var(--sprout-600),var(--sprout-700));
  --grad-ink:linear-gradient(150deg,var(--night-2) 0%,var(--night) 100%);
  --blob-green:rgba(16,185,129,.20);
  --blob-indigo:rgba(79,70,229,.14);

  /* ---------- Typography ---------- */
  --font-display:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs-display:clamp(2.1rem,5.2vw,3.5rem);
  --fs-h1:clamp(1.9rem,4.4vw,3rem);
  --fs-h2:clamp(1.5rem,3vw,2.1rem);
  --fs-h3:1.25rem; --fs-h4:1.0625rem; --fs-h5:1rem;
  --fs-eyebrow:.75rem; --fs-body-lg:1.125rem; --fs-body:1rem;
  --fs-small:.875rem; --fs-caption:.75rem;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-black:700;
  --lh-tight:1.1; --lh-snug:1.3; --lh-body:1.6;
  --tracking-tight:-.025em; --tracking-wide:.08em;

  /* ---------- Spacing (4px base) ---------- */
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem;

  /* ---------- Radius ---------- */
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-xl:24px; --radius-pill:999px;

  /* ---------- Elevation (green-tinted) ---------- */
  --shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --shadow-md:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(16,185,129,.10);
  --shadow-lg:0 2px 6px rgba(15,23,42,.05),0 18px 44px rgba(79,70,229,.13);
  --shadow-ink:0 18px 44px rgba(30,27,75,.28);

  /* ---------- Layout ---------- */
  --wrap:1140px; --gut:24px; --head-h:68px;

  /* ---------- Motion ---------- */
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --ease-out:cubic-bezier(.22,1,.36,1);
  --dur-fast:150ms; --dur-base:240ms; --dur-slow:560ms;
}

:root[data-theme="dark"]{
  --color-bg:#0B1220; --color-surface:#131C2E; --color-surface-muted:#1A2438; --color-tint:#101A2B;
  --color-border:#24304A; --color-border-strong:#33415F;
  --color-text:#E6EAF2; --color-text-muted:#A3AFC2; --color-text-invert:#0B1220;
  --color-primary:#34D399; --color-primary-hover:#6EE7B7; --color-primary-text:#052E22;
  --color-link:#34D399; --color-secondary:#818CF8; --color-accent:#FBBF24; --color-accent-text:#FBBF24;
  --color-focus-ring:#818CF8;
  --shadow-md:0 2px 6px rgba(0,0,0,.4),0 12px 28px rgba(0,0,0,.45);
  --shadow-lg:0 6px 16px rgba(0,0,0,.45),0 24px 56px rgba(0,0,0,.5);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --color-bg:#0B1220; --color-surface:#131C2E; --color-surface-muted:#1A2438; --color-tint:#101A2B;
    --color-border:#24304A; --color-border-strong:#33415F;
    --color-text:#E6EAF2; --color-text-muted:#A3AFC2; --color-text-invert:#0B1220;
    --color-primary:#34D399; --color-primary-hover:#6EE7B7; --color-primary-text:#052E22;
    --color-link:#34D399; --color-secondary:#818CF8; --color-accent:#FBBF24; --color-accent-text:#FBBF24;
    --color-focus-ring:#818CF8;
    --shadow-md:0 2px 6px rgba(0,0,0,.4),0 12px 28px rgba(0,0,0,.45);
    --shadow-lg:0 6px 16px rgba(0,0,0,.45),0 24px 56px rgba(0,0,0,.5);
  }
}
