/* Ruah Publitech · sistema visual
   Cores oficiais do documento: Verde Ruah #B5CC18, Preto Estrutura #1A1A1A, Branco Base #FFFFFF.
   Space Grotesk em títulos e texto; JetBrains Mono em rótulos, números de seção e dados.
   Linguagem da referência (emetor.com.br): títulos grandes em peso leve com palavra-chave em negrito,
   faixas escuras de contraste, método em linhas de tabela, números grandes, listas numeradas. */

@font-face{font-family:"Space Grotesk";src:url(/static/fontes/space-grotesk.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/static/fontes/jetbrains-mono.woff2) format("woff2");font-weight:400 500;font-display:swap}

:root{
  --verde:#b5cc18; --verde-h:#c4da2a; --verde-t:#4c5600;
  --preto:#1a1a1a; --preto2:#121211; --grafite:#262624; --branco:#ffffff;
  --nevoa:#f4f5ef; --linha:#e3e4dc; --linha-e:#33342f;
  --texto:#1a1a1a; --texto2:#3d3e39; --mudo:#62645b; --mudo-e:#a9ab9f;
  --t:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --m:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --max:1280px; --gut:16px; --sec:64px; --r:4px;
  --curva:cubic-bezier(.2,.8,.2,1);
}
@media (min-width:768px){:root{--gut:32px}}
@media (min-width:1024px){:root{--gut:48px;--sec:120px}}

