/* ------------------------------------------------------------------
   The FoundHers design tokens. Single source of truth.
   Every colour on the site is one of the nine brand tokens or a
   documented derived token. Nothing hardcodes a value outside here.
   ------------------------------------------------------------------ */

:root {
  /* brand */
  --tfhp-blue:  #486D9B;
  --tfhp-navy:  #1A1E35;
  --tfhp-coral: #FF6F61;
  --tfhp-amber: #FFC857;
  --tfhp-white: #FFFFFF;
  --tfhp-teal:  #027B76;
  --tfhp-lilac: #CEA4CC;
  --tfhp-sand:  #F2E5D3;
  --tfhp-sky:   #93D2D8;

  /* derived, for hover and depth only. do not invent others. */
  --tfhp-blue-deep:  #3A5A83;
  --tfhp-coral-deep: #E85A4D;
  --tfhp-amber-deep: #F0B429;
  --tfhp-navy-soft:  #262B45;
  --tfhp-paper:      #FCFBF8;
  --tfhp-line:       rgba(26, 30, 53, 0.12);
  --tfhp-line-light: rgba(252, 251, 248, 0.18);
  --tfhp-muted:      #5C6178;
  --tfhp-muted-light:#A9AFC6;

  /* semantic */
  --c-bg:        var(--tfhp-paper);
  --c-bg-alt:    var(--tfhp-sand);
  --c-bg-dark:   var(--tfhp-navy);
  --c-text:      var(--tfhp-navy);
  --c-text-mute: var(--tfhp-muted);
  --c-accent:    var(--tfhp-blue);
  --c-action:    var(--tfhp-coral);

  /* type */
  --font-display: "The Seasons", "Recoleta", "Fraunces", "Playfair Display", Georgia, serif;
  --font-ui:      "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body:    "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --fs-display: clamp(2.75rem, 1.6rem + 5.2vw, 6rem);       /*  44 to  96 px  */
  --fs-h1:      clamp(2.25rem, 1.5rem + 3.4vw, 4rem);       /*  36 to  64 px  */
  --fs-h2:      clamp(1.75rem, 1.3rem + 2.1vw, 3rem);       /*  28 to  48 px  */
  --fs-h3:      clamp(1.375rem, 1.15rem + 1.0vw, 2rem);     /*  22 to  32 px  */
  --fs-h4:      clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem); /*  18 to  22 px  */
  --fs-lead:    clamp(1.0625rem, 1rem + 0.5vw, 1.375rem);   /*  17 to  22 px  */
  --fs-body:    clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);   /*  16 to  17 px  */
  --fs-small:   0.9375rem;                                  /*  15 px         */
  --fs-eyebrow: 0.75rem;                                    /*  12 px         */

  /* spacing and layout */
  --sp-1: 0.25rem;   --sp-2: 0.5rem;   --sp-3: 0.75rem;
  --sp-4: 1rem;      --sp-5: 1.5rem;   --sp-6: 2rem;
  --sp-7: 3rem;      --sp-8: 4rem;     --sp-9: 6rem;
  --sp-10: 8rem;

  /* Tightened per client feedback (2 Sep 2026): shorter scrolls */
  --section-y: clamp(2.5rem, 1.4rem + 4.2vw, 5rem);
  --shell:        min(1240px, 100% - 3rem);
  --shell-narrow: min(760px, 100% - 3rem);
  --radius:    4px;      /* editorial, not rounded. keep it tight. */
  --radius-lg: 8px;

  /* motion: the only easings and durations in the system */
  --ease-out:  cubic-bezier(0.16, 1, 0.30, 1);    /* primary reveal */
  --ease-soft: cubic-bezier(0.33, 0.00, 0.20, 1); /* hover, state change */
  --ease-line: cubic-bezier(0.65, 0.00, 0.35, 1); /* rule draws */
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* pointer play: hover and press only, never scroll reveals */

  --dur-fast: 180ms;   /* hover state, colour change */
  --dur-mid:  420ms;   /* card lift, image scale */
  --dur-slow: 720ms;   /* scroll reveal */
  --dur-line: 900ms;   /* rule draw */

  --stagger: 90ms;

  /* header */
  --header-h: 88px;
  --header-h-compressed: 64px;
}
