/* ==========================================================================
   Null Studio — design tokens
   Single source of truth for type, colour, space and layout.
   Every value here maps to a Bricks Global Variable in the WP migration.
   ========================================================================== */

/* --- Fonts (self-hosted, SIL Open Font License) --------------------------
   Sneaky Times    — Collletttivo, OFL  (display: logo, menu, section heads)
   Mazius Display  — Collletttivo, OFL  (serif accents, italic emphasis)
   Inter           — rsms, OFL          (body / UI)
   Licences live in assets/fonts/.
   -------------------------------------------------------------------------- */

@font-face {
  font-family: "Sneaky Times";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/sneaky-times.woff2") format("woff2");
}

@font-face {
  font-family: "Mazius Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/mazius-display-regular.woff2") format("woff2");
}

@font-face {
  font-family: "Mazius Display";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/mazius-display-italic.woff2") format("woff2");
}

/* Inter — latin-ext first so Romanian/CE diacritics never fall back mid-word */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/inter-latin-ext-400.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/inter-latin-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/inter-latin-ext-500.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/inter-latin-500.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* --- Colour ---------------------------------------------------------- */
  --color-bg: #ffffff;
  --color-text: #0a0a0a;
  --color-muted: #5c5c5c;        /* 7.0:1 on white — safe for meta text */
  --color-line: #0a0a0a;
  --color-focus: #0050d8;        /* focus ring, visible on both grounds */

  /* --- Font families ---------------------------------------------------- */
  --font-display: "Sneaky Times", "Times New Roman", Times, serif;
  --font-serif: "Mazius Display", Georgia, "Times New Roman", serif;
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial,
    sans-serif;

  /* --- Fluid type scale -------------------------------------------------
     clamp() replaces the old duplicated @media font-size overrides.
     ---------------------------------------------------------------------- */
  --fs-body: 1rem;
  --fs-sm: clamp(1.0625rem, 1.02rem + 0.22vw, 1.25rem);
  --fs-lead: clamp(1.1875rem, 1.06rem + 0.62vw, 1.5rem);
  --fs-title-sm: clamp(1.5rem, 1.35rem + 0.75vw, 2rem);
  --fs-title-md: clamp(2rem, 1.65rem + 1.75vw, 3rem);
  --fs-title-lg: clamp(2.25rem, 1.7rem + 2.75vw, 4rem);
  --fs-article: clamp(2.25rem, 1.85rem + 2vw, 3.5rem);
  --fs-menu: clamp(2.5rem, 1.6rem + 4.5vw, 5rem);
  --fs-logo: clamp(3.25rem, 1.2rem + 8vw, 8rem);

  --lh-tight: 0.85;
  --lh-heading: 1;
  --lh-body: 1.35;

  /* --- Space scale ------------------------------------------------------ */
  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2rem;
  --sp-5: 3rem;
  --sp-6: 4rem;
  --sp-7: 6rem;

  /* --- Layout ----------------------------------------------------------- */
  --pad-x: clamp(1rem, 4vw, 2rem);
  --gap-col: clamp(1rem, 3vw, 2rem);

  /* Media block heights — fluid so tall art never swamps a small screen */
  --h-hero: clamp(320px, 55vw, 700px);
  --h-feature: clamp(360px, 62vw, 800px);
  --h-short: clamp(220px, 32vw, 300px);
  --h-card: clamp(380px, 58vw, 600px);
  --h-card-img: clamp(300px, 48vw, 500px);

  /* --- Motion ----------------------------------------------------------- */
  --dur: 0.35s;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Honour the OS "reduce motion" setting everywhere at once. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur: 0.01ms;
  }
}
