/* GlamMatch: quiet luxury. Ivory paper, near-black ink, one champagne-gold accent, hairline borders.
   Cormorant Garamond for display headings; Inter (core) for body.
   Contrast (WCAG 2.x, computed 2026-10-30):
     light  accent #836431 on bg #FAF7F1 5.12, on bg-2 #F3EEE4 4.74, white text on accent 5.48; muted #665E54 on bg 5.96
     dark   accent #CDAE74 on bg #0E0D0B 9.16, on surface #1A1813 8.36; ink #15130F on accent 8.75; muted #A79E90 on bg 7.34
   Champagne #B8955A (--gold) is decorative only (hairlines, rules, the mark); it never carries text on ivory (2.62). */
/* Cormorant Garamond (SIL Open Font License), self-hosted from public/assets/fonts/ so pages work under a strict CSP. Variable font: one file covers 500 to 600. */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500 600; font-display: swap; src: url('../fonts/CormorantGaramond-italic-500-600-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500 600; font-display: swap; src: url('../fonts/CormorantGaramond-italic-500-600-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: 'Cormorant Garamond'; font-style: normal; font-weight: 500 600; font-display: swap; src: url('../fonts/CormorantGaramond-normal-500-600-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500 600; font-display: swap; src: url('../fonts/CormorantGaramond-normal-500-600-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 {
  --accent: #836431;
  --accent-d: #6E5326;
  --accent-soft: rgba(184, 149, 90, .10);
  --gold: #B8955A;
  --ink: #15130F;
  --ink2: #2B2722;
  --muted: #665E54;
  --faint: #8F877C;
  --line: #E7E0D3;
  --line-2: #F0EBE1;
  --bg: #FAF7F1;
  --bg-2: #F3EEE4;
  --surface: #FFFDF9;
  --navy: #3D3426;
  --glass: rgba(255, 253, 249, .66);
  --glass-strong: rgba(255, 253, 249, .86);
  --glass-b: rgba(255, 253, 249, .9);
  --glass-dark: rgba(21, 19, 15, .46);
  --serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --r-s: 8px; --r: 12px; --r-l: 16px; --r-xl: 22px;
  --shadow-s: 0 1px 2px rgba(21, 19, 15, .04);
  --shadow: 0 1px 2px rgba(21, 19, 15, .04), 0 14px 34px -10px rgba(21, 19, 15, .10);
  --shadow-l: 0 2px 6px rgba(21, 19, 15, .05), 0 28px 64px -16px rgba(21, 19, 15, .22);
}

:root[data-theme="dark"] {
  --accent: #CDAE74;
  --on-accent: #1A1208;
  --accent-d: #B8955A;
  --accent-soft: rgba(205, 174, 116, .13);
  --gold: #B8955A;
  --ink: #F3EEE4;
  --ink2: #D8D1C4;
  --muted: #A79E90;
  --faint: #7F776B;
  --line: #2C2820;
  --line-2: #24211B;
  --bg: #0E0D0B;
  --bg-2: #16140F;
  --surface: #1A1813;
  --navy: #D8C29A;
  --glass: rgba(26, 24, 19, .64);
  --glass-strong: rgba(26, 24, 19, .88);
  --glass-b: rgba(243, 238, 228, .10);
  --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 14px 34px -10px rgba(0, 0, 0, .5);
  --shadow-l: 0 28px 64px -16px rgba(0, 0, 0, .65);
}
[data-theme="dark"] :focus-visible { outline-color: #D8C29A; }

/* Display type: serif headings, generous and unhurried. */
h1, h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.012em; }
h1 { line-height: 1.02; }
h2 { line-height: 1.08; }
h3 { font-family: var(--display); font-weight: 600; font-size: 23px; letter-spacing: -.005em; }
.serif, h1 em, h2 em, h3 em { font-weight: 500; letter-spacing: -.005em; }
.brand-name { font: 600 23px/1 var(--display); letter-spacing: .01em; }
.brand-name em { font-style: italic; }
.eyebrow::before { background: var(--gold); height: 1px; width: 22px; }

/* One accent, no glow. */
.btn-primary { box-shadow: none; }
.btn-primary:hover { box-shadow: 0 10px 24px -14px rgba(21, 19, 15, .5); }
.progress > i { background: var(--gold); }

/* Dark mode: champagne fills carry ink, not white. */
[data-theme="dark"] .btn-primary,
[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] ::selection,
[data-theme="dark"] .iv-stepper li.current .n,
[data-theme="dark"] .mk-state.on .mk-state-ab,
[data-theme="dark"] .pd-stage.st-live .pd-stage-dot,
[data-theme="dark"] .sol-nav a[aria-current="page"] .ico,
[data-theme="dark"] .price-card .ribbon .badge,
[data-theme="dark"] .ops-pv-btn { color: #15130F; }

/* Dark bands and footer in warm black. */
.section.dark, .site-foot { background: #12100D; }
.foot-legal, .powered { border-color: #2C2820; }

/* Core surfaces that still carry the default crimson, re-dressed in warm black and champagne (see report: core could tokenize these). */
.cta-band::after { background: linear-gradient(100deg, rgba(18, 16, 13, .94) 0%, rgba(21, 19, 15, .74) 48%, rgba(21, 19, 15, .22) 100%); }
:root .brand-media .emblem { box-shadow: 0 40px 90px -36px rgba(0, 0, 0, .7); }
:root .aside-photo.emblem-photo { box-shadow: 0 30px 70px -34px rgba(21, 19, 15, .45); }
:root .pd-hero .badge.accent, :root .prop-media .badges .badge.accent { background: #15130F; color: #E9D9B8; }
:root .pd-token-card::before { background: radial-gradient(closest-side, rgba(184, 149, 90, .22), transparent 70%); }
.side a.nav-i[aria-current="page"] { background: linear-gradient(90deg, rgba(184, 149, 90, .30), rgba(184, 149, 90, .08)); box-shadow: inset 2px 0 0 #CDAE74; }
.side a.nav-i .count { background: #836431; }
.checklist li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23836431' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
[data-theme="dark"] .checklist li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CDAE74' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
