/* ============================================================================
   SITE.CSS · valdemiroferreira.com.br · sistema visual DARK v4 (15/09/2026)
   Fonte única: docs/branding/MANUAL_DE_MARCA_UMIND_SALES_V4.html
   Contrato de execução: CONTRATO_DARK_V4.md (API de classes §1.1)
   · Tema escuro é a base. Dobra clara: UMA corrida por página (F1 ou F6).
   · Inter self-hosted. SF Pro é proibida no site público (licença, §07.1).
   · Vermelho #DD0B17 só como CAMPO. Como letra: #FF544A no escuro, #B50F14 no claro.
   Índice: 1 fonte · 2 tokens · 3 base · 4 tipografia · 5 estrutura · 6 ação
           7 formulário · 8 superfícies · 9 moldura · 10 mídia · 11 elementos
           12 componentes da casa · 13 legado (páginas ainda não migradas) · 14 impressão
   ============================================================================ */

/* 1. FONTE ------------------------------------------------------------------ */
/* Medido em 15/09/2026: inter-var-latin.woff2 NÃO é variável (sem tabela fvar,
   usWeightClass 400). Declarado como 100-900, o navegador desenhava todo título
   em peso 400. Agora são 3 arquivos estáticos do mesmo Inter 4.001 (OFL),
   recortados no mesmo conjunto latino: 400, 600 e 700. Sem 500 de propósito. */
