/* ============================================================================
   Alpha Capital Advisory — brand layer (ACA design system)
   Load AFTER site.css. Keeps every layout of site.css (the wireframe) and
   swaps its colours and type for the ACA design system:
   Cormorant Garamond (display) + Lora (text), navy #1b2a7c / blue #1673d2 on
   paper #fdfdfc, square corners, hairline rules, UPPERCASE tracked labels.
   Values come from design-system/tokens.json. Dark theme keeps site.css's
   dark palette and only takes the new fonts and heading colour.
   ========================================================================== */

:root {
  /* Design-system tokens */
  --paper: #fdfdfc;
  --surface: #ffffff;
  --ink-0: #17181c;
  --ink-secondary: #3a3f4a;
  --ink-muted: #5a5f6b;
  --slate: #6a7288;
  --navy: #1b2a7c;
  --blue: #1673d2;
  --sky: #2aa9f4;
  --gold: #b8863f;
  --red: #a23b3b;
  --rule: #d9dce3;
  --rule-strong: #c9cdd6;

  /* site.css variables, remapped (light theme) */
  --color-bg: var(--paper);
  --color-surface: var(--surface);
  --color-text: var(--ink-0);
  --ink: 23 24 28;
  --accent-rgb: 27 42 124;
  --color-divider: var(--rule-strong);
  --color-accent: var(--navy);
  --color-accent-500: var(--navy);
  --color-accent-600: var(--blue);
  --color-accent-700: var(--blue);
  --color-error: var(--red);
  --color-heading: var(--navy);
  --color-link: var(--blue);
  --color-link-hover: var(--navy);
  --color-numeral: var(--sky);
  --color-structure: var(--navy);

  --font-body: "Lora", Georgia, "Noto Serif Georgian", "Times New Roman", serif;
  --font-heading: "Cormorant Garamond", Garamond, "Noto Serif Georgian", "Times New Roman", serif;
  --font-mono: "Lora", Georgia, serif; /* the system has no mono: dates and counts use Lora tabular figures */

  --maxw: 1254px;  /* container-max 1140 + 2 × 57 margin */
  --gutter: 57px;  /* space-page-margin */
}

/* Dark theme: site.css's own dark palette stays; only these follow it. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-heading: var(--color-text);
    --color-link: var(--color-accent);
    --color-link-hover: var(--color-accent-700);
    --color-numeral: var(--color-accent);
    --color-structure: var(--color-accent);
  }
}
:root[data-theme="dark"] {
  --color-heading: var(--color-text);
  --color-link: var(--color-accent);
  --color-link-hover: var(--color-accent-700);
  --color-numeral: var(--color-accent);
  --color-structure: var(--color-accent);
}

body { font-size: 17px; line-height: 1.65; }

/* ── Type: Cormorant headings in Title/sentence case, never forced caps ── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading); font-weight: 500; letter-spacing: 0;
  color: var(--color-heading); text-transform: none;
}
.aca-hero-body h1 { font-size: clamp(38px, 3.9vw, 54px); line-height: 1.05; text-transform: none; letter-spacing: 0; font-weight: 500; }
.aca-pagehead h1, .aca-research-head h1 { font-size: 54px; line-height: 1.05; text-transform: none; letter-spacing: 0; }
.aca-latest-head h2, .aca-person h2 { font-size: 32px; line-height: 1.15; text-transform: none; letter-spacing: 0; }
.aca-service h2 { font-size: 27px; line-height: 1.2; text-transform: none; letter-spacing: 0; }
.aca-cta-row .lead { font-family: var(--font-heading); font-weight: 500; font-size: 32px; line-height: 1.15; text-transform: none; letter-spacing: 0; color: var(--color-heading); }
.aca-col-title { font-family: var(--font-heading); font-weight: 500; font-size: 25px; line-height: 1.2; text-transform: none; letter-spacing: 0; color: var(--color-accent-700); margin: 6px 0 8px; }
.aca-cols-3 .aca-col-title { font-size: 25px; }
.aca-doc-title { font-family: var(--font-heading); font-weight: 600; font-size: 21px; line-height: 1.25; color: var(--color-heading); }
.aca-brand-name, .aca-footer-brand-name { font-family: var(--font-heading); font-weight: 500; text-transform: none; letter-spacing: 0; }

/* Lead paragraphs in the display face, navy — like the report's opening paragraph */
.aca-hero-body p { font-family: var(--font-heading); font-weight: 500; font-size: 22px; line-height: 1.45; color: var(--color-heading); }

/* Numerals: sky chapter-numeral style; stats in navy lining figures */
.aca-col-no, .aca-service-no {
  font-family: var(--font-heading); font-weight: 300; color: var(--color-numeral);
  font-variant-numeric: lining-nums tabular-nums;
}
.aca-col-no { font-size: 34px; line-height: 1; }
.aca-service-no { font-size: 52px; line-height: 0.9; }
.aca-stat-num {
  font-family: var(--font-heading); font-weight: 500; font-size: 54px; line-height: 1;
  color: var(--color-heading); font-variant-numeric: lining-nums tabular-nums;
}
.aca-stat-num.is-accent { color: var(--color-accent-700); }
.aca-doc-no, .aca-doc-date, .aca-filter-count, .aca-figcaption { font-variant-numeric: lining-nums tabular-nums; letter-spacing: 0; }
.aca-figcaption { font-style: italic; font-size: 13px; color: var(--ink-muted); }

