/* Valent Architect — design tokens
   Direction: stark editorial minimalism, rebuilt 2026-08-17 toward the
   archidomo.fr reference, then re-anchored 2026-08-31 on the practice's own
   identity for the WordPress build.

   The BRAND palette is now the only palette. The values below were the
   `:root[data-palette="brand"]` block of the retired `palette-brand.css`,
   folded onto bare `:root`; the archidomo-derived "studio" direction and its
   comparison switch are gone. Anchor colour is the logo indigo #302B6B,
   measured pixel-by-pixel from docs/brand-assets/valent-logo-3.png — see
   assets/brand/README.md.

     Valent Indigo  #302B6B   anchor: links, buttons, marks, dark fields
     Ink            #1A1C20   primary text
     Paper          #F7F5F0   reading surface
     Limestone      #D9D2C8   quiet fields, footer
     Warm Sand      #B7A694   soft accent
     Bronze         #9A7D5D   sparing detail accent

   Coastal Slate #6D7D86 from docs/BRAND-STRATEGY.md is deliberately NOT used
   for text — it measures 3.58:1 on Paper and fails WCAG AA. --t-muted below is
   a darkened derivative that passes. */

:root {
  /* ---- Color ---- */
  --c-black:     #1A1C20;   /* Ink — primary text, solid UI blocks */
  --c-black-ui:  #211E45;   /* indigo-shifted ink for large dark fields */
  --c-white:     #FFFFFF;
  --c-beige:     #F7F5F0;   /* Paper — warm reading surface */
  --c-taupe:     #D9D2C8;   /* Limestone — decorative only, never small text */

  --c-indigo:    #302B6B;   /* the mark, and the accent of the whole UI */
  --c-sand:      #B7A694;
  --c-bronze:    #9A7D5D;

  /* Derived surfaces + text */
  --s-page:        var(--c-beige);
  --s-raised:      var(--c-white);
  --s-quiet:       #EEEAE1;   /* one step down from Paper */
  --s-dark:        #211E45;   /* deep indigo: statement + CTA fields */
  --t-primary:     var(--c-black);
  --t-secondary:   #474B54;   /* 8.2:1 on Paper */
  --t-muted:       #5C6570;   /* 5.8:1 on Paper — the corrected Coastal Slate */
  --t-on-dark:     #F2F0F7;
  --t-on-dark-dim: #ADA8C6;
  --t-label:       #3B3846;   /* meta/eyebrow caps */
  --s-media:       #16142B;   /* backing behind images before they paint */
  --rule:          #DFD9CE;
  --rule-strong:   #C6BCAC;
  --rule-on-dark:  rgba(255,255,255,.18);

  /* Interaction: indigo is the accent. */
  --c-accent:      var(--c-indigo);
  --c-accent-soft: var(--c-sand);
  --c-focus:       var(--c-indigo);

  /* ---- Type ---- */
  --f-display: 'Archivo', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-body:    'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-label:   'Archivo', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  --t-hero:  clamp(2.6rem, 1.2rem + 5vw, 6.4rem);
  --t-h1:    clamp(2.2rem, 1.2rem + 3.6vw, 4.8rem);
  --t-h2:    clamp(1.75rem, 1.15rem + 2.2vw, 3rem);
  --t-h3:    clamp(1.25rem, 1.05rem + .7vw, 1.6rem);
  --t-lead:  clamp(1.075rem, 1rem + .45vw, 1.35rem);
  --t-body:  1.0625rem;
  --t-small: .9375rem;
  --t-meta:  .8rem;

  --lh-tight: 1.02;
  --lh-head:  1.1;
  --lh-body:  1.62;
  --ls-tight: -.025em;
  --ls-meta:  .18em;

  /* ---- Space ---- */
  --sp-1: .25rem;  --sp-2: .5rem;   --sp-3: .75rem;  --sp-4: 1rem;
  --sp-5: 1.5rem;  --sp-6: 2rem;    --sp-7: 3rem;    --sp-8: 4rem;
  --sp-9: 6rem;    --sp-10: 8rem;   --sp-11: 11rem;
  --section-y: clamp(4rem, 2.2rem + 7vw, 9rem);

  /* ---- Header ---- */
  --head-h:        104px;
  --head-h-stuck:  68px;

  /* ---- Layout ---- */
  --gutter:    clamp(1.25rem, .5rem + 2.2vw, 3rem);
  --measure:   68ch;
  --w-max:     1920px;   /* near-full width, matching the reference cap */
  --w-text:    780px;
  --grid-gap:  clamp(1rem, .5rem + 1.6vw, 2rem);

  /* ---- Motion + shape ---- */
  --ease:  cubic-bezier(.165,.84,.44,1);   /* the reference's power3-out */
  --dur:   .6s;
  --dur-q: .24s;
  --radius: 0px;                            /* square corners throughout */
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}
