/* =========================================================================
   Medi Clinic — shared foundation: typeface, brand tokens, reset.

   Split out of site.css so the quiz funnels can have all of this without the
   44 KB of landing-page components they never use. Both page types link this
   file; only the landing pages go on to link site.css.
   ========================================================================= */

/* ------------------------------------------------------------- typeface ---
   FiraGO, self-hosted.

   These faces used to come from a CDN, and the Georgian ones pointed at files
   that were never published there — Fontsource ships FiraGO in a Latin subset
   only. Every Georgian URL 404'd, so a site that is almost entirely Georgian
   rendered in whatever the device happened to fall back to. The files here are
   cut from the official FiraGO release (bBox Type, SIL OFL 1.1) by
   tools/build-fonts.py, so Georgian renders in the brand face everywhere.

   Self-hosting also takes a third party off the critical path: no extra DNS
   lookup and TLS handshake before the first glyph, and no dependency on
   someone else's uptime for the page to look right.

   Split by script so a Georgian visitor never downloads the Latin cut, and
   vice versa — the browser fetches only the ranges the page actually uses. */

@font-face{font-family:'FiraGO';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/firago-georgian-400-normal.woff2') format('woff2');
  unicode-range:U+10A0-10FF,U+1C90-1CBF,U+2D00-2D2F}
@font-face{font-family:'FiraGO';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/firago-georgian-600-normal.woff2') format('woff2');
  unicode-range:U+10A0-10FF,U+1C90-1CBF,U+2D00-2D2F}
@font-face{font-family:'FiraGO';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/firago-georgian-700-normal.woff2') format('woff2');
  unicode-range:U+10A0-10FF,U+1C90-1CBF,U+2D00-2D2F}

@font-face{font-family:'FiraGO';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/firago-cyrillic-400-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'FiraGO';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/firago-cyrillic-600-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'FiraGO';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/firago-cyrillic-700-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

@font-face{font-family:'FiraGO';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/firago-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'FiraGO';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/firago-latin-600-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'FiraGO';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/firago-latin-700-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* --------------------------------------------------------- brand tokens --- */
:root{
  --purple:#6F53A6; --purple-dark:#4E3A78; --purple-soft:#F1ECF8;
  --gold:#C7A455; --ink:#241C2E; --muted:#6B6478; --line:#E7E1EF;
  --white:#fff; --dark:#171021;
  --radius:18px; --shadow:0 10px 30px rgba(111,83,166,.12);
  --wrap:1120px;
}

/* ---------------------------------------------------------------- reset --- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{
  font-family:'FiraGO',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--white);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;height:auto}
ul,ol{list-style:none}
button{font:inherit}

/* The browser hides [hidden] elements with a display:none that any author
   `display` rule outranks — so a hidden flex or grid container stays visible.
   Several components toggle visibility with the attribute (the quiz steps most
   of all), so make it win outright. */
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}

.skip{position:absolute;left:-9999px;top:0;background:var(--purple);color:#fff;padding:12px 20px;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}
