/* NG Engenharia Civil — design tokens (Hallmark custom · navy-gold)
   Portátil: cada cor/fonte/espaço vive aqui; o styles.css referencia por nome. */
:root {
  /* ===== Cor — paleta OKLCH custom (navy = ink · âmbar = sinal) ===== */
  --color-paper:        oklch(98.5% 0.006 250);   /* near-white frio, tintado navy */
  --color-paper-2:      oklch(96.6% 0.008 250);   /* seção alternada / superfície */
  --color-paper-3:      oklch(94.2% 0.010 255);   /* painel mais fundo */
  --color-ink:          oklch(24% 0.05 250);      /* navy #0A2540 — texto/estrutura */
  --color-ink-2:        oklch(42% 0.04 250);      /* texto secundário */
  --color-muted:        oklch(52% 0.03 250);      /* texto de apoio */
  --color-rule:         oklch(88% 0.012 250);     /* hairline divisor */
  --color-rule-2:       oklch(92.5% 0.010 250);   /* hairline suave */

  --color-accent:       oklch(77% 0.155 70);      /* âmbar #F59E0B — único sinal */
  --color-accent-strong:oklch(70% 0.16 60);       /* âmbar hover/press */
  --color-accent-ink:   oklch(24% 0.05 250);      /* navy sobre âmbar */
  --color-focus:        oklch(70% 0.19 70);       /* anel de foco */

  /* Superfícies escuras (bandas navy / footer) */
  --color-surface-dark:   oklch(24% 0.05 255);
  --color-surface-dark-2:  oklch(19.5% 0.045 255);
  --color-ink-on-dark:    oklch(96% 0.008 250);
  --color-muted-on-dark:  oklch(74% 0.02 250);
  --color-rule-on-dark:   oklch(38% 0.03 255);

  /* Semânticas / canal */
  --color-success:  oklch(70% 0.15 155);
  --color-error:    oklch(62% 0.20 25);
  --color-whatsapp: oklch(72% 0.16 152);
  --color-wa-ink:   oklch(99% 0.008 152);   /* texto near-white sobre verde WhatsApp */

  /* ===== Tipografia ===== */
  --font-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --text-xs: 0.75rem;   --text-sm: 0.875rem;  --text-base: 1rem;
  --text-lg: 1.125rem;  --text-xl: 1.25rem;   --text-2xl: 1.5rem;
  --text-3xl: 1.875rem; --text-4xl: 2.25rem;  --text-5xl: 3rem;
  --text-display:   clamp(2.4rem, 5vw + 0.4rem, 4.25rem);
  --text-display-s: clamp(1.9rem, 3.2vw + 0.4rem, 3rem);

  --w-normal: 400; --w-medium: 500; --w-semibold: 600; --w-bold: 700;
  --leading-none: 1; --leading-tight: 1.08; --leading-snug: 1.3; --leading-normal: 1.6;
  --tracking-tight: -0.02em; --tracking-tighter: -0.035em;
  --tracking-label: 0.14em;

  /* ===== Espaço (4pt) ===== */
  --space-1: 0.25rem; --space-2: 0.5rem;  --space-3: 0.75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem;  --space-8: 2rem;    --space-10: 2.5rem;
  --space-12: 3rem;   --space-16: 4rem;   --space-20: 5rem;   --space-24: 6rem;
  --space-32: 8rem;

  /* ===== Forma — austero: raios apertados ===== */
  --radius-sm: 2px; --radius-md: 4px; --radius-lg: 6px; --radius-full: 9999px;

  /* ===== Régua / sombra (mínima) ===== */
  --rule-thin: 1px solid var(--color-rule);
  --shadow-sm: 0 1px 2px oklch(24% 0.05 250 / 0.06);
  --shadow-md: 0 6px 24px oklch(24% 0.05 250 / 0.09);

  /* ===== Movimento (3 easings nomeados) ===== */
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:     cubic-bezier(0.4, 0, 1, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 150ms; --dur-base: 260ms; --dur-slow: 420ms;

  /* ===== Layout ===== */
  --container: 1200px;
  --container-pad: clamp(1rem, 4vw, 2rem);
  --z-sticky: 100; --z-fixed: 110; --z-float: 120;
}