/* Labels: the report's label-caps — Lora, UPPERCASE, 0.12em, blue */
.aca-eyebrow, .aca-person-role, .aca-doc-cat { font-family: var(--font-body); font-weight: 500; letter-spacing: 0.12em; color: var(--color-accent-700); }
.aca-stat-label, .aca-doc-head, .aca-field-label, .aca-footer-col h4 { font-family: var(--font-body); font-weight: 500; letter-spacing: 0.12em; }
.aca-footer-col h4 { color: var(--color-accent-700); font-size: 12px; }

/* ── Structure: navy for the masthead/nav rules, hairlines elsewhere ── */
.aca-masthead-top + .aca-rule { height: 2px; background: var(--color-structure); }
.aca-nav + .aca-rule, main .aca-rule { height: 1px; background: var(--color-divider); }
.aca-accent-bar, .aca-person-bar { background: var(--color-structure); height: 3px; width: 48px; }

/* ── Navigation: sentence-case Lora, current page navy with a blue bar ── */
.aca-nav-link {
  font-family: var(--font-body); font-size: 15px; font-weight: 400;
  letter-spacing: 0; text-transform: none; color: var(--ink-secondary);
}
.aca-nav-link:hover { color: var(--color-heading); }
.aca-nav-link.is-active { color: var(--color-heading); border-bottom-color: var(--color-accent-700); }
.aca-nav-link.aca-nav-research { color: var(--color-accent-700); }
.aca-theme { font-family: var(--font-body); font-size: 13px; }
.aca-theme button[aria-pressed="true"] { border-bottom-color: var(--color-accent-700); }
.aca-nav-toggle { font-family: var(--font-body); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .aca-nav-link { color: rgb(var(--ink) / 0.82); } }
:root[data-theme="dark"] .aca-nav-link { color: rgb(var(--ink) / 0.82); }

/* ── Links ── */
a { color: var(--color-link); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--color-link-hover); }
.aca-footer-link { color: var(--color-text); }
.aca-footer-link:hover { color: var(--color-link); }

/* ── Buttons: square, 1px rules, tracked caps; primary navy → blue ── */
.aca-btn { font-family: var(--font-body); font-weight: 600; letter-spacing: 0.12em; min-height: 44px; }
.aca-btn-fill, .aca-btn-dark { background: var(--color-accent); color: var(--surface); padding: 12px 22px; }
.aca-btn-fill:hover, .aca-btn-dark:hover { background: var(--color-accent-700); color: var(--surface); }
.aca-btn-out, .aca-btn-accent-out { border: 1px solid var(--color-accent); color: var(--color-accent); padding: 12px 22px; background: transparent; }
.aca-btn-out:hover, .aca-btn-accent-out:hover { background: var(--color-accent); color: var(--surface); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .aca-btn-fill, :root:not([data-theme="light"]) .aca-btn-dark { color: var(--color-bg); }
  :root:not([data-theme="light"]) .aca-btn-out:hover, :root:not([data-theme="light"]) .aca-btn-accent-out:hover { color: var(--color-bg); }
}
:root[data-theme="dark"] .aca-btn-fill, :root[data-theme="dark"] .aca-btn-dark,
:root[data-theme="dark"] .aca-btn-out:hover, :root[data-theme="dark"] .aca-btn-accent-out:hover { color: var(--color-bg); }

/* ── Tables / rows / filters ── */
.aca-service-item, .aca-latest-row, .aca-doc-row { border-bottom-color: var(--color-divider); }
.aca-service-item .name { font-weight: 600; }
.aca-filter { font-family: var(--font-body); border-width: 1px; border-color: var(--color-accent); color: var(--color-accent); }
.aca-filter.is-active { background: var(--color-accent); color: var(--color-bg); }
.aca-input, .aca-textarea { font-family: var(--font-body); border-width: 1px; border-color: var(--slate); background: var(--color-surface); }
.aca-input:focus-visible, .aca-textarea:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

/* ── Footer: rules and type only; the footer stays on the page ground ── */
.aca-footer { border-top: 2px solid var(--color-structure); }
.aca-footer-bar-inner { font-family: var(--font-body); letter-spacing: 0.08em; font-size: 11.5px; }

/* ── Phones ── */
@media (max-width: 900px) {
  :root { --gutter: 22px; }
  .aca-pagehead h1, .aca-research-head h1 { font-size: 40px; }
  .aca-hero-body h1 { font-size: 38px; }
  .aca-stat-num { font-size: 44px; }
  .aca-cta-row .lead { font-size: 27px; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .aca-hero-body p { font-size: 20px; }
}