@font-face{ font-family:"Inter"; src:url("../fonts/inter-var-latin.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"Inter"; src:url("../fonts/inter-600-latin.woff2") format("woff2"); font-weight:500 600; font-style:normal; font-display:swap; }
@font-face{ font-family:"Inter"; src:url("../fonts/inter-700-latin.woff2") format("woff2"); font-weight:700 900; font-style:normal; font-display:swap; }

/* 2. TOKENS — bloco :root do manual (linhas 27-100), fonte trocada para Inter */
:root{
  --font-display: Inter, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-text:    Inter, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono:    ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;

  /* marca */
  --u-red:#DD0B17; --u-red-900:#43060B;
  --u-red-ink-dark:#FF544A;   /* TINTA do contexto (vira #B50F14 na dobra clara) */
  --u-red-ink-light:#B50F14; --u-red-para-dark:#FF8C81; --u-on-field-brand:#FFFFFF;
  --u-gradient:linear-gradient(135deg,#DD0B17 0%,#43060B 100%);
  --u-gradient-block:radial-gradient(135% 108% at 50% -12%,#DD0B17 0%,#C50A14 40%,#7E0810 73%,#43060B 100%);
  --u-silver-grad:linear-gradient(180deg,#FFFFFF 0%,#E4E4E7 46%,#8E8E93 100%);
  --u-red-grad-text:linear-gradient(180deg,#FF8C81 0%,#FF6E62 46%,#FF544A 100%);
  --u-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");

  /* carbono */
  --u-bg-deep:#0A0A0C; --u-bg:#18181B; --u-well:#141417; --u-surface:#1F1F23; --u-surface-hi:#27272A;
  --u-surface-hover:#26262B; --u-surface-active:#2E2E34; --u-surface-selected:#2C171B;

  /* bordas */
  --u-border-subtle:#33333A; --u-border-default:#3F3F46; --u-border-emphasis:#71717A;
  --u-hairline:rgba(255,255,255,.09); --u-scrim:rgba(0,0,0,.60);

  /* texto */
  --u-text:#F0F0F0; --u-text-2:#B4BCC8; --u-text-3:#9CA3AF; --u-text-dis:#8E8E93;

  /* semânticos e presença */
  --u-success:#2ED3A7; --u-warning:#FF9F0A; --u-info:#0A84FF; --u-info-ink:#5AA9FF; --u-on-solid:#0A0A0C;
  --u-live:#FF2800; --u-idle:#FF9F0A; --u-busy:#FF544A; --u-offline:#8E8E93;

  --u-focus:#FFFFFF;
  --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:24px; --r-pill:999px;
  --ease:cubic-bezier(0.32,0.72,0,1);

  /* do site (medidas, não cores novas) */
  --gutter:24px; --respiro:128px; --respiro-secao:96px; --cab-h:72px;
  --card:#1F1F23; --card-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  --t-fast:150ms; --t-base:250ms; --t-slow:400ms;

  /* legado: nomes que as páginas antigas usam em style="" (ver §13) */
  --u-red-field:#DD0B17; --u-red-ink:#FF544A; --u-ink-on-field:#FFFFFF; --u-error:#FF544A;
  --u-text-1:#F0F0F0; --u-text-disabled:#8E8E93;
  --u-surface-base:#18181B; --u-surface-1:#1F1F23; --u-surface-2:#27272A; --u-surface-3:#3F3F46;
  --u-border:#71717A; --u-border-light:#3F3F46;
  --u-shadow-sm:none; --u-shadow-md:none; --u-shadow-lg:none;
  --space-1:4px; --space-2:8px; --space-3:16px; --space-4:16px; --space-5:24px; --space-6:24px;
  --space-8:32px; --space-10:48px; --space-12:48px; --space-16:64px; --space-20:96px; --space-24:96px; --space-32:128px;
  --radius-sm:10px; --radius-md:14px; --radius-lg:18px; --radius-xl:24px;
  --duration-fast:150ms; --duration-base:250ms; --duration-slow:400ms;
  --ease-out:cubic-bezier(0.32,0.72,0,1); --ease-in:cubic-bezier(0.32,0.72,0,1);
  --z-dropdown:10; --z-sticky:40; --z-modal:60; --z-toast:100; --z-tooltip:1000;
}

/* tinta da dobra clara (F1 e F6) — valores de html[data-theme="light"] do manual */
.dobra--f1, .dobra--f6, .tema-claro{
  color-scheme:light;
  --u-bg-deep:#F2F2F2; --u-bg:#FFFFFF; --u-well:#F4F4F5; --u-surface:#F9FAFB; --u-surface-hi:#F4F4F5;
  --u-surface-hover:#F4F4F5; --u-surface-active:#EBEBED; --u-surface-selected:#FDECEC;
  --u-border-subtle:#E7E7EA; --u-border-default:#D8D8DC; --u-border-emphasis:#8E8E93;
  --u-hairline:rgba(24,24,27,.06); --u-scrim:rgba(24,24,27,.45);
  --u-text:#18181B; --u-text-2:#4B5563; --u-text-3:#6C6C70; --u-text-dis:#9CA3AF;
  --u-red-ink-dark:#B50F14; --u-red-para-dark:#8A0A10;
  --u-success:#007A5F; --u-warning:#8C5400; --u-info:#0057D9; --u-info-ink:#0057D9;
  --u-focus:#18181B;
  --u-silver-grad:linear-gradient(180deg,#18181B 0%,#3F3F46 46%,#52525B 100%);
  --u-red-grad-text:linear-gradient(180deg,#B50F14 0%,#8A0A10 46%,#43060B 100%);
  --card:#FFFFFF; --card-shadow:0 1px 2px rgba(24,24,27,.04), 0 8px 24px -8px rgba(24,24,27,.08);
  --u-red-ink:#B50F14; --u-error:#B50F14; --u-text-1:#18181B;
  --u-surface-base:#FFFFFF; --u-surface-1:#F9FAFB; --u-surface-2:#F4F4F5; --u-surface-3:#E4E4E7;
  --u-border:#8E8E93; --u-border-light:#D8D8DC;
}

@media (max-width:767px){
  :root{ --gutter:16px; --respiro:64px; --respiro-secao:64px; --cab-h:64px; }
}

/* 3. BASE ------------------------------------------------------------------- */
*, *::before, *::after{ box-sizing:border-box; }
html{
  color-scheme:dark; background:#18181B;
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
  scroll-padding-top:calc(var(--cab-h) + 16px);
}
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
body{
  margin:0; min-height:100dvh;
  font-family:var(--font-text); font-size:1.0625rem; line-height:1.55; font-weight:400;
  letter-spacing:-.01em; font-optical-sizing:auto;
  color:var(--u-text-2); background:#18181B;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ul, ol{ margin:0; }
ul[class], ol[class]{ list-style:none; padding:0; }
img, video{ display:block; max-width:100%; height:auto; }
svg{ flex-shrink:0; }
button, input, select, textarea{ font:inherit; letter-spacing:inherit; color:inherit; }
button{ cursor:pointer; }
a{ color:inherit; text-decoration-thickness:1px; text-underline-offset:.2em; }
a, button, input, select, textarea, summary, label{ touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
[hidden]{ display:none !important; }
::selection{ background:#DD0B17; color:#FFFFFF; }
:focus-visible{ outline:2px solid var(--u-focus); outline-offset:3px; }
[id]{ scroll-margin-top:calc(var(--cab-h) + 16px); }
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* 4. TIPOGRAFIA (§07.2) ------------------------------------------------------ */
h1, h2, h3, h4, h5, h6{ font-family:var(--font-display); color:var(--u-text); text-wrap:balance; }
h1, .t-display{ font-family:var(--font-display); font-size:clamp(2.125rem, 1.35rem + 3.1vw, 3.5rem); line-height:1.04; letter-spacing:-.035em; font-weight:700; }
h2, .t-1{ font-family:var(--font-display); font-size:clamp(1.75rem, 1.45rem + 1vw, 2rem); line-height:1.12; letter-spacing:-.03em; font-weight:700; }
.t-2{ font-family:var(--font-display); font-size:1.5rem; line-height:1.2; letter-spacing:-.025em; font-weight:600; }
h3, h4, h5, h6, .t-3{ font-family:var(--font-display); font-size:1.1875rem; line-height:1.3; letter-spacing:-.02em; font-weight:600; }
.t-display, .t-1, .t-2, .t-3{ color:var(--u-text); text-wrap:balance; }
p, li, .t-corpo{ text-wrap:pretty; }
.t-corpo{ font-size:1.0625rem; line-height:1.55; letter-spacing:-.01em; font-weight:400; }
.t-intro{ font-size:1.1875rem; line-height:1.5; letter-spacing:-.012em; color:var(--u-text-2); text-wrap:pretty; }
.t-legenda{ font-size:.78125rem; line-height:1.45; letter-spacing:0; }
.t-rotulo{ font-size:.6875rem; line-height:1.3; letter-spacing:.07em; text-transform:uppercase; font-weight:600; color:var(--u-text-3); }
.t-apoio{ color:var(--u-text-3); }
.t-forte{ color:var(--u-text); }
.u-brand{ white-space:nowrap; }
.num{ font-variant-numeric:tabular-nums; }
.preco{ font-variant-numeric:tabular-nums; white-space:nowrap; }
strong, b{ font-weight:600; color:var(--u-text); }
em, i{ font-style:normal; color:var(--u-text); } /* §07.3: itálico não é ênfase */
.medida{ max-width:62ch; }
.texto-corrido p + p{ margin-top:16px; }
.texto-corrido > h1 + p, .texto-corrido > h2 + p, .texto-corrido > h3 + p{ margin-top:24px; }
.texto-corrido > p + h2, .texto-corrido > ul + h2, .texto-corrido > ol + h2{ margin-top:48px; }
.texto-corrido ul:not([class]), .texto-corrido ol:not([class]){ padding-left:24px; margin-top:16px; }
.texto-corrido li + li{ margin-top:8px; }
.texto-corrido a, .t-corpo a, .t-intro a, .t-apoio a, .t-legenda a{ color:var(--u-text); text-decoration-color:var(--u-border-emphasis); }
.texto-corrido a:hover, .t-corpo a:hover, .t-intro a:hover, .t-apoio a:hover, .t-legenda a:hover{ text-decoration-color:currentColor; }

/* 5. ESTRUTURA ---------------------------------------------------------------- */
.wrap{
  width:100%; max-width:1200px; margin-inline:auto;
  padding-inline:max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right));
}
.wrap--texto{ max-width:720px; }
.dobra{ position:relative; padding-block:var(--respiro); }
.dobra--f1{ background:#FFFFFF; color:var(--u-text-2); }
.dobra--f2{ background:#18181B; color:var(--u-text-2); }
.dobra--f3{ background:#141417; color:var(--u-text-2); }
.dobra--f4{
  background:#DD0B17 var(--u-gradient-block); color:#FFFFFF;
  --u-text:#FFFFFF; --u-text-2:#FFFFFF; --u-text-3:#FFFFFF; --u-focus:#FFFFFF; --u-red-ink-dark:#FFFFFF;
}
/* No celular a página fica 1,5x mais alta; sem piso, o campo vermelho cai abaixo de 5% da página (medido: 4,0% no método em 375). */
@media (max-width:767px){ .dobra--f4{ min-height:max(50svh, 360px); display:flex; align-items:center; } }
/* corrida longa: duas dobras seguidas da mesma cor não dobram o respiro */
.dobra--f1 + .dobra--f1, .dobra--f2 + .dobra--f2, .dobra--f3 + .dobra--f3,
.dobra--f5 + .dobra--f5, .dobra--f6 + .dobra--f6{ padding-top:0; }
.secao + .secao{ margin-top:var(--respiro-secao); }
.pilha{ display:flex; flex-direction:column; gap:24px; }
.pilha--16{ gap:16px; }
.pilha > *{ margin:0; }
.duas-colunas{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; }
@media (min-width:900px){
  .duas-colunas{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:64px; }
  .duas-colunas--larga-esq{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
  .duas-colunas--larga-dir{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
  .duas-colunas--centro{ align-items:center; }
}
@media (max-width:767px){ .pilha{ gap:16px; } .duas-colunas{ gap:32px; } }

/* 6. AÇÃO (§11.1) -------------------------------------------------------------- */
.btn{
  --btn-bg:transparent; --btn-ink:var(--u-text);
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:0 24px; border:1px solid transparent; border-radius:var(--r-md);
  background:var(--btn-bg); color:var(--btn-ink);
  font-family:var(--font-text); font-size:1rem; line-height:1.2; font-weight:600; letter-spacing:-.01em;
  text-align:center; text-decoration:none; white-space:nowrap; cursor:pointer; user-select:none;
  transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease),
             color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.btn:active{ transform:scale(.98); }
.btn:focus-visible{ outline:2px solid var(--u-focus); outline-offset:3px; }
.btn-primary{
  --btn-bg:#DD0B17; --btn-ink:#FFFFFF;
  box-shadow:0 1px 2px rgba(10,10,12,.18), 0 8px 18px -10px rgba(10,10,12,.35);
}
.btn-primary:hover{ --btn-bg:#C50A14; }
.btn-secondary{ --btn-bg:var(--u-surface); --btn-ink:var(--u-text); border-color:var(--u-border-emphasis); }
.btn-secondary:hover{ --btn-bg:var(--u-surface-hover); border-color:var(--u-text-3); }
.btn-on-field{ --btn-bg:#FFFFFF; --btn-ink:#0A0A0C; box-shadow:0 8px 24px rgba(10,10,12,.22); }
.btn-on-field:hover{ --btn-bg:#F4F4F5; }
/* vermelho sobre vermelho não existe: dentro do campo o botão sempre inverte */
.dobra--f4 .btn-primary, .bloco-chamada .btn-primary{ --btn-bg:#FFFFFF; --btn-ink:#0A0A0C; box-shadow:0 8px 24px rgba(10,10,12,.22); }
.dobra--f4 .btn-primary:hover, .bloco-chamada .btn-primary:hover{ --btn-bg:#F4F4F5; }
.dobra--f4 .btn-secondary, .bloco-chamada .btn-secondary{ display:none; }
.btn--arrow::after{
  content:""; width:1.05em; height:1.05em; flex:0 0 auto; background:currentColor;
  -webkit-mask:var(--u-arrow) center/contain no-repeat; mask:var(--u-arrow) center/contain no-repeat;
  transition:transform var(--t-base) var(--ease);
}
@media (hover:hover){ .btn--arrow:hover::after{ transform:translateX(3px); } }
.btn:disabled, .btn[aria-disabled="true"]{ opacity:.5; cursor:not-allowed; box-shadow:none; transform:none; }
.btn[aria-busy="true"]{ cursor:progress; }
.btn[aria-busy="true"]::after{ display:none; }
.btn[aria-busy="true"]::before{
  content:""; width:1em; height:1em; border-radius:50%;
  border:2px solid currentColor; border-right-color:transparent; animation:giro .8s linear infinite;
}
@keyframes giro{ to{ transform:rotate(360deg); } }
.acoes{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
@media (max-width:767px){ .btn--bloco{ width:100%; } .acoes{ gap:16px; } .acoes > .btn{ width:100%; } }
@media (max-width:479px){ .btn{ white-space:normal; text-wrap:balance; padding-block:12px; } }
@media (prefers-reduced-motion:reduce){ .btn--arrow::after{ transition:none; } .btn--arrow:hover::after{ transform:none; } }
.link-seta{ display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--u-text); font-weight:600; text-decoration:none; }
.link-seta:hover{ text-decoration:underline; text-decoration-color:var(--u-border-emphasis); }

/* 7. FORMULÁRIO (§11.3.1) -------------------------------------------------------- */
.campo{ display:flex; flex-direction:column; gap:8px; }
.campo + .campo{ margin-top:16px; }
.fx__lbl{ font-size:.8125rem; line-height:1.3; font-weight:600; letter-spacing:-.006em; color:var(--u-text-2); }
.fx__lbl .obrigatorio{ color:var(--u-text-3); font-weight:500; }
.fx{
  --fx-fill:#141417;
  display:block; width:100%; min-height:48px; margin:0; padding:12px 16px; border:0; border-radius:var(--r-sm);
  background-color:var(--fx-fill); color:var(--u-text);
  font-family:var(--font-text); font-size:1rem; line-height:1.5; font-weight:400; letter-spacing:-.005em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(255,255,255,.02);
  -webkit-appearance:none; appearance:none;
  transition:box-shadow var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);
}
.fx::placeholder{ color:var(--u-text-dis); opacity:1; }
.fx:hover{ --fx-fill:#17171A; box-shadow:inset 0 1px 0 rgba(255,255,255,.09), inset 0 -1px 0 rgba(255,255,255,.02); }
.fx[aria-invalid="true"]{ box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px var(--u-red-ink-dark); }
.fx:focus, .fx:focus-visible{ outline:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 2px var(--u-focus); }
.fx:disabled{ --fx-fill:#18181B; color:var(--u-text-dis); box-shadow:none; cursor:not-allowed; }
textarea.fx{ min-height:128px; resize:vertical; }
select.fx{
  padding-right:48px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center; background-size:16px 16px;
}
.dobra--f1 .fx, .dobra--f6 .fx, .tema-claro .fx{
  --fx-fill:#FFFFFF;
  box-shadow:0 0 0 1px rgba(24,24,27,.08), 0 1px 1px rgba(24,24,27,.04), 0 3px 8px -3px rgba(24,24,27,.07);
}
.dobra--f1 .fx:hover, .dobra--f6 .fx:hover, .tema-claro .fx:hover{ box-shadow:0 0 0 1px rgba(24,24,27,.12), 0 2px 3px rgba(24,24,27,.05), 0 6px 14px -5px rgba(24,24,27,.10); }
.dobra--f1 .fx[aria-invalid="true"], .dobra--f6 .fx[aria-invalid="true"], .tema-claro .fx[aria-invalid="true"]{ box-shadow:0 0 0 1px var(--u-red-ink-dark), 0 1px 1px rgba(24,24,27,.04), 0 3px 8px -3px rgba(24,24,27,.07); }
.dobra--f1 .fx:focus, .dobra--f6 .fx:focus, .tema-claro .fx:focus{ box-shadow:0 0 0 2px var(--u-focus), 0 1px 1px rgba(24,24,27,.04), 0 3px 8px -3px rgba(24,24,27,.07); }
.fx__apoio{ font-size:.8125rem; line-height:1.45; color:var(--u-text-3); }
.fx__msg{ display:flex; align-items:flex-start; gap:8px; font-size:.8125rem; line-height:1.45; font-weight:500; color:var(--u-red-ink-dark); }
.fx__msg::before{
  content:"!"; flex:0 0 auto; width:16px; height:16px; margin-top:1px; border:1px solid currentColor; border-radius:50%;
  font-size:.625rem; font-weight:700; line-height:14px; text-align:center;
}
.fx__msg:empty{ display:none; }
/* checkbox e radio próprios: o rótulo inteiro é o alvo (≥44px) */
.escolha{ display:flex; align-items:flex-start; gap:16px; min-height:44px; padding-block:10px; cursor:pointer; color:var(--u-text-2); font-size:.9375rem; line-height:1.5; }
.escolha input{
  -webkit-appearance:none; appearance:none; flex:0 0 20px; width:20px; height:20px; margin:2px 0 0;
  border-radius:10px; background-color:var(--u-well); box-shadow:inset 0 0 0 1px var(--u-border-emphasis);
  cursor:pointer; transition:background-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.escolha input[type="radio"]{ border-radius:50%; }
.escolha input:checked{
  background-color:#F0F0F0; box-shadow:inset 0 0 0 1px #F0F0F0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0A0C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:14px 14px;
}
.escolha input[type="radio"]:checked{ background-image:radial-gradient(circle, #0A0A0C 0 4px, transparent 4.5px); background-size:auto; }
.escolha input:focus-visible{ outline:2px solid var(--u-focus); outline-offset:3px; }
.escolha a{ color:var(--u-text); text-decoration-color:var(--u-border-emphasis); }
.dobra--f1 .escolha input:checked, .dobra--f6 .escolha input:checked, .tema-claro .escolha input:checked{
  background-color:#18181B; box-shadow:inset 0 0 0 1px #18181B;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.form-status{ font-size:.9375rem; line-height:1.5; color:var(--u-text-2); }
.form-status:empty{ display:none; }
.form-status[data-estado="erro"]{ color:var(--u-red-ink-dark); }
.form-status[data-estado="ok"]{ color:var(--u-success); }
.form-status[data-estado="carregando"]{ color:var(--u-text-3); }

/* 8. SUPERFÍCIES ------------------------------------------------------------------ */
.cartao{ background:var(--card); border-radius:var(--r-lg); padding:32px; box-shadow:var(--card-shadow); }
@media (max-width:767px){ .cartao, .poco{ padding:24px; } }
/* bloco de chamada (BC1): campo vermelho flutuante. Em dobra escura leva fio 1px branco */
.bloco-chamada{
  position:relative; border-radius:var(--r-xl); padding:48px 32px; text-align:center;
  background:#DD0B17 var(--u-gradient-block); color:#FFFFFF;
  box-shadow:0 0 0 1px #FFFFFF, inset 0 1px 0 rgba(255,255,255,.16);
  --u-text:#FFFFFF; --u-text-2:#FFFFFF; --u-text-3:#FFFFFF; --u-focus:#FFFFFF; --u-red-ink-dark:#FFFFFF;
}
.dobra--f1 .bloco-chamada, .dobra--f6 .bloco-chamada, .tema-claro .bloco-chamada{ box-shadow:0 18px 44px -22px rgba(24,24,27,.55); }
.bloco-chamada > * + *{ margin-top:24px; }
@media (max-width:767px){ .bloco-chamada{ padding:40px 24px; } }

/* 9. MOLDURA -------------------------------------------------------------------------- */
.pular{
  position:absolute; left:16px; top:-120px; z-index:100;
  padding:12px 16px; border-radius:var(--r-sm); background:#FFFFFF; color:#0A0A0C;
  font-weight:600; text-decoration:none;
}
.pular:focus{ top:12px; }
/* §11.2 Lei 2: sem fundo e sem linha. Ao rolar ganha F2 a 86% com desfoque. */
.cabecalho{
  position:sticky; top:0; z-index:40; background:transparent;
  transition:background-color var(--t-base) var(--ease);
}
.cabecalho--rolado{ background:rgba(24,24,27,.86); }
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .cabecalho--rolado{ -webkit-backdrop-filter:blur(20px) saturate(180%); backdrop-filter:blur(20px) saturate(180%); }
}
@media (prefers-reduced-transparency:reduce){ .cabecalho--rolado{ background:#18181B; -webkit-backdrop-filter:none; backdrop-filter:none; } }
.menu-aberto .cabecalho{ background:#18181B; -webkit-backdrop-filter:none; backdrop-filter:none; }
.menu-aberto .cabecalho__cta{ visibility:hidden; } /* o painel já tem o botão: 1 ação vermelha por tela */
.cabecalho__linha{ display:flex; align-items:center; gap:8px; min-height:var(--cab-h); }
.cabecalho__marca{
  display:inline-flex; align-items:center; min-height:44px; margin-right:auto;
  font-family:var(--font-display); font-size:1.0625rem; font-weight:700; line-height:1; letter-spacing:-.022em;
  color:var(--u-text); text-decoration:none; white-space:nowrap;
}
.cabecalho__nav{ display:none; }
.cabecalho__nav ul{ display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0; }
.cabecalho__nav a{
  display:inline-flex; align-items:center; min-height:44px; padding:0 12px; border-radius:var(--r-sm);
  font-size:.9375rem; font-weight:500; color:var(--u-text-2); text-decoration:none;
  transition:color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);
}
.cabecalho__nav a:hover{ color:var(--u-text); background:rgba(255,255,255,.05); }
.cabecalho__nav a[aria-current="page"]{ color:var(--u-text); font-weight:600; }
.cabecalho__cta{ flex:0 0 auto; margin-left:8px; min-height:44px; padding:0 16px; font-size:.9375rem; }
.cabecalho__cta-curto{ display:none; }
.cabecalho__menu{
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px;
  width:44px; height:44px; margin:0 -10px 0 0; padding:0; border:0; border-radius:var(--r-sm);
  background:transparent; color:var(--u-text);
}
.cabecalho__menu:hover{ background:rgba(255,255,255,.05); }
.cabecalho__menu svg{ width:24px; height:24px; }
.cabecalho__menu .menu-fechar{ display:none; }
.cabecalho__menu[aria-expanded="true"] .menu-abrir{ display:none; }
.cabecalho__menu[aria-expanded="true"] .menu-fechar{ display:block; }
@media (min-width:1080px){
  .cabecalho__nav{ display:block; }
  .cabecalho__menu{ display:none; }
}
@media (max-width:599px){
  .cabecalho__cta-longo{ display:none; }
  .cabecalho__cta-curto{ display:inline; }
  .cabecalho__marca{ font-size:1rem; }
}
@media (max-width:359px){ .cabecalho__cta{ display:none; } }
/* LP de venda: só marca + 1 botão (sem navegação de saída) */
.cabecalho--lp .cabecalho__marca{ cursor:default; }
/* painel do menu: tela cheia no celular */
.painel-menu{
  position:fixed; inset:0; z-index:39; display:flex; flex-direction:column;
  padding:calc(var(--cab-h) + 24px) max(var(--gutter), env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));
  background:#18181B; overflow-y:auto; overscroll-behavior:contain;
  opacity:0; transform:translateY(-8px);
  transition:opacity var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}
.painel-menu--aberto{ opacity:1; transform:none; }
.painel-menu ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.painel-menu a:not(.btn){
  display:flex; align-items:center; min-height:56px;
  font-family:var(--font-display); font-size:1.5rem; font-weight:600; letter-spacing:-.025em; line-height:1.2;
  color:var(--u-text); text-decoration:none;
}
.painel-menu a:not(.btn)[aria-current="page"]{ color:var(--u-text-3); }
.painel-menu .btn{ margin-top:32px; width:100%; }
.menu-aberto, .menu-aberto body{ overflow:hidden; }
@media (min-width:1080px){ .painel-menu{ display:none !important; } }
/* rodapé F5 — sem borda, sem vermelho (§11.2 RD1/RD3) */
.rodape{
  background:#0A0A0C; color:var(--u-text-3);
  padding-block:var(--respiro) calc(48px + env(safe-area-inset-bottom));
  --u-text:#F0F0F0; --u-text-2:#B4BCC8; --u-text-3:#9CA3AF;
}
.rodape__topo{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; }
@media (min-width:900px){ .rodape__topo{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:64px; } }
.rodape__nome{ font-family:var(--font-display); font-size:1.1875rem; font-weight:700; letter-spacing:-.02em; color:#F0F0F0; }
.rodape__frase{ margin-top:16px; max-width:44ch; font-size:.9375rem; line-height:1.55; color:#B4BCC8; }
.rodape__colunas{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:32px 24px; }
@media (min-width:600px){ .rodape__colunas{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
.rodape__titulo{ margin-bottom:8px; font-size:.6875rem; line-height:1.3; letter-spacing:.07em; text-transform:uppercase; font-weight:600; color:#9CA3AF; }
.rodape__colunas ul{ list-style:none; margin:0; padding:0; }
.rodape__colunas a, .rodape__legal a{
  display:inline-flex; align-items:center; min-height:44px; min-width:44px;
  font-size:.9375rem; line-height:1.35; color:#B4BCC8; text-decoration:none;
}
.rodape__colunas a:hover, .rodape__legal a:hover{ color:#F0F0F0; text-decoration:underline; text-decoration-color:#71717A; }
.rodape__base{ margin-top:64px; display:flex; flex-direction:column; gap:8px; font-size:.8125rem; line-height:1.5; color:#9CA3AF; }
.rodape__base p{ max-width:none; }
.rodape__linha{ display:flex; flex-wrap:wrap; column-gap:24px; row-gap:0; }
.rodape__legal{ display:flex; flex-wrap:wrap; align-items:center; column-gap:24px; font-size:.8125rem; color:#9CA3AF; }
.rodape--min .rodape__linha{ align-items:center; justify-content:space-between; gap:16px; }

/* 10. MÍDIA ----------------------------------------------------------------------------- */
.figura{ margin:0; }
.figura img{ width:100%; height:auto; border-radius:var(--r-lg); background:var(--u-surface); }
.figura figcaption{ margin-top:8px; font-size:.78125rem; line-height:1.45; color:var(--u-text-3); }
.figura figcaption a{ color:inherit; }
.retrato{ position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:var(--r-xl); background:var(--u-surface); }
.retrato img{ width:100%; height:100%; object-fit:cover; }

/* 11. ELEMENTOS GRÁFICOS (§09) — limites de uso no manual ----------------------------------- */
.u-rule{ height:1px; border:0; margin:0; width:100%;
  background:linear-gradient(to right, transparent 0%, var(--u-border-emphasis) 10%, var(--u-border-emphasis) 90%, transparent 100%); }
.u-glow{ position:relative; isolation:isolate; }
.u-glow::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(60% 45% at 50% 0%, rgba(221,11,23,.16) 0%, transparent 70%),
             radial-gradient(45% 40% at 88% 18%, rgba(221,11,23,.07) 0%, transparent 72%); }
.dobra--f1.u-glow::before, .dobra--f6.u-glow::before, .dobra--f1 .u-glow::before, .dobra--f6 .u-glow::before{ display:none; } /* no claro vira rosa: proibido */
.u-grid{ --grid-line:rgba(240,240,240,.04);
  background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 75% 55% at 50% 0%, #000 0%, transparent 78%);
          mask-image:radial-gradient(ellipse 75% 55% at 50% 0%, #000 0%, transparent 78%); }
.u-text-silver{ color:var(--u-text); }
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .u-text-silver{ background-image:var(--u-silver-grad); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
}
.u-text-silver::selection{ background:#DD0B17; color:#FFFFFF; -webkit-text-fill-color:#FFFFFF; }
.u-text-red-grad{ display:inline-block; white-space:nowrap; color:var(--u-red-ink-dark); }
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .u-text-red-grad{ background-image:var(--u-red-grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
}
.u-text-red-grad::selection{ background:#DD0B17; color:#FFFFFF; -webkit-text-fill-color:#FFFFFF; }
@media (min-width:900px){ .heroi{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:64px; } }
.heroi__texto .acoes{ margin-top:32px; }
@media (max-width:899px){
  .heroi__midia{ justify-self:start; max-width:560px; }
  .heroi__midia .retrato{ aspect-ratio:4/3; }
  .heroi__midia .retrato img{ object-position:50% 45%; }
}
/* entrada única e contida (só a mídia do herói) */
@media (prefers-reduced-motion:no-preference){
  .entra{ animation:entra var(--t-slow) var(--ease) both; animation-delay:120ms; }
}
@keyframes entra{ from{ opacity:0; transform:translateY(12px) scale(.99); } }
/* sobretítulo em caixa normal (no lugar do rótulo em caixa alta, que só entra 1 a cada 3 seções) */
.sobretitulo{ font-size:.9375rem; line-height:1.4; font-weight:600; letter-spacing:-.005em; color:var(--u-text-3); }
:where(.t-rotulo, .sobretitulo) + :where(h1, h2, h3, .t-display, .t-1, .t-2, .frase){ margin-top:16px; }
:where(h1, h2) + :where(.t-intro){ margin-top:24px; }
/* cabeça de seção: título + texto empilhados */
.cabeca{ max-width:720px; }
.cabeca > * + *{ margin-top:16px; }
.cabeca + *{ margin-top:48px; }
@media (max-width:767px){ .cabeca + *{ margin-top:32px; } }
/* fatos de prova em linha (sem cartão) */
.fatos{ display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
@media (min-width:768px){ .fatos{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px; } }
.fatos li{ padding-top:16px; border-top:1px solid var(--u-border-default); font-size:.9375rem; line-height:1.5; color:var(--u-text-2); }
.fatos b{ display:block; margin-bottom:4px; font-family:var(--font-display); font-size:1.5rem; line-height:1.2; letter-spacing:-.025em; font-weight:700; color:var(--u-text); font-variant-numeric:tabular-nums; }
@media (max-width:767px){ .lista-destaque{ gap:16px; } }
/* lista simples com marcador discreto (quadradinho de 6 px na cor de borda) */
.lista-traco > li{ position:relative; padding-left:24px; }
.lista-traco > li + li{ margin-top:16px; }
.lista-traco > li::before{ content:""; position:absolute; left:2px; top:.62em; width:6px; height:6px; border-radius:1px; background:var(--u-border-emphasis); }
/* passos numerados: só quando o conteúdo é sequência de verdade */
.passos{ counter-reset:passo; display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
.passos > li{ counter-increment:passo; position:relative; padding-top:24px; border-top:1px solid var(--u-border-default); }
.passos > li::before{
  content:counter(passo); display:block; margin-bottom:16px;
  font-family:var(--font-display); font-size:2rem; line-height:1; font-weight:700; letter-spacing:-.03em;
  color:var(--u-text); font-variant-numeric:tabular-nums;
}
.passos h3{ margin-bottom:8px; }
.passos p{ font-size:1rem; line-height:1.55; color:var(--u-text-2); }
@media (max-width:767px){
  .passos{ gap:24px; }
  .passos > li{ display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:16px; padding-top:16px; }
  .passos > li::before{ grid-row:1 / span 3; margin:0; font-size:1.5rem; }
  .passos > li > *{ grid-column:2; }
}
@media (min-width:768px){ .passos--2{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:48px 32px; } }
@media (min-width:1024px){ .passos--4{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:32px; } }
@media (min-width:768px) and (max-width:1023px){ .passos--4{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:48px 32px; } }
/* frase de impacto (a lei-mãe, o fecho de seção) */
.frase{ font-family:var(--font-display); font-size:clamp(1.375rem, 1.1rem + 1vw, 1.75rem); line-height:1.25; letter-spacing:-.025em; font-weight:600; color:var(--u-text); text-wrap:balance; max-width:28ch; }
/* etapas de linha do tempo simples (páginas de obrigado) */
.etapas{ counter-reset:etapa; display:flex; flex-direction:column; gap:24px; }
.etapas > li{ counter-increment:etapa; display:grid; grid-template-columns:40px minmax(0,1fr); gap:16px; align-items:start; }
.etapas > li::before{
  content:counter(etapa); display:flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:50%; background:var(--u-surface); box-shadow:inset 0 0 0 1px var(--u-border-default);
  font-family:var(--font-display); font-weight:700; color:var(--u-text); font-variant-numeric:tabular-nums;
}
.etapas p{ padding-top:7px; }
.chamada-final .acoes{ justify-content:center; margin-top:32px; }
@media (max-width:767px){ .chamada-final .acoes > .btn{ width:auto; } }
/* página curta: conteúdo centralizado na vertical e alinhado à esquerda (Lei do vão morto, saída 2) */
.tela-curta{ min-height:calc(100dvh - var(--cab-h)); display:flex; align-items:center; }
.tela-curta > .wrap{ width:100%; }

/* 13. LEGADO — classes das páginas que ainda não migraram para a API nova.
       Não use em página nova. Mantém o visual coerente durante a migração. ------------------- */
.container{ width:100%; max-width:1200px; margin-inline:auto; padding-inline:max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right)); }
.dobra--vermelha .btn, .dobra--vermelha .btn--primary{ --btn-bg:#FFFFFF; --btn-ink:#0A0A0C; background:#FFFFFF; color:#0A0A0C; border-color:transparent; }
.header{ position:sticky; top:0; z-index:40; background:rgba(24,24,27,.86); }
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){ .header{ -webkit-backdrop-filter:blur(20px) saturate(180%); backdrop-filter:blur(20px) saturate(180%); } }
.header__menu-btn{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-right:-10px; border:0; background:transparent; color:var(--u-text); }
.header__mobile-nav{ display:none; position:fixed; inset:var(--cab-h) 0 0 0; z-index:39; flex-direction:column; gap:8px; padding:24px var(--gutter); background:#18181B; overflow-y:auto; }
.header__mobile-nav[data-open="true"]{ display:flex; }
.header__mobile-nav .header__link{ font-size:1.25rem; min-height:56px; color:var(--u-text); }
@media (min-width:1080px){ .header__nav{ display:flex; } .header__menu-btn{ display:none; } }
@media (max-width:767px){ .header__cta{ display:none; } }
.footer{ background:#0A0A0C; color:#9CA3AF; padding-block:var(--respiro) 48px; }
@media (min-width:768px){ .footer__grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
.btn .arrow{ display:inline-block; transition:transform var(--t-base) var(--ease); }
@media (hover:hover){ .btn:hover .arrow{ transform:translateX(3px); } }
.card{ background:var(--card); border-radius:var(--r-lg); padding:32px; box-shadow:var(--card-shadow); }
.form-input, .form-textarea, .form-select{ display:block; width:100%; min-height:48px; padding:12px 16px; border:0; border-radius:var(--r-sm); background:#141417; color:var(--u-text); font-size:1rem; line-height:1.5; box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(255,255,255,.02); -webkit-appearance:none; appearance:none; }
.form-input::placeholder, .form-textarea::placeholder{ color:var(--u-text-dis); opacity:1; }
.form-input:focus, .form-textarea:focus, .form-select:focus{ outline:none; box-shadow:0 0 0 2px var(--u-focus); }
.form-input[aria-invalid="true"], .form-textarea[aria-invalid="true"], .form-select[aria-invalid="true"]{ box-shadow:0 0 0 1px var(--u-red-ink-dark); }
.form-textarea{ min-height:128px; resize:vertical; }
.form-error{ display:block; font-size:.8125rem; font-weight:500; color:var(--u-red-ink-dark); }
.faq{ border-top:1px solid var(--u-border-default); }
.faq__item{ border-bottom:1px solid var(--u-border-default); }
.faq__item[open] .faq__icon{ transform:rotate(180deg); }
@media (min-width:768px){ .pricing{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.eyebrow{ margin-bottom:16px; font-size:.6875rem; line-height:1.3; letter-spacing:.07em; text-transform:uppercase; font-weight:600; color:var(--u-text-3); }
.h1{ font-size:clamp(2.125rem, 1.35rem + 3.1vw, 3.5rem); line-height:1.04; letter-spacing:-.035em; font-weight:700; color:var(--u-text); }
.h2{ font-size:clamp(1.75rem, 1.45rem + 1vw, 2rem); line-height:1.12; letter-spacing:-.03em; font-weight:700; color:var(--u-text); }
.h3, .h4, .h5{ font-size:1.1875rem; line-height:1.3; letter-spacing:-.02em; font-weight:600; color:var(--u-text); }
.body{ font-size:1.0625rem; line-height:1.55; }
.small{ font-size:.875rem; line-height:1.5; }
.grid{ display:grid; gap:24px; }
@media (min-width:768px){ .grid-2, .grid-3{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1024px){ .grid-3{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
.flex{ display:flex; } .flex-wrap{ flex-wrap:wrap; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* 14. IMPRESSÃO ------------------------------------------------------------------------ */
@media print{
  .cabecalho, .painel-menu, .rodape, .pular, .header, .footer, .btn{ display:none !important; }
  html, body, .dobra{ background:#FFFFFF !important; color:#18181B !important; }
  .dobra{ padding-block:24px; }
  h1, h2, h3, h4, strong, b{ color:#18181B !important; }
  .u-text-silver, .u-text-red-grad{ background:none !important; color:#18181B !important; -webkit-text-fill-color:#18181B !important; }
}


/* ============================================================================
   15. CAMADA P0 — FUNDAÇÃO DA REFATORAÇÃO v2 (16/09/2026)
   Esta folha carrega DEPOIS de /assets/ds.css (cópia literal do manual v4).
   ds.css = os valores do manual · site.css = a calibração do site (escala real
   de página, moldura, rodapés, utilitários). Ordem obrigatória nas páginas:
     <link rel="stylesheet" href="/assets/ds.css?v=v2">
     <link rel="stylesheet" href="/assets/site.css?v=v2">
   ============================================================================ */

/* 15.1 WORDMARK (D6) — não existe arte final da marca de Valdemiro Ferreira.
   A header usa o nome em tipografia (nunca vermelho). O arquivo assets/marca.svg
   tem caixa fixa 360x108 e entra aqui quando a arte chegar, sem mexer no layout. */
.cabecalho__marca svg,
.rodape__nome svg{ display:block; height:20px; width:auto; color:currentColor; }
@media (max-width:599px){ .cabecalho__marca svg{ height:18px; } }

/* 15.2 RODAPÉS RD1 / RD2 / RD3 (§11.2, l.2258-2288) — F5 #0A0A0C, sem borda,
   sem vermelho. RD1 = página de vendas longa (colunas) · RD2 = assinatura
   (padrão: blog, artigo, sobre, estúdio) · RD3 = mínimo (captura e obrigado). */
.rodape--rd1{ /* usa .rodape__topo + .rodape__base, já definidos acima */ }
.rodape--rd2{ padding-block:64px calc(40px + env(safe-area-inset-bottom)); text-align:center; }
.rodape--rd2 .rodape__inline{ display:flex; flex-wrap:wrap; justify-content:center; column-gap:24px; margin-top:8px; }
/* P5: o link curto ("Blog") media 31 px de largura — alvo de toque e 44 nos DOIS lados (§08, l.1055) */
.rodape--rd2 .rodape__inline a{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; font-size:.9375rem; color:#B4BCC8; text-decoration:none; }
.rodape--rd2 .rodape__inline a:hover{ color:#F0F0F0; text-decoration:underline; text-decoration-color:#71717A; }
.rodape--rd2 .rodape__base{ margin-top:8px; align-items:center; }
.rodape--rd2 .rodape__linha{ justify-content:center; }
.rodape--rd3{ padding-block:48px calc(32px + env(safe-area-inset-bottom)); }
.rodape--rd3 .rodape__uma{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.rodape--rd3 .rodape__nome{ font-size:1rem; }
.rodape--rd3 .rodape__legal{ margin:0; }

/* 15.3 NÚMEROS — tabular-nums em tudo que é número de leitura (§07.3, l.1041).
   Sem isto o dígito dança na troca de valor e a parede de números desalinha. */
.num, .preco,
.lp__stats b, .lp__seq b, .s7-num-tile b, .isca__score, .isca__huge, .isca__money,
.sev-block__n, .sev-gauge__n, .aud__timer b, .bmk__vl, .ig__vl, .ig__xl,
.fatos b, .passos__n, .diag-progresso, time, td.num, th.num{
  font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1;
}

/* 15.4 ALVO DE TOQUE 44 px (§08, l.1055) — utilitário para link que vive solto
   numa linha (crédito, fonte, rodapé de figura, "ver mais"). Link DENTRO de
   parágrafo corrido fica como está: esticar a caixa quebraria a entrelinha. */
.alvo-44{ display:inline-flex; align-items:center; min-height:44px; }
.alvo-44--bloco{ display:flex; align-items:center; min-height:44px; }

/* 15.5 RAIOS HOMOLOGADOS — só 10 / 14 / 18 / 24 e cápsula, nenhum intermediário
   (§08, l.1056). Utilitários para não haver desculpa de inventar 12 ou 16. */
.r-sm{ border-radius:var(--r-sm); }   /* 10 */
.r-md{ border-radius:var(--r-md); }   /* 14 */
.r-lg{ border-radius:var(--r-lg); }   /* 18 */
.r-xl{ border-radius:var(--r-xl); }   /* 24 */
.r-pill{ border-radius:var(--r-pill); }

/* 15.6 ESCALA DO DISPLAY NO CELULAR = 40 px (decisão D4).
   O clamp descia a 34 px e o herói perdia a hierarquia de peça do manual. */
@media (max-width:767px){
  h1, .t-display{ font-size:2.5rem; line-height:1.04; letter-spacing:-.035em; }
  .lp__h1{ font-size:2.5rem; }
}

/* 15.7 GRADE 8 pt — verificação rápida: todo espaçamento da casa sai daqui. */
.e-8{ height:8px }

/* 15.8 BC1 NA ESCALA DE PÁGINA — o .bc__blk do ds.css é a MINIATURA do manual
   (h4 de 16 px, texto de 11,5 px). Numa página real a peça é a mesma, no corpo
   da casa. Estrutura, campo, fio branco e botão invertido continuam do manual. */
.bc__blk--pg{ padding:48px 32px 44px; }
.bc__blk--pg h4{ font-size:clamp(1.5rem, 1.2rem + 1.4vw, 2rem); line-height:1.1; letter-spacing:-.034em; max-width:18ch; }
.bc__blk--pg p{ font-size:1.0625rem; line-height:1.55; max-width:46ch; margin-top:16px; }
.bc--center.bc__blk--pg h4, .bc--center.bc__blk--pg p{ margin-inline:auto; }
.bc__blk--pg .bc__btn{ margin-top:24px; }
@media (max-width:767px){ .bc__blk--pg{ padding:32px 24px; } }

/* 15.9 S69 NA ESCALA DE PÁGINA — o .s7-nums do ds.css é o slide do manual (cqw).
   Numa página real o número é o elemento gráfico mais forte (§11.7): corpo em rem,
   e no celular a parede vira 2 colunas (4 colunas em 375 px espremem o número). */
.s7-nums--pg{ gap:48px 24px; }
.s7-nums--pg .s7-num-tile{ padding-top:16px; border-top:2px solid #3F3F46; }
.s7-nums--pg .s7-num-tile b{ font-size:clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem); line-height:.92; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.s7-nums--pg .s7-num-tile span{ font-size:1rem; line-height:1.35; margin-top:8px; }
.s7-nums--pg .s7-num-tile em{ font-family:var(--font-mono); font-size:.78125rem; line-height:1.4; margin-top:8px; }
@media (max-width:767px){ .s7-nums--pg{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:32px 16px; } }
