/* ORKELYA · TOKENS DA IDENTIDADE · v1.3.0-candidata · 24/10/2026 (1.3.0 = alinhamento óptico da orquídea na horizontal: proporção 5,19 : 1 — CANDIDATA, sujeita à aprovação; v1.0.0 de 11/10; 1.0.1 = movimento reduzido completo + easings sem papel marcados; 1.1.0 = orquídea de O4, só acréscimo; 1.2.0 = assinatura com a orquídea, só acréscimo)
   Gerado por gerar-tokens.mjs a partir de tokens.json. Não editar à mão: mude a fonte e gere de novo.
   Fontes: P1 · Plumagem refinada (S5) · Solway (voz) + Instrument Sans (função) · gramática de movimento S7/S7.1.
   Regra-mãe: ESTRUTURA PRECISA + VIDA QUE INTERROMPE → SEMPRE TERMINA EM CLAREZA.
   Fontes web: <link href="https://fonts.googleapis.com/css2?family=Solway:wght@500;700;800&family=Instrument+Sans:wght@400;500;600;700&display=swap" rel="stylesheet"> */
:root {
  /* ── COR · paleta P1 (valores fixos) ─────────────────────────── */
  /* neutro */
  --color-paper: #f3efe5; /* papel · rgb(243, 239, 229) */
  --color-paper-2: #e9e3d6; /* papel 2 · rgb(233, 227, 214) */
  --color-line: #d6cfbf; /* linha · rgb(214, 207, 191) */
  --color-outline: #848278; /* contorno · rgb(132, 130, 120) */
  --color-ink: #131715; /* tinta · rgb(19, 23, 21) */
  --color-ink-2: #4f564f; /* tinta 2 · rgb(79, 86, 79) */
  /* estrutura */
  --color-deep: #0e2b36; /* profunda (petróleo) · rgb(14, 43, 54) */
  --color-green-deep: #17402f; /* verde profundo · rgb(23, 64, 47) */
  --color-green: #2e6a47; /* verde médio · rgb(46, 106, 71) */
  /* acento */
  --color-olive: #7c8b34; /* oliva · rgb(124, 139, 52) */
  --color-yellow: #e3b23a; /* amarelo · rgb(227, 178, 58) */
  --color-orange: #e4782c; /* laranja · rgb(228, 120, 44) */
  --color-terracotta: #b14e2e; /* terracota · rgb(177, 78, 46) */
  --color-coral: #e5483b; /* coral · rgb(229, 72, 59) */
  /* derivado */
  --color-deep-raised: #203b44; /* profunda elevada · rgb(32, 59, 68) */
  /* status */
  --color-success: #2e6a47; /* sucesso · rgb(46, 106, 71) */
  --color-warning: #816929; /* atenção · rgb(129, 105, 41) */
  --color-error: #c14035; /* erro · rgb(193, 64, 53) */
  --color-info: #0e2b36; /* informação · rgb(14, 43, 54) */

  /* ── COR · papéis semânticos (use estes nos componentes) ──────── */
  --surface-page: var(--color-paper);
  --surface-card: var(--color-paper-2);
  --surface-inverse: var(--color-deep);
  --surface-inverse-raised: var(--color-deep-raised);
  --text-primary: var(--color-ink);
  --text-secondary: var(--color-ink-2);
  --text-accent: var(--color-terracotta);   /* único acento permitido como texto sobre papel */
  --text-strong: var(--color-deep);
  --text-inverse: var(--color-paper);
  --border-decorative: var(--color-line);
  --border-control: var(--color-outline);
  --focus-ring: var(--color-deep);
  --signature: var(--color-ink);            /* assinatura: só tinta, profunda, papel (+ preto/branco técnicos) */

  /* ── TIPOGRAFIA ─────────────────────────────────────────────── */
  --font-voice: "Solway", Georgia, "Times New Roman", serif;        /* VOZ: afirma (Solway 500 · 700 · 800) */
  --font-function: "Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif; /* FUNÇÃO: informa (Instrument Sans 400–700) */
  --weight-voice-long: 500; --weight-voice: 700; --weight-voice-impact: 800;
  --weight-regular: 400; --weight-medium: 500; --weight-semibold: 600; --weight-bold: 700;
  --text-display-font: var(--font-voice); --text-display-weight: 800; --text-display-size: clamp(2.75rem, 2.0249rem + 3.0939vw, 4.5rem); --text-display-line: 1; --text-display-tracking: -0.01em; /* 72px → 44px */
  --text-h1-font: var(--font-voice); --text-h1-weight: 700; --text-h1-size: clamp(2.125rem, 1.7624rem + 1.5470vw, 3rem); --text-h1-line: 1.08; --text-h1-tracking: -0.005em; /* 48px → 34px */
  --text-h2-font: var(--font-voice); --text-h2-weight: 700; --text-h2-size: clamp(1.625rem, 1.4696rem + 0.6630vw, 2rem); --text-h2-line: 1.15; --text-h2-tracking: 0em; /* 32px → 26px */
  --text-h3-font: var(--font-function); --text-h3-weight: 600; --text-h3-size: clamp(1.1875rem, 1.1098rem + 0.3315vw, 1.375rem); --text-h3-line: 1.3; --text-h3-tracking: 0em; /* 22px → 19px */
  --text-editorial-font: var(--font-voice); --text-editorial-weight: 500; --text-editorial-size: clamp(1.25rem, 1.1464rem + 0.4420vw, 1.5rem); --text-editorial-line: 1.35; --text-editorial-tracking: 0em; /* 24px → 20px */
  --text-body-font: var(--font-function); --text-body-weight: 400; --text-body-size: clamp(1rem, 0.9482rem + 0.2210vw, 1.125rem); --text-body-line: 1.6; --text-body-tracking: 0em; /* 18px → 16px */
  --text-body-sm-font: var(--font-function); --text-body-sm-weight: 400; --text-body-sm-size: clamp(0.875rem, 0.8491rem + 0.1105vw, 0.9375rem); --text-body-sm-line: 1.5; --text-body-sm-tracking: 0em; /* 15px → 14px */
  --text-caption-font: var(--font-function); --text-caption-weight: 500; --text-caption-size: clamp(0.75rem, 0.7241rem + 0.1105vw, 0.8125rem); --text-caption-line: 1.4; --text-caption-tracking: 0.01em; /* 13px → 12px */
  --text-label-font: var(--font-function); --text-label-weight: 600; --text-label-size: 0.9375rem; --text-label-line: 1.2; --text-label-tracking: 0.01em; /* 15px → 15px */
  --text-eyebrow-font: var(--font-function); --text-eyebrow-weight: 600; --text-eyebrow-size: 0.75rem; --text-eyebrow-line: 1.3; --text-eyebrow-tracking: 0.06em; /* 12px → 12px */
  --text-data-font: var(--font-function); --text-data-weight: 500; --text-data-size: clamp(0.875rem, 0.8491rem + 0.1105vw, 0.9375rem); --text-data-line: 1.4; --text-data-tracking: 0em; /* 15px → 14px */

  /* ── ESPAÇO (base 4/8) ──────────────────────────────────────── */
  --space-micro: 0.25rem; /* 4px → 4px · entre ícone e texto; ajuste fino */
  --space-small: 0.5rem; /* 8px → 8px · dentro de componentes: rótulo → campo, linhas de uma lista */
  --space-medium: 1rem; /* 16px → 16px · padding de cartão pequeno, botão, gap padrão entre elementos */
  --space-large: clamp(1.5rem, 1.2928rem + 0.8840vw, 2rem); /* 32px → 24px · padding de cartão, gap entre blocos, margem interna de peça */
  --space-section: clamp(3.5rem, 2.4641rem + 4.4199vw, 6rem); /* 96px → 56px · entre seções do site */
  --space-editorial: clamp(5.5rem, 3.6354rem + 7.9558vw, 10rem); /* 160px → 88px · respiro editorial: antes de uma frase de IMPACTO ou abertura */
  --grid-max-width: 75rem; --grid-columns: 12; --grid-columns-mobile: 4;
  --grid-gutter: clamp(1rem, 0.7928rem + 0.8840vw, 1.5rem); --page-margin: clamp(1rem, 0.3785rem + 2.6519vw, 2.5rem);

  /* ── FORMA ──────────────────────────────────────────────────── */
  --line-width: 1px;          /* divisória decorativa (cor: linha) */
  --outline-width: 1.5px;      /* contorno funcional (cor: contorno) */
  --radius-none: 0;            /* padrão: estrutura, foto, campo de cor, cartão */
  --radius-control: 4px;       /* só controles tocáveis: botão, campo, chip */
  --focus-width: 2px; --focus-offset: 2px;

  /* ── MOVIMENTO (gramática S7) ───────────────────────────────── */
  --ease-decelerate: cubic-bezier(.2, 0, 0, 1);
  --ease-standard: cubic-bezier(.4, 0, .2, 1); /* sem papel na V1: não usar */
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --ease-settle: cubic-bezier(.25, 1.04, .5, 1);
  --ease-overshoot: cubic-bezier(.3, 1.06, .5, 1); /* sem papel na V1: não usar */
  --duration-feedback: 100ms;   /* resposta ao toque: sempre primeiro */
  --duration-m1: 220ms; --duration-m1-screen: 300ms; --stagger-m1: 20ms; --distance-m1: 8px;   /* organizar (≈ 1% da área) */
  --duration-m2: 600ms; --duration-m2-max: 1200ms; --stagger-m2: 140ms; --rotate-m2-max: 20deg; /* dar vida à matéria */
  --duration-m3: 0ms; --hold-m3: 600ms;                                                   /* interromper: corte seco */
  --duration-m4: 320ms; --stagger-m4: 120ms; --distance-m4: 12px;                                             /* explicar consequência */
  --duration-reduced: 150ms;
  --motion-scale: 1;
}
@media (max-width: 560px) { :root { --motion-scale: .85; } }
@media (prefers-reduced-motion: reduce) {
  :root { --duration-m1: 150ms; --duration-m1-screen: 150ms; --duration-m2: 150ms; --duration-m3: 150ms; --duration-m2-max: 150ms; --duration-m4: 150ms; --stagger-m1: 0ms; --stagger-m2: 0ms; --stagger-m4: 0ms; --distance-m1: 0px; --distance-m4: 0px; --rotate-m2-max: 0deg; }
}