*{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--branco);color:var(--texto);font-family:var(--t);font-size:16px;line-height:26px;font-weight:400;text-rendering:optimizeLegibility}
@media (min-width:1024px){body{font-size:18px;line-height:28px}}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1em;max-width:72ch}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:36px;line-height:42px}
h2{font-size:28px;line-height:34px;font-weight:300}
h2 b,h1 b{font-weight:600}
h3{font-size:20px;line-height:28px}
@media (min-width:1024px){h1{font-size:64px;line-height:72px}h2{font-size:44px;line-height:52px}h3{font-size:24px;line-height:32px}}
.rot{font-family:var(--m);font-size:12px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
@media (min-width:1024px){.rot{font-size:13px;line-height:18px}}
.pular{position:absolute;left:-999px;top:8px;z-index:100;background:var(--verde);color:var(--preto);padding:10px 16px;font-weight:600}
.pular:focus{left:8px}
:focus-visible{outline:3px solid var(--verde);outline-offset:3px}
.c{max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
/* telas grandes: Full HD e ultrawide ganham mais largura e tipografia maior */
@media (min-width:1600px){:root{--max:1480px;--gut:64px;--sec:144px}body{font-size:19px;line-height:30px}h1{font-size:76px;line-height:84px}h2{font-size:52px;line-height:60px}}
@media (min-width:2200px){:root{--max:1760px;--gut:80px;--sec:168px}body{font-size:20px;line-height:32px}h1{font-size:92px;line-height:100px}h2{font-size:60px;line-height:68px}}
.sec{padding-block:var(--sec)}
.escuro{background:var(--preto);color:var(--branco)}
.escuro .mudo,.escuro .rot.mudo{color:var(--mudo-e)}
.mudo{color:var(--mudo)}
.cl-verde{color:var(--verde-t)}
.escuro .cl-verde{color:var(--verde)}
.nevoa{background:var(--nevoa)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:var(--r);font-family:var(--t);font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s var(--curva),color .2s var(--curva),border-color .2s var(--curva),transform .12s}
.btn:active{transform:translateY(1px)}
.btn.p{background:var(--verde);color:var(--preto)}
.btn.p:hover{background:var(--verde-h)}
.btn.s{border-color:currentColor;background:transparent}
.btn.s:hover{background:var(--preto);color:var(--branco);border-color:var(--preto)}
.escuro .btn.s:hover{background:var(--branco);color:var(--preto);border-color:var(--branco)}
.btn.e{background:var(--preto);color:var(--branco)}
.btn.e:hover{background:#000}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.seta{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;border-bottom:2px solid var(--verde);padding-bottom:2px}
.seta::after{content:"→";transition:transform .2s var(--curva)}
.seta:hover::after{transform:translateX(4px)}
@media (max-width:767px){.btns .btn{width:100%}}

/* ---------- cabeçalho ---------- */
.cab{position:fixed;inset:0 0 auto;z-index:50;height:56px;background:var(--branco);border-bottom:1px solid var(--linha);transition:transform .3s var(--curva),background .2s,border-color .2s}
@media (min-width:1024px){.cab{height:80px}}
.cab .c{height:100%;display:flex;align-items:center;gap:24px}
.cab .marca img{height:50px;width:auto;margin-left:-8px}
@media (min-width:1024px){.cab .marca img{height:84px;margin-left:-12px}}
.cab .marca .l-clara{display:none}
.cab.sobre-escuro{background:transparent;border-color:transparent;color:var(--branco)}
.cab.sobre-escuro .marca .l-escura{display:none}
.cab.sobre-escuro .marca .l-clara{display:block}
.cab.some{transform:translateY(-100%)}
body{padding-top:56px}
@media (min-width:1024px){body{padding-top:80px}}
body.hero-escuro{padding-top:0}
.nav{display:none;flex:1;align-items:center;gap:4px}
@media (min-width:1024px){.nav{display:flex}}
.nav > a,.nav > .item > button{font:inherit;font-size:15px;font-weight:500;color:inherit;background:none;border:0;padding:10px 12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-radius:var(--r)}
.nav > a:hover,.nav > .item > button:hover{background:rgba(127,127,127,.12)}
.nav .item{position:relative}
.nav .item > button::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.nav .sp{flex:1}
.mega{position:absolute;top:calc(100% + 10px);left:-12px;background:var(--branco);color:var(--texto);border:1px solid var(--linha);box-shadow:0 24px 60px -24px rgba(0,0,0,.35);padding:24px;border-radius:6px;display:none;z-index:60}
.mega.aberto{display:block}
.mega.mf{width:min(860px,80vw)}
.mega .g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.mega.ms .g{grid-template-columns:minmax(0,1fr);width:380px}
.mega a.f{display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 10px;padding:12px;border-radius:4px;text-decoration:none}
.mega a.f:hover,.mega a.f:focus-visible{background:var(--nevoa)}
.mega a.f .n{grid-row:span 2;font-family:var(--m);font-size:13px;font-weight:500;padding-top:2px}
.mega a.f b{font-size:16px;font-weight:600}
.mega a.f span:last-child{font-size:14px;line-height:20px;color:var(--mudo)}
.mega .pe{margin-top:12px;padding-top:12px;border-top:1px solid var(--linha);font-size:15px}
.idioma{font-family:var(--m);font-size:12px;letter-spacing:.06em;display:flex;gap:2px}
.idioma span{padding:6px 7px;border-radius:3px;opacity:.55}
.idioma span[aria-current]{opacity:1;outline:1px solid currentColor}
.cab .btn{min-height:42px;padding:10px 18px;font-size:15px}
.cab-mob{display:flex;align-items:center;gap:8px;margin-left:auto}
@media (min-width:1024px){.cab-mob{display:none}}
.ico{width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:inherit;cursor:pointer;border-radius:var(--r)}
.menu-mob{position:fixed;inset:0;z-index:70;background:var(--preto);color:var(--branco);display:flex;flex-direction:column;transform:translateY(100%);visibility:hidden;transition:transform .3s var(--curva),visibility .3s}
.menu-mob.aberto{transform:none;visibility:visible}
.menu-mob .topo{height:56px;display:flex;align-items:center;justify-content:space-between;padding-inline:16px;border-bottom:1px solid var(--linha-e)}
.menu-mob .corpo{flex:1;overflow-y:auto;padding:8px 16px 24px}
.menu-mob details{border-bottom:1px solid var(--linha-e)}
.menu-mob summary,.menu-mob .corpo > a{display:flex;justify-content:space-between;align-items:center;min-height:56px;font-size:20px;font-weight:500;cursor:pointer;list-style:none;text-decoration:none}
.menu-mob summary::-webkit-details-marker{display:none}
.menu-mob summary::after{content:"+";font-family:var(--m)}
.menu-mob details[open] summary::after{content:"–"}
.menu-mob .corpo > a{border-bottom:1px solid var(--linha-e)}
.menu-mob details a{display:block;padding:12px 0 12px 12px;text-decoration:none;color:var(--mudo-e)}
.menu-mob details a b{color:var(--branco);font-weight:500}
.menu-mob .pe{padding:16px;border-top:1px solid var(--linha-e)}
.menu-mob .pe .btn{width:100%}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--preto);color:var(--branco);min-height:88vh;display:flex;align-items:flex-end;padding-top:96px}
@media (min-width:1024px){.hero{min-height:min(100vh,880px);align-items:center;padding-top:72px}}
.hero .mapa{position:absolute;right:-12%;top:50%;transform:translateY(-50%);width:min(980px,110vw);opacity:.95;pointer-events:none}
@media (max-width:1023px){.hero .mapa{right:auto;left:50%;top:6%;transform:translateX(-50%);width:130vw;opacity:.6}}
.mapa .ufs path{fill:rgba(255,255,255,.02);stroke:rgba(255,255,255,.22);stroke-width:.8;vector-effect:non-scaling-stroke}
.mapa .ufs path.acesa{animation:acende 7s var(--curva) infinite}
@keyframes acende{0%,100%{fill:rgba(255,255,255,.02)}12%{fill:rgba(181,204,24,.20)}30%{fill:rgba(255,255,255,.02)}}
.mapa .praca circle.n{fill:var(--verde)}
.mapa .praca circle.o{fill:none;stroke:var(--verde);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:onda 2.8s ease-out infinite}
@keyframes onda{from{transform:scale(1);opacity:.9}to{transform:scale(4.5);opacity:0}}
.mapa .rota{fill:none;stroke:var(--verde);stroke-width:1.4;stroke-dasharray:4 8;opacity:.75;animation:fluxo 3s linear infinite}
@keyframes fluxo{to{stroke-dashoffset:-48}}
.mapa text{font-family:var(--m);font-size:15px;fill:var(--mudo-e);letter-spacing:.04em}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,26,26,.92) 0%,rgba(26,26,26,.7) 45%,rgba(26,26,26,0) 75%);pointer-events:none}
@media (max-width:1023px){.hero::after{background:linear-gradient(180deg,rgba(26,26,26,0) 20%,rgba(26,26,26,.85) 55%,var(--preto) 80%)}}
.hero .c{position:relative;z-index:1;width:100%;padding-block:48px 56px}
.hero .txt{max-width:720px;display:flex;flex-direction:column;gap:24px}
@media (min-width:1024px){.hero .txt{max-width:50%}}
.hero .rot{color:var(--verde)}
.hero p{font-size:18px;line-height:28px;color:#d9dacf;margin:0;max-width:56ch}
@media (min-width:1024px){.hero p{font-size:20px;line-height:30px}}

/* ---------- abertura e faixa de prova ---------- */
.abertura p{font-size:18px;line-height:30px}
@media (min-width:1024px){.abertura{text-align:center}.abertura p{font-size:22px;line-height:36px;margin-inline:auto;max-width:44em}}
.prova{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--linha-e)}
@media (min-width:1024px){.prova{grid-template-columns:repeat(4,minmax(0,1fr))}}
.prova > div{background:var(--preto);padding:24px 16px;display:flex;flex-direction:column;gap:8px}
@media (min-width:1024px){.prova > div{padding:40px 32px}}
.prova b{font-size:32px;line-height:36px;font-weight:300;letter-spacing:-.03em;color:var(--branco);font-variant-numeric:tabular-nums}
@media (min-width:1024px){.prova b{font-size:48px;line-height:52px}}
.prova span{font-size:14px;line-height:20px;color:var(--mudo-e)}
.prova .destaque{background:var(--verde)}
.prova .destaque b,.prova .destaque span{color:var(--preto)}

