/* ============================================================
   Interim Home Care — Design Tokens
   Sistema cromático derivado da identidade original
   (#2A3585 indigo · #EA4335 vermelho) e modernizado:
   base quente, indigo profundo como âncora, coral como sinal.
   ============================================================ */

:root {
  /* ---------- Cor: neutros quentes ---------- */
  --c-bone:        #F7F4EF;
  --c-bone-deep:   #EFEAE2;
  --c-paper:       #FFFFFF;
  --c-veil:        #FBF9F6;

  /* ---------- Cor: tintas profundas ---------- */
  --c-ink:         #0C1020;
  --c-ink-soft:    #161C31;
  --c-ink-mute:    #3A4058;

  /* ---------- Cor: marca ---------- */
  --c-indigo:      #2C3A8C;
  --c-indigo-deep: #1B2358;
  --c-indigo-lift: #4E5DBE;

  --c-coral:       #DE5138;
  --c-coral-deep:  #B93C26;
  --c-coral-soft:  #F0A796;

  --c-sage:        #5E8073;
  --c-sage-soft:   #A9C2B7;

  --c-sand:        #E4D6C3;

  /* ---------- Semântica ---------- */
  --bg:            var(--c-bone);
  --bg-elev:       var(--c-paper);
  --fg:            var(--c-ink);
  --fg-soft:       color-mix(in oklab, var(--c-ink) 68%, transparent);
  --fg-mute:       color-mix(in oklab, var(--c-ink) 48%, transparent);
  --accent:        var(--c-coral);
  --line:          color-mix(in oklab, var(--c-ink) 12%, transparent);
  --line-soft:     color-mix(in oklab, var(--c-ink) 7%, transparent);

  /* Escopo escuro (seções invertidas) */
  --dark-bg:       var(--c-ink);
  --dark-fg:       #F2EFEA;
  --dark-fg-soft:  color-mix(in oklab, #F2EFEA 62%, transparent);
  --dark-line:     color-mix(in oklab, #F2EFEA 14%, transparent);

  /* ---------- Tipografia ---------- */
  --font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --font-ui: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;

  /* Escala fluida — base 16 / ratio ~1.28 */
  --t-2xs:  clamp(0.688rem, 0.66rem + 0.14vw, 0.75rem);
  --t-xs:   clamp(0.75rem, 0.72rem + 0.16vw, 0.82rem);
  --t-sm:   clamp(0.875rem, 0.84rem + 0.18vw, 0.95rem);
  --t-base: clamp(1rem, 0.96rem + 0.22vw, 1.08rem);
  --t-md:   clamp(1.08rem, 1.02rem + 0.32vw, 1.25rem);
  --t-lg:   clamp(1.25rem, 1.14rem + 0.55vw, 1.6rem);
  --t-xl:   clamp(1.5rem, 1.28rem + 1.1vw, 2.25rem);
  --t-2xl:  clamp(1.9rem, 1.5rem + 2vw, 3.2rem);
  --t-3xl:  clamp(2.4rem, 1.7rem + 3.4vw, 4.6rem);
  --t-4xl:  clamp(3rem, 1.7rem + 6vw, 7.2rem);
  --t-5xl:  clamp(3.6rem, 1.4rem + 9.4vw, 11rem);

  --lh-tight: 0.94;
  --lh-snug: 1.08;
  --lh-head: 1.16;
  --lh-body: 1.62;

  --track-tight: -0.03em;
  --track-head: -0.02em;
  --track-wide: 0.16em;

  /* ---------- Espaço ---------- */
  --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;
  --section-y: clamp(5rem, 9vw, 11rem);
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --maxw: 82rem;
  --maxw-text: 38rem;

  /* ---------- Forma ---------- */
  --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-xl: 32px;
  --r-2xl: 44px;
  --r-pill: 999px;

  /* ---------- Elevação: sombras quase imperceptíveis ---------- */
  --sh-1: 0 1px 2px color-mix(in oklab, var(--c-ink) 4%, transparent);
  --sh-2: 0 1px 2px color-mix(in oklab, var(--c-ink) 3%, transparent),
          0 6px 16px -8px color-mix(in oklab, var(--c-ink) 8%, transparent);
  --sh-3: 0 1px 2px color-mix(in oklab, var(--c-ink) 3%, transparent),
          0 12px 32px -12px color-mix(in oklab, var(--c-ink) 12%, transparent);
  --sh-4: 0 2px 4px color-mix(in oklab, var(--c-ink) 3%, transparent),
          0 28px 64px -24px color-mix(in oklab, var(--c-ink) 18%, transparent);
  --sh-glow: 0 0 0 1px color-mix(in oklab, var(--c-coral) 22%, transparent),
             0 10px 40px -12px color-mix(in oklab, var(--c-coral) 32%, transparent);

  /* ---------- Vidro (discretíssimo) ---------- */
  --glass-bg: color-mix(in oklab, var(--c-bone) 72%, transparent);
  --glass-brd: color-mix(in oklab, var(--c-ink) 8%, transparent);
  --glass-blur: saturate(1.4) blur(18px);

  /* ---------- Movimento ---------- */
  --e-out: cubic-bezier(0.22, 1, 0.36, 1);
  --e-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --e-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --d-fast: 180ms;
  --d-base: 320ms;
  --d-slow: 620ms;

  --z-bg: 0;
  --z-content: 1;
  --z-sticky: 40;
  --z-overlay: 80;   /* gaveta mobile */
  --z-nav: 90;       /* acima da gaveta: o botão de fechar precisa continuar clicável */
  --z-lightbox: 95;
  --z-cursor: 100;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --d-fast: 1ms;
    --d-base: 1ms;
    --d-slow: 1ms;
  }
}
