/* Axigale webfonts. Binaries extracted from the embedded faces in First Light / Field Guide. */
@font-face{font-family:'Aleo';src:url('../fonts/Aleo-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Aleo';src:url('../fonts/Aleo-Italic-Variable.ttf') format('truetype');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('../fonts/IBMPlexMono-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('../fonts/IBMPlexMono-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('../fonts/IBMPlexMono-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}

/* Axigale color. Brand Book p.06 is the authority for the nine core values. */
:root{
  /* Core palette */
  --umber:#2A1B14;   /* dark ground, primary ink */
  --cocoa:#5E3F30;   /* warm structure */
  --gale:#E8542B;    /* the wind, primary accent */
  --clay:#C25E3A;    /* warm depth */
  --sol:#F8B43C;     /* the fixed point, focal accent */
  --sage:#8FA98C;    /* calm accent */
  --cream:#F8F1E2;   /* light ground */
  --oat:#EFE6D3;     /* light neutral */
  --stone:#A18C77;   /* secondary tone: 2.86:1 on cream, use on dark or at display size */

  /* Extended values observed in First Light / Field Guide */
  --umber-2:#3A2820;     /* second dark section ground */
  --umber-deep:#1F130D;  /* footer ground */
  --paper:#FFFFFF;       /* card surface on cream */
  --line:#E0D2BC;        /* hairline on light */
  --line-2:#D2C1A6;      /* stronger hairline, chip borders */
  --line-dark:rgba(248,241,226,.16); /* hairline on dark */
  --sol-light:#FFEFC6;   /* Sol glow core */
  --streamline-deep:#7A3B24; /* far-field streamline on dark */
  --streamline-sol:#F6C24A;  /* near-field streamline on dark */

  /* Reading tones on light (from source documents) */
  --ink-1:#2A1B14;  /* headings */
  --ink-2:#3F2C1E;  /* body copy */
  --ink-3:#4A3526;  /* deks, leads */
  --ink-4:#52402F;  /* card body */
  /* Reading tones on dark */
  --cream-1:#F8F1E2; --cream-2:#F3E7D0; --cream-3:#EADCC4; --cream-4:#E2D4BE; --cream-5:#D8CAB2;

  /* Legibility derivatives (added: 4.5:1 on cream for small text) */
  --gale-ink:#B8401F;   /* Gale for small text on light, 4.92:1 on cream */
  --stone-ink:#7A6450;  /* Stone for small text on light, 4.96:1 on cream */

  /* Semantic aliases: light ground */
  --surface-page:var(--cream);
  --surface-alt:var(--oat);
  --surface-card:var(--paper);
  --surface-inverse:var(--umber);
  --surface-inverse-2:var(--umber-2);
  --text-heading:var(--ink-1);
  --text-body:var(--ink-2);
  --text-lead:var(--ink-3);
  --text-muted:var(--cocoa);
  --text-meta:var(--stone-ink);
  --text-accent:var(--gale-ink);
  --text-on-inverse:var(--cream-2);
  --text-heading-on-inverse:var(--cream);
  --accent:var(--gale);
  --accent-deep:var(--clay);
  --focal:var(--sol);
  --calm:var(--sage);
  --border:var(--line);
  --border-strong:var(--line-2);
  --border-inverse:var(--line-dark);
  --focus-ring:var(--sol);
  --link:var(--clay);
  --link-hover:var(--gale-ink);
}

/* Axigale type. Aleo Black for the wordmark and headlines, Aleo for reading, IBM Plex Mono for instrumentation. */
:root{
  --font-display:'Aleo',Georgia,serif;
  --font-serif:'Aleo',Georgia,serif;
  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;

  /* Weights (Aleo is variable 100–900; sources use precise values) */
  --weight-body:430;
  --weight-medium:500;
  --weight-strong:700;
  --weight-h3:800;
  --weight-h2:840;
  --weight-display:880;
  --weight-black:900;   /* wordmark */
  --weight-mono:500;

  /* Scale (px, from source documents) */
  --size-display:104px;  /* cover h1: clamp(52px,10vw,104px) */
  --size-h1:72px;        /* closing h2 */
  --size-h2:34px;
  --size-h3:22px;
  --size-h4:18px;
  --size-lead:18.5px;
  --size-dek:20px;
  --size-body:17px;
  --size-small:15px;
  --size-caption:14.5px;
  --size-label:11px;
  --size-micro:10px;
  --size-chapter-num:56px;

  --leading-display:.9;
  --leading-heading:1.06;
  --leading-tight:1.16;
  --leading-body:1.64;
  --leading-snug:1.5;

  --tracking-display:-.026em;
  --tracking-heading:-.014em;
  --tracking-eyebrow:.22em;
  --tracking-label:.12em;
  --tracking-readout:.1em;
  --tracking-spaced:.26em;   /* kicker, BRAND BOOK running heads */

  --measure:70ch;
}

/* Space, radius, elevation, motion. Values copied from First Light / Field Guide. */
:root{
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:22px;
  --space-6:26px; --space-7:34px; --space-8:44px; --space-9:64px; --space-10:70px;
  --gutter:40px;           /* page side padding */
  --wrap:1000px;           /* reading column (Field Guide); First Light uses 1060px */
  --wrap-wide:1180px;      /* nav */
  --section-y:70px;

  --radius-xs:5px;   /* tags, draft chips, gate tags */
  --radius-sm:6px;   /* nav links */
  --radius-md:8px;   /* number tiles */
  --radius-lg:12px;  /* layer rows */
  --radius-xl:14px;  /* cards, strips */
  --radius-2xl:16px; /* panels */
  --radius-pill:100px;

  --hairline:1px;
  --rule-accent:3px;    /* pull-quote rule */
  --marker-now:inset 4px 0 0 var(--sol);  /* the 'current / focal' marker */
  --shadow-none:none;   /* the system is flat; separation comes from ground and hairline */

  --ease-out:cubic-bezier(.2,.7,.2,1); /* @kind other */
  --ease-standard:ease; /* @kind other */
  --dur-fast:140ms; /* @kind other */
  --dur-base:200ms; /* @kind other */
  --dur-reveal:600ms; /* @kind other */
  --reveal-distance:14px;
}

/* Minimal element defaults so consumers get correct type and links. */
body{background:var(--surface-page);color:var(--text-body);font-family:var(--font-serif);font-weight:var(--weight-body);font-size:var(--size-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--link);text-underline-offset:3px}
a:hover{color:var(--link-hover)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:3px}
::selection{background:var(--sol);color:var(--umber)}

