/* ============================================================================
   stressed.in - TYPE AND TEXT-COLOUR TOKENS
   Built 21-Sep-2026 for BRIEF 6 group 1. Hemant's ruling of 21-Sep-2026.
   ONE family (Poppins). Bricolage Grotesque, Hanken Grotesk and DM Mono retired.
   This file is loaded LAST in <head> by includes/header.php and by index.php,
   so it wins over the header's inline :root and over theme.css / ui.css.
   Rollback = remove the two <link> lines and delete this file.
   ========================================================================== */

:root{

  /* ---- family ---------------------------------------------------------- */
  --font:        'Poppins', Arial, Helvetica, sans-serif;

  /* ---- the type scale --------------------------------------------------
     size / weight / line-height / tracking. Nothing visible below 12px.
     Line-height falls as size rises. Tracking is normal to 18px, then tightens.
     Body text is never tracked.                                             */

  --t-display-size: 56px;  --t-display-weight: 400; --t-display-lh: 1.20; --t-display-ls: -0.04em;
  --t-h1-size:      40px;  --t-h1-weight:      400; --t-h1-lh:      1.20; --t-h1-ls:      -0.03em;
  --t-h2-size:      28px;  --t-h2-weight:      400; --t-h2-lh:      1.30; --t-h2-ls:      -0.02em;
  --t-h3-size:      20px;  --t-h3-weight:      500; --t-h3-lh:      1.30; --t-h3-ls:      -0.02em;
  --t-lead-size:    18px;  --t-lead-weight:    400; --t-lead-lh:    1.60; --t-lead-ls:    normal;
  --t-bodylg-size:  16px;  --t-bodylg-weight:  400; --t-bodylg-lh:  1.50; --t-bodylg-ls:  normal;
  --t-body-size:    14px;  --t-body-weight:    400; --t-body-lh:    1.60; --t-body-ls:    normal;
  --t-small-size:   13px;  --t-small-weight:   400; --t-small-lh:   1.54; --t-small-ls:   normal;
  --t-micro-size:   12px;  --t-micro-weight:   500; --t-micro-lh:   1.40; --t-micro-ls:   normal;

  /* figures that are furniture, not headings */
  --t-stat-size:    48px;  --t-stat-weight:    500; --t-stat-lh:    1.10; --t-stat-ls:    -0.03em;
  --t-statlg-size:  64px;  --t-statlg-weight:  400; --t-statlg-lh:  1.10; --t-statlg-ls:  -0.03em;

  /* the floor, stated so no future edit forgets it */
  --t-floor: 12px;

  /* ---- text colour roles ----------------------------------------------
     Every role passes WCAG AA (>= 4.5:1) on every background it is used on.
     Measured ratios are in the comment beside each one:
     w = #ffffff, m = #f3f7f4 (mint), s = #e7efe9 (sage), c = #fcfaf4 (cream).  */

  --c-text:      #15332E;   /* w 13.59  m 12.57  s 11.60  c 13.02 */
  --c-text-2:    #40594F;   /* w  7.61  m  7.04  s  6.49  c  7.29 */
  --c-muted:     #4E6259;   /* w  6.53  m  6.04  s  5.57  c  6.26  - replaces #5c7169 (4.46 on sage) */
  --c-muted-2:   #5F6177;   /* w  6.06  m  5.61  s  5.18          - replaces #6a7080 (4.22 on sage) and #9294a8 */
  --c-link:      #2A4780;   /* w  9.09  m  8.40  s  7.75 */
  --c-brand:     #14644F;   /* w  7.08  m  6.55  s  6.04 */
  --c-bronze:    #936918;   /* w  4.91  m  4.54            - replaces #a9791c (3.86). NOT for use on sage */
  --c-stone:     #756C5F;   /* w  5.16  m  4.78  c  4.95   - replaces #82786a (4.34). Professionals skin */
  --c-accent:    #C24A27;   /* w  4.88  m  4.51            - replaces #E4572E (3.68) FOR TEXT ONLY.
                                The logo dot stays #E4572E - it is pinned and it is not text. */
  --c-sage-text: #5F7268;   /* w  5.13                     - replaces #9fb0a6 (2.27) */
  --c-sep:       #5B6B63;   /* w  5.63                     - replaces #82968c (3.14), the "·" separators */
  --c-on-dark:   #FFFFFF;   /* on --c-text 13.59, on --c-brand 7.08 */

  /* ---- buttons ---------------------------------------------------------
     Full pill, no shadow. stressed.in's own colours, never monday.com's purple. */
  --btn-h:        50px;
  --btn-pad:      14px 32px;
  --btn-radius:   999px;
  --btn-size:     16px;
  --btn-weight:   400;
  --btn-h-compact:   42px;
  --btn-pad-compact: 11px 20px;
  --btn-size-compact: 14px;
}