/* ── CONTEXTO ESCURO: qualquer bloco sobre a profunda ─────────── */
/* ── ORQUÍDEA DE O4 (V1.1; desde a V1.2 é o símbolo principal: "A orquídea assina. O O4 resolve o pequeno.") ── papéis de cor por pétala e limites; a forma vem só dos arquivos de kit-assinatura/orquidea/ */
:root {
  --orchid-dark-lateral: var(--color-terracotta); --orchid-dark-inferior: var(--color-orange); --orchid-dark-dorsal: var(--color-paper); --orchid-dark-labio: var(--color-yellow); /* sobre profunda */
  --orchid-light-lateral: var(--color-green); --orchid-light-inferior: var(--color-olive); --orchid-light-dorsal: var(--color-deep); --orchid-light-labio: var(--color-terracotta); /* sobre papel */
  --orchid-tone-light: var(--color-line); --orchid-tone-dark: var(--color-deep-raised); --orchid-tone-accent: var(--color-terracotta); /* tom sobre tom */
  --orchid-min-principal: 240px; --orchid-min-completa: 96px; --orchid-min-simplificada: 48px; /* abaixo de 48 px: O4 */
  --orchid-protection: 15%; --orchid-rotate-max: 20deg;
  --orchid-petal-duration-min: 400ms; --orchid-petal-duration-max: 900ms; --orchid-open-max: 1200ms; /* M2, sem loop */
}

