/* ==========================================================================
   TRU72 — SHARED DESIGN TOKENS  (Rev06 brand)
   --------------------------------------------------------------------------
   ONE source of truth for colour, type, spacing and shape on EVERY Tru72 site.

   COLOUR IS THE APPROVED FIVE AND NOTHING ELSE.
   Bethany confirmed this palette on 2026-09-09; it is what the Rev06 brand
   guide records. It is NOT the North Carolina build's as-shipped colour set —
   NC drifted (B8952A, F5F0E8 and a rust family that the rebrand dropped).
   The layouts, structure, components and typography come from NC, which is
   correct. The colour comes from here.

       INK            #3D3F3F
       SCENERY GREEN  #696859
       ANTIQUE GOLD   #C39954
       LINEN          #CBC0AA
       PAPER          #FFF6DC

   FIVE. There is no GOLD-AGED (A8854A) any more — Bethany dropped it — and
   there is no rust, no B8952A and no F5F0E8. Identical on all four sites,
   with no per-site variation. If a contrast problem cannot be solved inside
   these five, it gets REPORTED, not solved with a sixth colour.

   THIS BLOCK IS THE SWITCH. Every colour on all four sites resolves through
   the six declarations below. Changing Bethany's mind — for example adopting
   NC's as-built values instead — is editing this one block, not a rebuild.

   ---------------------------------------------------------------------------
   THE CONTRAST RULES THAT FOLLOW FROM SIX COLOURS  (measured, WCAG 2.1)

     on PAPER          INK 12.1:1 ok · SCENERY GREEN 5.2:1 ok
                       ANTIQUE GOLD 2.4:1 FAILS at every size
     on INK            PAPER 9.7:1 ok · LINEN 5.7:1 ok
                       ANTIQUE GOLD 4.0:1 — large type only (24px+, or 18.7px
                       bold); never small type
     on SCENERY GREEN  PAPER 5.2:1 ok
                       LINEN 3.1:1 FAILS small · ANTIQUE GOLD 2.2:1 FAILS at
                       every size. There is NO gold type on green, ever.

   So: gold is DECORATION — rules, keylines, borders, hairlines. Buttons are
   INK on PAPER or PAPER on INK, never gold (PAPER on ANTIQUE GOLD is 2.6:1,
   INK on it 4.0:1 — both fail).

   ---------------------------------------------------------------------------
   THE TWO TINTS, AND WHY THEY ARE NOT A SEVENTH COLOUR

   A six-flat-colour site has no way to say "this band is not the last band".
   Rather than introduce a hue, the two light surfaces below are LINEN mixed
   into PAPER with color-mix(), so they carry no pigment that is not already in
   the palette and they move automatically if PAPER or LINEN move. The hex on
   the line above each is the pre-computed fallback for an engine without
   color-mix, and is the same mix arithmetic.

   No tint is ever used to solve a contrast problem, and no type colour is a
   tint — type is always one of the six.
   ========================================================================== */