/* ---------- títulos de seção ---------- */
.cabsec{display:grid;gap:16px;margin-bottom:40px}
@media (min-width:1024px){.cabsec{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end;margin-bottom:64px}}
.cabsec p{margin:0;color:var(--texto2)}
.escuro .cabsec p{color:var(--mudo-e)}

/* ---------- frentes ---------- */
.frentes{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){.frentes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.frentes{grid-template-columns:repeat(6,minmax(0,1fr))}.frentes > a{grid-column:span 2}.frentes > a:nth-child(4),.frentes > a:nth-child(5){grid-column:span 3}}
.frentes > a{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--linha);border-radius:6px;text-decoration:none;background:var(--branco);transition:transform .25s var(--curva),border-color .25s,box-shadow .25s}
@media (min-width:1024px){.frentes > a{padding:32px;min-height:280px}}
.frentes > a:hover{transform:translateY(-4px);border-color:var(--preto);box-shadow:0 18px 40px -26px rgba(0,0,0,.4)}
.frentes .n{font-family:var(--m);font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}
.frentes .n i{width:10px;height:10px;border-radius:2px;background:var(--cor)}
.frentes h3{font-weight:600}
.frentes p{margin:0;font-size:16px;line-height:24px;color:var(--texto2)}
.frentes .ir{margin-top:auto;font-weight:600;font-size:15px}
.frentes .ir::after{content:" →"}

