/* ============================================================
   SCROLLUP CONSULTORIA — Design Tokens
   Fonte única: Direcção Criativa SCROLLUP_CONSULTORIA, Fase 5.
   Nunca declarar cor, espaçamento, radius ou sombra fora deste
   ficheiro — todas as outras folhas de estilo consomem estas
   variáveis (Parte E.3 do Orchestrator).
   ============================================================ */

:root {
  /* ---- Cor: paleta ancorada no logótipo (Fase 5) ---- */
  --color-navy: #0A0B4D;          /* Primary — Navy Deep */
  --color-navy-dark: #050530;      /* Primary Dark (hover/contraste) */
  --color-ink: #1C1D3D;            /* Secondary — Ink */
  --color-gold: #F5B400;           /* Accent — Gold (<10% da superfície) */
  --color-paper: #FAFAF7;          /* Background — Paper */
  --color-card: #FFFFFF;           /* Surface — Card White */
  --color-mist: #F1F1F6;           /* Surface Alt — Mist */
  --color-success: #1E8E5A;        /* usar apenas em ícones/indicadores, nunca em corpo de texto */
  --color-warning: #E0A400;
  --color-error: #C63D3D;
  --color-border: #E4E4EC;
  --color-grey: #5A5B72;           /* texto secundário sobre Paper — 6.3:1 AA */

  /* Gradiente único de marca (Fase 2) — nunca usar arco-íris nem 2º gradiente */
  --gradient-brand: linear-gradient(160deg, var(--color-navy) 0%, #14166B 60%, #191b6e 100%);

  /* ---- Tipografia (Fase 5) ---- */
  --font-display: 'Fraunces', 'Söhne Breit', Georgia, serif;   /* Headlines, H2, momentos de impacto */
  --font-body: 'Inter', 'Söhne', -apple-system, sans-serif;     /* Corpo, UI, botões, navegação */

  --fs-display: clamp(38px, 5.2vw, 66px);   /* H1 do Hero */
  --fs-h2: clamp(28px, 3.6vw, 48px);
  --fs-h3: clamp(20px, 2vw, 26px);
  --fs-body-lg: clamp(16px, 1.1vw, 18px);
  --fs-body: 15.5px;
  --fs-caption: 14px;
  --fs-label: 15px;

  --lh-display: 1.05;
  --lh-heading: 1.1;
  --lh-body: 1.6;

  /* ---- Espaçamento — escala de 8px (Fase 5) ---- */
  --sp-1: 8px;
  --sp-2: 16px;
  --sp-3: 24px;
  --sp-4: 32px;
  --sp-6: 48px;
  --sp-8: 64px;
  --sp-12: 96px;
  --sp-16: 128px;
  --sp-20: 160px;

  --container-max: 1280px;
  --container-pad: 20px;           /* mobile — sobreposto em breakpoints */

  --section-pad-mobile: 64px;
  --section-pad-desktop: 128px;

  /* ---- Bordas, radius, elevação (Fase 5) ---- */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 20px;

  --sh-1: 0 1px 3px rgba(10,11,77,0.06);
  --sh-2: 0 12px 32px rgba(10,11,77,0.10);
  --sh-3: 0 24px 64px rgba(10,11,77,0.16);
  --sh-gold: 0 12px 32px rgba(245,180,0,0.35);

  /* ---- Motion (Fase 7) ---- */
  --ease-premium: cubic-bezier(0.16,1,0.3,1);
  --dur-fast: 200ms;
  --dur-base: 400ms;
  --dur-reveal: 600ms;
  --stagger: 90ms;

  /* ---- Z-index scale (E.3 — evitar valores mágicos dispersos) ---- */
  --z-grain: 998;
  --z-progress: 1000;
  --z-header: 900;
  --z-chapter-nav: 700;
  --z-whatsapp: 800;
  --z-trail: 1400;
  --z-cursor: 1500;
  --z-mobile-menu: 1600;
  --z-preloader: 2000;
}

/* Modo escuro — mapeamento de superfícies, nunca de acento
   (o Gold e o Navy de marca mantêm-se; só invertem as superfícies). */
html.dark {
  --color-paper: #0A0B18;
  --color-card: #14152E;
  --color-mist: #15162E;
  --color-ink: #E8E8F0;
  --color-border: rgba(255,255,255,0.08);
  --color-grey: #9C9CB8;
}

/* prefers-reduced-motion — Regra Permanente 8 / Parte E.1 */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 1ms;
    --dur-base: 1ms;
    --dur-reveal: 1ms;
    --stagger: 0ms;
  }
}
