/* Pasqualle — tokens. Gerado de tokens.json. Não edite valores à mão: mude tokens.json e regenere. */

:root, [data-theme="light"] {
  --canvas: #f7f8f1; --surface: #fcfdf8; --surface-sage: #dde6d8; --surface-sage-soft: #eff2e9; --surface-inverse: #182316;
  --ink: #161712; --ink-muted: #565951; --ink-subtle: #6e7268;
  --brand: #254C40; --brand-hover: #1b3a31; --on-brand: #f7f8f1; --brand-soft: #e3ece6;
  --accent: #c9f58b; --on-accent: #182316; --accent-ink: #cff698; --moss: #435638; --olive: #789b50; --clay: #c7a371;
  --on-inverse: #f3faf1; --on-inverse-muted: #c0cbbf;
  --line: #e2e6da; --line-strong: #7a8174; --focus: #254C40;
  --success: #2f6b3a; --warning: #8a5a12; --danger: #a63d2f;
  --shadow-float: 0 8px 24px rgba(22,23,18,.08); --shadow-modal: 0 24px 64px rgba(22,23,18,.16);
}
[data-theme="dark"] {
  --canvas: #111a10; --surface: #182316; --surface-sage: #223322; --surface-sage-soft: #1b2a1a; --surface-inverse: #0b120b;
  --ink: #f3faf1; --ink-muted: #c0cbbf; --ink-subtle: #94a091;
  --brand: #8cc4ae; --brand-hover: #a6d4c1; --on-brand: #111a10; --brand-soft: #1f3a31;
  --moss: #a9c48f; --line: #2b3a29; --line-strong: #6f7e6b; --focus: #c9f58b;
  --success: #9fd987; --warning: #e6b866; --danger: #f0957f;
  --shadow-float: 0 8px 24px rgba(0,0,0,.45); --shadow-modal: 0 24px 64px rgba(0,0,0,.6);
}
:root {
  --font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-serif: "Instrument Serif", ui-serif, Georgia, serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px;
  --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px;
  --radius-sm: 6px; --radius-md: 12px; --radius-lg: 20px; --radius-pill: 999px;
  --control-h: 44px; --control-h-sm: 36px; --container-max: 1200px; --measure: 640px;
}

/* Estilos de texto (escala tipográfica) */
.t-display-hero { font-family: var(--font-sans); font-size: 56px; line-height: 1.02; font-weight: 600; letter-spacing: -0.03em; }
.t-display-section { font-family: var(--font-sans); font-size: 40px; line-height: 1.08; font-weight: 600; letter-spacing: -0.025em; }
.t-display-editorial { font-family: var(--font-serif); font-size: 56px; line-height: 1.05; font-weight: 400; letter-spacing: -0.01em; font-style: italic; }
.t-heading-lg { font-family: var(--font-sans); font-size: 28px; line-height: 1.2; font-weight: 600; letter-spacing: -0.02em; }
.t-heading-md { font-family: var(--font-sans); font-size: 22px; line-height: 1.25; font-weight: 600; letter-spacing: -0.015em; }
.t-heading-sm { font-family: var(--font-sans); font-size: 17px; line-height: 1.3; font-weight: 600; letter-spacing: -0.01em; }
.t-body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 1.55; font-weight: 400; }
.t-body { font-family: var(--font-sans); font-size: 15px; line-height: 1.6; font-weight: 400; }
.t-body-strong { font-family: var(--font-sans); font-size: 15px; line-height: 1.6; font-weight: 600; }
.t-button { font-family: var(--font-sans); font-size: 14px; line-height: 1.2; font-weight: 600; }
.t-caption { font-family: var(--font-sans); font-size: 12px; line-height: 1.4; font-weight: 500; }
.t-label { font-family: var(--font-mono); font-size: 11px; line-height: 1.3; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.t-numeral { font-family: var(--font-mono); font-size: 13px; line-height: 1.3; font-weight: 500; letter-spacing: 0.02em; }

@media (max-width: 640px) {
  .t-display-hero, .t-display-editorial { font-size: 40px; }
  .t-display-section { font-size: 30px; }
}
