/* ============================================================
   Conqord Capital — design tokens
   Governed by: Conqord Digital Standards v1.0, 22 September 2026
   (addendum to the Conqord Capital Brand Guide, 2023)

   THE RULES THAT MATTER, IN SHORT:
   - Brand palette is three blues + black + greys. Nothing else.
     The red/orange/green/purple/gold in the 2023 guide PDF are
     Adobe's DEFAULT swatches, not brand colours.
   - --brass is a RESERVE colour. It appears ONLY where the
     audience is an admitted or prospective limited partner:
     the portal page, the LP nav link, the quarterly letter.
     Never on public pages, never on legal documents, never on
     the logo. If it exceeds ~12 elements site-wide, remove it.
   - --peri masked through pattern-wave.svg is the brand device.
     (It replaced pattern-crescent.svg, which was rejected and
     deleted.) Dark grounds only, 9-10% opacity, 150px tile,
     never over the large watermark mark.
   - Seven type sizes. Nothing between them.
   - Three letter-spacing values. Two hairline colours. 1px borders.

   PHOTOGRAPHY
   - Normalise EVERY photograph to median luminance 123 and mean
     saturation 38.9 (65% pull toward target), THEN apply the house
     grade. One grade applied to differently-exposed sources does not
     make a consistent set; normalising first is what does. Before
     this pass the set ran 56-179 median luminance. It now runs 94-140.
   - Duotone is a COOL MONOCHROME (14,16,26 -> 74,80,104 -> 232,234,240),
     not a colour wash. A saturated ramp reads as a nightclub next to
     the graded photography. It is RESERVED for infrastructure
     and civic subjects: transit, trails, public works. Property and
     street subjects run graded colour. A rule, not an exception.
   - No AI-generated imagery, ever. It falsifies clause 11.1 of the
     disclosures, which every page carries in its footer.
   - Studio-lit resale listing photography does not represent the
     fund. The fund buys and holds; a staged resale frame implies a
     pipeline it does not have. Licensed street photography of real
     Atlanta blocks is the default. The only GP-owned frames still
     published are the Pansy rehabilitation and one 2019 "before".
   - BRAND GRADE (tools-brandgrade.py). Every colour photograph is
     graded toward the palette, not just exposure-matched: warm hues
     x0.40, green x0.50, blue x1.12, everything else x0.72, then a
     navy split-tone into shadow and a cool breath into highlight.
     Default strength 0.85.
   - GREEN IS AN ACCENT, NOT A GROUND. Georgia is green and one frame
     should show it. The Beltline band (atl-04) is graded at 0.55 and
     is the ONLY image allowed to stay green. If a second image runs
     green the set starts to read as landscape photography instead of
     a fund. Score the set before shipping: none below ~80.
   - Source-first was tried and did not work. Wikimedia and Openverse
     do not hold modest Atlanta housing that also reads blue-grey;
     the palette-ranked results are glass high-rises and out-of-state
     houses. Grading on-thesis frames beats sourcing off-thesis ones.

   FIGURE SIZING
   - No single figure exceeds ~70% of the viewport height, so it can
     be read without scrolling. Cap by WIDTH in vh units so the
     aspect ratio does the work: width:min(100%, Npx, Mvh).
   - SVG type must be sized so it lands at 13px+ ON SCREEN after the
     figure is scaled down. Check the product, not the source value.
   ============================================================ */
:root{
  /* ground + ink */
  --paper:#FFFFFF;        /* primary ground */
  --paper-2:#F6F2EC;      /* warm alternating ground */
  --night:#0B0D18;        /* dark ground */
  --ink:#0F0F14;          /* primary ink, and the strong rule */
  --ink-2:#3A3D4F;        /* body ink */
  --mute:#6B6F85;         /* label ink */
  --rule:#E3E4EE;         /* hairline on light */
  --rule-d:rgba(180,182,214,.18); /* hairline on dark */

  /* brand */
  --royal:#4455A5;
  --mid:#7A86C2;
  --peri:#B4B6D6;
  --brass:#C2A468;        /* LP-facing only: portal, LP links, the quarterly letter */
  --brass-rule:rgba(194,164,104,.28);
  --brass-dim:rgba(194,164,104,.55);

  /* type scale — seven steps, nothing between */
  --t-display:clamp(2.5rem,5.4vw,4.2rem);
  --t-1:clamp(1.9rem,3.6vw,2.7rem);
  --t-2:1.5rem;
  --t-3:1.15rem;
  --t-body:1rem;
  --t-small:.88rem;
  --t-label:10.5px;

  /* letter-spacing — three values */
  --ls-label:.22em;
  --ls-tight:-.015em;
  --ls-cta:.2em;

  /* space scale */
  --s-1:8px; --s-2:14px; --s-3:22px; --s-4:34px; --s-5:52px; --s-6:80px;

  /* families */
  --serif:"EB Garamond",Georgia,"Times New Roman",serif;
  --sans:Roboto,"Helvetica Neue",Arial,sans-serif;
}
/* one label spec, everywhere */
.eyebrow,.k,.ph,.doc-hd .ent,.pt-eyebrow,.panel dt,.particulars dt,.ledger .k,.svc .k,.claims .k,.doors .k{
  font-size:var(--t-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:600;
}
/* one CTA spec */
.cta,.btn,.pt-btn,.dl-pdf{letter-spacing:var(--ls-cta)}
/* headlines share one tracking */
h1,h2,.t,.doc-hd h1,.pt-hero h1{letter-spacing:var(--ls-tight)}