/* --------------------------------------------------------------------------
   THE DISPLAY FACE — self-hosted, one weight
   --------------------------------------------------------------------------
   Friz Quadrata Bold is the only weight that exists, so it is display and
   titles only; Fraunces carries everything smaller. Nothing here synthesises a
   lighter or heavier cut.

   `font-weight: 400 700` is not a claim that the file holds a regular — it is
   how you stop a browser faking one. A page asking for weight 400 in this
   family matches the descriptor, so the real Bold outlines are drawn instead
   of a synthesised thin. `font-synthesis: none` on the body is the belt to
   that braces.

   Full face, not subset: the .otf already carries only 209 glyphs (Latin plus
   the punctuation the sites use) and the woff2 is 17 KB, so subsetting would
   save a rounding error and risk dropping a character.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Friz Quadrata Bold';
  src: url('../fonts/friz-quadrata-bold.woff2') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ======================= THE APPROVED FIVE ============================ */
  --t72-paper:        #FFF6DC;   /* PAPER         — the page                */
  --t72-ink:          #3D3F3F;   /* INK           — type, dark surfaces     */
  --t72-green:        #696859;   /* SCENERY GREEN — muted type, mid band    */
  --t72-linen:        #CBC0AA;   /* LINEN         — type on ink, hairlines  */
  --t72-gold:         #C39954;   /* ANTIQUE GOLD  — decoration only         */
  /* ====================================================================== */

  /* Surface tints — LINEN in PAPER. No new pigment. Never used for type. */
  --t72-paper-warm:   #F6ECD3;
  --t72-paper-warm:   color-mix(in srgb, var(--t72-linen) 18%, var(--t72-paper));
  /* 28%, not 34%. At 34% this tint measured #EDE4CB, and SCENERY GREEN type on
     it is 4.45:1 — under the 4.5:1 AA needs for normal text, by a hair. The fix
     stays inside the five (D42): the same two colours, mixed a little lighter.
     At 28% the pair measures 4.57:1 and INK measures 8.59:1. Do not darken it
     again without re-measuring green on it. */
  --t72-paper-deep:   #F0E7CE;
  --t72-paper-deep:   color-mix(in srgb, var(--t72-linen) 28%, var(--t72-paper));

  /* Rules, drawn from INK and the gold at low alpha. */
  --t72-rule:         rgba(61,63,63,.14);
  --t72-rule-strong:  rgba(61,63,63,.32);
  --t72-rule-on-ink:  rgba(203,192,170,.24);
  --t72-rule-gold:    rgba(195,153,84,.55);  /* the hairline, ANTIQUE GOLD   */

  /* Semantic roles — what to reach for, so no page has to re-derive the
     contrast table above. */
  --t72-type-on-paper:       var(--t72-ink);      /* 12.1:1                */
  --t72-type-on-paper-muted: var(--t72-green);    /*  5.2:1                */
  --t72-type-on-ink:         var(--t72-linen);    /*  5.7:1                */
  --t72-type-on-ink-strong:  var(--t72-paper);    /*  9.7:1                */
  --t72-type-on-green:       var(--t72-paper);    /*  5.2:1 — the ONLY one */
  --t72-display-on-ink:      var(--t72-gold);     /*  4.0:1 — 24px+ only   */

  /* ---- Type ------------------------------------------------------------- */
  /* TWO BRAND FACES, AND ONLY TWO. Friz Quadrata for display and titles,
     Fraunces for accents and secondary. The two decorative faces Oregon used
     to load locally are retired permanently, and so are the two non-brand
     webfonts the NC build reached for. None of them is a Tru72 face, and none
     of them is loaded anywhere any more. docs/PHASE3B_OR_RESKIN_REPORT.md
     names them.

     Friz Quadrata Bold is licensed for web use and SELF-HOSTED from the site's
     own assets — no third-party font CDN. The @font-face below serves the
     woff2 built from the supplied .otf; the .otf stays in assets/fonts/ as the
     source of record. The .ttf copy in that folder is NOT used: it is missing
     the middot and the accented glyphs and renders empty boxes.

     The label voice — the wide, uppercase, tracked small type NC uses for
     eyebrows and nav — is Fraunces with tracking, not a third family. */
  --t72-font-display: 'Friz Quadrata Bold', 'Fraunces', Georgia, 'Iowan Old Style',
                      'Times New Roman', 'DejaVu Serif', serif;
  --t72-font-body:    'Fraunces', Georgia, 'Iowan Old Style',
                      'Times New Roman', 'DejaVu Serif', serif;
  --t72-font-label:   'Fraunces', Georgia, 'Iowan Old Style',
                      'Times New Roman', 'DejaVu Serif', serif;
  --t72-font-mono:    var(--t72-font-label);   /* kept as an alias: the name is
                                                  wrong now, the role is not  */

  --t72-track-display:    .005em;   /* inscriptional faces want POSITIVE    */
  --t72-track-mono:       .2em;
  --t72-track-mono-tight: .16em;

  /* ---- Spacing + shape --------------------------------------------------- */
  --t72-gutter:        56px;
  --t72-gutter-mobile: 22px;
  --t72-radius:        0;           /* the system is square-cornered         */
  --t72-shadow-soft:   0 6px 28px rgba(61,63,63,.10);
  --t72-shadow-deep:   0 12px 48px rgba(61,63,63,.18);
  --t72-shadow-drop:   0 28px 64px -24px rgba(61,63,63,.35);
}