/* ── ASSINATURA V1.2 · "A orquídea assina. O O4 resolve o pequeno." ── escada de uso; os arquivos vêm de kit-assinatura/assinatura/ ── */
:root {
  --signature-ratio: 5.19; /* V1.3: caixa com a orquídea 79 u acima (era 5.61); a caixa do NOME segue 5.61 */ --signature-name-ratio: 5.61; --signature-vertical-ratio: 1.45; --signature-compact-ratio: 4.70;
  --signature-min-height: 64px;            /* horizontal principal — V1.3: altura do NOME (a assinatura inteira fica ≈ 69px) */
  --signature-reduced-min-height: 32px;    /* horizontal reduzida (orquídea simplificada) até 63 px; abaixo: compacta com o O4 */
  --signature-compact-min-height: 16px;
  --signature-vertical-min-width: 200px; --signature-vertical-reduced-min-width: 100px;
  --signature-color-min-height: 160px;     /* versão em cor: só institucional */
}

[data-surface="deep"], .on-deep {
  --surface-page: var(--color-deep); --surface-card: var(--color-deep-raised);
  --text-primary: var(--color-paper); --text-secondary: var(--color-paper); --text-strong: var(--color-paper);
  --text-accent: var(--color-yellow);   /* destaque grande; corpo de texto continua papel */
  --focus-ring: var(--color-yellow); --signature: var(--color-paper);
  background: var(--surface-page); color: var(--text-primary);
}

