/* ============================================================================
   Pro-Motion Publishing — PRODUCT identity tokens (Layer B).
   Imports the identity-free PDH kernel (Layer A) for structure, then supplies
   this product's OWN colour + type identity as the tokens the kernel references
   (--accent, --focus, --font-display, …). See /opt/pdh/DESIGN-KERNEL.md.

   HARD RULE — this is a COMMERCIAL system. It carries NO estate identity:
   no AMPAM seal, no estate gold (#C8A84E) / deep-space, no CER-1880 or treaty
   line, no government mark. Removing this file removes identity but not
   structure; the kernel never carried identity to begin with.

   Machine-readable twin: pro-motion.json (the ebook engine consumes that).
   ========================================================================== */
@import url("/css/pdh-kernel.css");

/* Vendored designed book faces (SIL OFL 1.1 — see ./fonts/*-OFL.txt). Paths are
   relative to this stylesheet so the design package is self-contained when the
   fonts/ dir is served alongside it. */
@font-face{ font-family:'Crimson Pro'; font-weight:400; font-style:normal;
  src:url('./fonts/CrimsonPro-Regular.ttf') format('truetype'); font-display:swap; }
@font-face{ font-family:'Crimson Pro'; font-weight:700; font-style:normal;
  src:url('./fonts/CrimsonPro-Bold.ttf') format('truetype'); font-display:swap; }
@font-face{ font-family:'Crimson Pro'; font-weight:400; font-style:italic;
  src:url('./fonts/CrimsonPro-Italic.ttf') format('truetype'); font-display:swap; }
@font-face{ font-family:'Work Sans'; font-weight:400; font-style:normal;
  src:url('./fonts/WorkSans-Regular.ttf') format('truetype'); font-display:swap; }
@font-face{ font-family:'Work Sans'; font-weight:700; font-style:normal;
  src:url('./fonts/WorkSans-Bold.ttf') format('truetype'); font-display:swap; }

:root{
  /* warm grounds — cream / sand / warm ink. Approachable, not austere, not dark. */
  --paper:        #F7F1E3;
  --sand:         #ECE1C9;
  --ink:          #22201B;   /* body text — 14.45:1 on paper (AA ✓) */
  --ink-soft:     #56503F;   /* captions / secondary — 7.13:1 on paper (AA ✓) */
  --reverse-cream:#FBF6EA;   /* text on an accent band */
  --hairline:     #D8CBAE;   /* rules / dividers (non-text) */

  /* type — designed, licensable book faces (SIL OFL), NOT Linux system defaults:
     Work Sans (warm humanist) for the mark & headings; Crimson Pro (old-style book
     serif, real italic) for body. See pro-motion.json for ttf paths + rationale. */
  --font-display: 'Work Sans', 'Source Sans 3', 'Inter', system-ui, sans-serif;
  --font-body:    'Crimson Pro', 'EB Garamond', Georgia, serif;
  --font-italic:  'Crimson Pro', 'EB Garamond', Georgia, serif;  /* real matching italic */
  --font-utility: 'Work Sans', 'Source Sans 3', system-ui, sans-serif;

  /* default imprint = Trust; a surface overrides with [data-imprint]. Accent
     doubles as ink-on-cream AND reverse-cream-on-accent (contrast is symmetric). */
  --accent:       #12574C;   /* Pro-Motion Trust */
  --accent-name:  "Trust";
  --focus:        var(--accent);   /* satisfies the kernel's unset --focus token */
  --page:         var(--paper);
  --text:         var(--ink);
}

/* four imprints — SIBLINGS. Differentiated by colour only; the mark is never
   redrawn. Each accent measured AA against --paper (see pro-motion.json). */
[data-imprint="trust"]         { --accent:#12574C; --accent-name:"Trust"; }
[data-imprint="business"]      { --accent:#9C4310; --accent-name:"Business"; }
[data-imprint="jurisprudence"] { --accent:#8A2531; --accent-name:"Jurisprudence"; }
[data-imprint="erudition"]     { --accent:#38357F; --accent-name:"Erudition"; }
[data-imprint="young_readers"] { --accent:#7A3B6E; --accent-name:"Young Readers"; } /* provisional name (Hajib 2026-10-03) */

/* ── base skin (structure comes from the kernel; this is only colour + type) ── */
body{ background:var(--page); color:var(--text);
      font-family:var(--font-body); font-size:1.0625rem; line-height:1.62; }
h1,h2,h3,h4,.pm-display{ font-family:var(--font-display); color:var(--ink);
      font-weight:700; line-height:1.14; }
em,i,cite{ font-family:var(--font-italic); font-style:italic; }
a{ color:var(--accent); text-underline-offset:2px; }

/* THE signature device — the motion bar (the 'Pro-Motion' hyphen, drawn). It is
   the system's one recurring mark: series rule, running-head rule, chapter rule. */
.pm-bar{ display:inline-block; width:2.2ch; height:.34em; vertical-align:.06em;
         background:var(--accent); border-radius:1px; }
.pm-rule{ border:0; height:3px; width:64px; background:var(--accent); border-radius:2px;
          margin:var(--space-4) 0; }

/* house mark lockup — works at 32px; imprint label drops below ~40px via container */
.pm-mark{ font-family:var(--font-display); font-weight:700; letter-spacing:.14em;
          text-transform:uppercase; color:var(--ink); display:inline-flex;
          align-items:center; gap:.5ch; font-size:clamp(1rem,2.4vw,1.4rem); }
.pm-mark .pm-bar{ width:1.5ch; }
.pm-mark--reverse{ color:var(--reverse-cream); }
.pm-mark--reverse .pm-bar{ background:var(--reverse-cream); }
.pm-imprint{ font-family:var(--font-utility); font-weight:400; letter-spacing:.22em;
             text-transform:uppercase; font-size:.62em; color:var(--accent); }
.pm-mark--reverse .pm-imprint{ color:var(--reverse-cream); opacity:.9; }

/* callout box + captions (interior components, skinned; behaviour from kernel).
   Keyed to the SIGNATURE motion bar at top-left over a sand fill + hairline —
   deliberately NOT a full-height coloured side stripe (the generic card tell). */
.pm-callout{ background:var(--sand); border:1px solid var(--hairline);
             border-radius:var(--radius-sm); padding:var(--space-4) var(--space-5);
             margin:var(--space-5) 0; }
.pm-callout::before{ content:""; display:block; width:36px; height:4px;
             background:var(--accent); border-radius:2px; margin-bottom:var(--space-3); }
.pm-caption,.pm-series,.pm-folio{ font-family:var(--font-utility); color:var(--ink-soft);
             letter-spacing:.14em; text-transform:uppercase; font-size:.72rem; }
.pm-folio{ color:var(--accent); }
