/* ==========================================================================
   Design tokens — Prizon Contabilidade
   Camada unica de decisao visual. Trocar cliente = trocar este arquivo.
   ========================================================================== */

:root {
  /* ---------- Marca ----------------------------------------------------
     #E5322D extraido do logotipo oficial da Prizon.
     As variantes existem para garantir contraste AA quando ha texto branco.  */
  --brand: #e5322d;
  --brand-strong: #c7211c; /* fundo de botao — 5.7:1 com branco */
  --brand-deep: #a8140f; /* hover/active */
  --brand-tint: rgba(229, 50, 45, 0.08);
  --brand-tint-strong: rgba(229, 50, 45, 0.16);

  /* ---------- Tinta / neutros ---------- */
  /* Rampa calibrada para contraste sobre branco:
     ink-70 = 8.7:1 · ink-50 = 5.3:1 (AA texto pequeno)
     ink-30 = 3.4:1 (AA apenas em texto grande — uso decorativo)      */
  --ink: #101012;
  --ink-90: #1d1d20;
  --ink-70: #4a4a51;
  --ink-50: #6b6b73;
  --ink-30: #8a8a92;
  --ink-15: #c4c4ca;

  /* ---------- Superficies ---------- */
  --stage: #e7e7e8; /* o "palco" cinza da referencia */
  --surface: #ffffff;
  --surface-sunken: #f4f4f5;
  --surface-glass: rgba(255, 255, 255, 0.72);

  /* ---------- Linhas ---------- */
  --line: rgba(16, 16, 18, 0.08);
  --line-strong: rgba(16, 16, 18, 0.14);

  /* ---------- Sombras (empilhadas, estilo Apple) ---------- */
  --shadow-xs: 0 1px 2px rgba(16, 16, 18, 0.04);
  --shadow-sm: 0 1px 2px rgba(16, 16, 18, 0.04), 0 6px 16px -10px rgba(16, 16, 18, 0.16);
  --shadow-md: 0 1px 2px rgba(16, 16, 18, 0.04), 0 12px 28px -14px rgba(16, 16, 18, 0.2);
  --shadow-lg: 0 2px 4px rgba(16, 16, 18, 0.03), 0 24px 56px -20px rgba(16, 16, 18, 0.24);
  --shadow-brand: 0 8px 24px -10px rgba(199, 33, 28, 0.5);

  /* ---------- Tipografia ---------- */
  --font-display: "Cabinet Grotesk", "Satoshi", -apple-system, BlinkMacSystemFont,
    "Segoe UI", system-ui, sans-serif;
  --font-sans: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui,
    "Helvetica Neue", Arial, sans-serif;

  /* Escala fluida — mobile-first, sem media query */
  --fs-eyebrow: clamp(0.688rem, 0.64rem + 0.24vw, 0.813rem);
  --fs-micro: clamp(0.688rem, 0.65rem + 0.19vw, 0.75rem);
  --fs-sm: clamp(0.813rem, 0.78rem + 0.16vw, 0.875rem);
  --fs-body: clamp(0.938rem, 0.88rem + 0.29vw, 1.125rem);
  --fs-lead: clamp(0.938rem, 0.86rem + 0.36vw, 1.1875rem);

  /* O display e limitado pela ALTURA da janela tambem: e o que garante
     o hero inteiro visivel sem rolagem em telas baixas e em paisagem. */
  --fs-display: clamp(2.25rem, min(0.9rem + 7.4vw, 11vh), 9rem);

  --lh-display: 0.92;
  --lh-tight: 1.15;
  --lh-body: 1.6;

  --ls-display: -0.038em;
  --ls-tight: -0.018em;
  --ls-wide: 0.09em;

  /* ---------- Espacamento / geometria ---------- */
  --shell-pad: clamp(0.625rem, 0.3rem + 1.6vw, 1.375rem);
  --card-pad: clamp(1.375rem, 0.4rem + 4.4vw, 4.5rem);
  --radius-card: clamp(1.25rem, 0.6rem + 2.6vw, 2.25rem);
  --radius-panel: clamp(1rem, 0.7rem + 1.2vw, 1.5rem);
  --radius-sm: 0.75rem;
  --radius-pill: 999px;

  --shell-max: 1560px;
  --header-h: 3.5rem;

  /* ---------- Movimento ----------
     Curva expo-out: a assinatura de aceleracao do ecossistema Apple.         */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 200ms;
  --dur-base: 400ms;
  --dur-slow: 800ms;
  --dur-reveal: 1100ms;

  /* Cadencia da revelacao item a item do painel do hero. */
  --dur-row: 900ms;
  --row-stagger: 320ms;

  /* ---------- Escala e ritmo de secao ----------
     A partir do hero, cada secao usa a mesma respiracao vertical.        */
  --fs-headline: clamp(1.875rem, 1rem + 3.9vw, 4.75rem);
  --fs-lead-lg: clamp(1.0625rem, 0.96rem + 0.52vw, 1.375rem);
  --section-gap: clamp(2rem, 0.9rem + 4.2vw, 4.5rem);

  /* Cadencia do sistema generico de revelacao por scroll. */
  --reveal-stagger: 70ms;
  --dur-reveal-scroll: 900ms;

  /* Cadencia do indice de servicos. A lista de entregas entra item a item,
     de cima para baixo — mais contida que a do painel do hero porque uma
     lista pode ter dez linhas, e ainda assim lenta o bastante para se ler
     o ritmo em vez de uma cascata. */
  --svc-stagger: 160ms;
  --dur-svc-item: 800ms;
  --dur-svc-panel: 620ms;

  /* ---------- Superficie escura (blocos de contraste) ---------- */
  --surface-ink: #141416;
  --surface-ink-soft: #1c1c1f;
  --line-on-ink: rgba(255, 255, 255, 0.1);
  --on-ink: #f4f4f5;
  --on-ink-muted: rgba(244, 244, 245, 0.58);

  /* ---------- Camadas ---------- */
  --z-hero-visual: 1;
  --z-header: 100;
  --z-overlay: 200;
}

@media (min-width: 64rem) {
  :root {
    --header-h: 4.25rem;
  }
}

/* Sem animacao para quem pediu sem animacao. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 1ms;
    --dur-base: 1ms;
    --dur-slow: 1ms;
    --dur-reveal: 1ms;
    --dur-row: 1ms;
    --row-stagger: 0ms;
    --dur-reveal-scroll: 1ms;
    --reveal-stagger: 0ms;
    --svc-stagger: 0ms;
    --dur-svc-item: 1ms;
    --dur-svc-panel: 1ms;
  }
}
