/* BRZ Security · tokens e componentes conforme DESIGN.md */
:root {
  --breu:#14110e; --chumbo:#1d1a16; --grafite:#2a2621;
  --papel:#f2efe9; --cinza:#9a948b; --linha:#3a352e; --linha-forte:#5a5348;
  --sinal:#ffb000; --sinal-escuro:#c78600; --alerta:#e5484d;
  --mono:'JetBrains Mono', ui-monospace, monospace;
  --sans:'Archivo', system-ui, sans-serif;
  --gutter:32px;
}
* { box-sizing:border-box; margin:0; }
html { scroll-behavior:smooth; scroll-padding-top:80px; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
body { background:var(--breu); color:var(--papel); font:400 16px/1.55 var(--sans); -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
:focus-visible { outline:2px solid var(--papel); outline-offset:3px; }
.wrap { max-width:1280px; margin:0 auto; padding:0 var(--gutter); }
.tag { font:400 12px/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--cinza); }
.larga { font-stretch:125%; font-weight:300; }
.pular { position:absolute; left:-999px; top:8px; background:var(--sinal); color:var(--breu); padding:8px 12px; z-index:100; }
.pular:focus { left:8px; }

/* botões */
.btn { display:inline-flex; align-items:center; gap:10px; font:500 15px/1 var(--sans); text-decoration:none; padding:16px 22px; cursor:pointer; border:0; border-radius:0; }
.btn--sinal { background:var(--sinal); color:var(--breu); }
.btn--sinal:hover { background:var(--sinal-escuro); }
.btn--sm { padding:11px 16px; font-size:14px; }
.btn--mira { --c:var(--linha-forte); color:var(--papel); background:
  linear-gradient(var(--c),var(--c)) 0 0/10px 1px, linear-gradient(var(--c),var(--c)) 0 0/1px 10px,
  linear-gradient(var(--c),var(--c)) 100% 0/10px 1px, linear-gradient(var(--c),var(--c)) 100% 0/1px 10px,
  linear-gradient(var(--c),var(--c)) 0 100%/10px 1px, linear-gradient(var(--c),var(--c)) 0 100%/1px 10px,
  linear-gradient(var(--c),var(--c)) 100% 100%/10px 1px, linear-gradient(var(--c),var(--c)) 100% 100%/1px 10px;
  background-repeat:no-repeat; }
.btn--mira:hover { --c:var(--sinal); }
.link { background:none; border:0; padding:0; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; text-align:left; }

/* topo */
.topo { position:sticky; top:0; z-index:50; background:var(--breu); border-bottom:1px solid var(--linha); }
.topo__in { display:flex; align-items:center; justify-content:space-between; gap:24px; height:68px; }
.topo__marca img { height:24px; width:auto; }
.topo__nav { display:flex; gap:28px; }
.topo__nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; font:400 13px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid transparent; }
.topo__menu { display:none; }
.topo__nav a:hover, .topo__nav a[aria-current] { border-color:var(--sinal); }

