/* ============================================================
   Agentic Practices brand: "Sky and green"
   Source of truth: the Agentic Practices design system
   https://claude.ai/artifact/5DCyB7RLUVtsWokcJa5Mci
   Sky blue is the primary and carries the structure. Green is the
   secondary and marks the human moments (office hours, people's words,
   Stephan and his promise). One family: Plus Jakarta Sans.

   Every page loads brand.css (tokens + font) and then ap.css (components).
   tokens.css and fonts-local.css are the old Drafting Table system. No site
   page loads them; they stay only because the session decks, the print
   stylesheet and the judging portal still import them.
   ============================================================ */

@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/jakarta-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: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/jakarta-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 {
  /* ---- Colour ---- */
  --bg: #FBFCFD;
  --surface: #EEF5FB;
  --card: #FFFFFF;
  --line: #DCE5EC;
  --ink: #15222D;
  --muted: #526371;
  --sky-deep: #17496E;
  --sky: #2A6FA1;
  --sky-soft: #CFE3F2;
  --sky-glow: #E3EFF9;
  --grid: rgba(23, 73, 110, .06);
  --green: #3E8E6A;
  --green-soft: #E3F1EA;
  --green-ink: #24654A;
  --on-deep: #FFFFFF;
  --on-deep-muted: #C6DAEA;
  --on-deep-list: #DCE9F3;
  --chat-reply: #EAF4EF;
  --sky-on-deep: #8CC3EA;
  --green-on-deep: #6CC096;
  --green-label-on-deep: #9ED4B6;

  /* ---- Type ---- */
  --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --text-sub: 19px;    /* section sub-lines */
  --text-body: 18px;   /* running copy */
  --text-card: 17px;   /* card text */
  --text-small: 16px;  /* session, price and note text: the floor for running text */
  --text-h1-topic: clamp(44px, 8.5vw, 88px);  /* a short topic as the page heading */
  --text-h2: clamp(32px, 5.4vw, 54px);        /* section headings */
  --text-under: clamp(20px, 2.4vw, 24px);     /* the sentence under a heading */

  /* ---- Spacing ---- */
  --space-xs: 8px;
  --space-s: 12px;
  --space-m: 16px;
  --space-l: 24px;
  --space-xl: 48px;
  --grid-pitch: 28px;
  --content-max: 1120px;

  /* ---- Radius ---- */
  --radius-tail: 4px;
  --radius-tile: 16px;
  --radius-card: 22px;
  --radius-band: 28px;
  --radius-round: 50%;

  /* ---- Shadow ---- */
  --shadow-window: 0 30px 60px -20px rgba(36, 92, 72, .25), 0 0 0 1px #DCE5EC;
  --shadow-quote: 0 24px 50px -28px rgba(26, 37, 32, .45), 0 0 0 1px #DCE5EC;
  --shadow-photo: 0 20px 40px -24px rgba(26, 37, 32, .5);
  --ring-portrait: 0 0 0 6px #FBFCFD, 0 0 0 9px #3E8E6A;
}