/* ── ESTILOS DE TEXTO PRONTOS (opcionais) ─────────────────────── */
.o-display { font-family: var(--text-display-font); font-weight: var(--text-display-weight); font-size: var(--text-display-size); line-height: var(--text-display-line); letter-spacing: var(--text-display-tracking); text-wrap: balance; }
.o-h1 { font-family: var(--text-h1-font); font-weight: var(--text-h1-weight); font-size: var(--text-h1-size); line-height: var(--text-h1-line); letter-spacing: var(--text-h1-tracking); text-wrap: balance; }
.o-h2 { font-family: var(--text-h2-font); font-weight: var(--text-h2-weight); font-size: var(--text-h2-size); line-height: var(--text-h2-line); letter-spacing: var(--text-h2-tracking); text-wrap: balance; }
.o-h3 { font-family: var(--text-h3-font); font-weight: var(--text-h3-weight); font-size: var(--text-h3-size); line-height: var(--text-h3-line); letter-spacing: var(--text-h3-tracking); }
.o-editorial { font-family: var(--text-editorial-font); font-weight: var(--text-editorial-weight); font-size: var(--text-editorial-size); line-height: var(--text-editorial-line); letter-spacing: var(--text-editorial-tracking); }
.o-body { font-family: var(--text-body-font); font-weight: var(--text-body-weight); font-size: var(--text-body-size); line-height: var(--text-body-line); letter-spacing: var(--text-body-tracking); }
.o-body-sm { font-family: var(--text-body-sm-font); font-weight: var(--text-body-sm-weight); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-line); letter-spacing: var(--text-body-sm-tracking); }
.o-caption { font-family: var(--text-caption-font); font-weight: var(--text-caption-weight); font-size: var(--text-caption-size); line-height: var(--text-caption-line); letter-spacing: var(--text-caption-tracking); }
.o-label { font-family: var(--text-label-font); font-weight: var(--text-label-weight); font-size: var(--text-label-size); line-height: var(--text-label-line); letter-spacing: var(--text-label-tracking); }
.o-eyebrow { font-family: var(--text-eyebrow-font); font-weight: var(--text-eyebrow-weight); font-size: var(--text-eyebrow-size); line-height: var(--text-eyebrow-line); letter-spacing: var(--text-eyebrow-tracking); text-transform: uppercase; }
.o-data { font-family: var(--text-data-font); font-weight: var(--text-data-weight); font-size: var(--text-data-size); line-height: var(--text-data-line); letter-spacing: var(--text-data-tracking); font-variant-numeric: tabular-nums; }
.o-caption { color: var(--text-secondary); }
:focus-visible { outline: var(--focus-width) solid var(--focus-ring); outline-offset: var(--focus-offset); }
