/* ==========================================================================
   Design Tokens — TSIVIA WEBSITE
   Source of truth: Figma "TSIVIA WEBSITE" node 2992:166 (canvas 1920 x 10278)
   These map 1:1 to Elementor Global Colors / Global Fonts on export.
   ========================================================================== */

:root {

  /* ---- Colors (from Figma styles) ------------------------------------- */
  --c-dark:          #191D24;   /* כהה   — page background */
  --c-purple:        #695EBE;   /* סגול   — deep accent, used in glows */
  --c-purple-light:  #9F93FF;   /* סגול בהיר — primary accent, CTAs, borders */
  --c-white:         #FFFFFF;   /* לבן */

  /* Derived accents (opacity variants used across the design) */
  --c-line:          rgba(159, 147, 255, 0.12);  /* vertical grid lines */
  --c-card-shadow:   rgba(159, 147, 255, 0.30);

  /* Sub-pixel strokes.
     ----------------------------------------------------------------------
     No browser draws a border thinner than one device pixel — write 0.3px and
     Chrome quietly computes 1px, i.e. a stroke 3.3x too heavy. Figma instead
     antialiases a 0.3px line to roughly 30% pixel coverage, so the faithful
     equivalent is a 1px hairline carrying that coverage as alpha. Width stays
     1px at every viewport: a hairline that scales down disappears.
     ---------------------------------------------------------------------- */
  --c-stroke-03:     rgba(159, 147, 255, 0.30);  /* Figma 0.3px — white-section cards */
  --c-stroke-05:     rgba(159, 147, 255, 0.50);  /* Figma 0.5px — testimonial cards */

  /* ---- Typography ----------------------------------------------------- */
  --f-display: "Cooperative", "Archivo", "Arial Narrow", sans-serif;
  --f-body:    "Discovery Fs", "Assistant", "Heebo", system-ui, sans-serif;

  /* THE THINNESS DIALS for running text. Range 100–800.
     ----------------------------------------------------------------------
     Figma specifies Light = 300 everywhere, but a browser does not rasterise
     both polarities the same way: light glyphs on a dark ground bloom and read
     heavier, dark glyphs on white erode and read lighter. One global weight
     therefore cannot serve both, so the design's single "Light" is split in
     two and each side is tuned to LOOK like 300 rather than to BE 300.
     ---------------------------------------------------------------------- */
  --fw-light:       240;   /* on the dark background — hero, about, quotes, contact */
  --fw-light-on-white: 340;   /* inside the white sections — Why Me, Everything you need */

  --fw-reg:   400;
  --fw-bold:  700;

  /* Body copy on the dark background sits slightly back from pure white.
     Headings are deliberately excluded — they stay at full strength. */
  --o-body-on-dark: 0.9;

  /* Wave saturation. 1 = the raw asset; lower pulls the purple back. */
  --wave-saturation: 0.85;

  /* ---- Canvas geometry ------------------------------------------------ */
  --canvas:    1920;    /* Figma artboard width, unitless for calc() */
  --gutter:    175px;   /* design column gutter — also the grid-line pitch */
  --container: 1570px;  /* content width: 1920 - (175 * 2) rounded to design */

  /* ---- Radii ---------------------------------------------------------- */
  --r-pill:  100px;
  --r-card:  12px;
  --r-quote: 12px;
  --r-tile:  12px;

  /* ---- Motion --------------------------------------------------------- */
  --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-soft: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast:  0.35s;
  --dur-base:  0.7s;
  --dur-slow:  1.2s;

  /* The site-wide rise. Slow on purpose: content should look like it is
     being uncovered by the scroll, not snapping into place. */
  --dur-rise:  1.15s;
  --ease-rise: cubic-bezier(0.22, 0.68, 0.24, 1);
}

/* ==========================================================================
   Fonts — the real files, taken from the installed desktop set and
   converted to woff2 (about a third of the .otf weight).
   The .otf is kept as a fallback source for older browsers.

   SdAtletico was REMOVED on 20 Sep 2026 — she confirmed it is not part of the
   designs. Its Regular cut had never been in the project, so the 400 face
   declared here 404'd on every page load and every user of it fell back to
   the Bold. All three pages' card numbers are Cooperative now. The unused
   assets/fonts/SdAtletico-Bold.* files are left in place, unreferenced.

   LICENSING: these came from a desktop font install. Serving them from a
   web server is a separate licence from using them in Figma — verify the
   web/@font-face licence for Cooperative and Discovery Fs before the site
   goes live. (One fewer family to clear now.)
   ========================================================================== */

@font-face {
  font-family: "Cooperative";
  src: url("../assets/fonts/Cooperative-Regular.woff2") format("woff2"),
       url("../assets/fonts/Cooperative-Regular.otf")   format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Cooperative";
  src: url("../assets/fonts/Cooperative-Bold.woff2") format("woff2"),
       url("../assets/fonts/Cooperative-Bold.otf")   format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Discovery Fs is a variable font: one file covering weight 100–800
   continuously. That replaces the three static cuts (238KB → 90KB) and, more
   importantly, lets --fw-light be tuned to any value rather than snapping to
   multiples of 100. */
@font-face {
  font-family: "Discovery Fs";
  src: url("../assets/fonts/DiscoveryFs-VF.woff2") format("woff2-variations");
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}
