/* ==========================================================================
   Borgeslog · tokens
   Identidade (cor, fonte): manual de marca v1.0 + tokens.json da marca.
   Estrutura e movimento: design system ZENITH_SYS (zenith.css).
   Todas as dobras do site consomem estas variáveis; nenhum componente
   escreve cor, fonte, easing ou duração direto.
   ========================================================================== */
:root{
  /* --- cor · primitivas da marca (manual pág. 9–10) --- */
  --cor-vermelho:#CA1D48;        /* Vermelho Borges · 600 */
  --cor-vermelho-400:#F96579;    /* texto vermelho pequeno sobre escuro · 6,3:1 */
  --cor-vermelho-500:#F02557;    /* brilhos de hover (Flare/Ember do DS) */
  --cor-vermelho-700:#A31539;    /* hover de fundo (acao.primaria-hover) */
  --cor-vermelho-800:#7C0D29;    /* active */
  --cor-asfalto:#141417;         /* fundo · 60% */
  --cor-asfalto-200:#D1D1D3;
  --cor-asfalto-300:#B2B2B4;
  --cor-asfalto-400:#929295;     /* mínimo para texto sobre Asfalto */
  --cor-asfalto-700:#454548;
  --cor-asfalto-800:#2C2C2E;
  --cor-grafite:#2A2B31;
  --cor-branco:#FFFFFF;
  --cor-ambar:#F2A900;           /* só traçado de rota · ≤5% */
  --cor-sucesso:#157A45;
  --cor-erro:#B42318;

  /* canais RGB para transparências: rgb(var(--rgb-x) / alfa) */
  --rgb-vermelho:202 29 72;
  --rgb-vermelho-500:240 37 87;
  --rgb-asfalto:20 20 23;
  --rgb-grafite:42 43 49;
  --rgb-branco:255 255 255;
  --rgb-asfalto-400:146 146 149;
  --rgb-asfalto-800:44 44 46;
  --rgb-sombra:0 0 0;

  /* --- cor · papéis (DS ZENITH → Borgeslog) --- */
  --fundo:var(--cor-asfalto);                 /* Void */
  --painel:var(--cor-grafite);                /* Carbon / Graphite */
  --linha:var(--cor-asfalto-800);             /* Line */
  --linha-forte:var(--cor-asfalto-700);       /* Steel */
  --linha-suave:rgb(var(--rgb-asfalto-800) / .5);   /* zinc-800/50 do DS (divisórias da navegação) */
  --texto-titulo:var(--cor-branco);           /* White */
  --texto-destaque:var(--cor-asfalto-200);    /* Mist / zinc-300 */
  --texto-corpo:var(--cor-asfalto-300);       /* Fog */
  --texto-meta:var(--cor-asfalto-400);        /* Muted / Ghost */
  --texto-marca:var(--cor-vermelho-400);
  --acao:var(--cor-vermelho);                 /* Ignition */
  --acao-hover:var(--cor-vermelho-700);
  --acao-active:var(--cor-vermelho-800);      /* Burn */
  --acao-texto:var(--cor-branco);
  --rota:var(--cor-ambar);                    /* Volt → só rota */
  --online:var(--cor-sucesso);                /* Signal → só pings */
  --foco:var(--cor-vermelho-400);
  --hair-1:rgb(var(--rgb-branco) / .06);
  --hair-2:rgb(var(--rgb-branco) / .1);
  --hair-3:rgb(var(--rgb-branco) / .16);
  --mascara:#000;                             /* só canal alfa de máscaras */
  --mascara-visivel:#fff;

  /* --- fonte (manual pág. 11) --- */
  /* texto de leitura (corpo, rótulos, botões, campos) em rem: acompanha a fonte padrão do navegador (16px = 1rem, igual ao px de antes).
     Títulos, números e lettering em Teko ficam em px/vw: são peças do layout, medidas na grade */
  --fonte-display:'Teko', 'Arial Narrow', 'Roboto Condensed', Arial, sans-serif;
  --fonte-texto:'Titillium Web', 'Segoe UI', Roboto, Arial, sans-serif;
  --peso-display:600;
  --peso-texto:400;
  --peso-rotulo:600;

  /* tamanhos calibrados (Teko tem versal .636em; Inter .727em → fator 1,14) */
  --fs-lettering:clamp(111px, 28.5vw, 530px);
  --lt-largura:2.719em;           /* largura de "BRASIL" em Teko (medida): a caixa do lettering não se mexe se a fonte chegar depois da primeira pintura (sem CLS) */
  --fs-h1-sm:min(52px, calc((100vw - 48px) / 6.75));
  --fs-h1-md:70px;
  --fs-h1-xl:72px;               /* 3 linhas ocupam a mesma área do H1 de 2 linhas do DS e o CTA cabe em 1440×900 */
  --fs-lead-sm:1rem;
  --fs-lead:1.0625rem;
  --fs-rotulo:.75rem;               /* mínimo para texto informativo */
  --fs-num-card:34px;
  --fs-num-chip:clamp(27px, 2.6vw, 39px);
  --fs-selo:22px;
  --fs-btn-pill:.8125rem;                 /* pílula do DS (Inter 15px) em Titillium 600 caixa-alta */
  --fs-btn-pill-sm:.75rem;
  --lh-lettering:.8;
  --lh-h1:.9;
  --lh-lead:1.625;
  --tr-lettering:.04em;
  --tr-titulo:.01em;              /* manual: espaçamento de título */
  --tr-widest:.1em;               /* tracking-widest do DS */
  --tr-callout:.14em;
  --halo-callout:0 0 1px var(--fundo), 0 0 2px var(--fundo), 0 0 4px var(--fundo), 0 0 8px var(--fundo), 0 0 12px var(--fundo), 0 0 18px rgb(var(--rgb-asfalto) / .9);   /* halo de Asfalto colado às letras: rótulos dos callouts sobre o lettering claro (4,5:1 no trecho mais claro) */
  --tr-chip:.2em;
  --tr-eyebrow:.22em;

  /* --- espaço / medida (DS) --- */
  --palco-deitado:36svh;          /* celular deitado (altura ≤ 500px): altura do palco; o mapa (2:1) e o lettering seguem ela, e o H1 entra na 1ª tela */
  --header-h:80px;                /* logo 200px + área de proteção X (16px) em cima e embaixo */
  --rolagem-folga:24px;           /* respiro extra quando uma âncora rola até um card */
  --logo-w:200px;
  --logo-protecao:16px;           /* área de proteção X do logo a 200px (a altura do "B") */
  --hdr-margem-sm:14px;           /* < 360px: margem do logo até a borda da tela (logo + WhatsApp + menu cabem em 320px; a proteção fica do lado dos botões) */
  --pad-x:24px;
  --pad-x-lg:48px;
  --raio-sm:2px;
  --raio-selo:6px;
  --card-alfa:.85;               /* DS .45–.55; sobre o lettering claro o grafite translúcido reprovava 4,5:1 */
  --card-alfa-forte:.88;
  --faixa-w:300px;
  --faixa-sangria:70px;
  --faixa-w-sm:150px;
  --faixa-sangria-sm:40px;

  /* --- movimento (DS ZENITH, sem alteração) --- */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --ease-snap:cubic-bezier(.625,.05,0,1);
  --ease-scan:cubic-bezier(.4,0,.2,1);
  --ease-std:cubic-bezier(.4,0,.2,1);       /* transição padrão das utilidades do DS */
  --ease-ping:cubic-bezier(0,0,.2,1);
  --ease-pulse:cubic-bezier(.4,0,.6,1);
  --ease-css:ease;
  --ease-css-out:ease-out;
  --ease-linear:linear;

  --d-1:150ms; --d-2:300ms; --d-3:450ms; --d-4:620ms; --d-5:820ms; --d-6:1050ms; --d-7:1800ms;
  --dur-std:150ms;
  --dur-hover-cor:300ms;
  --dur-header-sombra:500ms;
  --dur-parallax:.25s;
  --dur-tilt:.3s;
  --dur-card:.1s;
  --dur-borda:.3s;
  --dur-mag:.6s;
  --dur-rv:.9s;
  --dur-mask:1.05s;
  --dur-label:.8s;
  --dur-callout:1.6s;
  --dur-draw:2.2s;
  --dur-fill:2.6s;
  --dur-sheen:7.5s;
  --dur-scan:4.8s;
  --dur-ping:1s;
  --dur-pulse:2s;
  --dur-c-ping:2.4s;
  --dur-reticle-1:40s;
  --dur-reticle-2:9s;
  --dur-glow-swell:6.5s;
  --dur-glow-pulse:3.2s;
  --dur-aura:22s;
  --dur-aura-2:28s;
  --dur-grid:24s;
  --dur-shimmer:4s;
  --dur-shimmer-hover:1.5s;
  --dur-cue:2.8s;
  --dur-marquee:38s;              /* o JS recalcula para manter 50 px/s do DS */
  --dur-tip:.3s;
  --dur-tip-move:.45s;
  --dur-tip-delay:80ms;
  --dur-spot:.6s;
  --dur-cursor:.35s;
  --dur-cursor-fade:.3s;
  --delay-100:160ms; --delay-200:320ms; --delay-300:480ms; --delay-400:640ms; --delay-500:800ms; --delay-600:960ms;
  --delay-label-1:.9s; --delay-label-2:1.05s; --delay-label-3:1.2s; --delay-label-4:1.35s;
  --delay-reduzido:.001ms;

  /* ==========================================================================
     Seções (receita .ds-section do DS) e dobra 02 · Serviços
     ========================================================================== */
  /* superfícies */
  --secao-fundo:rgb(var(--rgb-asfalto) / .72);       /* Void/72 do DS */
  --secao-altura-estimada:2400px;                     /* reserva de altura enquanto a seção não foi montada (content-visibility) */
  --card-fundo:rgb(var(--rgb-asfalto) / .5);         /* medido no DS: card = Void/50 sobre a seção */
  --ghost-opacidade:.35;
  --ghost2-topo:.7;                                   /* .ghost-2 do DS: .7 no topo */
  --ghost2-base:.46;                                  /* DS .12; .46 é o mínimo para 4,5:1 sobre Asfalto */                              /* DS .6; reduzida para o texto por cima manter 4,5:1 */
  /* grade da seção */
  --sec-max:1400px;
  --sec-px:clamp(20px, 4vw, 56px);
  --sec-pt:clamp(96px, 11vw, 150px);
  --sec-pb:clamp(80px, 9vw, 120px);
  --sec-gap:clamp(20px, 2.6vw, 32px);
  --sec-gap-head:56px;
  --sec-gap-head-sm:40px;
  --sec-gap-lead:24px;
  --sec-gap-grade:clamp(40px, 5vw, 64px);
  --card-pad:28px;
  --card-pad-sm:20px;
  --mini-mapa-h:360px;
  --mini-mapa-h-sm:220px;
  --hud-tip-w:280px;
  /* tipografia da seção */
  --fs-h-sec:clamp(39px, 5.25vw, 73px);              /* .h-sec do DS × 1,14 (Teko) */
  --fs-ghost:clamp(109px, 20.5vw, 363px);            /* .ghost-track span do DS × 1,21 */
  --fs-lead-sec:1.0625rem;
  --fs-card-t:clamp(28px, 2.3vw, 34px);
  --fs-card-t-destaque:clamp(34px, 3.2vw, 46px);
  --fs-card-texto:.9375rem;
  --fs-tip-msg:.875rem;
  --lh-h-sec:.95;
  --lh-card-t:.95;
  --lh-card-texto:1.6;
  --tr-sec-head:.24em;
  --tr-tip:.12em;
  --tr-btn:.06em;
  --tr-arrowlink:.2em;
  --largura-lead:60ch;
  /* movimento da seção */
  --dur-regua:.7s;                                    /* desenho da régua: mecânica do .les .bar do DS */
  --dur-word:.82s;
  --dur-word-fade:.5s;
  --passo-word:72ms;
  --dur-ghost:80s;                                    /* o JS recalcula para 37,6 px/s, a velocidade medida no DS */
  --dur-regua-brilho:4.5s;
  --dur-spot-borda:.5s;
  --dur-card-hover:300ms;
  --dur-card-sheen:500ms;
  --dur-hud:500ms;
  --dur-chegada:1.8s;
  --dur-chip-cor:.4s;
  --dur-chip-move:.5s;
  --dur-arrowlink:.45s;
  --dur-arrowlink-move:.5s;
  --passo-traco:160ms;

  /* ==========================================================================
     Navegação (header, sidebar numérica, rail de progresso, menu do celular)
     ========================================================================== */
  --lateral-w:64px;                                   /* sidebar do DS (w-16) */
  --lateral-q:24px;                                   /* quadrado numerado do DS (w-6) */
  --lateral-py:48px;                                  /* py-12 do DS */
  --lateral-gap:32px;                                 /* gap-8 do DS entre os quadrados */
  --alvo:44px;
  --sigla-alvo-y:11px;                                /* siglas CT-e/MDF-e: a área de toque cresce até 44px de altura sem mover o texto */
  --sigla-alvo-x:8px;                                        /* área mínima de toque */
  --alvo-cta:52px;                                    /* CTA de saída no celular */
  --menu-btn-w:64px;                                  /* botão do hambúrguer (w-16 do DS) */
  /* hambúrguer: geometria do DS (traços de 26 e 17px, topo 4 e 11px, X com 24px em 7,5px) traduzida para transform */
  --burger-w:26px; --burger-h:16px; --burger-traco:1.5px;
  --burger-y1:4px; --burger-y2:11px;
  --burger-curto:.654;                                /* 17 ÷ 26 */
  --burger-x-curto:4.5px;                             /* (26 − 17) ÷ 2: o traço curto fica preso à direita */
  --burger-x:.923;                                    /* 24 ÷ 26 */
  --burger-x-x:1px;                                   /* (26 − 24) ÷ 2 */
  --burger-dy:3.5px;                                  /* de 4 e 11px até 7,5px */
  --rail-x:18px;                                      /* distância da borda direita (DS) */
  --rail-alvo:32px;                                   /* área de clique: traço de 22px + 10px */
  --rail-w:22px;                                      /* traço aceso (DS) */
  --rail-passo:18px;                                  /* 10px de botão + 8px de espaço (DS), agora tudo área de clique */
  --rail-recuo:.636;                                  /* 14px ÷ 22px: traço apagado do DS */
  --dur-sublinhado:.45s;
  --dur-menu:500ms;                                   /* duration-500 do DS */
  --dur-burger:.45s;
  --dur-rail:.5s;
  --menu-fundo:rgb(var(--rgb-asfalto) / .98);
  --lateral-fundo:rgb(var(--rgb-asfalto) / .9);

  /* ==========================================================================
     Dobra 03 · Proteção
     ========================================================================== */
  /* fundo: feixes + varredura (um relógio só com o glow dos cards) */
  --feixes-alfa:.035;                                 /* fios do .beams */
  --feixe-w:240px;                                    /* feixe vermelho que atravessa */
  --feixe-alfa:.08;
  --dur-feixe:11s;                                    /* beam-sweep do DS */
  --dur-varredura:9.7s;                               /* DS 9s; igual ao glow-swell do card-fr: uma passada por respiração */
  --varredura-alfa:.35;
  /* vidro (.g-border do DS) */
  --raio-vidro:20px;
  --raio-vidro-in:19px;
  --vidro-fundo:rgb(var(--rgb-grafite) / .92);
  --vidro-fundo-solido:var(--cor-grafite);            /* pilha do celular: a camada de baixo não pode vazar */
  --vidro-borda-topo:rgb(var(--rgb-vermelho) / .35);
  --vidro-borda-meio:rgb(var(--rgb-branco) / .05);
  --vidro-pad:28px;
  --vidro-pad-sm:20px;
  --ghost-vidro-topo:.78;                             /* número da camada: .ghost-2 recalibrado para 4,5:1 sobre o Grafite */
  --ghost-vidro-base:.56;
  --recuo:.4;                                          /* recuo das outras camadas: só a superfície, nunca o texto */
  --lift:-8px;                                        /* hover:-translate-y-2 do card de vidro do DS */
  --dur-lift:500ms;
  --dur-halo:700ms;
  --dur-recuo:500ms;
  --dur-glow-card-swell:9.7s;                         /* .card-fr .glow do DS (--gt2) */
  --dur-glow-card-pulse:6.1s;                         /* .card-fr .glow do DS (--gt) */
  --halo-sangria:48px;                                /* quanto o halo passa da borda da camada */
  --dur-holofote:500ms;                               /* deslize do holofote: duration-500 do .tab-ind do DS */
  --ico-chip:32px;                                    /* círculo do ícone do card de vidro do DS (w-8) */
  --check-w:18px;
  --dur-check:.45s;
  /* tipografia das camadas */
  --fs-valor:clamp(44px, 4.4vw, 64px);
  --lh-valor:.9;
  --fs-evita:1rem;
  --fs-nota:.8125rem;
  /* pilha (ideia 2) */
  --pilha-perspectiva:1000px;                         /* select-card do DS */
  --pilha-rx:12deg;                                   /* inclinação máxima do select-card */
  --pilha-y:16px;
  --pilha-escala:.94;                                 /* .sys-scale do DS */
  --pilha-topo:16px;
  --pilha-passo:64px;                                 /* faixa do número e do título que fica à mostra */

  /* ==========================================================================
     Dobra 04 · Do embarque à entrega
     ========================================================================== */
  /* linha do tempo */
  --ponto:40px;                                       /* marcador da etapa */
  --ponta:8px;                                        /* ponto das pontas EMBARQUE e ENTREGA (c-dot do DS) */
  --fs-ponto:20px;                                    /* número em Teko no marcador */
  --fs-etapa-t:clamp(24px, 1.9vw, 28px);              /* "VIAGEM RASTREADA" numa linha só na trilha de ~194px em 1280 */
  --etapa-gap:20px;
  --viagem-topo:32px;                                 /* rótulos EMBARQUE e ENTREGA nas pontas do traço */
  --rota-w:2px;                                       /* trecho percorrido: sólido */
  --rota-pontos-w:3px;                                /* trecho planejado: o pontilhado da marca (mapa da Hero, grade da Dobra 02) */
  --rota-pontos:.01 7;
  --rota-brilho-w:8px;                                /* o trecho que chega na etapa em foco */
  --desvio-r:24px;                                    /* contorno da interdição (ideia 1): passa por fora do aviso de 28px */
  --desvio-w:28px;
  --dur-trecho:620ms;                                 /* --d-4 do DS, curva ease-io do draw-svg */
  --dur-trecho-ponta:450ms;                           /* --d-3: as pontas são meio trecho */
  --dur-trecho-desvio:820ms;                          /* --d-5: o trecho com desvio leva mais (ideia 1) */
  --dur-parada:150ms;                                 /* --d-1: a carga para em cada etapa */
  /* balão do aviso (.toast do DS com forma de balão) */
  --balao-fundo:rgb(var(--rgb-asfalto) / .94);
  --balao-raio:var(--raio-sm) var(--raio-vidro) var(--raio-vidro) var(--raio-sm);
  --balao-pad:20px;
  --balao-pad-sm:16px;
  --fs-balao:1rem;
  --lh-balao:1.6;
  --avatar:36px;
  --raio-avatar:20%;                                  /* raio do favicon da marca: quadrado arredondado, não círculo */
  --toast-x:24px;                                     /* entrada do .toast do DS */
  --dur-toast:.6s;
  --dur-toast-fade:.45s;
  --dur-toast-blur:.5s;
  --dur-digitando:1.2s;                               /* ideia 2: três pontos antes do texto */
  --digitando-ponto:6px;
  --nota-passo:620ms;                                 /* --d-4 entre um callout e o próximo, na ordem do aviso */
  --nota-rotulo-atraso:.9s;                           /* o rótulo entra .9s depois da linha, como na Hero do DS */
  --nota-n:18px;                                      /* número da nota no celular */
  --nota-palavra:40ms;                                /* ideia 3: o sublinhado corre palavra a palavra */
  --circuito-alfa:.045;                               /* traço base do circuito do DS */
  --circuito-pulso:.3;                                /* núcleo do pulso (DS .9): o circuito é cenário, o traço da rota é o protagonista */
  --circuito-halo:.08;                                /* halo do pulso (DS .18) */
  --circuito-densidade:.45;                           /* DS .8 */

  /* ==========================================================================
     Dobra 05 · Monte sua cotação
     ========================================================================== */
  /* fundo: Matriz do DS (.dot-matrix), parada; seção opaca para o prisma global não se mexer atrás dos campos */
  --secao-fundo-opaca:var(--fundo);
  --matriz-passo:28px;
  --matriz-ponto:rgb(var(--rgb-branco) / .5);
  --matriz-alfa:.07;
  /* campos (.field / .f-input do DS) */
  --erro:var(--cor-vermelho-400);                     /* D3: o Erro do manual (#B42318) dá 2,7:1 sobre Asfalto; Vermelho-400 dá 6,3:1 */
  --campo-h:48px;
  --campo-pad-x:14px;
  --campo-fundo:rgb(var(--rgb-grafite) / .4);         /* placeholder em Asfalto-400 sobre ele: 5,4:1 */
  --campo-borda:var(--linha-forte);                   /* DS: Line; um passo acima para o campo se ler como campo sobre o Asfalto */
  --campo-borda-hover:var(--texto-meta);              /* DS: Steel */
  --campo-gap:8px;                                    /* rótulo → campo → ajuda (mb-8px do DS) */
  --campo-linha-gap:16px;                             /* entre um campo e o próximo (com o erro à mostra, ele não encosta no rótulo seguinte) */
  --campo-seta:40px;                                  /* área do chevron do select */
  --campo-unid-w:56px;                                /* área da unidade m³ dentro do campo de volume (igual à do segmentado t / kg) */
  --fs-campo:1rem;                                    /* 16px em todas as larguras: sem zoom no iOS ao focar */
  --lh-campo:22px;                                    /* 48px de altura com o respiro de 12px */
  --fs-ajuda:var(--fs-nota);
  --lh-ajuda:1.5;
  --tr-campo:.18em;                                   /* rótulo do .field do DS */
  --obs-linhas:4;
  /* grupos da ficha */
  --ficha-grupo-gap:clamp(40px, 4vw, 56px);
  --ficha-leg-gap:24px;
  --fs-ficha-n:28px;
  /* segmentado t / kg ([data-seg] + .seg-btn, com o indicador deslizante do .tab-ind) */
  --seg-w:56px;
  --seg-pad:4px;                                      /* p-1 do DS */
  --seg-ind-h:2px;                                    /* .tab-ind do DS */
  --dur-seg:500ms;                                    /* .tab-ind: duration-500 */
  --dur-seg-cor:.35s;                                 /* .seg-btn */
  /* tempos dos campos (zenith.css) */
  --dur-campo-borda:.35s;
  --dur-campo-anel:.45s;
  --dur-rotulo-campo:.3s;
  --dur-f-line:.6s;
  --dur-erro:var(--d-2);                              /* a mensagem de erro entra no espaço já reservado */
  /* prévia ao vivo (balão da Dobra 04, espelhado como mensagem enviada) */
  --previa-topo:calc(var(--header-h) + var(--rolagem-folga));   /* sticky abaixo do header */
  --balao-raio-enviado:var(--raio-vidro) var(--raio-sm) var(--raio-sm) var(--raio-vidro);
  --balao-barra-enviado:rgb(var(--rgb-branco) / .35);  /* a barra Vermelha é a voz da Borgeslog; aqui fala o cliente */
  --balao-recuo:32px;                                 /* o balão enviado encosta à direita */
  --previa-espera:250ms;                              /* debounce: o valor entra quando a pessoa para de digitar */
  --dur-valor:var(--d-3);                             /* o marcador dá lugar ao valor */
  --dur-linha:var(--d-4);                             /* linha opcional surgindo */
  --dur-linha-sai:var(--d-1);
  --dur-abrir:var(--d-3);                             /* prévia recolhida do celular */
  --medidor-h:4px;                                    /* .tc-track da telemetria da Hero */
  --fs-ficha-nota:.875rem;                               /* nota abaixo do botão de envio */
  --palavras-max:12;                                  /* ideia 1: o sublinhado corre no máximo 12 palavras (observação longa não demora) */
  /* aviso de envio (.toast do DS) */
  --toast-w:340px;
  --toast-min:260px;
  --toast-borda:var(--linha-forte);
  --toast-margem:20px;
  --toast-margem-sm:16px;
  --toast-topo:calc(var(--header-h) + var(--toast-margem-sm));   /* celular: o aviso desce do topo, longe dos botões (D6 da Dobra 06) */
  --dur-toast-vida:3.6s;                              /* aviso simples some com a barra (t-bar do DS) */

  /* ==========================================================================
     Dobra 06 · Fechamento e rodapé
     ========================================================================== */
  /* fechamento: receita Vídeo + Scrim do DS (vídeo em comentário: grade fina) + holofote Ignition Glow da Hero */
  --fs-h-fechamento:clamp(44px, 5.25vw, 73px);       /* D3: um degrau no celular e no tablet; o máximo é o do .h-sec (= H1 da Hero) */
  --grade-fina-passo:40px;
  --grade-fina:rgb(var(--rgb-branco) / .03);
  --holofote-r:1000px;
  --holofote-alfa:.14;                                /* Hero .22: com o CTA e as 4 abas, o vermelho fica abaixo de ~10% da tela */
  --holofote-nucleo-r:400px;
  --holofote-nucleo-alfa:.08;
  --fs-numero:var(--fs-num-card);                     /* número do WhatsApp em Teko */
  --dur-copiado:1.6s;                                 /* o ícone de copiar vira check por um instante */
  --lift-copiar:-4px;                                 /* .swatch do DS: sobe 4px no hover e no foco */
  --selo-check:14px;                                  /* ideia 3: check da conferência, na aba do selo */
  --dur-glow-unico:var(--dur-glow-pulse);             /* ideia 3: um único glow-swell no CTA */
  /* rodapé (o do DS: pt-24, gap-12, pb-16; colunas gap-8, títulos mb-5, links space-y-3) */
  --rodape-altura-estimada:1000px;                    /* reserva enquanto o rodapé não foi montado (content-visibility) */
  --rodape-pt:96px;
  --rodape-pb:64px;
  --rodape-gap:48px;
  --rodape-cols-gap:32px;
  --rodape-titulo-mb:20px;
  --rodape-link-gap:12px;
  --logo-rodape-w:300px;                              /* D4: mínimo da horizontal completa no manual = 299px */
  --logo-rodape-x:16px;                               /* área de proteção (X = altura do "B") */
  --fs-manifesto:clamp(1.125rem, 2vw, 1.625rem);
  --lh-manifesto:1.375;
  --manifesto-max:28rem;                              /* max-w-md do DS */
  --rodape-barra:rgb(var(--rgb-grafite) / .35);       /* DS: barra #080808 sobre #050505, um tom acima */
  --rodape-barra-px:32px;
  --rodape-barra-py:16px;
  --tr-barra:.05em;                                   /* tracking-wider do DS */
  --fs-rodape-lt:32.8vw;                              /* BRASIL em Teko com a largura do "Zenith" a 26vw no DS (89,2% da tela) */
  --rodape-lt-corte:calc(var(--fs-rodape-lt) * .231); /* a barra cobre 11% da altura das letras, como no DS (-mb-[3vw] com o Inter); o Teko tem mais espaço abaixo da linha de base */
  --dur-hoverfill:1.1s;                               /* .lt-hoverfill do DS (ease-io) */
  --ghost-contorno:.58;                              /* "dedicada e exclusiva" em contorno na palavra fantasma (tom do topo do .lt-ghost) */
  --ghost-contorno-w:2px;                            /* traço do .lt-outline do DS, na escala da palavra fantasma */
  --ghost-rodape-topo:.58;                            /* .lt-ghost do DS (o da Hero é mais claro) */
  --ghost-rodape-meio:.17;
}