/* ---------- segmentos ---------- */
.segs{display:grid;gap:0;border-top:1px solid var(--linha)}
@media (min-width:1024px){.segs{grid-template-columns:repeat(3,minmax(0,1fr));border-top:0;gap:32px}}
.segs a{display:flex;flex-direction:column;gap:12px;padding:24px 0;border-bottom:1px solid var(--linha);text-decoration:none}
@media (min-width:1024px){.segs a{border-top:4px solid var(--preto);border-bottom:0;padding:24px 0 0}}
.segs a:hover h3{text-decoration:underline;text-decoration-color:var(--verde);text-decoration-thickness:3px;text-underline-offset:6px}
.segs p{margin:0;color:var(--texto2);font-size:16px;line-height:26px}

/* ---------- operação integrada (anel) ---------- */
.oi{display:grid;gap:40px;align-items:center}
@media (min-width:1024px){.oi{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px}}
.anel{width:100%;max-width:440px;margin-inline:auto}
.anel .orb{fill:none;stroke:var(--linha-e);stroke-width:1.5}
.anel .no circle{fill:var(--grafite);stroke:var(--linha-e);stroke-width:1.5;transition:fill .3s,stroke .3s}
.anel .no text{font-family:var(--m);font-size:11px;fill:var(--mudo-e);text-anchor:middle}
.anel .no.ativo circle{fill:var(--verde);stroke:var(--verde)}
.anel .no.ativo text{fill:var(--branco)}
.anel .nucleo{fill:var(--preto2);stroke:var(--verde);stroke-width:2}
.anel .pulso{fill:var(--verde)}
.anel .nucleo-t{font-family:var(--m);font-size:11px;fill:var(--verde);text-anchor:middle;letter-spacing:.08em}


/* ---------- método em linhas (estilo da referência) ---------- */
.linhas{border-top:1px solid currentColor}
.linhas .l{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:24px 0;border-bottom:1px solid var(--linha)}
.escuro .linhas .l{border-color:var(--linha-e)}
@media (min-width:1024px){.linhas .l{grid-template-columns:64px minmax(0,4fr) minmax(0,6fr);gap:32px;padding:32px 0;align-items:baseline}}
.linhas .l .n{font-family:var(--m);font-size:13px;font-weight:500;color:var(--verde-t)}
.escuro .linhas .l .n{color:var(--verde)}
.linhas .l h3{font-size:28px;line-height:32px;font-weight:300;letter-spacing:-.03em}
@media (min-width:1024px){.linhas .l h3{font-size:40px;line-height:44px}}
.linhas .l p{grid-column:2;margin:6px 0 0;color:var(--texto2);font-size:16px;line-height:26px}
.escuro .linhas .l p{color:var(--mudo-e)}
@media (min-width:1024px){.linhas .l p{grid-column:3;margin:0;font-size:17px;line-height:28px}}
.linhas .l.ativa .n{color:var(--preto);background:var(--verde);padding:2px 6px;border-radius:2px;justify-self:start}

/* ---------- case em destaque ---------- */
.case{display:grid;gap:32px}
@media (min-width:1024px){.case{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:end}}
.numeros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--linha-e);border:1px solid var(--linha-e)}
@media (min-width:1024px){.numeros{grid-template-columns:minmax(0,1fr)}}
.numeros > div{background:var(--preto);padding:20px}
.numeros b{display:block;font-size:30px;line-height:34px;font-weight:300;letter-spacing:-.03em;color:var(--verde);font-variant-numeric:tabular-nums}
.numeros span{font-size:14px;line-height:20px;color:var(--mudo-e)}
.conferir{font-family:var(--m);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--preto);background:#f0c869;padding:2px 6px;border-radius:2px;vertical-align:middle}

