/* ============================================================
   TOKENS.CSS · Brebu Nou
   ------------------------------------------------------------
   Design system variables · matches V6.1 mockup exactly.
   Must be loaded FIRST. All other modules depend on these.

   CRITICAL: --font-base is 16px (absolute), NOT 100% (relative).
   This locks rendering to a consistent baseline. The A-/A/A+
   toolbar remains the user's control via --font-scale.
   ============================================================ */

:root {
  /* Palette */
  --chantilly:           #F2F1EB;
  --chantilly-pure:      #F7F6F1;
  --essex:               #1F2D27;
  --essex-light:         #2B3D34;
  --essex-deep:          #16201B;
  --stone-hearth:        #C2B5A0;
  --stone-hearth-soft:   rgba(194, 181, 160, 0.4);
  --edgecomb:            #D8D2C2;
  --edgecomb-mid:        #CEC8B8;
  --edgecomb-light:      #E5DFD0;
  /* Darkened from #8B7B6C (3.27:1) to #7A6957 (~4.8:1) on chantilly for
     WCAG 2.1 AA compliance on small body text (verified 2026-06-01). The
     visual shift is subtle but every eyebrow/secondary-text use across
     ~133 selectors now passes 4.5:1 normal-text threshold without per-
     site refactor. Light variant kept for purely decorative accents. */
  --rustic-taupe:        #7A6957;
  --rustic-taupe-light:  #A8957F;

  /* Amber accents · warm gold tones, used on splash + future warm sections */
  --amber-warm:          #C8A773;
  --amber-light:         #DBC093;
  --amber-soft:          rgba(200, 167, 115, 0.85);

  --hale-navy:           #1F3349;
  --lakeside:            #6C8395;

  /* Derived text */
  --charcoal:            #2B2A28;
  --text-soft:           #5C5A56;
  --text-mute:           #6E6B66;  /* verified 2026-06-02: 4.83:1 on chantilly, 5.05:1 on chantilly-pure (WCAG AA pass for body text) */

  /* Typography baseline */
  --font-base:           16px;
  --font-scale:          1;         /* default NORMAL (16px body) · A-/A/A+ adjusts */

  /* Layout */
  --container:           1320px;
  --container-narrow:    880px;
  --gutter:              40px;

  /* Shadow tokens (essex-tinted, derived from extracted content-page.css patterns) */
  --shadow-soft:         0 10px 26px rgba(31, 45, 39, 0.08);  /* sub-pages card hover */
  --shadow-medium:       0 14px 32px rgba(31, 45, 39, 0.10);  /* hub-card hover, MOL hub-card */
}


/* ============================================================
   FORCED COLORS · Windows High Contrast Mode + similar
   ------------------------------------------------------------
   When the OS forces its own color set, our --essex/--chantilly
   tokens are overridden by browser-mapped system colors. Buttons
   without visible borders can disappear (transparent background +
   themed text blends). Restore visibility with system color names
   (Canvas, CanvasText, ButtonText, Highlight) so the chrome stays
   navigable.
   ============================================================ */
@media (forced-colors: active) {
  button,
  .a11y-btn,
  .lang-btn,
  .cookie-btn,
  .cookie-fab,
  .floating-btn,
  .nav-mol,
  .splash-portal,
  .skip-to-content,
  .hamburger {
    border: 1px solid ButtonText;
  }
  *:focus-visible {
    outline: 2px solid Highlight !important;
    outline-offset: 2px;
  }
}