/* ============================================================================
   247 EXPAT — DESIGN SYSTEM v2 TOKENS
   Derived from the four sister brands, not invented. Every value below sits
   between measured values taken from the live sites, so 247expat reads as the
   fifth member of the family rather than a new design language.

   PARENT VALUES (measured 2026-08-23):
     SHI    navy #001846 · blue #0079C8 · warm #F1EFEB · grey #F3F5F8
     247EI  navy #001F3F · brand #005E7C · light #9AD4D6 · ground #F5F7F8
     MSV    navy #0c1930 · navy-mid #1a3a5c · red #be0011 · cream #f8f7f4
     PLS    navy #1a243f · steel #3D6B99 · wash #E8EAF0

   TURQUOISE IS DELIBERATELY ABSENT. An earlier pass reached for it because
   "Mediterranean" suggests it — an association, not a design decision. The
   family's warmth comes from composition, copy and a low-opacity hero image.
   Spain supplies the colour; the palette stays disciplined behind it.
   ========================================================================= */
:root{
  /* ---- STRUCTURE ---- navy carries headings, footer, dark bands */
  --navy:#12304f;          /* between SHI #001846, 247EI #001F3F, PLS #1a243f */
  --navy-deep:#0b2137;     /* gradient partner for dark bands */

  /* ---- INFORMATION ---- blue carries links, rules, informative accents */
  --blue:#1f6a94;          /* between 247EI #005E7C and PLS steel #3D6B99 */
  --blue-soft:#e7eff5;

  /* ---- ACTION ---- one colour, one job. Never decorative.
     Candidate only: it must survive being seen beside the parents before it
     is confirmed. #b8451f is the AA-safe ground; #e0693c is its bright twin
     for a top edge or an icon, and is NEVER a text or button ground. */
  --action:#b8451f;
  --action-bright:#e0693c;
  --action-soft:#fbeee8;

  /* ---- BACKGROUND ---- warm and cool grounds alternate; no two adjacent
     sections share one. This banding is what stops long pages reading as
     documentation, per the PLS finding. */
  --paper:#ffffff;
  --warm:#f7f4ef;          /* between SHI warm #F1EFEB and MSV cream #f8f7f4 */
  --cool:#f4f6f8;          /* between 247EI #F5F7F8 and SHI grey #F3F5F8 */

  /* ---- TEXT ---- */
  --ink:#2b3644;           /* 11.17:1 on --warm */
  --muted:#5a6875;         /* 5.21:1 on --warm — AA, unlike most "muted" tokens */
  --line:#e3e7ec;
  --line-strong:#c9d2da;

  /* ---- DECORATION ---- navy-tinted shadow, never black. The parents all do
     this, and it is why their pages read as colour-coherent rather than as
     white cards dropped on grey. */
  --shadow-sm:0 1px 2px rgba(18,48,79,.05);
  --shadow:0 8px 28px rgba(18,48,79,.10);
  --shadow-lg:0 16px 44px rgba(18,48,79,.14);

  /* ---- RADIUS carries meaning, it is not one global value ----
     circles for icons · pills for labels · small for buttons · large for cards */
  --r-pill:999px; --r-card:14px; --r-btn:8px;

  /* ---- TYPE ----
     ⚠ The parents use NO 400 weight anywhere. That is inherited here only for
     headings and UI. It is explicitly NOT inherited for body copy: those are
     short commercial pages and 247expat runs 2,000-word articles, where
     semibold body text is fatiguing. Family heading treatment, editorial body. */
  --measure:66ch;          /* ~660px — inside the parents' 540–720px range */
  --lh-prose:1.7;
  --w-body:400; --w-strong:600; --w-head:700; --w-display:800;
}

/* CONTRAST, verified — every pair below is AA on its stated ground:
     navy on warm 12.26 · navy on white 13.45 · blue on warm 5.40
     ink on warm 11.17 · muted on warm 5.21 · white on navy 13.45
     white on --action 4.6+ · --action-bright is decorative only (3.0)   */

/* ============================================================================
   DISPLAY TYPE — added 2026-10-02 under the V3 brand ruling.

   ONE family, SELF-HOSTED. Archivo's variable latin cut, subset to the
   characters a display heading on this site can actually contain: 113 glyphs,
   17KB, one request, same origin, and it inherits the 7-day asset cache rather
   than a third party's. The weight axis survives the subset, so 700, 800 and
   900 all come out of the single file — the reason a second family was not
   needed and is not wanted.

   ⚠ THE WORDMARK DOES NOT DEPEND ON THIS FONT. /assets/wordmark.svg carries
   the outlines, so the brand is painted with the first frame on all 58 pages
   and never flashes a fallback face. That is also why the 48 pages still
   rendering through site.css need no font download at all: the only thing they
   show in Archivo is a picture of it.

   Display means display: heroes and section heads on the surfaces the V3 pass
   covers. Body copy stays on the system stack, which is both faster and more
   readable at 2,000 words, and is the reason one family is enough.
   ========================================================================= */
@font-face{
  font-family:"Archivo247";
  src:url("/assets/fonts/archivo-display.woff2") format("woff2-variations");
  font-weight:700 900;
  font-style:normal;
  font-display:swap;
}
:root{
  --display:"Archivo247",-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
}