/* ---------- logos e selos ---------- */
.logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--linha-e);border:1px solid var(--linha-e)}
@media (min-width:768px){.logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.logos{grid-template-columns:repeat(6,minmax(0,1fr))}}
.logos div{background:var(--preto);height:104px;display:grid;place-items:center;padding:20px}
.logos img{max-height:46px;width:auto;opacity:.7;filter:grayscale(1);transition:opacity .2s}
.logos div:hover img{opacity:1}
.selos{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.selos span{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--linha-e);border-radius:99px;padding:8px 16px;font-size:14px}
.selos span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--verde)}

/* ---------- insights ---------- */
.ins{display:grid;gap:24px}
@media (min-width:768px){.ins{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ins a{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.ins .img{aspect-ratio:16/9;max-width:100%;overflow:hidden;border-radius:4px;background:var(--nevoa)}
.ins img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--curva)}
.ins a:hover img{transform:scale(1.03)}
.ins h3{font-size:19px;line-height:26px;font-weight:600}
.ins a:hover h3{text-decoration:underline;text-decoration-color:var(--verde);text-decoration-thickness:2px;text-underline-offset:4px}
.lista-not{display:grid;gap:40px 24px}
@media (min-width:768px){.lista-not{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.lista-not{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- tabelas ---------- */
.tab{overflow-x:auto;border-top:1px solid currentColor}
table{border-collapse:collapse;width:100%;font-size:16px;line-height:24px}
th{font-family:var(--m);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;text-align:left;padding:14px 16px 14px 0;color:var(--mudo)}
.escuro th{color:var(--mudo-e)}
td{padding:18px 16px 18px 0;border-top:1px solid var(--linha);vertical-align:top}
.escuro td{border-color:var(--linha-e)}
td:first-child{font-weight:500;width:46%}
.cartoes{display:grid;gap:12px}
@media (min-width:768px){.cartoes{display:none}}
.cartoes .k{border:1px solid var(--linha);border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:8px}
.escuro .cartoes .k{border-color:var(--linha-e)}
.cartoes .k b{font-size:17px;line-height:24px}
.cartoes .k span{font-size:15px;line-height:22px;color:var(--mudo)}
.escuro .cartoes .k span{color:var(--mudo-e)}
@media (max-width:767px){.tab.vira-cartao{display:none}}

/* ---------- serviços ---------- */
.servs{display:grid;gap:16px}
@media (min-width:768px){.servs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.servs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.serv{border:1px solid var(--linha);border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:12px;background:var(--branco);scroll-margin-top:96px}
.escuro .serv{background:var(--grafite);border-color:var(--linha-e)}
.serv .rot{color:var(--verde-t)}
.escuro .serv .rot{color:var(--verde)}
.serv h3{font-size:21px;line-height:28px}
.serv p{margin:0;font-size:16px;line-height:25px;color:var(--texto2)}
.escuro .serv p{color:#cfd0c6}
.serv details{margin-top:auto;border-top:1px solid var(--linha);padding-top:12px}
.escuro .serv details{border-color:var(--linha-e)}
.serv summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none;display:flex;justify-content:space-between}
.serv summary::-webkit-details-marker{display:none}
.serv summary::after{content:"+";font-family:var(--m)}
.serv details[open] summary::after{content:"–"}
.serv details p{margin-top:10px;font-size:15px}
@media (min-width:768px){.serv details:not([open]) > p{display:none}}

/* ---------- método da frente (stepper com painel fixo) ---------- */
.step{display:grid;gap:32px}
@media (min-width:1024px){.step{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}.step .fixo{position:sticky;top:120px}}

/* ---------- limites ---------- */
.lim{display:grid;gap:24px}
@media (min-width:768px){.lim{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
.lim > div{border-top:4px solid var(--verde);padding-top:16px}
.lim > div.nao{border-color:var(--mudo)}
.lim ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}
.lim li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;font-size:16px;line-height:24px}
.lim li::before{font-family:var(--m);font-weight:500}
.lim .sim li::before{content:"✓";color:var(--verde-t)}
.escuro .lim .sim li::before{color:var(--verde)}
.lim .nao li::before{content:"×";color:var(--mudo)}

/* ---------- perguntas ---------- */
.faq details{border-top:1px solid var(--linha)}
.escuro .faq details{border-color:var(--linha-e)}
.faq details:last-child{border-bottom:1px solid var(--linha)}
.faq summary{display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-size:19px;line-height:26px;font-weight:500;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--m);font-size:20px;flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:22px;margin:0;color:var(--texto2)}
.escuro .faq details p{color:var(--mudo-e)}

/* ---------- etiquetas ---------- */
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span,.tags a{font-family:var(--m);font-size:12.5px;border:1px solid currentColor;border-radius:3px;padding:5px 10px;text-decoration:none;opacity:.85}

/* ---------- formulário ---------- */
.form{display:grid;gap:16px}
.form .duas{display:grid;gap:16px}
@media (min-width:768px){.form .duas{grid-template-columns:repeat(2,minmax(0,1fr))}}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label,.campo legend{font-size:14px;font-weight:600}
.campo input,.campo select,.campo textarea{font:inherit;font-size:16px;min-height:48px;padding:12px 14px;border:1px solid #b9bbb0;border-radius:var(--r);background:var(--branco);color:var(--texto);width:100%}
.campo textarea{min-height:120px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid var(--verde);outline-offset:0;border-color:var(--preto)}
.campo .ajuda{font-size:13px;line-height:18px;color:var(--mudo)}
.campo .erro-c{font-size:14px;color:#a3240f;font-weight:500}
.escuro .campo .ajuda{color:var(--mudo-e)}
.escuro .campo .erro-c{color:#ffb4a0}
.check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;font-size:15px;line-height:22px}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--verde)}
fieldset{border:0;padding:0;margin:0}
.opcoes{display:grid;gap:8px}
@media (min-width:768px){.opcoes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso{border-left:4px solid #a3240f;background:#fff1ec;color:#5b1407;padding:12px 16px;border-radius:0 4px 4px 0;font-weight:500}
.sucesso{border-left:4px solid var(--verde);background:#f6f9e4;color:var(--preto);padding:20px;border-radius:0 6px 6px 0}
.cta-f{display:grid;gap:40px}
@media (min-width:1024px){.cta-f{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}}

/* ---------- rodapé ---------- */
.rod{background:var(--preto);color:var(--branco);padding-block:64px 32px}
.rod .cols{display:grid;gap:8px}
@media (min-width:1024px){.rod .cols{grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:40px}}
.rod h4{font-family:var(--m);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mudo-e);font-weight:500;margin-bottom:14px}
.rod ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px;line-height:22px}
.rod a{text-decoration:none;color:#d9dacf}
.rod a:hover{color:var(--verde)}
@media (max-width:1023px){
  .rod details{border-bottom:1px solid var(--linha-e)}
  .rod summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-weight:500}
  .rod summary::after{content:"+";font-family:var(--m)}
  .rod details[open] summary::after{content:"–"}
  .rod details ul{padding-bottom:16px}
}
@media (min-width:1024px){.rod summary{pointer-events:none;list-style:none;font-family:var(--m);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mudo-e);margin-bottom:14px}.rod summary::-webkit-details-marker{display:none}}
.pracas{display:grid;gap:16px;margin-top:48px;padding-top:32px;border-top:1px solid var(--linha-e)}
@media (min-width:768px){.pracas{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pracas div{font-size:14px;line-height:21px;color:var(--mudo-e)}
.pracas b{display:block;color:var(--branco);font-size:16px;margin-bottom:2px}
.rod .legal{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid var(--linha-e);font-size:13px;color:var(--mudo-e)}
.rod .legal .lnk{display:flex;flex-wrap:wrap;gap:8px 20px}
.rod .legal button{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}

/* ---------- barra fixa no celular ---------- */
.barra-mob{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--branco);border-top:1px solid var(--linha);transform:translateY(110%);transition:transform .3s var(--curva)}
.barra-mob .btn{width:100%}
.barra-mob.ve{transform:none}
@media (min-width:1024px){.barra-mob{display:none}}

/* ---------- consentimento ---------- */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:560px;background:var(--preto);color:var(--branco);border:1px solid var(--linha-e);border-radius:8px;padding:20px;box-shadow:0 24px 60px -20px rgba(0,0,0,.6);display:none}
.consent.ve{display:block}
.consent p{font-size:14px;line-height:21px;color:#d9dacf;margin:0 0 14px}
.consent .btns .btn{flex:1;min-height:44px;font-size:15px}
.consent .btn.s{color:var(--branco)}
.consent .pref{display:none;margin:0 0 14px;gap:10px}
.consent.prefs .pref{display:grid}
.consent .pref label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:14px}

/* ---------- páginas internas ---------- */
.topo-int{padding-block:56px 40px;border-bottom:1px solid var(--linha)}
@media (min-width:1024px){.topo-int{padding-block:96px 64px}}
.topo-int .rot{margin-bottom:16px}
.topo-int p{font-size:18px;line-height:28px;color:var(--texto2);margin:20px 0 0}
.hero-int{background:var(--preto);color:var(--branco);padding-block:120px 64px;position:relative;overflow:hidden}
@media (min-width:1024px){.hero-int{padding-block:200px 112px}}
.hero-int.claro{background:var(--nevoa);color:var(--texto)}
.hero-int .c{position:relative;z-index:1}
.hero-int .txt{max-width:820px;display:flex;flex-direction:column;gap:24px}
.hero-int .rot{display:inline-flex;align-items:center;gap:10px}
.hero-int .rot i{width:12px;height:12px;border-radius:2px;background:var(--cor,var(--verde))}
.hero-int p{font-size:18px;line-height:28px;margin:0;color:#d9dacf;max-width:60ch}
.hero-int.claro p{color:var(--texto2)}
.hero-int canvas.fundo{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.corpo-txt p{font-size:18px;line-height:30px}
.corpo-txt p:first-child{font-size:22px;line-height:34px;font-weight:500;letter-spacing:-.01em}
@media (min-width:1024px){.corpo-txt p:first-child{font-size:28px;line-height:40px}}
.artigo{max-width:760px;margin-inline:auto}
.artigo .corpo{font-size:18px;line-height:30px;color:var(--texto2)}
.artigo .corpo h2,.artigo .corpo h3{font-weight:600;color:var(--texto);margin:1.4em 0 .5em;font-size:24px;line-height:32px}
.artigo .corpo p:empty{display:none}
.artigo .corpo a{text-decoration-color:var(--verde);text-decoration-thickness:2px}
.artigo .corpo img{border-radius:4px;margin:1em 0}
.artigo figure{margin:32px 0}
.artigo figure img{width:100%;border-radius:4px}
.linha-tempo{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.linha-tempo li{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--linha)}
.linha-tempo b{font-size:24px;font-weight:300;letter-spacing:-.02em}
.mapa-sobre{max-width:560px}
.mapa-sobre .ufs path{fill:var(--nevoa);stroke:#c9cbbf;stroke-width:.8;vector-effect:non-scaling-stroke}
.mapa-sobre text{font-family:var(--m);font-size:22px;fill:var(--texto)}
.mapa-sobre .praca circle.n{fill:var(--preto)}
.mapa-sobre .praca circle.o{fill:none;stroke:var(--verde-t);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:onda 2.8s ease-out infinite}
.dia{display:grid;gap:0;border-top:1px solid var(--linha-e)}
.dia li{list-style:none;display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--linha-e)}
@media (min-width:1024px){.dia li{grid-template-columns:120px 220px minmax(0,1fr);gap:32px}}
.dia time{font-family:var(--m);font-size:20px;color:var(--verde);font-variant-numeric:tabular-nums}
.dia .q{font-family:var(--m);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mudo-e)}
@media (max-width:1023px){.dia .q{grid-column:2}.dia p{grid-column:2}}
.dia p{margin:0;color:#d9dacf}

/* ---------- revelação ao rolar (o conteúdo existe sem JS) ---------- */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .4s var(--curva),transform .4s var(--curva)}
.js .rv.ok{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
}

/* logo maior em telas grandes (só o tamanho de exibição; a logo não é alterada) */
@media (min-width:1600px){.cab{height:88px}body{padding-top:88px}.cab .marca img{height:100px;margin-left:-14px}}

/* cabeçalho em telas médias (1024–1279 px): nada quebra linha */
.nav > a,.nav > .item > button,.nav .btn{white-space:nowrap}
@media (min-width:1024px) and (max-width:1279px){
  .cab .marca img{height:60px;margin-left:-10px}
  .nav > a,.nav > .item > button{padding:10px 8px;font-size:14px}
  .nav .idioma{display:none}
  .nav .btn{padding:10px 16px;font-size:15px}
}