/* hero + radar */
.hero { position:relative; overflow:hidden; border-bottom:1px solid var(--linha); min-height:min(860px, calc(100vh - 68px)); display:flex; align-items:center; }
.hero > .wrap { position:relative; z-index:2; width:100%; }
#radar { position:absolute; inset:0; z-index:0; opacity:0; transition:opacity 1.2s ease; }
.hero.radar-on #radar { opacity:1; }
.hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, var(--breu) 0%, rgba(20,17,14,.82) 30%, rgba(20,17,14,.25) 50%, rgba(20,17,14,0) 60%); }
.hud { position:absolute; inset:0; z-index:2; pointer-events:none; }
.hud .tag { position:absolute; color:#6f685d; }
.hud b { font-weight:400; color:var(--cinza); }
.hud__a { top:20px; right:var(--gutter); }
.hud__b { bottom:20px; right:var(--gutter); }
.hud__c { bottom:44px; right:var(--gutter); }
.hero .wrap { padding-top:112px; padding-bottom:104px; }
.hero h1 { font-size:clamp(42px, 7.2vw, 96px); line-height:1.02; letter-spacing:-.015em; margin:24px 0 28px; max-width:14ch; }
.hero__lead { font-size:clamp(17px, 1.6vw, 19px); color:var(--cinza); max-width:540px; }
.acoes { display:flex; gap:14px; flex-wrap:wrap; margin-top:36px; }
.vivo { display:flex; align-items:center; gap:10px; margin-top:28px; }
.vivo i { width:8px; height:8px; border-radius:50%; background:var(--sinal); animation:pulso 2.4s ease-in-out infinite; }
@keyframes pulso { 50% { opacity:.25; } }
@media (prefers-reduced-motion:reduce) { .vivo i { animation:none; } }

/* topo das páginas legais (sem radar) */
.hero--simples { min-height:0; display:block; }
.hero--simples > .wrap { padding-top:88px; padding-bottom:56px; }
.hero--simples h1 { font-size:clamp(34px, 4.6vw, 60px); margin-top:16px; }
.hero--simples::after { content:none; }

/* topo das páginas internas: radar em faixa */
.hero--faixa { min-height:440px; }
.hero--faixa > .wrap { padding-top:96px; padding-bottom:72px; }
.hero--faixa h1 { font-size:clamp(36px, 5vw, 68px); max-width:16ch; margin:18px 0 22px; }
.hero--faixa .rumo { left:calc(74% - 200px); }
.hero--faixa::after { background:linear-gradient(90deg, var(--breu) 0%, rgba(20,17,14,.85) 38%, rgba(20,17,14,.2) 58%, rgba(20,17,14,0) 66%); }
.hud__d { top:40px; right:var(--gutter); }
.migalha { display:flex; gap:10px; flex-wrap:wrap; }
.migalha a { color:var(--cinza); text-decoration:none; }
.migalha a:hover { color:var(--papel); }

/* corpo das páginas internas (fundo claro) */
.pagina-clara { background:var(--papel); color:#2b2621; --tinta-2:#6b655c; --linha-c:#d3ccc0; }
.pagina-clara .bloco { border-bottom-color:var(--linha-c); }
.pagina-clara .bloco__intro, .pagina-clara p.apoio { color:var(--tinta-2); }
.passos { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:32px; counter-reset:passo; }
.passos li { border-top:2px solid #2b2621; padding-top:18px; counter-increment:passo; }
.passos .tag { display:block; color:var(--tinta-2); margin-bottom:12px; }
.passos p { color:var(--tinta-2); font-size:15px; }
.passos b { display:block; font-weight:500; margin-bottom:6px; font-size:18px; }
.agenda { display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; align-items:start; }
@media (max-width:1100px) { .agenda { grid-template-columns:repeat(2, 1fr); } }
.agenda__cartao { background:#e9e4da; padding:24px 22px 26px; }
.agenda__cartao:nth-child(even) { margin-top:40px; }
.agenda__cartao .tag { color:#835800; }
.agenda__cartao .mini { margin:14px 0 18px; }
.agenda__cartao h3 { font-size:19px; font-weight:500; line-height:1.25; }
.agenda__cartao p { color:var(--tinta-2); margin-top:8px; font-size:15px; }
.pinos { display:flex; gap:64px; flex-wrap:wrap; }
.pinos div { flex:1; min-width:220px; }
.pinos .tag { color:#835800; }
.pinos p { font-size:clamp(19px, 1.8vw, 22px); font-weight:300; line-height:1.4; margin-top:10px; color:#2b2621; }
.caixas { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; align-items:start; }
.caixas details { background:#e9e4da; padding:20px 24px; }
.caixas summary { cursor:pointer; list-style:none; font-size:18px; font-weight:500; padding-right:28px; position:relative; }
.caixas summary::-webkit-details-marker { display:none; }
.caixas summary::after { content:"+"; position:absolute; right:0; top:-2px; font:300 24px/1 var(--sans); color:var(--tinta-2); transition:transform .2s; }
.caixas details[open] summary::after { transform:rotate(45deg); }
.caixas details p { color:var(--tinta-2); margin-top:10px; }
.cena-grande { font-size:clamp(24px, 2.6vw, 34px); line-height:1.3; font-weight:300; max-width:26ch; }
.texto-legal { max-width:760px; }
.bloco .texto-legal h2 { font-size:22px; line-height:1.3; font-weight:500; font-stretch:100%; letter-spacing:0; margin:44px 0 12px; }
.bloco .texto-legal h2:first-child { margin-top:0; }
.texto-legal p, .texto-legal li { color:var(--tinta-2); margin-bottom:12px; }
.texto-legal ul { padding-left:20px; }

/* faixa de rumo (bússola) */
.rumo { position:absolute; z-index:2; top:18px; left:calc(70% - 200px); width:400px; height:34px; overflow:hidden; pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent); mask-image:linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent); }
.rumo__fita { position:absolute; left:50%; top:0; height:100%; will-change:transform; }
.rumo__fita span { position:absolute; bottom:0; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:4px;
  font:400 10px/1 var(--mono); letter-spacing:.06em; color:#6f685d; white-space:nowrap; }
.rumo__fita span::after { content:""; width:1px; height:5px; background:var(--linha-forte); }
.rumo__fita span.meio::after { height:9px; }
.rumo__fita span.card { color:var(--papel); font-weight:500; }
.rumo__fita span.card::after { height:12px; background:var(--cinza); }
.rumo__ponteiro { position:absolute; left:50%; bottom:0; width:0; height:0; border:5px solid transparent; border-bottom-color:var(--sinal); transform:translateX(-5px); }

/* mira do mouse e som */
.mira-mgrs { position:absolute; z-index:3; top:0; left:0; pointer-events:none; opacity:0; transition:opacity .15s;
  font:400 11px/1 var(--mono); letter-spacing:.06em; color:var(--breu); background:var(--sinal); padding:5px 7px; white-space:nowrap; }
.mira-mgrs.on { opacity:1; }
.som { position:absolute; z-index:3; top:16px; left:var(--gutter); background:none; border:1px solid var(--linha-forte); color:var(--cinza);
  font:400 12px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; padding:0 12px; min-height:44px; cursor:pointer; }
.som:hover, .som[aria-pressed="true"] { border-color:var(--sinal); color:var(--sinal); }
.som.lembra:not([aria-pressed="true"]) { border-style:dashed; }

/* faixa de dados */
.dados { border-bottom:1px solid var(--linha); }
.dados ul { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,1fr); }
.dados li { padding:28px 24px 28px 0; border-right:1px solid var(--linha); }
.dados li + li { padding-left:24px; }
.dados li:last-child { border-right:0; }
.dados b { display:block; font-weight:300; font-stretch:125%; font-size:clamp(22px, 2.4vw, 30px); line-height:1.1; margin-top:8px; }

/* blocos */
.bloco { padding:120px 0; border-bottom:1px solid var(--linha); }
.bloco__topo { display:grid; grid-template-columns:5fr 7fr; gap:48px; align-items:end; margin-bottom:56px; }
.bloco h2 { font-size:clamp(32px, 4vw, 48px); line-height:1.06; letter-spacing:-.01em; }
.bloco__intro { color:var(--cinza); max-width:520px; }
.regua { height:9px; background:
  linear-gradient(var(--linha),var(--linha)) bottom/100% 1px no-repeat,
  repeating-linear-gradient(90deg, var(--linha-forte) 0 1px, transparent 1px 64px) bottom/100% 9px no-repeat; margin-bottom:56px; }

/* serviços: índice em fundo claro ("sala de reunião") */
.bloco--claro { --tinta:#2b2621; --tinta-2:#6b655c; --linha-c:#d3ccc0; background:var(--papel); color:var(--tinta); border-bottom-color:var(--linha-c); }
.bloco--claro .bloco__intro { color:var(--tinta-2); }
.indice { display:grid; grid-template-columns:5fr 7fr; column-gap:64px; align-items:start; border-top:1px solid var(--linha-c); }
.indice__item { display:contents; }
.indice__titulo { grid-column:1; margin:0; font:inherit; }
.indice__nome { width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px; text-align:left; background:none; border:0;
  border-bottom:1px solid var(--linha-c); color:var(--tinta-2); font:400 22px/1.2 var(--sans); padding:22px 0; cursor:pointer;
  transition:color .2s, padding .25s cubic-bezier(.2,.7,.2,1); }
.indice__nome::after { content:"→"; color:#a87100; opacity:0; transform:translateX(-6px); transition:opacity .2s, transform .25s; }
.indice__nome:hover { color:var(--tinta); }
.indice__nome[aria-expanded="true"] { color:var(--tinta); padding-left:14px; box-shadow:inset 2px 0 0 #c78600; }
.indice__nome[aria-expanded="true"]::after { opacity:1; transform:none; }
.indice__nome:focus-visible { outline:2px solid var(--tinta); outline-offset:-2px; }
.indice__painel { grid-column:2; grid-row:1 / span 5; display:none; flex-direction:column; align-self:stretch;
  background:#e9e4da; padding:48px; min-height:100%; }
.indice__item[data-aberto] .indice__painel { display:flex; animation:painel .35s cubic-bezier(.2,.7,.2,1); }
@keyframes painel { from { opacity:0; transform:translateY(6px); } }
.indice__rotulo { font-size:15px; font-weight:500; color:var(--tinta-2); margin-bottom:22px; }
.indice__cena { font-size:clamp(24px, 2.4vw, 32px); line-height:1.32; font-weight:300; max-width:24ch; color:var(--tinta); }
.indice__faz { margin-top:22px; color:var(--tinta-2); max-width:52ch; }
.indice__acoes { margin-top:auto; padding-top:36px; display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.indice__mais { text-decoration:none; font-weight:500; border-bottom:1px solid var(--tinta); padding:4px 0; }
.indice__mais:hover { color:#8a5d00; border-color:#c78600; }
@media (prefers-reduced-motion:reduce) { .indice__item[data-aberto] .indice__painel { animation:none; } .indice__nome { transition:none; } }

/* procedimento */
.proc { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.proc::before { content:""; position:absolute; top:5px; left:0; right:0; height:1px; background:var(--linha-forte); }
.proc li { position:relative; padding-right:28px; }
.proc li::before { content:""; display:block; width:11px; height:11px; background:var(--breu); border:1px solid var(--sinal); margin-bottom:22px; }
.proc li:first-child::before { background:var(--sinal); }
.proc h3 { font-size:22px; font-stretch:125%; font-weight:300; margin:10px 0 6px; }
.proc p { color:var(--cinza); font-size:15px; }

/* cobertura */
.cobertura { display:grid; grid-template-columns:8fr 4fr; gap:48px; align-items:center; }
.cobertura__mapa { width:100%; height:auto; overflow:visible; }
.cob-estado { fill:var(--chumbo); stroke:var(--linha-forte); stroke-width:1; stroke-dasharray:4 4; }
.cob-litoral { fill:url(#tracejado); stroke:var(--sinal); stroke-opacity:.55; stroke-width:1; stroke-dasharray:3 3; }
.cob-rmsp { fill:rgba(255,176,0,.18); stroke:var(--sinal); stroke-width:1.2; }
.cob-capital { fill:rgba(255,176,0,.45); stroke:none; }
.cob-ping circle { fill:var(--sinal); }
.cob-ping .onda { display:none; }
.cob-brasil { fill:none; stroke:var(--linha-forte); stroke-width:.8; }
.cob-brasil-sp { fill:rgba(255,176,0,.35); stroke:var(--sinal); stroke-width:.8; }
.cob-rota { fill:none; stroke:var(--papel); stroke-opacity:.6; stroke-width:1; stroke-dasharray:2 3; }
.cob-dest { fill:var(--papel); }
.cob-cidade { font:400 9px var(--mono); letter-spacing:.06em; fill:var(--cinza); }
.cob-origem { fill:var(--sinal); }
.cobertura__legenda { list-style:none; padding:0; border-top:1px solid var(--linha); }
.cobertura__legenda li { display:flex; gap:16px; align-items:flex-start; padding:18px 0; border-bottom:1px solid var(--linha); }
.cobertura__legenda i { flex:none; width:22px; height:14px; margin-top:4px; }
.cobertura__legenda b { font-weight:400; display:block; }
.lg-rmsp { background:rgba(255,176,0,.3); border:1px solid var(--sinal); }
.lg-litoral { border:1px dashed var(--sinal); background:repeating-linear-gradient(45deg, rgba(255,176,0,.45) 0 1px, transparent 1px 5px); }
.lg-estado { background:var(--chumbo); border:1px dashed var(--linha-forte); }
.lg-rota { border-top:1px dashed var(--papel); height:0 !important; margin-top:11px !important; }

/* telemetria da rolagem */
.telemetria { position:fixed; z-index:40; pointer-events:none; }
.telemetria__barra { display:none; }
@media (min-width:1400px) {
  .telemetria { left:22px; top:50%; height:280px; transform:translateY(-50%); }
  .telemetria__trilho { position:absolute; left:0; top:0; bottom:0; width:1px; background:var(--linha); }
  .telemetria__trilho i { position:absolute; left:-4px; width:9px; height:1px; background:var(--linha-forte); }
  .telemetria__ponto { position:absolute; left:-3px; width:7px; height:7px; margin-top:-3px; background:var(--sinal); transition:top .1s linear; }
  .telemetria__rotulo { position:absolute; left:16px; top:var(--y, 0%); transform:translateY(-50%); white-space:nowrap; font-size:11px; color:var(--cinza);
    writing-mode:vertical-rl; transform:translate(-4px, -50%) rotate(180deg); transition:top .3s cubic-bezier(.2,.7,.2,1); }
}
@media (max-width:1399px) {
  .telemetria { left:0; right:0; bottom:0; height:26px; background:rgba(20,17,14,.92); border-top:1px solid var(--linha); display:flex; align-items:center; padding:0 var(--gutter); }
  .telemetria__trilho { display:none; }
  .telemetria__rotulo { font-size:10px; }
  .telemetria__barra { display:block; position:absolute; left:0; right:0; top:-1px; height:1px; background:var(--sinal); transform-origin:left; transform:scaleX(0); }
  body { padding-bottom:26px; }
}

/* liderança (home): plano de operação */
.lid__topo { display:grid; grid-template-columns:repeat(12, 1fr); column-gap:24px; align-items:end; }
.lid__fato { grid-column:1 / span 8; font-size:clamp(64px, 10vw, 148px); line-height:.92; letter-spacing:-.02em; max-width:none; }
.lid__fato small { display:block; font-size:clamp(18px, 1.8vw, 24px); letter-spacing:0; line-height:1.35; color:var(--cinza); margin-top:18px; font-stretch:100%; max-width:30ch; }
.lid__nome { grid-column:10 / span 3; color:var(--cinza); font-size:14px; }
.lid__nome b { display:block; color:var(--papel); font-weight:500; margin-bottom:4px; }
.regua-anos { position:relative; height:46px; margin:44px 0 20px; }
.regua-anos .tag { position:absolute; top:0; left:0; }
.regua-anos .regua-anos__fim { left:auto; right:0; color:var(--sinal); }
.regua-anos__fio { position:absolute; left:0; right:0; top:30px; height:3px; background:linear-gradient(90deg, var(--linha-forte), var(--sinal)); }
.regua-anos i { position:absolute; top:25px; width:1px; height:13px; background:var(--linha-forte); }
.lid__legenda { margin-top:40px; }
.lid__casos { display:grid; grid-template-columns:repeat(12, 1fr); column-gap:24px; }
.lid__caso h3 { font-size:clamp(22px, 2.2vw, 30px); font-weight:300; font-stretch:115%; line-height:1.1; margin-top:20px; }
.lid__caso p { color:var(--cinza); margin-top:8px; font-size:15px; max-width:34ch; }
.lid__k1 { grid-column:1 / span 6; margin-top:28px; }
.lid__k2 { grid-column:7 / span 6; margin-top:150px; }
.lid__k3 { grid-column:3 / span 6; margin-top:72px; }

/* folhas de esquema */
.esq { width:100%; height:auto; display:block; }
.esq .e-moldura { fill:#191612; stroke:#5a5348; }
.esq .e-div { stroke:#3a352e; }
.esq .e-tit { font:500 10px var(--mono); letter-spacing:.06em; fill:#f2efe9; }
.esq .e-dir { fill:#7d766b; font-weight:400; }
.esq .e-grade line { stroke:#25211c; }
.esq .e-coord { font:400 8px var(--mono); fill:#575047; }
.esq .e-area { fill:none; stroke:#3a352e; }
.esq .e-norte circle { fill:#14110e; stroke:#5a5348; } .esq .e-norte path { fill:#ffb000; } .esq .e-norte text { font:500 9px var(--mono); fill:#9a948b; }
.esq .e-via { fill:none; stroke:#35302a; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.esq .e-costa { fill:none; stroke:#5a5348; stroke-dasharray:1 3; }
.esq .e-rota { fill:none; stroke:#ffb000; stroke-width:1.8; }
.esq .e-alt { fill:none; stroke:#9a948b; stroke-width:1.2; stroke-dasharray:5 4; }
.esq .e-seta { fill:#ffb000; }
.esq .e-no { fill:#14110e; stroke:#f2efe9; stroke-width:1.2; }
.esq .e-obj { fill:#14110e; stroke:#ffb000; stroke-width:1.4; } .esq .e-obj-on { fill:#ffb000; }
.esq .e-cp { fill:#14110e; stroke:#f2efe9; stroke-width:1.2; }
.esq .e-v { fill:#f2efe9; } .esq .e-v2 { fill:#ffb000; }
.esq .e-perim { fill:none; stroke:#9a948b; stroke-width:1.2; stroke-dasharray:6 3; }
.esq .e-zona { fill:#1f1b17; stroke:#3a352e; }
.esq .e-posto { fill:#14110e; stroke:#ffb000; stroke-width:1.4; }
.esq .e-rot { font:400 9.5px var(--mono); letter-spacing:.04em; fill:#a8a196; }
.esq .e-sinal { fill:#ffb000; } .esq .e-papel { fill:#f2efe9; } .esq .e-fraco { fill:#6f685d; }
.esq .e-hora { font:500 9.5px var(--mono); letter-spacing:.04em; fill:#f2efe9; }
.esq .e-leg { font:400 9px var(--mono); letter-spacing:.04em; fill:#a8a196; }
/* versão do celular: só até 900 px, sem coordenadas nem legenda, 3 rótulos e letra maior (~12 px na tela) */
.esq--cel { display:none; }
.esq--cel .e-tit { font-size:15px; letter-spacing:.04em; }
.esq--cel .e-rot, .esq--cel .e-hora { font-size:15px; letter-spacing:.02em; }
.esq--cel .e-norte text { font-size:13px; }
@media (max-width:900px) { .esq--pc { display:none; } .esq--cel { display:block; } }

/* mini esquemas (cartões) */
.mini { width:100%; height:auto; display:block; }
.mini .m-fundo { fill:#191612; stroke:#3a352e; }
.mini .m-grade line { stroke:#25211c; }
.mini .m-via { fill:none; stroke:#35302a; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.mini .m-rota { fill:none; stroke:#ffb000; stroke-width:1.6; }
.mini .m-alt { fill:none; stroke:#7d766b; stroke-dasharray:4 3; }
.mini .m-seta { fill:#ffb000; }
.mini .m-no { fill:#14110e; stroke:#f2efe9; stroke-width:1.2; }
.mini .m-obj { fill:#14110e; stroke:#ffb000; stroke-width:1.3; } .mini .m-on { fill:#ffb000; }
.mini .m-cp { fill:#14110e; stroke:#f2efe9; stroke-width:1.1; }
.mini .m-eixo { stroke:#5a5348; }
.mini .m-faixa { fill:rgba(255,176,0,.22); stroke:#ffb000; stroke-width:1; }
.mini .m-perim { fill:none; stroke:#9a948b; stroke-dasharray:5 3; }
.mini .m-zona { fill:#221e19; stroke:#3a352e; }
.mini .m-posto { fill:#14110e; stroke:#ffb000; stroke-width:1.3; }
.mini .m-folha { fill:#221e19; stroke:#5a5348; }
.mini .m-linha { stroke:#5a5348; stroke-width:2; }
.mini .m-anel { fill:none; stroke:#3a352e; } .mini .m-tr { stroke-dasharray:3 3; }

/* portas de entrada */
.portas { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--linha); border:1px solid var(--linha); }
.porta { background:var(--chumbo); padding:32px; display:flex; flex-direction:column; gap:14px; text-decoration:none; min-height:220px; }
.porta h3 { font-size:24px; line-height:1.15; font-stretch:125%; font-weight:300; }
.porta p { color:var(--cinza); }
.porta .seta { margin-top:auto; font-family:var(--mono); font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.porta:hover { background:var(--grafite); }
.porta:hover .seta { color:var(--sinal); }

/* contato */
.contato { display:grid; grid-template-columns:5fr 7fr; gap:64px; }
.contato h2 { margin-bottom:20px; }
.contato__txt p { color:var(--cinza); max-width:440px; }
form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
label { display:flex; flex-direction:column; gap:8px; }
label.cheio, .form__fim { grid-column:span 2; }
input, select, textarea { background:var(--grafite); border:1px solid var(--linha-forte); color:var(--papel); font:400 16px var(--sans); padding:13px 14px; border-radius:0; width:100%; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--sinal); }
.form__fim { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.form__fim small { color:var(--cinza); font-size:13px; }
.mel { position:absolute; left:-9999px; }

/* rodapé */
.rodape { padding:72px 0 0; }
.rodape__in { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding-bottom:56px; }
.rodape__marca img { height:28px; width:auto; margin-bottom:16px; }
.rodape__col { display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.rodape__col a { text-decoration:none; }
.rodape__col a:hover, .rodape__col .link:hover { color:var(--sinal); }
.rodape__fim { border-top:1px solid var(--linha); padding-top:20px; padding-bottom:28px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.rodape__fim a { color:var(--cinza); }

/* cookies */
#cookies { position:fixed; left:16px; bottom:16px; z-index:80; display:flex; align-items:center; gap:14px; max-width:480px; padding:12px 12px 12px 16px;
  background:var(--chumbo); border:1px solid var(--linha-forte); font-size:13px; line-height:1.4; }
#cookies p { color:var(--cinza); }
#cookies div { display:flex; gap:6px; flex:none; }
#cookies button { min-height:44px; padding:0 14px; border:1px solid var(--papel); background:none; color:var(--papel); font:500 13px var(--sans); cursor:pointer; }
#cookies .sim { background:var(--papel); color:var(--breu); }

.faixa-wa { display:none; }

@media (max-width:900px) {
  :root { --gutter:16px; }
  .topo__in { height:60px; gap:12px; }
  .topo__marca { margin-right:auto; }
  .topo__menu { display:inline-flex; align-items:center; min-height:44px; padding:0 14px; background:none; border:1px solid var(--linha-forte); color:var(--papel);
    font:400 12px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
  .topo__menu[aria-expanded="true"] { border-color:var(--sinal); color:var(--sinal); }
  .topo__nav { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:0; padding:8px var(--gutter) 20px;
    background:var(--breu); border-bottom:1px solid var(--linha); }
  .topo[data-menu] .topo__nav { display:flex; }
  .topo__nav a { min-height:52px; border-bottom:1px solid var(--linha); font-size:14px; }
  .topo__nav a:hover, .topo__nav a[aria-current] { border-color:var(--linha); color:var(--sinal); }
  .hero { min-height:0; align-items:flex-end; }
  .hero .wrap { padding-top:200px; padding-bottom:40px; }
  .hero h1 { font-size:38px; margin:16px 0 18px; }
  .acoes { margin-top:26px; }
  .hero::after { background:linear-gradient(180deg, rgba(20,17,14,0) 0%, rgba(20,17,14,.6) 30%, var(--breu) 52%); }
  .hud__a { top:12px; right:16px; } .hud__b, .hud__c { display:none; }
  .rumo { left:calc(50% - 130px); width:260px; top:46px; }
  .som { top:12px; left:16px; }
  .hero--faixa > .wrap { padding-top:250px; padding-bottom:44px; }
  .hero--faixa h1 { font-size:34px; }
  .hud__d { top:30px; right:16px; }
  .agenda, .caixas { grid-template-columns:1fr; gap:14px; }
  .agenda__cartao:nth-child(even) { margin-top:0; }
  .pinos { gap:24px; }
  .lid__topo, .lid__casos { display:block; }
  .lid__nome { margin-top:20px; }
  .lid__caso { margin-top:44px !important; }
  .passos { grid-template-columns:1fr 1fr; gap:24px; }
  .cobertura { grid-template-columns:1fr; gap:28px; }
  .telemetria { display:none; }
  .dados ul { grid-template-columns:1fr 1fr; }
  .dados li { padding:20px 12px 20px 0; border-bottom:1px solid var(--linha); }
  .dados li:nth-child(2n) { border-right:0; padding-left:12px; }
  .dados li:nth-child(2n+1) { padding-left:0; }
  .bloco { padding:72px 0; }
  .bloco__topo, .duas, .contato, form, .rodape__in { grid-template-columns:1fr; gap:28px; }
  .bloco__topo { margin-bottom:36px; }
  .indice { display:block; }
  .indice__item { display:block; }
  .indice__nome { font-size:19px; padding:18px 0; }
  .indice__painel { min-height:0; padding:24px 20px 26px; margin-bottom:12px; }
  .indice__rotulo { display:none; }
  .indice__acoes { padding-top:24px; }
  .proc { grid-template-columns:1fr; gap:30px; }
  .proc::before { top:0; bottom:0; left:5px; right:auto; width:1px; height:auto; }
  .proc li { padding-left:34px; padding-right:0; }
  .proc li::before { position:absolute; left:0; top:4px; margin:0; }
  .portas { grid-template-columns:1fr; }
  .porta { min-height:0; }
  label.cheio, .form__fim { grid-column:auto; }
  .faixa-wa { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60; height:56px; justify-content:center; align-items:center;
    background:var(--sinal); color:var(--breu); font:500 16px var(--sans); text-decoration:none; }
  body { padding-bottom:56px; }
  #cookies { left:8px; right:8px; bottom:64px; max-width:none; }
}

/* alvos de toque de 44 px (crítica 25/10) */
.btn--sm { min-height:44px; }
.rodape__col a, .rodape__col .link { display:inline-flex; align-items:center; min-height:44px; }
.indice__acoes a { min-height:44px; display:inline-flex; align-items:center; }
@media (max-width:900px) { .cob-cidade { display:none; } }
.contato__sigilo { margin-top:16px; padding-left:14px; border-left:2px solid var(--sinal); color:var(--papel); }
/* celular de tela baixa (360x640): menos radar acima do título, para o botão do WhatsApp caber na 1ª tela */
@media (max-width:900px) and (max-height:720px) {
  .hero .wrap { padding-top:104px; }
  .hero--faixa > .wrap { padding-top:112px; }
  .hero--faixa h1 { font-size:30px; }
}
