/* Flow State — design tokens.
   Palette and type scale per Brand Identity Guidelines v2.1 (Brand/Guidelines/flow-state-brand-guidelines-v2.html).
   Layout rhythm per the Bellevoire template scan, 11 Sep 2026. */
:root{
  /* Palette — narrow by design. Do not introduce new colours. */
  --c-obsidian:#111110;   /* primary dark: backgrounds, display type */
  --c-bg:#F8F5F0;         /* warm white: page background, breathing room */
  --c-cream:#EDE9E1;      /* cream: reversed type, subtle card surfaces */
  --c-charcoal:#38352F;   /* body text on light */
  --c-mid:#8C8880;        /* captions, metadata, labels — 14px and above only */
  --c-light:#C8C4BC;      /* borders, inactive states */
  --c-rule:#E0DAD2;       /* horizontal rules, separators */
  --c-gold:#B5903A;--c-error:#8C3B32;       /* Obsidian / Founding tier ONLY, never below 14px */
  --c-rule-dark:rgba(237,233,225,.14);
  --c-backdrop:rgba(17,17,16,.55);

  /* Two families. Never a third. */
  --f-sans:"GT Walsheim","Futura","Century Gothic",sans-serif;   /* display, headings, labels, nav */
  --f-serif:"GT Sectra",Garamond,Georgia,serif;                  /* body, captions, editorial */
  --f-serif-display:"GT Sectra Display","GT Sectra",Garamond,Georgia,serif;

  /* Type scale */
  --fs-h1:120px;          /* hero wordmark */
  --fs-h2:56px;           /* display — sans, uppercase, 0.20em */
  --fs-h2-it:64px;        /* editorial counter-line — serif display italic */
  --fs-h3:32px;           /* heading — sans, uppercase, 0.18em */
  --fs-h4:40px;           /* statement — sans, uppercase, 0.20em */
  --fs-h5:26px;           /* editorial sub-head — serif display */
  --fs-lead:21px;
  --fs-list:18px;
  --fs-body:18px;
  --fs-cta:12px;          /* labels — sans, uppercase, 0.30em */
  --fs-label:11px;        /* eyebrow — sans, uppercase, 0.45em */

  /* Tracking */
  --ls-display:.20em; --ls-heading:.18em; --ls-cta:.30em; --ls-label:.45em;

  /* Reading measure. GT Sectra carries the body copy in this brand, so line length matters
     more than it would with a sans. 600px at 18px Sectra is 69 characters; keep every block
     of running text between 60 and 75. Anything wider gets tiring to read. */
  --measure:600px;

  /* Layout */
  --pad-x:50px; --gap-section:200px; --gap-inner:100px; --gap-list:100px; --container:1600px;
  --ease-expo:cubic-bezier(.16,1,.3,1); --dur:.5s;
}
@media (max-width:1199.98px){:root{
  --fs-h1:80px; --fs-h2:40px; --fs-h2-it:46px; --fs-h3:26px; --fs-h4:30px; --fs-h5:22px;
  --fs-lead:19px; --fs-list:17px; --fs-body:17px; --fs-cta:11px;
  --gap-section:120px; --gap-inner:60px; --gap-list:80px;
}}
@media (max-width:809.98px){:root{
  --fs-h1:52px; --fs-h2:27px; --fs-h2-it:32px; --fs-h3:20px; --fs-h4:21px; --fs-h5:19px;
  --fs-lead:17px; --fs-list:16px; --fs-body:16px; --fs-cta:10px; --fs-label:10px;
  --ls-display:.16em; --ls-heading:.14em;
  --pad-x:20px; --gap-section:70px; --gap-inner:40px; --gap-list:60px;
}}
