/* ============================================================
   Smith & Weidinger PLLC — brand tokens.

   Ported verbatim from the Astro build (app/src/styles.css).
   Base hexes are the client brand doc's; the three `derived`
   values exist only because the doc's copper fails WCAG AA at
   small sizes on its own backgrounds. Ratios are measured, not
   assumed. Do not introduce a new colour pairing without
   re-measuring it.

   These are intentionally NOT registered as Elementor Global
   Colors. This file is the source of truth; Elementor widgets
   reference the brand through the sw-* classes in
   components.css, not through the Elementor kit.
   ============================================================ */

/* --- brand fonts, self-hosted ------------------------------- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url("../fonts/inter-latin.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/playfair-latin.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 500;
  font-display: optional;
  src: url("../fonts/jetbrains-mono-latin.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* --- colour ------------------------------------------------ */
  --sw-forest:          #153F32;  /* brand doc: primary green */
  --sw-forest-deep:     #0A211C;  /* measured from mockups: hero / footer / criminal pillar */
  --sw-forest-mid:      #1D4A3B;  /* hover + inner panels */
  --sw-bone:            #F7F6F2;  /* brand doc: warm neutral background */
  --sw-bone-2:          #F1EFE8;  /* recessed strips */
  --sw-sage:            #DCE5E0;  /* brand doc: soft sage */
  --sw-copper:          #B85C38;  /* brand doc: accent — fills, rules, large text only */
  --sw-copper-ink:      #A44D2D;  /* derived: small text on bone — 5.28:1 */
  --sw-copper-light:    #D08E4B;  /* derived: accent text on deep forest — 6.14:1 */
  --sw-ink:             #14231C;  /* headings + body on bone — 15.09:1 */
  --sw-ink-muted:       #55645A;  /* secondary text on bone — 5.79:1 */
  --sw-on-forest:       #F7F6F2;  /* text on forest — 13.09:1 */
  --sw-on-forest-muted: #C9D6CE;  /* secondary text on forest — 11.22:1 */
  --sw-line:            #E2E0D8;  /* hairline on bone */
  --sw-line-forest:     #24463A;  /* hairline on forest */

  /* --- radii -------------------------------------------------- */
  --sw-r-sm: 0.25rem;   /* buttons, inputs */
  --sw-r-md: 0.625rem;  /* cards */
  --sw-r-lg: 1rem;      /* large panels */

  /* --- type stacks -------------------------------------------- */
  --sw-font-serif: "Playfair Display", ui-serif, Georgia, "Times New Roman", serif;
  --sw-font-sans:  "Inter", ui-sans-serif, system-ui, sans-serif;
  --sw-font-mono:  "JetBrains Mono", ui-monospace, monospace;

  /* --- semantic aliases --------------------------------------- */
  --sw-background: var(--sw-bone);
  --sw-foreground: var(--sw-ink);
  --sw-card:       #FFFFFF;
  --sw-primary:    var(--sw-forest);
  --sw-accent:     var(--sw-copper);
  --sw-border:     var(--sw-line);
  --sw-ring:       var(--sw-forest);
}

/* The brand is a single locked LIGHT system. Its dark passages are section
   backgrounds (hero, footer, criminal-defense pillar) applied with
   .sw-on-forest — not an inverted theme. Inverting would void every contrast
   ratio measured above, so no prefers-color-scheme block belongs here. */
