:root {
  /* Renaissance nocturne — sampled from the approved cloud and hall frames. */
  --dai-obsidian: #17120f;
  --dai-umber: #2a1d17;
  --dai-parchment: #f1e9dc;
  --dai-stone: #c8b8a4;
  --dai-antique-gold: #c99a4b;
  --dai-oxblood: #9e302a;
  --dai-smoke: #817364;
  --dai-line-dark: rgba(241, 233, 220, 0.18);
  --dai-line-light: rgba(23, 18, 15, 0.16);

  --dai-display: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
  --dai-body: "Manrope", "Helvetica Neue", Arial, sans-serif;

  --dai-display-xl: clamp(4rem, 10vw, 10rem);
  --dai-display-lg: clamp(3rem, 6vw, 6.5rem);
  --dai-heading: clamp(2.25rem, 4vw, 4.5rem);
  --dai-body-size: clamp(1rem, 1.2vw, 1.18rem);
  --dai-kicker-size: 0.72rem;

  --dai-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --dai-rule: 1px solid var(--dai-line-dark);
  --dai-radius-media: 1.25rem;

  /* --- craft layer (2026-09-01 polish round) -----------------------------
     ONE easing family, FOUR durations, TWO shadow recipes, THREE hairline
     alphas, ONE glass recipe. Every page in this brand reads from these so
     a hover on the umbrella and a hover in the Academy feel like one hand. */
  --dai-t-fast: 150ms;   /* state flips: colour, opacity, underline          */
  --dai-t-base: 260ms;   /* the default interactive answer                   */
  --dai-t-slow: 420ms;   /* lifts, image scale, panel changes                */
  --dai-t-cine: 700ms;   /* scroll reveals and material settle only          */

  --dai-hair-strong: rgba(201, 154, 75, 0.30);  /* gold structural rule      */
  --dai-hair-warm:   rgba(241, 233, 220, 0.15); /* parchment rule on dark    */
  --dai-hair-ink:    rgba(20, 16, 13, 0.16);    /* ink rule on the ivory     */

  --dai-glass-blur: 16px;
  --dai-glass-sat: 1.4;

  --dai-sh-lift: 0 18px 40px -22px rgba(0, 0, 0, 0.72);
  --dai-sh-deep: 0 40px 90px -40px rgba(0, 0, 0, 0.85);

  /* square specimen corners everywhere; the button keeps the only softening */
  --dai-r: 0px;
}

.dai-display {
  font-family: var(--dai-display);
  font-weight: 300;
  line-height: 0.91;
  letter-spacing: -0.045em;
  font-optical-sizing: auto;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  text-rendering: optimizeLegibility;
}

/* Every figure on either page is read in a column, so every figure is tabular. */
.dai-nums { font-variant-numeric: tabular-nums; }

.dai-body {
  font-family: var(--dai-body);
  font-size: var(--dai-body-size);
  line-height: 1.55;
}

.dai-kicker {
  font-family: var(--dai-body);
  font-size: var(--dai-kicker-size);
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1;
  text-transform: uppercase;
}

.dai-icon {
  width: 1.5rem;
  height: 1.5rem;
  fill: none;
  color: currentColor;
  flex: none;
}

/* Hero typography sits over moving footage, so it always receives both. */
.dai-on-film {
  color: var(--dai-parchment);
  text-shadow: 0 2px 24px rgba(23, 18, 15, 0.58);
}

.dai-film-scrim {
  background: linear-gradient(180deg, rgba(23, 18, 15, 0.06) 20%, rgba(23, 18, 15, 0.88) 100%);
}

::selection {
  color: var(--dai-parchment);
  background: var(--dai-oxblood);
}

/* --- Renaissance handoff extension (2026-08-20): the ivory field, the bronze
       mid-tone and the forest accent named in the DAINER.AI asset handoff. --- */
:root {
  --dai-parchment-warm: #dfd0b9;
  --dai-bronze: #806038;
  --dai-forest: #1e3028;
  --dai-ink: #14100d;
  --dai-ink-dim: #4a3f33;
}

/* Light (ivory) field: the one place the palette inverts. */
.dai-field-ivory {
  color: var(--dai-ink);
  background: var(--dai-parchment);
}
.dai-field-ivory .dai-kicker { color: var(--dai-bronze); }