/* ---- legacy variable names -------------------------------------------------
   Every page-local set (--in-*, --pr-*, --cr-*, --fr-*, --qr-*, --pi-*) and the
   three canon names all point at the one family. `html:root` outranks the bare
   `:root` that page-local <style> blocks use, so this wins wherever it is loaded.
   These aliases are what makes this a re-pointing job and not a rewrite.        */
html:root{
  --sans: var(--font);
  --disp: var(--font);
  --mono: var(--font);
  --body: var(--font);
  --display: var(--font);
  --in-sans: var(--font);  --in-disp: var(--font);  --in-mono: var(--font);
  --pr-sans: var(--font);  --pr-disp: var(--font);  --pr-mono: var(--font);
  --cr-sans: var(--font);  --cr-disp: var(--font);  --cr-mono: var(--font);
  --fr-sans: var(--font);  --fr-disp: var(--font);  --fr-mono: var(--font);
  --qr-sans: var(--font);  --qr-disp: var(--font);  --qr-mono: var(--font);
  --pi-sans: var(--font);  --pi-disp: var(--font);  --pi-mono: var(--font);
}

/* ---- base layer ---------------------------------------------------------- */
html{ -webkit-text-size-adjust:100%; }

body{
  font-family: var(--font);
  font-size: var(--t-body-size);
  font-weight: var(--t-body-weight);
  line-height: var(--t-body-lh);
  letter-spacing: normal;
  color: var(--c-text);
  font-synthesis-weight: none;
}

/* Headings carry the scale, not a weight of their own. Nothing above 600. */
h1{ font-family:var(--font); font-weight:var(--t-h1-weight); line-height:var(--t-h1-lh); letter-spacing:var(--t-h1-ls); }
h2{ font-family:var(--font); font-weight:var(--t-h2-weight); line-height:var(--t-h2-lh); letter-spacing:var(--t-h2-ls); }
h3{ font-family:var(--font); font-weight:var(--t-h3-weight); line-height:var(--t-h3-lh); letter-spacing:var(--t-h3-ls); }
h4,h5,h6{ font-family:var(--font); font-weight:500; line-height:1.35; letter-spacing:normal; }

