/* ==========================================================================
   Kristin Panek — "First Light" design tokens
   The page is a single dawn: it opens on night water and arrives, by the
   footer, at full morning. Every ground colour below is a stop on that arc,
   and all of them are drawn from Kristin's existing brand family —
   slate #6987a4 · teal #6bc8bf · rose #eb999a · lavender #d6bcfa —
   deepened toward night or warmed toward day, never replaced.
   ========================================================================== */

/* --- Typefaces ----------------------------------------------------------- */
/* Prata carries the brand voice (unchanged from the current site); Playfair
   Display supplies its true italic. Hanken Grotesk replaces Poppins for body:
   same warmth, more grace at text sizes, and it disappears behind the serif
   the way a good supporting face should. */

@font-face {
  font-family: 'KP Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/prata.woff2') format('woff2');
}
@font-face {
  font-family: 'KP Display';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url('../assets/fonts/playfair-italic-var.woff2') format('woff2-variations');
}
@font-face {
  font-family: 'Hanken';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../assets/fonts/hanken-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Hanken';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/hanken-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Hanken';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/hanken-400-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Hanken';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/hanken-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Hanken';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../assets/fonts/hanken-600.woff2') format('woff2');
}

:root {
  /* --- The dawn arc: grounds, night → day -------------------------------- */

  --g-night:    #0b161d;   /* hero base, footer — deep water before light   */
  --g-act1:     #0d1a22;   /* the statement                                  */
  --g-act2:     #10202a;   /* at the root — first ember of gold in imagery   */
  --g-act3:     #142b36;   /* the map — dusk teal                            */
  --g-act4:     #0e2029;   /* how it works — darkest before the dawn         */
  --g-morning:  #fbf5ef;   /* meet kristin — morning cream                   */
  --g-day:      #f7efe7;   /* qualifier, clarity call, pathways              */
  --g-faq:      #fbf6f1;
  --g-rosewash: #f9ece9;   /* voices — rose-washed daylight                  */

  /* --- Brand family (kept) ----------------------------------------------- */

  --c-teal:         #6bc8bf;
  --c-teal-hi:      #7dd3ca;
  --c-teal-label:   #0f4a45;   /* CTA text on pastel teal — 4.7:1            */
  --c-teal-deep:    #175951;
  --c-rose:         #eb999a;
  --c-rose-deep:    #a64b55;   /* 4.6:1 on the darkest light ground          */
  --c-lavender:     #d6bcfa;   /* accent italic on dark — AA-large           */
  --c-lavender-ink: #9678cc;   /* accent italic on light — AA-large          */
  --c-slate:        #6987a4;
  --c-slate-deep:   #4e6980;

  /* --- Ink on dark grounds ----------------------------------------------- */

  --ink-d-title:  #eef4f6;     /* Prata headings on night                    */
  --ink-d-body:   #a8bcc7;     /* body copy on night — ≥4.5:1 on all acts    */
  --ink-d-soft:   #7e97a6;     /* meta, captions — large/semibold use only   */

  /* --- Ink on light grounds ---------------------------------------------- */

  --ink-l-title:  #35505f;     /* deep slate for Prata on cream              */
  --ink-l-body:   #4c5f6b;     /* 5.5:1 on every light ground                */
  --ink-l-soft:   #5a6b76;     /* 4.55:1 — the lightest that still clears AA */

  /* --- Type -------------------------------------------------------------- */

  --f-display: 'KP Display', 'Didot', 'Bodoni 72', 'Iowan Old Style', Georgia, serif;
  --f-body:    'Hanken', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --t-hero:    clamp(2.375rem, 1.35rem + 4.6vw, 4.75rem);    /* 38 → 76 */
  --t-display: clamp(1.9rem,   1.35rem + 2.5vw,  3.25rem);   /* 30 → 52 */
  --t-title:   clamp(1.7rem,   1.3rem + 1.8vw,   2.625rem);  /* 27 → 42 */
  --t-quote:   clamp(1.375rem, 1.1rem + 1.5vw,   2.125rem);  /* 22 → 34 */
  --t-lede:    clamp(1.15rem,  1.05rem + 0.45vw, 1.375rem);  /* 18 → 22 */
  --t-lead:    clamp(1.1rem,   1.03rem + 0.35vw, 1.28rem);   /* 18 → 20 */
  --t-body:    1.0625rem;                                    /* 17      */
  --t-sm:      0.9375rem;                                    /* 15      */
  --t-eyebrow: 0.72rem;                                      /* ~11.5   */

  --lh-hero:    1.08;
  --lh-display: 1.14;
  --lh-body:    1.72;

  --ls-display: -0.012em;
  --ls-eyebrow: 0.32em;

  /* --- Space & frame ------------------------------------------------------ */

  --inner:      1200px;
  --narrow:     760px;
  --gutter:     clamp(1.375rem, 4.5vw, 4rem);
  --act-pad:    clamp(5.5rem, 12vw, 10.5rem);    /* breath between acts      */
  --act-pad-sm: clamp(4rem, 8vw, 7rem);

  --r-image: 22px;
  --r-card:  16px;
  --r-pill:  100px;

  /* --- Light & elevation -------------------------------------------------- */

  --glow-teal:  0 0 44px rgba(107, 200, 191, 0.25);
  --sh-cta:     0 4px 18px rgba(107, 200, 191, 0.28);
  --sh-cta-hov: 0 8px 30px rgba(107, 200, 191, 0.4);
  --sh-media:
    0 2px 8px rgba(11, 22, 29, 0.18),
    0 24px 60px -18px rgba(11, 22, 29, 0.5);
  --sh-media-light:
    0 1px 3px rgba(78, 105, 128, 0.07),
    0 20px 50px -20px rgba(78, 105, 128, 0.28);
  --sh-card:
    0 1px 2px rgba(78, 105, 128, 0.05),
    0 14px 40px -14px rgba(78, 105, 128, 0.18);

  /* --- Motion ------------------------------------------------------------- */

  --ease:      cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-slow:  1100ms;
  --dur-rise:  950ms;
  --dur-hover: 260ms;
  --rise:      22px;
}
