/* ============================================================
   DP Law Relocation Hub: brand layer
   The single place for brand colours and typography. Component
   rules in /styles.css read only the semantic tokens below, so a
   re-theme happens here. Brand strings live in ./brand.js.
   ============================================================ */

/* ---- Typography: self-hosted (no third-party font CDN) ----
   Source Serif 4 (headings) and Inter (body), both SIL OFL 1.1.
   Licences: ./fonts/OFL-SourceSerif4.txt and ./fonts/OFL-Inter.txt. */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url("/assets/brand/dplaw/fonts/source-serif-4-latin-wght-normal.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: "Source Serif 4";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url("/assets/brand/dplaw/fonts/source-serif-4-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-display: swap;
  font-weight: 200 900;
  src: url("/assets/brand/dplaw/fonts/source-serif-4-latin-wght-italic.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: "Source Serif 4";
  font-style: italic;
  font-display: swap;
  font-weight: 200 900;
  src: url("/assets/brand/dplaw/fonts/source-serif-4-latin-ext-wght-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/brand/dplaw/fonts/inter-latin-wght-normal.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: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/brand/dplaw/fonts/inter-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/brand/dplaw/fonts/inter-latin-wght-italic.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: "Inter";
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/brand/dplaw/fonts/inter-latin-ext-wght-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* ---- Brand palette ----
     Sampled from the official logo (./dp-law-logo.png): navy from the DP
     square and divider, slate from the "Law" band and the wordmark. */
  --brand-primary:          #24326C;        /* DP Law navy */
  --brand-primary-rgb:      36, 50, 108;
  --brand-primary-deep:     #1B2552;        /* derived: footer, dark panels, hovers */
  --brand-primary-deep-rgb: 27, 37, 82;
  --brand-secondary:        #5A6872;        /* DP Law slate */
  --brand-secondary-rgb:    90, 104, 114;

  /* One accent: deep bronze (approved by Dan, 2026-10-07; not part of the
     logo). Used for details only: eyebrows, italic title words, card rules,
     icons and markers. Buttons and large areas stay navy. */
  --brand-accent:           #7A5C33;        /* 5.3:1 or better on every light surface */
  --brand-accent-rgb:       122, 92, 51;
  --brand-accent-on-dark:   #CFAE7C;        /* light bronze: 5.7:1 on navy, 7.0:1 on deep */

  /* ---- Surfaces ---- */
  --surface-page:           #F8F7F4;        /* off-white page background */
  --surface-page-rgb:       248, 247, 244;
  --surface-alt:            #EFEEEA;        /* soft sections */
  --surface-alt-rgb:        239, 238, 234;
  --surface-tint:           #ECEEF4;        /* light navy tint: icon badges, chips */
  --surface-card:           #FFFFFF;

  /* ---- Text (all pairs checked for WCAG 2.x AA, 4.5:1 or better) ---- */
  --text-strong:            #1E2235;        /* 13.5:1 on --surface-alt */
  --text-body:              #3F4A54;        /*  7.8:1 on --surface-alt (dark slate) */
  --text-subtle:            #5A6872;        /*  4.95:1 on --surface-alt, 5.4:1 on page (brand slate) */
  --text-on-dark:           #C9CFDF;        /*  7.7:1 on --brand-primary, 9.4:1 on deep */
  --hairline:               #DDDBD4;

  /* ---- Typography ---- */
  --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-sans:  "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