/* Figures line up in columns wherever they used to be set in DM Mono. */
.t-fig, .num, .figure, [data-tabular]{
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: normal;
}
table, td, th, time{
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ---- the named steps, for use as classes where a variable will not reach --- */
.t-display{ font-size:var(--t-display-size); font-weight:var(--t-display-weight); line-height:var(--t-display-lh); letter-spacing:var(--t-display-ls); }
.t-h1     { font-size:var(--t-h1-size);      font-weight:var(--t-h1-weight);      line-height:var(--t-h1-lh);      letter-spacing:var(--t-h1-ls); }
.t-h2     { font-size:var(--t-h2-size);      font-weight:var(--t-h2-weight);      line-height:var(--t-h2-lh);      letter-spacing:var(--t-h2-ls); }
.t-h3     { font-size:var(--t-h3-size);      font-weight:var(--t-h3-weight);      line-height:var(--t-h3-lh);      letter-spacing:var(--t-h3-ls); }
.t-lead   { font-size:var(--t-lead-size);    font-weight:var(--t-lead-weight);    line-height:var(--t-lead-lh);    letter-spacing:normal; }
.t-bodylg { font-size:var(--t-bodylg-size);  font-weight:var(--t-bodylg-weight);  line-height:var(--t-bodylg-lh);  letter-spacing:normal; }
.t-body   { font-size:var(--t-body-size);    font-weight:var(--t-body-weight);    line-height:var(--t-body-lh);    letter-spacing:normal; }
.t-small  { font-size:var(--t-small-size);   font-weight:var(--t-small-weight);   line-height:var(--t-small-lh);   letter-spacing:normal; }
.t-micro  { font-size:var(--t-micro-size);   font-weight:var(--t-micro-weight);   line-height:var(--t-micro-lh);   letter-spacing:normal; }

/* ---- display steps down by screen, declared, not clamped ------------------ */
@media (max-width: 991px){
  :root{ --t-display-size:44px; --t-h1-size:34px; --t-h2-size:26px; }
}
@media (max-width: 767px){
  :root{ --t-display-size:36px; --t-h1-size:30px; --t-h2-size:24px; }
}
@media (max-width: 479px){
  :root{ --t-display-size:32px; --t-h1-size:26px; --t-h2-size:22px; }
}

/* ---- ui.css floor overrides -------------------------------------------
   ui.css is NOT edited in this group: its <link> lives in 32 page files
   that belong to later groups, so its ?v= cannot be bumped yet and a
   cached copy would half-apply. type.css loads after ui.css on every page
   that uses it, so the 12px floor and the body band are carried here.
   DELETE this block when ui.css is patched in its own group.
   71 rules, generated from ui.css md5 8a8efc7236f7ff69d75d2e14bfcf410a. */
.u-eyebrow{font-size:12px}
.u-lead{font-size:16px}
.u-figs small{font-size:12px}
.u-asof{font-size:12px}
.u-side-lab{font-size:12px}
.u-side a{font-size:14px}
.u-sec-head p{font-size:16px}
.u-sec > p{font-size:16px}
.u-row b{font-size:16px}
.u-row .u-cap{font-size:12px}
.u-card h3{font-size:18px;font-weight:600}
.u-card .u-tag{font-size:12px}
.u-feat p{font-size:16px}
.u-dark h3{font-size:18px;font-weight:600}
.u-dark p{font-size:14px}
.u-disc > summary{font-size:14px}
.u-disc > summary::after{font-size:24px}
.u-disc-body{font-size:14px}
.u-eq{font-size:18px}
.u-flow li::before{font-size:12px}
.u-flow p{font-size:14px}
.u-table{font-size:14px}
.u-table th{font-size:12px}
.u-small{font-size:13px}
.u-search label{font-size:12px}
.u-chip{font-size:13px}
.u-count{font-size:12px}
.u-textbtn{font-size:13px}
.u-term-n b{font-size:16px}
.u-term-n small{font-size:12px}
.u-plus{font-size:20px}
.u-term[open] .u-plus::after{font-size:20px}
.u-side a{font-size:13px}
.u-term-b{font-size:14px}
.df{font-size:16px}
.df h3{font-size:18px}
.df-nav span{font-size:12px}
.df-kicker{font-size:12px;font-weight:600}
.df-stat small{font-size:12px}
.df-chip{font-size:12px}
.df-label{font-size:12px}
.df-cell small{font-size:12px}
.df-record-more summary{font-size:12px}
.df-record-more summary:after,.df-expand>summary:after{font-size:18px}
.df-facts dt{font-size:12px}
.df-reading h3{font-size:16px}
.df thead th{font-size:12px;font-weight:600}
.df h1{font-size:28px}
.df-lead{font-size:16px}
.df-source{font-size:12px}
.df h2{font-size:20px}
.df-advanced>summary:after{font-size:18px}
.df-task b{font-size:12px}
.df-verified h2{font-size:20px}
.df-profile-map small{font-size:12px}
.df-profile-foot{font-size:12px}
.df-revival-steps span{font-size:12px}
.df-intake-form legend{font-size:16px;font-weight:600}
.df-intake-form legend span{font-size:12px}
.df-intake-form legend small{font-size:12px}
.df-intake-form small{font-size:12px}
.df .df-kicker{font-size:12px}
.df .df-lead{font-size:16px}
.df .df-label{font-size:12px}
.df .df-chip{font-size:12px}
.df .df-block>.df-block-head b{font-size:18px;font-weight:600}
.df .df-strip span{font-size:13px}
.df .df-strip em{font-size:12px}
.df .df-casestate{font-size:12px}
.df .df-casestate>span{font-size:12px}
.df .df-intel p{font-size:14px}

/* ---- buttons ---------------------------------------------------------------
   Hemant's ruling of 21-Sep-2026: full pill, 50px tall, padding 14/32,
   16px weight 400, NO shadow - in stressed.in's own colours, never a borrowed
   purple. Applied to the primary call-to-action classes only; secondary and
   text buttons keep their own sizes. Delete this block to undo it. */
.cta-main, .mobmenu .mc, .btn-primary, .gate-form button, .btn-nav-access{
  min-height: var(--btn-h);
  padding: var(--btn-pad);
  border-radius: var(--btn-radius);
  font-size: var(--btn-size);
  font-weight: var(--btn-weight);
  line-height: 1.2;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.site-nav .cta-main, .nav-links .cta-main{
  min-height: var(--btn-h-compact);
  padding: var(--btn-pad-compact);
  font-size: var(--btn-size-compact);
}
