/* Reset css */
* { margin:0; padding:0 }
img { border:none }
fieldset { border:none }
a { outline:none; text-decoration:none}
a:hover { text-decoration:underline}
ul li, ol li { list-style-type:none }
address { font-style:normal; display:block }
h1, h2, h3, h4, h5, h6{ padding:0; margin:0; font-size:inherit; font-weight:normal }
textarea{font-family:inherit; font-size:inherit; overflow:auto}
input[type="search"] {
    -webkit-appearance: textfield;
}
/* fim reset */

* {
    box-sizing: border-box;
}


/* ==========================================================================
   Tokens
   Cores retiradas da logomarca do cliente: verde institucional #029A4D,
   amarelo do monograma #F6F007 e preto do lettering.
   ========================================================================== */

:root{
    --color1: #029A4D;
    --darkcolor1: #016B36;
    --color2: #F6F007;
    --darkcolor2: #DAD400;
    --textcolor: #4B534E;

    --verde: #029A4D;
    --verde-escuro: #016B36;
    --verde-profundo: #014D27;
    --verde-fundo: #EDF7F1;
    --amarelo: #F6F007;
    --amarelo-escuro: #DAD400;
    --preto: #131614;
    --titulo: #14201A;
    --texto: #4B534E;
    --texto-claro: #6E7872;
    --borda: #E3E8E5;
    --borda-forte: #CFD8D3;
    --fundo: #FFFFFF;
    --fundo-alt: #F6F9F7;
    --placeholder: #eee;

    --raio: 8px;
    --raio-g: 14px;
    --raio-gg: 22px;

    --sombra-p: 0 1px 2px rgba(19,22,20,.04), 0 2px 8px rgba(19,22,20,.04);
    --sombra: 0 2px 4px rgba(19,22,20,.04), 0 12px 28px rgba(19,22,20,.07);
    --sombra-g: 0 4px 8px rgba(19,22,20,.05), 0 24px 48px rgba(19,22,20,.11);
    --sombra-verde: 0 6px 16px rgba(2,154,77,.24);

    --painel-fundo: linear-gradient(145deg,#fff 0%,#f3f7f4 100%);
    --painel-borda: 1px solid rgba(5,46,35,.14);
    --painel-raio: 12px;
    --painel-sombra: 0 16px 36px rgba(5,46,35,.1), inset 0 1px 0 rgba(255,255,255,.9);

    --mola: cubic-bezier(.2,.7,.3,1);
    --transicao: all .25s var(--mola);
}

body{
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: var(--texto);
    background: var(--fundo);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6{
    font-family: 'Barlow Condensed', sans-serif;
    color: var(--titulo);
    font-weight: 600;
    line-height: 1.24;
    letter-spacing: -.015em;
}

/* ==========================================================================
   Direcao premium 2026 — engenharia industrial
   ========================================================================== */

:root{
    --verde: #07964f;
    --verde-escuro: #063f2c;
    --verde-profundo: #052e23;
    --amarelo: #f0e91d;
    --preto: #07110d;
    --titulo: #0b2118;
    --texto: #44554d;
    --texto-claro: #66776f;
    --fundo-alt: #f2f5f2;
    --raio: 5px;
    --raio-g: 10px;
    --raio-gg: 18px;
}

.topo{ position: relative; z-index: 900; }
.topo-principal{ background: rgba(255,255,255,.97); }
.topo-principal-in{ min-height: 108px; }
.logo{
    position: relative; align-self: stretch; width: 306px; min-height: 108px;
    display: flex; align-items: center; padding: 12px 20px 20px;
    background: #fff; border-left: 1px solid var(--borda); border-right: 1px solid var(--borda);
    box-shadow: 0 10px 30px rgba(5,46,35,.08); overflow: hidden;
}
.logo::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg,var(--verde) 0 72%,var(--amarelo) 72%); }
.logo img{ width: 266px; height: 76px; object-fit: cover; object-position: center; border-radius: 5px; }
.logo-legenda{ position: absolute; left: 26px; bottom: 8px; color: var(--verde-profundo); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.rolando .topo-principal-in{ min-height: 78px; }
.rolando .logo{ min-height: 78px; padding-top: 8px; padding-bottom: 13px; }
.rolando .logo img{ width: 220px; height: 54px; }
.rolando .logo-legenda{ display: none; }
.menu > ul a{ font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.menu > ul a i{ color: var(--verde); margin-right: 5px; opacity: .78; }
.bt{ border-radius: 4px; text-transform: uppercase; letter-spacing: .035em; font-size: 13px; }

.banner{
    min-height: 690px; padding: 0;
    background: linear-gradient(90deg, rgba(3,25,18,.98) 0%, rgba(4,37,26,.91) 35%, rgba(4,37,26,.25) 69%, rgba(4,37,26,.04) 100%),
                url('../images/premium/hero-locacao-caldeiras.webp') center / cover no-repeat;
    color: #fff;
}
.banner::before{ inset:0; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(90deg,rgba(240,233,29,.18) 1px,transparent 1px); background-size:84px 100%; opacity:.16; }
.banner::after{ right:auto; left:0; bottom:0; width:100%; height:5px; border:0; border-radius:0; background:linear-gradient(90deg,var(--amarelo) 0 33%,rgba(255,255,255,.13) 33%); }
.banner-in{ min-height: 690px; grid-template-columns: minmax(0, 640px) 1fr; gap: 30px; }
.banner-texto{ padding: 76px 0 82px; }
.banner-selo{ background:rgba(6,63,44,.78); border-color:rgba(255,255,255,.16); color:#fff; box-shadow:none; }
.banner-selo::before{ display:none; }
.banner-selo i{ color:var(--amarelo); }
.banner-texto h1{ color:#fff; font-size:72px; line-height:.96; text-transform:uppercase; letter-spacing:-.025em; max-width:620px; }
.banner-texto h1 em{ color:var(--amarelo); font-style:normal; display:block; }
.banner-desc{ color:rgba(255,255,255,.78); max-width:600px; font-size:17px; }
.banner-numeros{ border-color:rgba(255,255,255,.17); }
.banner-numeros li{ padding-left:34px; }
.banner-numeros li::before{ top:-1px; }
.banner-numeros li > i{ position:absolute; left:0; top:18px; color:var(--amarelo); font-size:18px; }
.banner-numeros strong{ color:#fff; }
.banner-numeros span{ color:rgba(255,255,255,.58); }
.banner-figura{ align-self:stretch; }
.banner-figura::before{ display:none; }
.banner-flutuante{ left:auto; right:0; bottom:50px; background:rgba(5,46,35,.9); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(10px); border-radius:7px; }
.banner-flutuante strong{ color:#fff; }
.banner-flutuante span{ color:rgba(255,255,255,.64); }
.banner-flutuante-marca{ display:grid!important; place-items:center; background:var(--amarelo); color:var(--verde-profundo)!important; }
.banner-flutuante-marca::after{ display:none; }
.banner-etiqueta{ position:absolute; right:0; top:45px; padding-left:48px; color:rgba(255,255,255,.82); font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-size:13px; letter-spacing:.1em; line-height:1.15; }
.banner-etiqueta span{ position:absolute; left:0; top:-5px; color:var(--amarelo); font-size:34px; font-weight:800; }

.servicos{ position:relative; background:#fff; }
.servicos::before, .empresa::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.28; background-image:linear-gradient(135deg,rgba(5,46,35,.06) 25%,transparent 25%),linear-gradient(315deg,rgba(5,46,35,.06) 25%,transparent 25%); background-position:8px 0,8px 0; background-size:16px 16px; }
.servicos .center,.empresa .center{ position:relative; z-index:1; }
.servico-icone{ display:grid; place-items:center; background:var(--verde-profundo); color:var(--amarelo); font-size:22px; border-radius:7px; }
.servicos-lista li{ border-radius:8px; box-shadow:0 10px 34px rgba(5,46,35,.04); }
.servicos-lista li:hover .servico-icone{ background:var(--amarelo); color:var(--verde-profundo); transform:rotate(-4deg) scale(1.06); }
.secao-tag{ display:flex; align-items:center; gap:9px; }
.secao-tag::before{ content:""; width:24px; height:3px; background:var(--amarelo); box-shadow:10px 0 0 var(--verde); }
.secao-topo h2,.empresa-texto h2{ text-transform:uppercase; font-size:40px; }

.empresa{ position:relative; overflow:hidden; background:#eaf0eb; }
.empresa-imagem{ min-height:480px; position:relative; box-shadow:none; }
.empresa-foto{ position:absolute; overflow:hidden; border:8px solid #fff; box-shadow:0 20px 45px rgba(5,46,35,.18); }
.empresa-foto img{ width:100%; height:100%; object-fit:cover; }
.empresa-foto-principal{ inset:0 18% 11% 0; }
.empresa-foto-secundaria{ width:47%; height:44%; right:0; bottom:0; }
.empresa-imagem-selo{ position:absolute; left:-15px; bottom:36px; background:var(--amarelo); color:var(--verde-profundo); padding:12px 18px; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; box-shadow:0 8px 20px rgba(5,46,35,.17); }

.grade-atuacao li{ position:relative; padding-top:62px; overflow:hidden; }
.grade-atuacao li > i{ position:absolute; left:24px; top:20px; color:var(--verde); font-size:24px; transition:transform .3s var(--mola); }
.grade-atuacao li:hover > i{ transform:scale(1.15) rotate(-5deg); color:var(--verde-profundo); }
.passo-numero{ width:58px; height:58px; border-radius:6px; position:relative; }
.passo-numero i{ font-size:20px; }

.rodape-cta{ min-height:420px; display:flex; align-items:center; padding:72px 0; background:linear-gradient(90deg,rgba(4,36,26,.98) 0%,rgba(4,36,26,.92) 45%,rgba(4,36,26,.35) 100%),url('../images/premium/cta-equipamentos-conceito.webp') center / cover no-repeat; }
.rodape-cta::before{ inset:0; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:84px 100%; }
.rodape-cta::after{ width:5px; height:48%; left:0; right:auto; bottom:26%; background:var(--amarelo); }
.rodape-cta-in > div:first-child{ max-width:680px; }
.rodape-cta-tag{ color:var(--amarelo)!important; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.rodape-cta h2{ font-size:46px; text-transform:uppercase; line-height:1; }
.rodape-marca img{ background:#fff; padding:5px; }
.rodape-sociais a{ width:38px; height:38px; display:grid; place-items:center; padding:0; border-radius:50%; font-size:15px; }

@media(min-width:1024px){ .topo-principal{ position:sticky; top:0; } }
@media(max-width:1169px) and (min-width:1024px){ .logo{ width:250px; } .logo img{ width:210px; } .banner-texto h1{ font-size:58px; } }
@media(max-width:1023px){
    .topo-principal{ background:#fff; }
    .topo-principal-in{ min-height:84px; }
    .logo{ width:220px; min-height:84px; padding:8px 12px 13px; border-left:0; }
    .logo img{ width:196px; height:57px; }
    .logo-legenda{ display:none; }
    .menu-toggle span{ background:var(--verde-profundo); }
    .banner,.banner-in{ min-height:650px; }
    .banner{ background-position:66% center; }
    .banner::before{ background:linear-gradient(90deg,rgba(3,25,18,.94),rgba(3,25,18,.68)); opacity:1; }
    .banner-in{ grid-template-columns:1fr; }
    .banner-texto{ padding:70px 0 160px; }
    .banner-texto h1{ font-size:54px; }
    .banner-figura{ position:static; order:initial; }
    .banner-etiqueta{ display:none; }
    .banner-flutuante{ left:20px; right:20px; bottom:35px; }
    .empresa-imagem{ min-height:420px; aspect-ratio:auto; }
    .rodape-cta{ min-height:500px; background-position:63% center; }
    .rodape-cta h2{ font-size:36px; }
}
@media(max-width:559px){
    .logo{ width:190px; }
    .logo img{ width:166px; height:51px; }
    .banner-texto h1{ font-size:43px; }
    .banner-numeros{ grid-template-columns:1fr 1fr; }
    .banner-numeros li:last-child{ grid-column:1/-1; }
    .empresa-imagem{ min-height:350px; }
    .rodape-cta h2{ font-size:31px; }
}

.categoria-imagem{ background:var(--verde-profundo); }
.categoria-imagem img{ transition:transform .65s var(--mola), filter .45s var(--mola); }
.grade-categorias > li:hover .categoria-imagem img{ transform:scale(1.045); filter:brightness(1.06); }
.sobre-imagem-real{ position:relative; overflow:hidden; background:var(--verde-profundo); border-radius:var(--raio-gg); box-shadow:var(--sombra-g); }
.sobre-imagem-real img{ width:100%; height:100%; object-fit:cover; }
.sobre-imagem-real::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 56%,rgba(3,30,21,.8)); pointer-events:none; }
.sobre-imagem-real > span{ position:absolute; z-index:1; left:22px; bottom:20px; background:var(--amarelo); color:var(--verde-profundo); padding:10px 14px; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.estrutura-icone{ display:grid; place-items:center; background:var(--verde-profundo); color:var(--amarelo); font-size:22px; border-radius:7px; }
.card-imagem img,.produto-imagem img{ object-fit:cover; }

/* Ajustes solicitados: logo integral e hero mais limpo */
.topo-principal-in{ min-height:132px; }
.logo{
    width:auto;
    min-height:0;
    align-self:auto;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:visible;
}
.logo::after{ display:none; }
.logo img{
    width:160px;
    height:auto;
    max-width:none;
    object-fit:initial;
    object-position:initial;
    border-radius:0;
}
.rolando .topo-principal-in{ min-height:92px; }
.rolando .logo{ min-height:0; padding:0; }
.rolando .logo img{ width:105px; height:auto; }
.banner-in{ grid-template-columns:minmax(0,640px) 1fr; }
.banner-texto{ padding:96px 0; }
.banner-botoes{ margin-bottom:0; }

@media(max-width:1023px){
    .topo-principal-in{ min-height:80px; }
    .logo{ width:auto; min-height:0; padding:0; }
    .logo img{ width:92px; height:auto; }
    .banner,.banner-in{ min-height:590px; }
    .banner-in{ display:block; }
    .banner-texto{ max-width:640px; padding:88px 0; }
}
@media(max-width:559px){
    .logo{ width:auto; }
    .logo img{ width:86px; height:auto; }
    .banner,.banner-in{ min-height:560px; }
    .banner-texto{ padding:72px 0; }
}

/* Mantem o enquadramento das imagens identico do desktop ao mobile. */
.categoria-imagem{ width:100%; min-height:0; aspect-ratio:4 / 3; }
.card-imagem,
.produto-imagem,
.item-imagem{ aspect-ratio:1 / 1; }
.empresa-imagem,
.sobre-imagem,
.sobre-qualidade-imagem{ min-height:0; aspect-ratio:4 / 3; }
.categoria-imagem img,
.card-imagem img,
.produto-imagem img,
.item-imagem img,
.empresa-imagem img,
.sobre-imagem img,
.sobre-qualidade-imagem img{ width:100%; height:100%; object-fit:cover; }

/* Alinhamento final da colagem com a coluna de texto no desktop. */
@media(min-width:1024px){
    .empresa-in{ align-items:stretch; }
    .empresa-imagem{
        align-self:stretch;
        width:100%;
        height:auto;
        min-height:100%;
        aspect-ratio:auto;
    }
    .empresa-foto-principal{ inset:0 18% 9% 0; }
    .empresa-foto-secundaria{ width:48%; height:42%; }
    .empresa-imagem-selo{ bottom:34px; }
}
@media(max-width:1023px){
    .empresa-imagem{ width:100%; min-height:0; aspect-ratio:4 / 3; }
}

/* Topo verde-salvia: mais leve, integrado ao banner e sem ornamentos extras. */
.topo-principal{
    background:rgba(232,239,233,.96);
    border-bottom:1px solid rgba(5,46,35,.1);
    box-shadow:none;
    -webkit-backdrop-filter:saturate(115%) blur(12px);
    backdrop-filter:saturate(115%) blur(12px);
}
.topo-principal-in{ min-height:116px; }
.logo img{ width:140px; height:auto; }
.topo-principal.rolando{
    background:rgba(238,243,239,.97);
    box-shadow:0 10px 28px rgba(5,46,35,.1);
}
.rolando .topo-principal-in{ min-height:86px; }
.rolando .logo img{ width:98px; height:auto; }
.menu > ul a{ color:#17362a; }

@media(min-width:1024px){
    .home .topo{
        position:absolute;
        top:0;
        left:0;
        width:100%;
    }
    .home .topo-principal{
        position:relative;
        top:auto;
        background:rgba(226,237,228,.86);
        border-bottom-color:rgba(255,255,255,.28);
    }
    .home .banner-texto{ padding-top:176px; }
}

@media(max-width:1023px){
    .topo-principal-in{ min-height:84px; }
    .logo img{ width:92px; height:auto; }
}
@media(max-width:559px){
    .topo-principal-in{ min-height:78px; }
    .logo img{ width:84px; height:auto; }
}

/* Teste: topo transparente sobre a fotografia apenas na home desktop. */
@media(min-width:1024px){
    .home .topo-principal{
        background:rgba(3,31,22,.36);
        border-bottom:1px solid rgba(255,255,255,.2);
        box-shadow:0 18px 42px rgba(1,18,12,.28);
        -webkit-backdrop-filter:saturate(120%) blur(11px);
        backdrop-filter:saturate(120%) blur(11px);
    }
    .home .menu > ul a{ color:rgba(255,255,255,.92); text-shadow:0 1px 8px rgba(0,0,0,.26); }
    .home .menu > ul a:hover{ color:var(--amarelo); }
    .home .menu > ul a::after{ background:var(--amarelo); }
    .home .banner{
        box-shadow:inset 0 190px 145px -105px rgba(1,20,14,.92);
    }
    .home .topo-principal.rolando{
        background:rgba(4,43,30,.66);
        box-shadow:0 16px 36px rgba(1,18,12,.32);
    }
    .home .banner,
    .home .banner-in{
        height:100vh;
        height:100svh;
        min-height:100vh;
        min-height:100svh;
        max-height:none;
    }
}

/* Atalho de retorno ao inicio da pagina. */
.voltar-topo{
    position:fixed;
    z-index:1500;
    left:22px;
    bottom:22px;
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    padding:0;
    color:var(--verde-profundo);
    background:linear-gradient(145deg,#fff93a 0%,var(--amarelo) 48%,#d8cf00 100%);
    border:1px solid rgba(5,46,35,.18);
    border-radius:50%;
    box-shadow:0 5px 0 rgba(5,46,35,.72), 0 12px 28px rgba(5,46,35,.26);
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(14px) scale(.88);
    transition:opacity .24s var(--mola), visibility .24s, transform .24s var(--mola), box-shadow .2s var(--mola), background .2s var(--mola);
}
.voltar-topo.visivel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
}
.voltar-topo svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.voltar-topo:hover{
    background:linear-gradient(145deg,#ffff66 0%,#f8f22e 58%,#e2da00 100%);
    box-shadow:0 3px 0 rgba(5,46,35,.72), 0 10px 22px rgba(5,46,35,.3);
    transform:translateY(2px) scale(1);
}
.voltar-topo:focus-visible{
    outline:3px solid #fff;
    outline-offset:3px;
    box-shadow:0 0 0 6px var(--verde-profundo), 0 12px 28px rgba(5,46,35,.3);
}
.voltar-topo:active{ transform:translateY(4px) scale(.97); }

@media(max-width:559px){
    .voltar-topo{
        left:16px;
        bottom:16px;
        width:46px;
        height:46px;
    }
    .voltar-topo svg{ width:21px; height:21px; }
}

@media(prefers-reduced-motion:reduce){
    .voltar-topo{ transition:none; }
}

/* No desktop, a colagem institucional acompanha a altura real do texto. */
@media(min-width:1024px){
    .empresa-in{ align-items:stretch; }
    .empresa-imagem{
        align-self:stretch;
        width:100%;
        height:auto;
        min-height:100%;
        aspect-ratio:auto;
    }
    .empresa-foto-principal{ inset:0 18% 9% 0; }
    .empresa-foto-secundaria{ width:48%; height:42%; }
    .empresa-imagem-selo{ bottom:34px; }
}
@media(max-width:1023px){
    .empresa-imagem{
        width:100%;
        min-height:0;
        aspect-ratio:4 / 3;
    }
}

/* Proporcoes visuais invariaveis em todos os breakpoints. */
.categoria-imagem{ width:100%; aspect-ratio:4 / 3; min-height:0; }
.card-imagem,
.produto-imagem,
.item-imagem{ aspect-ratio:1 / 1; }
.empresa-imagem,
.sobre-imagem,
.sobre-qualidade-imagem{ aspect-ratio:4 / 3; }
.categoria-imagem img,
.card-imagem img,
.produto-imagem img,
.item-imagem img,
.empresa-imagem img,
.sobre-imagem img,
.sobre-qualidade-imagem img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Headline em exatamente duas linhas no desktop. */
@media(min-width:1170px){
    .banner-in{ grid-template-columns:minmax(0,800px) 1fr; gap:20px; }
    .banner-texto{ max-width:800px; }
    .banner-texto h1{ max-width:none; }
    .banner-texto h1 span,
    .banner-texto h1 em{ display:block; }
    .banner-texto h1 span{ white-space:nowrap; }
}
@media(min-width:1024px) and (max-width:1169px){
    .banner-in{ grid-template-columns:minmax(0,680px) 1fr; gap:20px; }
    .banner-texto{ max-width:680px; }
    .banner-texto h1 span,
    .banner-texto h1 em{ display:block; }
    .banner-texto h1 span{ white-space:nowrap; }
}
@media(max-width:1023px){
    .banner-texto h1 span,
    .banner-texto h1 em{ display:block; }
    .banner-texto h1 span{ white-space:normal; }
}

/* Implementacao definitiva dos headers internos — final da cascata. */
.internas .pagina-topo{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-height:300px;
    display:flex;
    align-items:center;
    padding:58px 0 64px;
    border-bottom:4px solid var(--amarelo);
    background-image:
        linear-gradient(90deg,rgba(4,31,23,.97) 0%,rgba(4,38,27,.91) 48%,rgba(4,38,27,.36) 78%,rgba(4,38,27,.16) 100%),
        url('../images/premium/header-internas-conceito.webp');
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}
.internas .pagina-topo::after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    opacity:.14;
    background:linear-gradient(90deg,rgba(240,233,29,.22) 1px,transparent 1px);
    background-size:84px 100%;
}
.internas .pagina-topo .center{ position:relative; z-index:1; }
.internas .pagina-topo h1{
    color:#fff;
    font-size:46px;
    text-transform:uppercase;
    margin-bottom:12px;
}
.internas .pagina-topo-desc{ color:rgba(255,255,255,.74); max-width:760px; }
.internas .pagina-topo .breadcrumb a{ color:rgba(255,255,255,.64); }
.internas .pagina-topo .breadcrumb a:hover{ color:var(--amarelo); }
.internas .pagina-topo .breadcrumb a::after{ color:rgba(255,255,255,.3); }
.internas .pagina-topo .breadcrumb span{ color:#fff; }

@media(max-width:1023px){
    .internas .pagina-topo{ min-height:250px; padding:44px 0 48px; background-position:65% center; }
    .internas .pagina-topo h1{ font-size:36px; }
}
@media(max-width:559px){
    .internas .pagina-topo{ min-height:230px; padding:36px 0 40px; }
    .internas .pagina-topo h1{ font-size:31px; }
}

/* Banner principal ocupa a primeira tela inteira no desktop. */
@media(min-width:1024px){
    .banner,
    .banner-in{
        height:100vh;
        min-height:680px;
        max-height:100vh;
    }
    .banner-in{ align-items:center; }
    .banner-texto{ padding:64px 0; }
}

/* Fundo panoramico comum aos cabecalhos das paginas internas. */
.pagina-topo{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-height:300px;
    display:flex;
    align-items:center;
    padding:58px 0 64px;
    border-bottom:4px solid var(--amarelo);
    background:
        linear-gradient(90deg,rgba(4,31,23,.96) 0%,rgba(4,38,27,.9) 47%,rgba(4,38,27,.32) 78%,rgba(4,38,27,.12) 100%),
        url('../images/premium/header-internas-conceito.webp') center / cover no-repeat;
}
.pagina-topo::after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    opacity:.14;
    background:linear-gradient(90deg,rgba(240,233,29,.22) 1px,transparent 1px);
    background-size:84px 100%;
}
.pagina-topo .center{ position:relative; z-index:1; }
.pagina-topo h1{ color:#fff; font-size:46px; text-transform:uppercase; margin-bottom:12px; }
.pagina-topo-desc{ color:rgba(255,255,255,.72); max-width:760px; }
.pagina-topo .breadcrumb{ color:rgba(255,255,255,.7); }
.pagina-topo .breadcrumb a{ color:rgba(255,255,255,.62); }
.pagina-topo .breadcrumb a:hover{ color:var(--amarelo); }
.pagina-topo .breadcrumb a::after{ color:rgba(255,255,255,.28); }
.pagina-topo .breadcrumb span{ color:#fff; }

@media(max-width:1023px){
    .pagina-topo{ min-height:250px; padding:44px 0 48px; background-position:65% center; }
    .pagina-topo h1{ font-size:36px; }
}
@media(max-width:559px){
    .pagina-topo{ min-height:230px; padding:36px 0 40px; }
    .pagina-topo h1{ font-size:31px; }
}

p{ margin: 0 0 14px; }
p:last-child{ margin-bottom: 0; }

a{ color: var(--verde); transition: var(--transicao); }
a:hover{ color: var(--verde-escuro); }

img{ max-width: 100%; height: auto; display: block; }

:focus-visible{
    outline: 3px solid rgba(2,154,77,.45);
    outline-offset: 2px;
    border-radius: 3px;
}

::selection{ background: var(--amarelo); color: var(--preto); }


/* Editor de texto */
.html-text{word-break: break-word;}
.html-text::after{content: " ";display: table;clear: both;}
.html-text .wrapper{padding: 0 10px;}
.html-text{font-size: 16px;line-height: 1.75; color: var(--texto);}
.html-text h1,
.html-text h2,
.html-text h3,
.html-text h4,
.html-text h5{margin-bottom: 18px;color: var(--titulo);}
.html-text p{margin-bottom: 14px;}
.html-text p:last-child{margin: 0;}
.html-text a{color: var(--verde);}
.html-text img{max-width: 100%;height: auto !important;border-radius: var(--raio);}
.html-text iframe{max-width: 100%;}
.html-text table{width: 100%;border: 0;border-collapse: collapse;}
.html-text table tbody tr:nth-child(even){background-color: var(--fundo-alt);}
.html-text table td{vertical-align: top;padding: 8px 10px;}
.html-text h1{font-size: 30px;}
.html-text h2{font-size: 24px;}
.html-text h3{font-size: 19px;}
.html-text ul,
.html-text ol{padding-left: 4px;margin-bottom: 14px;}
.html-text ol{padding-left: 20px;}
.html-text ol li{list-style-type: decimal;margin-bottom: 8px;}
.html-text ul li{
    position: relative;
    padding-left: 26px;
    margin-bottom: 8px;
}
.html-text ul li::before{
    content: "";
    position: absolute;
    left: 2px;
    top: 11px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--verde);
}
@media(max-width: 1023px){
    .html-text table{width: 100% !important;}
    .html-text table td{display: block;}
}
/* Fim Editor de texto */


.botao{font-size:1px; text-indent:-9999px; display:block;}
.clear{clear:both;}
.clearfix::after{content: " ";display: table;clear: both;}

.center{max-width: 1220px;width: 100%; margin: 0 auto; padding: 0 24px;}

.pular-conteudo{
    position: absolute;
    left: -9999px;
    top: 0;
    background: var(--verde);
    color: #fff;
    padding: 10px 18px;
    z-index: 2000;
}
.pular-conteudo:focus{ left: 0; }


/* ==========================================================================
   Revelação no scroll
   ========================================================================== */

.revelar{
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .7s var(--mola), transform .7s var(--mola);
    will-change: opacity, transform;
}
.revelar.visivel{ opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce){
    .revelar{ opacity: 1 !important; transform: none !important; transition: none !important; }
    *{ animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* ==========================================================================
   Áreas reservadas para imagem
   ========================================================================== */

.img-placeholder{
    background: var(--placeholder);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #9C9C9C;
    font-size: 11px;
    line-height: 1.55;
    letter-spacing: .09em;
    text-transform: uppercase;
    overflow: hidden;
    border-radius: var(--raio);
    position: relative;
}
.img-placeholder img{ width: 100%; height: 100%; object-fit: cover; }
.img-placeholder:hover{ text-decoration: none; }


/* ==========================================================================
   Botões
   ========================================================================== */

.bt{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    padding: 14px 26px;
    border: 2px solid transparent;
    border-radius: var(--raio);
    cursor: pointer;
    text-align: center;
    transition: var(--transicao);
    font-family: inherit;
    letter-spacing: -.005em;
}
.bt:hover{ text-decoration: none; }

.bt-verde{ background: var(--verde); border-color: var(--verde); color: #fff; box-shadow: var(--sombra-verde); }
.bt-verde:hover{ background: var(--verde-escuro); border-color: var(--verde-escuro); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(2,154,77,.3); }

.bt-amarelo{ background: var(--amarelo); border-color: var(--amarelo); color: var(--preto); box-shadow: 0 6px 16px rgba(0,0,0,.16); }
.bt-amarelo:hover{ background: var(--amarelo-escuro); border-color: var(--amarelo-escuro); color: var(--preto); transform: translateY(-2px); }

.bt-vazado{ background: #fff; border-color: var(--borda-forte); color: var(--titulo); }
.bt-vazado:hover{ border-color: var(--verde); color: var(--verde); background: var(--verde-fundo); transform: translateY(-2px); }

.bt-vazado-branco{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.55); color: #fff; }
.bt-vazado-branco:hover{ background: #fff; border-color: #fff; color: var(--verde-escuro); transform: translateY(-2px); }

.bt-pequeno{ font-size: 13px; padding: 10px 16px; gap: 6px; }
.bt-largo{ width: 100%; }
.bt[disabled]{ opacity: .45; cursor: not-allowed; box-shadow: none; transform: none; }
.bt[disabled]:hover{ transform: none; }

.link-seta{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 600;
    color: var(--verde);
}
.link-seta::after{
    content: "";
    width: 14px;
    height: 8px;
    background: currentColor;
    transition: transform .25s var(--mola);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M0 4h13M9.5.5 13.5 4.5 9.5 8.5' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M0 4h13M9.5.5 13.5 4.5 9.5 8.5' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.link-seta:hover{ text-decoration: none; color: var(--verde-escuro); }
.link-seta:hover::after{ transform: translateX(4px); }


/* ==========================================================================
   Títulos de seção
   ========================================================================== */

.secao-tag{
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 12px;
}
.secao-topo{ max-width: 700px; margin-bottom: 44px; }
.secao-topo h2{ font-size: 32px; margin-bottom: 14px; }
.secao-desc{ color: var(--texto-claro); font-size: 16.5px; }

.secao-topo-linha{
    max-width: none;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}
.secao-topo-linha > div{ max-width: 700px; }


/* ==========================================================================
   Topo
   ========================================================================== */

.topo-principal{
    background: rgba(255,255,255,.92);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid var(--borda);
    position: sticky;
    top: 0;
    z-index: 900;
    transition: box-shadow .3s var(--mola), background .3s var(--mola);
}
.topo-principal.rolando{ box-shadow: 0 6px 24px rgba(19,22,20,.09); background: rgba(255,255,255,.97); }
.topo-principal-in{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 132px;
    transition: min-height .3s var(--mola);
}
.rolando .topo-principal-in{ min-height: 92px; }

.logo img{
    width: auto;
    height: 104px;
    transition: height .3s var(--mola);
}
.rolando .logo img{ height: 68px; }
.logo:hover{ text-decoration: none; }

.menu{ display: flex; align-items: center; gap: 34px; }
.menu > ul{ display: flex; gap: 30px; }
.menu > ul a{
    position: relative;
    font-size: 15px;
    font-weight: 500;
    color: var(--titulo);
    padding: 8px 0;
    display: block;
}
.menu > ul a::after{
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 100%; height: 2px;
    background: var(--verde);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .28s var(--mola);
}
.menu > ul a:hover{ color: var(--verde); text-decoration: none; }
.menu > ul a:hover::after{ transform: scaleX(1); }

.bt-orcamento{
    background: var(--verde);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 13px 20px;
    border-radius: var(--raio);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: var(--sombra-verde);
    transition: var(--transicao);
    white-space: nowrap;
}
.bt-orcamento:hover{ background: var(--verde-escuro); color: #fff; text-decoration: none; transform: translateY(-2px); }
.bt-orcamento .contador{
    background: var(--amarelo);
    color: var(--preto);
    font-size: 12px;
    font-weight: 700;
    min-width: 23px;
    height: 23px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    line-height: 1;
}
.bt-orcamento .contador.vazio{ background: rgba(255,255,255,.22); color: #fff; }

.menu-toggle{
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 48px;
    height: 48px;
    background: #fff;
    border: 1px solid var(--borda-forte);
    border-radius: var(--raio);
    cursor: pointer;
    padding: 0 13px;
    position: relative;
}
.menu-toggle span{ display: block; height: 2px; background: var(--titulo); border-radius: 2px; transition: var(--transicao); }
.menu-toggle em{ position: absolute; left: -9999px; }
.menu-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }


/* ==========================================================================
   Banner
   ========================================================================== */

.banner{
    position: relative;
    padding: 76px 0 88px;
    background:
        radial-gradient(760px 420px at 8% -10%, rgba(2,154,77,.13), transparent 62%),
        radial-gradient(620px 400px at 96% 8%, rgba(246,240,7,.20), transparent 60%),
        linear-gradient(180deg, var(--verde-fundo) 0%, #fff 72%);
    overflow: hidden;
}
.banner::before{
    content: "";
    position: absolute;
    right: -180px;
    bottom: -220px;
    width: 560px;
    height: 560px;
    border-radius: 50%;
    border: 1px solid rgba(2,154,77,.14);
    pointer-events: none;
}
.banner::after{
    content: "";
    position: absolute;
    right: -110px;
    bottom: -150px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    border: 1px solid rgba(2,154,77,.10);
    pointer-events: none;
}
.banner-in{
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.06fr .94fr;
    gap: 60px;
    align-items: center;
}
.banner-selo{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #fff;
    border: 1px solid var(--borda);
    color: var(--verde-escuro);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 100px;
    margin-bottom: 22px;
    box-shadow: var(--sombra-p);
}
.banner-selo::before{
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--verde);
    box-shadow: 0 0 0 4px rgba(2,154,77,.16);
}
.banner-texto h1{
    font-size: 44px;
    line-height: 1.13;
    letter-spacing: -.025em;
    margin-bottom: 20px;
}
.banner-desc{ font-size: 17.5px; color: var(--texto-claro); margin-bottom: 30px; max-width: 570px; }
.banner-botoes{ display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; }

.banner-numeros{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    border-top: 1px solid var(--borda-forte);
    padding-top: 26px;
}
.banner-numeros li{ position: relative; padding-top: 14px; }
.banner-numeros li::before{
    content: "";
    position: absolute;
    top: -1px; left: 0;
    width: 30px; height: 3px;
    border-radius: 2px;
    background: var(--amarelo);
}
.banner-numeros strong{ display: block; font-size: 15.5px; color: var(--titulo); font-weight: 600; margin-bottom: 3px; }
.banner-numeros span{ font-size: 13px; color: var(--texto-claro); line-height: 1.5; display: block; }

.banner-figura{ position: relative; }
.banner-figura::before{
    content: "";
    position: absolute;
    inset: 26px -22px -22px 26px;
    background: var(--amarelo);
    border-radius: var(--raio-gg);
    z-index: 0;
}
.banner-imagem{
    position: relative;
    z-index: 1;
    aspect-ratio: 4 / 3;
    min-height: 400px;
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra-g);
}
.banner-flutuante{
    position: absolute;
    z-index: 2;
    left: -28px;
    bottom: 42px;
    display: flex;
    align-items: center;
    gap: 13px;
    background: #fff;
    border-radius: var(--raio-g);
    padding: 15px 20px;
    box-shadow: var(--sombra-g);
    max-width: 268px;
}
.banner-flutuante-marca{
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--verde);
    position: relative;
}
.banner-flutuante-marca::after{
    content: "";
    position: absolute;
    left: 12px; top: 17px;
    width: 14px; height: 7px;
    border-left: 2.5px solid var(--amarelo);
    border-bottom: 2.5px solid var(--amarelo);
    transform: rotate(-45deg);
}
.banner-flutuante strong{ display: block; font-size: 14px; color: var(--titulo); font-weight: 600; line-height: 1.35; }
.banner-flutuante span{ font-size: 12px; color: var(--texto-claro); line-height: 1.45; display: block; margin-top: 2px; }


/* ==========================================================================
   Serviços
   ========================================================================== */

.servicos{ padding: 88px 0; }
.servicos-lista{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.servicos-lista li{
    position: relative;
    background: #fff;
    border: 1px solid var(--borda);
    border-radius: var(--raio-g);
    padding: 30px;
    overflow: hidden;
    transition: var(--transicao);
}
.servicos-lista li::after{
    content: "";
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--verde), var(--amarelo));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s var(--mola);
}
.servicos-lista li:hover{ border-color: transparent; box-shadow: var(--sombra); transform: translateY(-4px); }
.servicos-lista li:hover::after{ transform: scaleX(1); }
.servico-icone{
    width: 56px; height: 56px;
    border-radius: 50%;
    margin-bottom: 20px;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transicao);
}
.servicos-lista li:hover .servico-icone{ background: var(--verde-fundo); color: var(--verde); }
.servicos-lista h3{ font-size: 19.5px; margin-bottom: 10px; }
.servicos-lista p{ font-size: 15px; color: var(--texto-claro); }


/* ==========================================================================
   Grade e carrossel de equipamentos
   ========================================================================== */

.destaques{ padding: 88px 0; background: var(--fundo-alt); }

.grade-equipamentos{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.card{
    background: #fff;
    border: 1px solid var(--borda);
    border-radius: var(--raio-g);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: var(--transicao);
}
.card:hover{ border-color: rgba(2,154,77,.35); box-shadow: var(--sombra); transform: translateY(-5px); }
.card-imagem{
    aspect-ratio: 1 / 1;
    border-radius: 0;
    display: flex;
    position: relative;
}
.card-imagem img{ transition: transform .6s var(--mola); }
.card:hover .card-imagem img{ transform: scale(1.06); }
.card-imagem::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(19,22,20,.10));
    opacity: 0;
    transition: opacity .3s var(--mola);
}
.card:hover .card-imagem::after{ opacity: 1; }

.card-corpo{ padding: 22px; display: flex; flex-direction: column; flex: 1; }
.card-categoria{
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 9px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.card-codigo{
    background: var(--fundo-alt);
    border: 1px solid var(--borda);
    color: var(--texto-claro);
    padding: 2px 8px;
    border-radius: 100px;
    letter-spacing: .04em;
}
.card h3{ font-size: 16.5px; margin-bottom: 8px; line-height: 1.35; }
.card h3 a{ color: var(--titulo); }
.card h3 a:hover{ color: var(--verde); text-decoration: none; }
.card-resumo{ font-size: 14px; color: var(--texto-claro); margin-bottom: 16px; }

.card-acoes{ margin-top: auto; display: grid; gap: 8px; }
.card-acoes .bt{ width: 100%; }
.form-adicionar{ display: block; }
.card-form-adicionar{ width: 100%; }

/* Carrossel */
.carrossel-equipamentos{ display: block; }
.carrossel-equipamentos:not(.owl-loaded){
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    overflow: hidden;
    max-height: 560px;
}
.carrossel-equipamentos .owl-stage{ display: flex; padding-bottom: 4px; }
.carrossel-equipamentos .owl-item{ display: flex; }
.carrossel-equipamentos .owl-item .card{ width: 100%; }

.carrossel-equipamentos .owl-nav{
    position: absolute;
    top: -78px;
    right: 0;
    display: flex;
    gap: 10px;
}
/* O Owl 2.2.1 monta a navegação com div, por isso os seletores não usam button. */
.carrossel-equipamentos .owl-nav .owl-prev,
.carrossel-equipamentos .owl-nav .owl-next{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--borda-forte);
    background: #fff;
    color: var(--titulo);
    font-size: 22px;
    line-height: 1;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transicao);
}
.carrossel-equipamentos .owl-nav .owl-prev:hover,
.carrossel-equipamentos .owl-nav .owl-next:hover{
    background: var(--verde);
    border-color: var(--verde);
    color: #fff;
    box-shadow: var(--sombra-verde);
}
.carrossel-equipamentos .owl-nav .disabled{ opacity: .35; cursor: default; }
.carrossel-equipamentos .owl-nav .disabled:hover{ background: #fff; border-color: var(--borda-forte); color: var(--titulo); box-shadow: none; }

.carrossel-equipamentos .owl-dots{
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
}
.carrossel-equipamentos .owl-dots .owl-dot{
    background: none;
    border: 0;
    padding: 0;
    display: flex;
    align-items: center;
    cursor: pointer;
}
.carrossel-equipamentos .owl-dots .owl-dot span{
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--borda-forte);
    transition: var(--transicao);
}
.carrossel-equipamentos .owl-dots .owl-dot.active span{ background: var(--verde); width: 26px; border-radius: 4px; }

.destaques-rodape{ display: flex; justify-content: center; margin-top: 34px; }
.relacionados-rodape{ margin-top:28px; }


/* ==========================================================================
   Categorias
   ========================================================================== */

.categorias{ padding: 88px 0; }
.grade-categorias{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grade-categorias > li{
    border: 1px solid var(--borda);
    border-radius: var(--raio-g);
    overflow: hidden;
    background: #fff;
    transition: var(--transicao);
}
.grade-categorias > li:hover{ border-color: transparent; box-shadow: var(--sombra); transform: translateY(-5px); }
.grade-categorias a{ display: block; position: relative; }
.grade-categorias a:hover{ text-decoration: none; }
.categoria-imagem{ aspect-ratio: 4 / 3; border-radius: 0; position: relative; }
.categoria-imagem::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(1,77,39,.55));
    opacity: 0;
    transition: opacity .35s var(--mola);
}
.grade-categorias > li:hover .categoria-imagem::after{ opacity: 1; }
.categoria-imagem img{ transition: transform .6s var(--mola); }
.grade-categorias > li:hover .categoria-imagem img{ transform: scale(1.06); }
.categoria-texto{ padding: 24px; position: relative; }
.categoria-texto h3{ font-size: 18.5px; margin-bottom: 8px; }
.categoria-texto p{ font-size: 14px; color: var(--texto-claro); margin-bottom: 14px; }
.categoria-texto .link-seta{ font-size: 13.5px; }
/* ==========================================================================
   Empresa
   ========================================================================== */

.empresa{ padding: 88px 0; background: var(--fundo-alt); }
.empresa-in{ display: grid; grid-template-columns: .92fr 1.08fr; gap: 60px; align-items: center; }
.empresa-imagem{
    aspect-ratio: 9 / 7;
    min-height: 400px;
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra);
}
.empresa-texto h2{ font-size: 32px; margin-bottom: 18px; }
.empresa-texto p{ color: var(--texto-claro); }
.empresa-itens{ margin: 26px 0 30px; display: grid; gap: 11px; }
.empresa-itens li{
    position: relative;
    padding-left: 32px;
    font-size: 15px;
    color: var(--titulo);
}
.empresa-itens li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--verde);
}
.empresa-itens li::after{
    content: "";
    position: absolute;
    left: 6px;
    top: 10px;
    width: 8px;
    height: 4px;
    border-left: 2px solid var(--amarelo);
    border-bottom: 2px solid var(--amarelo);
    transform: rotate(-45deg);
}


/* ==========================================================================
   Áreas de atuação
   ========================================================================== */

.atuacao{ padding: 88px 0; }
.grade-atuacao{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.grade-atuacao li{
    background: var(--fundo-alt);
    border: 1px solid transparent;
    border-radius: var(--raio-g);
    padding: 22px 24px;
    transition: var(--transicao);
}
.grade-atuacao li:hover{ background: #fff; border-color: var(--borda); box-shadow: var(--sombra-p); transform: translateY(-3px); }
.grade-atuacao h3{ font-size: 16.5px; margin-bottom: 6px; }
.grade-atuacao p{ font-size: 14px; color: var(--texto-claro); }


/* ==========================================================================
   Como funciona
   ========================================================================== */

.como-funciona{
    padding: 88px 0;
    background:
        radial-gradient(560px 320px at 88% 0%, rgba(246,240,7,.16), transparent 62%),
        var(--verde-fundo);
}
.passos{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; position: relative; }
.passos li{
    position: relative;
    background: #fff;
    border-radius: var(--raio-g);
    padding: 28px;
    border: 1px solid var(--borda);
    transition: var(--transicao);
}
.passos li:hover{ box-shadow: var(--sombra); transform: translateY(-4px); }
.passos li:not(:last-child)::after{
    content: "";
    position: absolute;
    top: 46px;
    right: -18px;
    width: 12px;
    height: 12px;
    border-top: 2px dashed var(--borda-forte);
    border-right: 2px dashed var(--borda-forte);
    transform: rotate(45deg);
}
.passo-numero{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--verde);
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 18px;
    box-shadow: var(--sombra-verde);
}
.passos h3{ font-size: 20px; margin-bottom: 8px; }
.passos p{ font-size: 14px; color: var(--texto-claro); }


/* ==========================================================================
   Páginas internas
   ========================================================================== */

.pagina-topo{
    background:
        radial-gradient(620px 300px at 6% 0%, rgba(2,154,77,.09), transparent 62%),
        var(--fundo-alt);
    border-bottom: 1px solid var(--borda);
    padding: 44px 0 52px;
}
.pagina-topo h1{ font-size: 36px; margin-bottom: 14px; }
.pagina-topo-desc{ color: var(--texto-claro); max-width: 740px; font-size: 16.5px; }

.breadcrumb{ display: flex; flex-wrap: wrap; align-items: center; gap: 9px; font-size: 13px; margin-bottom: 18px; }
.breadcrumb a{ color: var(--texto-claro); }
.breadcrumb a:hover{ color: var(--verde); }
.breadcrumb a::after{ content: "/"; margin-left: 9px; color: var(--borda-forte); }
.breadcrumb span{ color: var(--titulo); font-weight: 500; }


/* ==========================================================================
   Catálogo
   ========================================================================== */

.catalogo-secao{ padding: 52px 0 88px; }
.catalogo-in{ display: grid; grid-template-columns: 268px 1fr; gap: 44px; align-items: start; }

.catalogo-filtros{ position: sticky; top: 140px; display: grid; gap: 30px; }
.busca{ display: grid; gap: 9px; }
.busca label{ font-size: 13px; font-weight: 600; color: var(--titulo); }
.busca input{
    width: 100%;
    border: 1px solid var(--borda-forte);
    border-radius: var(--raio);
    padding: 12px 14px;
    font-size: 14px;
    font-family: inherit;
    color: var(--titulo);
    background: #fff;
    transition: var(--transicao);
}
.busca input:focus{ outline: none; border-color: var(--verde); box-shadow: 0 0 0 3px rgba(2,154,77,.12); }

.filtro-categorias h2{ font-size: 15px; margin-bottom: 12px; }
.filtro-categorias ul{ border-top: 1px solid var(--borda); }
.filtro-categorias li a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 0;
    font-size: 14px;
    color: var(--texto);
    border-bottom: 1px solid var(--borda);
    transition: var(--transicao);
}
.filtro-categorias li a:hover{ color: var(--verde); text-decoration: none; padding-left: 6px; }
.filtro-categorias li a.ativo{ color: var(--verde); font-weight: 600; }
.filtro-categorias li a.ativo::after{
    content: "";
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--amarelo);
    flex-shrink: 0;
}

.filtro-ajuda{
    background: linear-gradient(145deg, rgba(3,25,18,.96) 0%, rgba(4,37,26,.98) 100%);
    color: #fff;
    border-radius: var(--raio-g);
    padding: 32px 24px;
    border: 1px solid rgba(246,240,7,.25);
    box-shadow: 0 12px 32px rgba(1,20,14,.22);
    position: relative;
    overflow: hidden;
}
.filtro-ajuda::before{
    content: "";
    position: absolute;
    top: -50px;
    right: -50px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(246,240,7,.20) 0%, transparent 70%);
    pointer-events: none;
}
.filtro-ajuda-icone{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(246,240,7,.14);
    border: 1px solid rgba(246,240,7,.3);
    color: var(--amarelo);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 18px;
}
.filtro-ajuda h2{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    margin-bottom: 10px;
}
.filtro-ajuda p{
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255,255,255,.82);
    margin-bottom: 22px;
}
.filtro-ajuda .bt{
    width: 100%;
    justify-content: center;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 700;
}

.catalogo-resultado .grade-equipamentos{ grid-template-columns: repeat(3, 1fr); }
.resultado-info{ margin-bottom: 22px; color: var(--texto-claro); font-size: 14px; }
.vitrine-bloco{ margin-bottom: 44px; }
.vitrine-bloco:last-child{ margin-bottom: 0; }
.vitrine-categoria-titulo{
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 10px;
    color: var(--verde-profundo);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.01em;
    border-bottom: 2px solid var(--amarelo);
}

.vazio{
    border: 1px dashed var(--borda-forte);
    border-radius: var(--raio-g);
    padding: 56px 32px;
    text-align: center;
    background: var(--fundo-alt);
}
.vazio h2, .vazio h3{ font-size: 21px; margin-bottom: 10px; }
.vazio p{ color: var(--texto-claro); margin-bottom: 22px; max-width: 480px; margin-left: auto; margin-right: auto; }


/* ==========================================================================
   Detalhe do equipamento
   ========================================================================== */

.produto{ padding: 36px 0 88px; }
.produto-in{ display: grid; grid-template-columns: 1fr 1fr; gap: 52px; margin-bottom: 64px; }
.produto-imagem{
    aspect-ratio: 1 / 1;
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra);
}

.produto-categoria{
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.produto-info h1{ font-size: 32px; margin-bottom: 16px; }
.produto-resumo{ font-size: 17px; color: var(--texto-claro); margin-bottom: 28px; }

.produto-form{
    display: flex;
    align-items: flex-end;
    gap: 14px;
    padding: 22px;
    background: var(--fundo-alt);
    border: 1px solid var(--borda);
    border-radius: var(--raio-g);
    margin-bottom: 16px;
}
.quantidade-campo{ display: grid; gap: 6px; }
.quantidade-campo label{ font-size: 13px; font-weight: 600; color: var(--titulo); }
.quantidade-campo input{
    width: 92px;
    border: 1px solid var(--borda-forte);
    border-radius: var(--raio);
    padding: 12px;
    font-size: 15px;
    font-family: inherit;
    color: var(--titulo);
    background: #fff;
    transition: var(--transicao);
}
.quantidade-campo input:focus{ outline: none; border-color: var(--verde); box-shadow: 0 0 0 3px rgba(2,154,77,.12); }
.produto-form .bt{ flex: 1; }

.produto-zap{ font-size: 14px; color: var(--texto-claro); margin-bottom: 26px; }
.produto-garantias{ display: grid; gap: 9px; border-top: 1px solid var(--borda); padding-top: 22px; }
.produto-garantias li{ font-size: 14px; color: var(--texto); position: relative; padding-left: 26px; }
.produto-garantias li::before{
    content: "";
    position: absolute;
    left: 0; top: 7px;
    width: 8px; height: 4px;
    border-left: 2px solid var(--verde);
    border-bottom: 2px solid var(--verde);
    transform: rotate(-45deg);
}

.produto-conteudo{ display: grid; gap: 44px; max-width: 920px; }
.produto-conteudo .bloco h2{
    font-size: 23px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 3px solid var(--amarelo);
    display: inline-block;
}

.tabela-specs{ width: 100%; border-collapse: collapse; border-radius: var(--raio); overflow: hidden; }
.tabela-specs tr{ border-bottom: 1px solid var(--borda); }
.tabela-specs tr:nth-child(odd){ background: var(--fundo-alt); }
.tabela-specs th{ text-align: left; font-weight: 600; color: var(--titulo); padding: 13px 18px; width: 40%; font-size: 14px; }
.tabela-specs td{ padding: 13px 18px; font-size: 14px; }


/* ==========================================================================
   Orçamento
   ========================================================================== */

.orcamento-secao{ padding: 52px 0 88px; }
.orcamento-in{ display: grid; grid-template-columns: 1.32fr 1fr; gap: 48px; align-items: start; }
.orcamento-lista h2,
.orcamento-form h2{ font-size: 22px; margin-bottom: 22px; }

.itens{ border-top: 1px solid var(--borda); margin-bottom: 22px; }
.itens li{
    display: grid;
    grid-template-columns: 92px 1fr auto;
    gap: 20px;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid var(--borda);
    transition: var(--transicao);
}
.item-acoes{
    display: flex;
    align-items: flex-end;
    gap: 14px;
}
.item-imagem{
    width: 92px;
    height: 92px;
    border-radius: var(--raio);
    overflow: hidden;
    background: var(--fundo-alt);
    border: 1px solid var(--borda);
    flex-shrink: 0;
}
.item-imagem img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.item-categoria{
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.item-info h3{ font-size: 16.5px; margin-bottom: 4px; }
.item-info h3 a{ color: var(--titulo); }
.item-info h3 a:hover{ color: var(--verde); text-decoration: none; }
.item-resumo{ font-size: 13px; color: var(--texto-claro); }
.item-quantidade{ display: grid; gap: 5px; }
.item-quantidade label{ font-size: 12px; font-weight: 600; color: var(--titulo); }
.item-quantidade input{
    width: 100%;
    border: 1px solid var(--borda-forte);
    border-radius: var(--raio);
    padding: 10px;
    font-size: 14px;
    font-family: inherit;
    text-align: center;
    color: var(--titulo);
    transition: var(--transicao);
}
.item-quantidade input:focus{ outline: none; border-color: var(--verde); box-shadow: 0 0 0 3px rgba(2,154,77,.12); }
.item-remover{ font-size: 13px; color: var(--texto-claro); white-space: nowrap; }
.item-remover:hover{ color: #C0392B; }

.form-lista-acoes{ display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

.orcamento-form{
    background: var(--fundo-alt);
    border: 1px solid var(--borda);
    border-radius: var(--raio-g);
    padding: 30px;
    position: sticky;
    top: 140px;
    box-shadow: var(--sombra-p);
}


/* ==========================================================================
   Formulários
   ========================================================================== */

.formulario .campo{ margin-bottom: 17px; }
.formulario label{
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--titulo);
    margin-bottom: 7px;
}
.formulario label em{ color: var(--verde); font-style: normal; }
.formulario input[type="text"],
.formulario input[type="email"],
.formulario input[type="url"],
.formulario input[type="tel"],
.formulario input[type="number"],
.formulario textarea,
.formulario select{
    width: 100%;
    border: 1px solid var(--borda-forte);
    border-radius: var(--raio);
    padding: 13px 15px;
    font-size: 15px;
    font-family: inherit;
    color: var(--titulo);
    background: #fff;
    transition: var(--transicao);
}
.formulario input::placeholder,
.formulario textarea::placeholder{ color: #A6ADA9; }
.formulario input:focus,
.formulario textarea:focus{ outline: none; border-color: var(--verde); box-shadow: 0 0 0 3px rgba(2,154,77,.13); }
.formulario textarea{ resize: vertical; min-height: 116px; }
.formulario .campo-duplo{ display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.formulario .errorlist{ margin-top: 6px; }
.formulario .errorlist li{ font-size: 12px; color: #C0392B; }
.formulario .bt{ margin-top: 8px; }

.aviso{
    background: var(--verde-fundo);
    border: 1px solid rgba(2,154,77,.24);
    border-left: 3px solid var(--verde);
    border-radius: var(--raio);
    padding: 13px 16px;
    font-size: 14px;
    color: var(--verde-escuro);
    margin-bottom: 20px;
}
.aviso-erro{ background: #FDF1EF; border-color: rgba(192,57,43,.24); border-left-color: #C0392B; color: #C0392B; }

.form-alternativa{ font-size: 14px; text-align: center; margin-top: 16px; color: var(--texto-claro); }
.form-nota{ font-size: 12px; color: var(--texto-claro); margin-top: 16px; }


/* ==========================================================================
   Sobre
   ========================================================================== */

.sobre-apresentacao{ padding: 88px 0; }
.sobre-apresentacao-in{ display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: center; }
.sobre-imagem{
    aspect-ratio: 9 / 10;
    min-height: 440px;
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra);
}
.sobre-texto h2{ font-size: 32px; margin-bottom: 20px; }
.sobre-texto p{ color: var(--texto-claro); }

.sobre-historia{ padding: 88px 0; background: var(--fundo-alt); }
.sobre-historia-destaque{
    display:grid;
    grid-template-columns:1.03fr .97fr;
    gap:42px;
    align-items:stretch;
    margin-bottom:42px;
    padding:34px;
    background:var(--painel-fundo);
    border:var(--painel-borda);
    border-radius:var(--painel-raio);
    box-shadow:var(--painel-sombra);
}
.sobre-historia-copy{ align-self:center; }
.sobre-historia-copy > p{ margin-bottom:16px; color:var(--texto-claro); font-size:15px; }
.sobre-historia-copy > p:last-child{ margin-bottom:0; }
.sobre-historia-frase{
    padding-left:18px;
    color:var(--verde-profundo) !important;
    border-left:4px solid var(--amarelo);
    font-family:'Barlow Condensed',sans-serif;
    font-size:22px !important;
    font-weight:700;
    line-height:1.25;
}
.sobre-historia-fotos{
    position:relative;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:10px;
    min-height:390px;
}
.sobre-historia-foto{ overflow:hidden; min-width:0; min-height:0; background:var(--verde-profundo); border-radius:8px; }
.sobre-historia-foto-principal{ grid-row:1 / 3; }
.sobre-historia-foto img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s var(--mola),filter .35s var(--mola); }
.sobre-historia-foto-principal img{ object-position:center 42%; }
.sobre-historia-foto:nth-child(2) img{ object-position:center 48%; }
.sobre-historia-foto:nth-child(3) img{ object-position:center center; }
.sobre-historia-fotos:hover img{ filter:saturate(1.06) contrast(1.02); transform:scale(1.025); }
.sobre-historia-legenda{
    position:absolute;
    right:14px;
    bottom:14px;
    padding:8px 11px;
    color:var(--verde-profundo);
    background:var(--amarelo);
    border-radius:5px;
    box-shadow:0 7px 18px rgba(5,46,35,.2);
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.sobre-historia-legenda i{ margin-right:5px; }
.linha-tempo{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.linha-tempo li{
    position: relative;
    background: #fff;
    border: 1px solid var(--borda);
    border-radius: var(--raio-g);
    padding: 28px;
    padding-top: 34px;
    transition: var(--transicao);
}
.linha-tempo li::before{
    content: "";
    position: absolute;
    left: 28px; top: 0;
    width: 40px; height: 4px;
    border-radius: 0 0 3px 3px;
    background: var(--verde);
    transition: var(--transicao);
}
.linha-tempo li:hover{ box-shadow: var(--sombra); transform: translateY(-4px); }
.linha-tempo li:hover::before{ background: var(--amarelo); width: 62px; }
.linha-tempo h3{ font-size: 17.5px; margin-bottom: 8px; }
.linha-tempo p{ font-size: 14px; color: var(--texto-claro); }

.sobre-identidade{ padding:88px 0; background:var(--verde-profundo); }
.sobre-identidade .secao-tag{ color:#8ed9ae; }
.sobre-identidade .secao-topo h2{ color:#fff; }
.sobre-identidade .secao-desc{ color:rgba(255,255,255,.7); }
.identidade-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.identidade-cards > li{
    position:relative;
    overflow:hidden;
    min-width:0;
    padding:30px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(255,255,255,.16);
    border-radius:var(--painel-raio);
    box-shadow:0 18px 40px rgba(0,0,0,.16);
    transition:var(--transicao);
}
.identidade-cards > li::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--verde) 0 76%,var(--amarelo) 76% 100%);
}
.identidade-cards > li:hover{ transform:translateY(-5px); box-shadow:0 24px 48px rgba(0,0,0,.22); }
.identidade-icone{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    margin-bottom:20px;
    color:var(--amarelo);
    background:var(--verde-profundo);
    border-radius:9px;
    font-size:20px;
}
.identidade-tipo{ margin-bottom:7px; color:var(--verde); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.identidade-cards h3{ margin-bottom:12px; color:var(--verde-profundo); font-size:21px; }
.identidade-cards > li > p:last-child{ color:var(--texto-claro); font-size:14px; }
.identidade-valores{ display:grid; gap:7px; }
.identidade-valores li{ position:relative; padding-left:21px; color:var(--texto); font-size:14px; }
.identidade-valores li::before{
    content:"";
    position:absolute;
    left:1px;
    top:8px;
    width:8px;
    height:4px;
    border-left:2px solid var(--verde);
    border-bottom:2px solid var(--verde);
    transform:rotate(-45deg);
}

.sobre-estrutura{ padding: 88px 0; }
.grade-estrutura{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.grade-estrutura li{
    border: 1px solid var(--borda);
    border-radius: var(--raio-g);
    padding: 28px;
    background: #fff;
    transition: var(--transicao);
}
.grade-estrutura li:hover{ box-shadow: var(--sombra); transform: translateY(-4px); border-color: rgba(2,154,77,.3); }
.estrutura-icone{ width: 56px; height: 56px; border-radius: 50%; margin-bottom: 18px; font-size: 24px; display: flex; align-items: center; justify-content: center; }
.grade-estrutura h3{ font-size: 17.5px; margin-bottom: 8px; }
.grade-estrutura p{ font-size: 14px; color: var(--texto-claro); }

.sobre-diferenciais{ padding: 88px 0; background: var(--fundo-alt); }
.sobre-diferenciais-in{ display: grid; grid-template-columns: .78fr 1.22fr; gap: 52px; align-items: start; }
.sobre-diferenciais-texto h2{ font-size: 32px; margin-bottom: 16px; }
.sobre-diferenciais-texto p{ color: var(--texto-claro); }
.sobre-diferenciais-chamada{ margin-top:18px; color:var(--verde-profundo) !important; font-size:14px; font-weight:800; }
.lista-diferenciais{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.lista-diferenciais li{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:15px;
    align-items:start;
    min-width:0;
    background: #fff;
    border-radius: var(--raio-g);
    padding: 24px;
    border: 1px solid var(--borda);
    transition: var(--transicao);
}
.lista-diferenciais li:last-child{ grid-column:1 / -1; }
.lista-diferenciais li:hover{ box-shadow: var(--sombra); transform: translateY(-3px); }
.diferencial-icone{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    color:var(--amarelo);
    background:var(--verde-profundo);
    border-radius:8px;
    box-shadow:0 7px 16px rgba(5,46,35,.14);
    font-size:17px;
    transition:var(--transicao);
}
.lista-diferenciais li:hover .diferencial-icone{ color:var(--verde-profundo); background:var(--amarelo); transform:rotate(-3deg); }
.lista-diferenciais h3{ font-size:18px; margin-bottom:7px; }
.lista-diferenciais p{ font-size: 14px; color: var(--texto-claro); }
.sobre-diferenciais-fecho{
    grid-column:1 / -1;
    margin-top:2px;
    padding:20px 22px;
    color:var(--verde-profundo);
    background:rgba(7,150,79,.075);
    border:1px solid rgba(7,150,79,.16);
    border-left:4px solid var(--verde);
    border-radius:8px;
    font-size:14px;
    font-weight:700;
    line-height:1.65;
}

.sobre-qualidade{ padding: 88px 0; }
.sobre-qualidade-in{ display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: center; }
.sobre-qualidade-texto h2{ font-size: 32px; margin-bottom: 18px; }
.sobre-qualidade-texto p{ color: var(--texto-claro); }
.sobre-qualidade-imagem{
    aspect-ratio: 8 / 9;
    min-height: 420px;
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra);
}
.lista-checks{ display: grid; gap: 11px; margin-top: 26px; }
.lista-checks li{ position: relative; padding-left: 30px; font-size: 15px; color: var(--titulo); }
.lista-checks li::before{
    content: "";
    position: absolute;
    left: 0; top: 3px;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--verde-fundo);
    border: 1px solid rgba(2,154,77,.28);
}
.lista-checks li::after{
    content: "";
    position: absolute;
    left: 6px; top: 9px;
    width: 8px; height: 4px;
    border-left: 2px solid var(--verde);
    border-bottom: 2px solid var(--verde);
    transform: rotate(-45deg);
}


/* ==========================================================================
   Contato
   ========================================================================== */

.contato-secao{ padding: 52px 0 72px; }
.contato-in{ display: grid; grid-template-columns: .85fr 1.15fr; gap: 52px; align-items: start; }
.contato-dados h2, .contato-form h2{ font-size: 22px; margin-bottom: 22px; }

.canais{ border-top: 1px solid var(--borda); margin-bottom: 30px; }
.canais li{ padding: 15px 0; border-bottom: 1px solid var(--borda); }
.canal-rotulo{
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--texto-claro);
    margin-bottom: 4px;
}
.canais a, .canais address, .canais p{ font-size: 16px; color: var(--titulo); }
.canais a{ color: var(--verde); font-weight: 500; }

.contato-sociais{ margin-bottom: 30px; }
.contato-sociais h3{ font-size: 15px; margin-bottom: 12px; }
.contato-sociais ul{ display: flex; flex-wrap: wrap; gap: 10px; }
.contato-sociais a{
    display: inline-block;
    border: 1px solid var(--borda-forte);
    border-radius: 100px;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 500;
    color: var(--titulo);
    transition: var(--transicao);
}
.contato-sociais a:hover{ border-color: var(--verde); color: var(--verde); background: var(--verde-fundo); text-decoration: none; transform: translateY(-2px); }

.contato-atalho{
    background: var(--verde-fundo);
    border: 1px solid rgba(2,154,77,.14);
    border-radius: var(--raio-g);
    padding: 24px;
}
.contato-atalho h3{
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--verde-profundo);
    margin-bottom: 8px;
}
.contato-atalho p{ font-size: 14px; color: var(--texto-claro); margin-bottom: 16px; }

.contato-form{
    background: var(--fundo-alt);
    border: 1px solid var(--borda);
    border-radius: var(--raio-g);
    padding: 30px;
    box-shadow: var(--sombra-p);
}

.contato-mapa{ height: 440px; background: var(--placeholder); }
.contato-mapa iframe{ width: 100%; height: 100%; border: 0; display: block; }
.mapa-placeholder{ width: 100%; height: 100%; border-radius: 0; }


/* ==========================================================================
   Confirmação
   ========================================================================== */

.confirmacao-secao{
    padding: 88px 0;
    background:
        radial-gradient(620px 320px at 50% 0%, rgba(2,154,77,.10), transparent 65%),
        var(--fundo-alt);
}
.confirmacao-caixa{
    max-width: 640px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--borda);
    border-radius: var(--raio-gg);
    padding: 52px 44px;
    text-align: center;
    box-shadow: var(--sombra);
}
.confirmacao-icone{ width: 68px; height: 68px; border-radius: 50%; margin: 0 auto 24px; font-size: 32px; display: flex; align-items: center; justify-content: center; }
.confirmacao-caixa h1{ font-size: 29px; margin-bottom: 14px; }
.confirmacao-caixa p{ color: var(--texto-claro); }
.confirmacao-nota{ font-size: 14px; margin-top: 8px; }
.confirmacao-botoes{ display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 30px; }


/* ==========================================================================
   Rodapé
   ========================================================================== */

.rodape-cta{
    position: relative;
    background: linear-gradient(120deg, var(--verde-escuro) 0%, var(--verde) 62%, #04A855 100%);
    color: #fff;
    padding: 58px 0;
    overflow: hidden;
}
.rodape-cta::before{
    content: "";
    position: absolute;
    right: -90px;
    top: -120px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.15);
}
.rodape-cta::after{
    content: "";
    position: absolute;
    right: 40px;
    bottom: -190px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(246,240,7,.10);
}
.rodape-cta-in{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 44px; }
.rodape-cta h2{ color: #fff; font-size: 28px; margin-bottom: 10px; }
.rodape-cta p{ color: rgba(255,255,255,.9); max-width: 640px; }
.rodape-cta-botoes{ display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }

.rodape-corpo{ background: var(--preto); color: rgba(255,255,255,.64); padding: 64px 0 48px; }
.rodape-corpo-in{ display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 44px; }
.rodape-col h3{ color: #fff; font-size: 19px; font-weight: 700; margin-bottom: 18px; position: relative; padding-bottom: 12px; }
.rodape-col h3::after{
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 26px; height: 3px;
    border-radius: 2px;
    background: var(--amarelo);
}
.rodape-col ul{ display: grid; gap: 10px; }
.rodape-col li, .rodape-col p, .rodape-col address{ font-size: 14px; }
.rodape-col a{ color: rgba(255,255,255,.64); }
.rodape-col a:hover{ color: var(--amarelo); text-decoration: none; }
.rodape-marca img{
    width: 190px;
    height: auto;
    margin-bottom: 20px;
    border-radius: var(--raio);
}
.rodape-marca p{ font-size: 14px; max-width: 350px; }
.rodape-sociais{ display: flex !important; flex-direction: row; gap: 10px !important; margin-top: 20px; flex-wrap: wrap; }
.rodape-sociais a{
    display: inline-block;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 100px;
    padding: 7px 16px;
    font-size: 12px;
    transition: var(--transicao);
}
.rodape-sociais a:hover{ border-color: var(--amarelo); background: rgba(246,240,7,.08); }
.rodape-crc{ margin-top: 20px; font-size: 13px; color: var(--amarelo); font-weight: 600; }

.rodape-base{ background: #0A0C0B; padding: 20px 0; }
.rodape-base-in{ display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.rodape-base p{ font-size: 12px; color: rgba(255,255,255,.42); }
.rodape-base a{ color: rgba(255,255,255,.68); }
.rodape-base a:hover{ color: var(--amarelo); text-decoration: none; }
.rodape-base .rodape-direitos{ display:inline-block; color:inherit; }
.rodape-base .rodape-direitos:hover{ color:inherit; text-decoration:underline; }


/* ==========================================================================
   Responsivo
   ========================================================================== */

/* Dispositivos com tela acima de 1024px */
@media(min-width: 1024px){
    .mobile{display: none !important}
}

/* Dispositivos com tela entre 1024px e 1169px */
@media(min-width: 1024px) and (max-width: 1169px){
    .grade-equipamentos,
    .carrossel-equipamentos:not(.owl-loaded){ grid-template-columns: repeat(3, 1fr); }
    .catalogo-in{ grid-template-columns: 236px 1fr; gap: 30px; }
    .catalogo-resultado .grade-equipamentos{ grid-template-columns: repeat(2, 1fr); }
    .grade-atuacao, .linha-tempo, .grade-estrutura, .passos{ grid-template-columns: repeat(2, 1fr); }
    .passos li:nth-child(2)::after{ display: none; }
    .banner-texto h1{ font-size: 37px; }
    .menu{ gap: 22px; }
    .menu > ul{ gap: 20px; }
}

/* Dispositivos com tela abaixo de 1023px */
@media(max-width: 1023px){
    .desktop{display: none !important}

    .center{ padding: 0 20px; }

    .topo-principal{ position: static; }
    .topo-principal-in{ min-height: 80px; flex-wrap: wrap; }
    .logo img{ height: 62px; }
    .menu-toggle{ display: flex; }

    .menu{
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding-bottom: 20px;
    }
    .menu.aberto{ display: flex; animation: menuAbre .3s var(--mola); }
    @keyframes menuAbre{ from{opacity:0; transform: translateY(-8px)} to{opacity:1; transform:none} }
    .menu > ul{ flex-direction: column; gap: 0; border-top: 1px solid var(--borda); margin-bottom: 18px; }
    .menu > ul a{ padding: 14px 0; border-bottom: 1px solid var(--borda); }
    .menu > ul a::after{ display: none; }
    .menu > ul a:hover{ padding-left: 6px; }
    .bt-orcamento{ justify-content: center; }

    .banner{ padding: 44px 0 56px; }
    .banner-in{ grid-template-columns: 1fr; gap: 40px; }
    .banner-texto h1{ font-size: 31px; }
    .banner-desc{ font-size: 16px; }
    .banner-figura{ order: -1; }
    .banner-figura::before{ inset: 18px -14px -14px 18px; }
    /* Sem min-height junto do aspect-ratio: a altura mínima viraria uma
       largura mínima e estouraria a tela em aparelhos estreitos. */
    .banner-imagem{ min-height: 0; }
    .banner-flutuante{ left: 12px; bottom: -16px; padding: 13px 16px; max-width: 250px; }
    .banner-numeros{ grid-template-columns: 1fr; gap: 16px; }

    .servicos, .destaques, .categorias, .empresa, .atuacao, .como-funciona,
    .sobre-apresentacao, .sobre-historia, .sobre-estrutura, .sobre-diferenciais,
    .sobre-qualidade, .sobre-identidade{ padding: 52px 0; }

    .secao-topo{ margin-bottom: 30px; }
    .secao-topo h2{ font-size: 25px; }
    .secao-topo-linha{ flex-direction: column; align-items: flex-start; gap: 14px; }

    .servicos-lista, .grade-categorias, .grade-atuacao,
    .linha-tempo, .grade-estrutura, .passos,
    .lista-diferenciais{ grid-template-columns: 1fr; gap: 16px; }
    .lista-diferenciais li:last-child{ grid-column:auto; }
    .passos li::after{ display: none !important; }

    .grade-equipamentos,
    .carrossel-equipamentos:not(.owl-loaded),
    .catalogo-resultado .grade-equipamentos{ grid-template-columns: repeat(2, 1fr); gap: 16px; }

    .carrossel-equipamentos .owl-nav{ position: static; margin-top: 22px; justify-content: center; }

    .empresa-in, .sobre-apresentacao-in, .sobre-diferenciais-in,
    .sobre-qualidade-in{ grid-template-columns: 1fr; gap: 36px; }
    .sobre-historia-destaque{ grid-template-columns:1fr; gap:28px; padding:26px; }
    .identidade-cards{ grid-template-columns:1fr; gap:16px; }
    .empresa-imagem, .sobre-imagem, .sobre-qualidade-imagem{ min-height: 0; aspect-ratio: 4 / 3; }
    .empresa-texto h2, .sobre-texto h2, .sobre-diferenciais-texto h2,
    .sobre-qualidade-texto h2{ font-size: 25px; }

    .pagina-topo{ padding: 30px 0 38px; }
    .pagina-topo h1{ font-size: 27px; }

    .catalogo-secao{ padding: 36px 0 52px; }
    .catalogo-in{ grid-template-columns: 1fr; gap: 36px; }
    .catalogo-filtros{ position: static; }

    .produto{ padding: 28px 0 52px; }
    .produto-in{ grid-template-columns: 1fr; gap: 30px; margin-bottom: 44px; }
    .produto-info h1{ font-size: 25px; }
    .produto-form{ flex-wrap: wrap; }
    .produto-form .bt{ flex: 1 1 100%; }
    .produto-conteudo{ gap: 32px; }

    .orcamento-secao{ padding: 36px 0 52px; }
    .orcamento-in{ grid-template-columns: 1fr; gap: 36px; }
    .orcamento-form{ position: static; padding: 24px; }
    .itens li{ grid-template-columns: 76px 1fr; grid-template-areas: "img info" "qtd qtd" "rem rem"; gap: 14px; }
    .item-imagem{ width: 76px; height: 76px; grid-area: img; }
    .item-info{ grid-area: info; }
    .item-quantidade{ grid-area: qtd; grid-template-columns: auto 104px; align-items: center; gap: 12px; }
    .item-remover{ grid-area: rem; }

    .contato-secao{ padding: 36px 0 44px; }
    .contato-in{ grid-template-columns: 1fr; gap: 36px; }
    .contato-form{ padding: 24px; }
    .contato-mapa{ height: 320px; }

    .confirmacao-secao{ padding: 52px 0; }
    .confirmacao-caixa{ padding: 36px 24px; }
    .confirmacao-caixa h1{ font-size: 24px; }

    .rodape-cta{ padding: 40px 0; }
    .rodape-cta-in{ flex-direction: column; align-items: flex-start; gap: 24px; }
    .rodape-cta h2{ font-size: 22px; }
    .rodape-corpo{ padding: 44px 0 34px; }
    .rodape-corpo-in{ grid-template-columns: 1fr; gap: 32px; }
    .rodape-base-in{ flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* Dispositivos com tela abaixo de 559px */
@media(max-width: 559px){
    .grade-equipamentos,
    .carrossel-equipamentos:not(.owl-loaded),
    .catalogo-resultado .grade-equipamentos{ grid-template-columns: 1fr; }
    .formulario .campo-duplo{ grid-template-columns: 1fr; gap: 0; }
    .banner-botoes .bt, .confirmacao-botoes .bt, .rodape-cta-botoes .bt{ width: 100%; }
    .form-lista-acoes{ flex-direction: column; align-items: stretch; }
    .form-lista-acoes .bt{ width: 100%; }
    .banner-flutuante{ position: static; margin-top: 22px; max-width: none; }
}

/* Camada final: prevalencia da direcao premium sobre o legado */
.topo-principal{ background:rgba(255,255,255,.97); }
.topo-principal-in{ min-height:108px; }
.logo{ width:306px; min-height:108px; padding:12px 20px 20px; }
.logo img{ width:266px; height:76px; object-fit:cover; object-position:center; }
.rolando .topo-principal-in{ min-height:78px; }
.rolando .logo{ min-height:78px; }
.rolando .logo img{ width:220px; height:54px; }
.banner{ min-height:690px; padding:0; background:linear-gradient(90deg,rgba(3,25,18,.98) 0%,rgba(4,37,26,.91) 35%,rgba(4,37,26,.25) 69%,rgba(4,37,26,.04) 100%),url('../images/premium/hero-locacao-caldeiras.webp') center/cover no-repeat; }
.banner::before{ inset:0; right:0; bottom:0; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(90deg,rgba(240,233,29,.18) 1px,transparent 1px); background-size:84px 100%; opacity:.16; }
.banner::after{ right:auto; left:0; bottom:0; width:100%; height:5px; border:0; border-radius:0; background:linear-gradient(90deg,var(--amarelo) 0 33%,rgba(255,255,255,.13) 33%); }
.banner-in{ min-height:690px; grid-template-columns:minmax(0,640px) 1fr; gap:30px; }
.banner-texto h1{ color:#fff; font-size:72px; line-height:.96; letter-spacing:-.025em; }
.banner-desc{ color:rgba(255,255,255,.78); font-size:17px; }
.banner-figura::before{ display:none; }
.banner-flutuante{ left:auto; right:0; bottom:50px; }
.servicos{ padding:96px 0; }
.servico-icone{ width:56px; height:56px; font-size:22px; }
.empresa{ padding:96px 0; background:#eaf0eb; }
.empresa-imagem{ min-height:480px; aspect-ratio:auto; border-radius:0; box-shadow:none; }
.empresa-texto h2{ font-size:40px; }
.atuacao{ padding:96px 0; }
.grade-atuacao li{ padding:62px 24px 22px; }
.como-funciona{ padding:96px 0; }
.rodape-cta{ min-height:420px; display:flex; align-items:center; padding:72px 0; background:linear-gradient(90deg,rgba(4,36,26,.98) 0%,rgba(4,36,26,.92) 45%,rgba(4,36,26,.35) 100%),url('../images/premium/cta-equipamentos-conceito.webp') center/cover no-repeat; }
.rodape-cta::before{ inset:0; right:0; top:0; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:84px 100%; }
.rodape-cta::after{ width:5px; height:48%; left:0; right:auto; top:auto; bottom:26%; border-radius:0; background:var(--amarelo); }
.rodape-cta h2{ font-size:46px; }

@media(min-width:1024px){ .topo-principal{ position:sticky; top:0; } }
@media(max-width:1169px) and (min-width:1024px){
    .logo{ width:250px; }
    .logo img{ width:210px; }
    .banner-texto h1{ font-size:58px; }
}
@media(max-width:1023px){
    .topo-principal{ position:static; }
    .topo-principal-in{ min-height:84px; }
    .logo{ width:220px; min-height:84px; padding:8px 12px 13px; }
    .logo img{ width:196px; height:57px; }
    .banner,.banner-in{ min-height:650px; }
    .banner{ padding:0; background-position:66% center; }
    .banner::before{ background:linear-gradient(90deg,rgba(3,25,18,.94),rgba(3,25,18,.68)); opacity:1; }
    .banner-in{ grid-template-columns:1fr; gap:0; }
    .banner-texto{ padding:70px 0 160px; }
    .banner-texto h1{ font-size:54px; }
    .banner-figura{ position:static; order:initial; }
    .banner-flutuante{ position:absolute; left:20px; right:20px; bottom:35px; max-width:none; }
    .empresa-imagem{ min-height:420px; aspect-ratio:auto; }
    .rodape-cta{ min-height:500px; padding:60px 0; background-position:63% center; }
    .rodape-cta h2{ font-size:36px; }
}
@media(max-width:559px){
    .sobre-historia-destaque{ padding:20px; }
    .sobre-historia-fotos{
        height:365px;
        min-height:0;
        grid-template-columns:1fr 1fr;
        grid-template-rows:205px 150px;
    }
    .sobre-historia-foto-principal{ grid-column:1 / -1; grid-row:1; }
    .sobre-historia-foto{ min-height:0; }
    .sobre-historia-legenda{ right:10px; bottom:10px; }
    .identidade-cards > li{ padding:24px; }
    .logo{ width:190px; }
    .logo img{ width:166px; height:51px; }
    .banner-texto h1{ font-size:43px; }
    .banner-flutuante{ position:absolute; }
    .empresa-imagem{ min-height:350px; }
    .rodape-cta h2{ font-size:31px; }
}

/* Logo original integral: esta regra precisa encerrar a cascata. */
.topo-principal-in{ min-height:132px; }
.logo{
    width:auto;
    min-height:0;
    align-self:auto;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:visible;
}
.logo::after{ display:none; }
.logo img{
    display:block;
    width:160px;
    height:auto;
    max-width:none;
    object-fit:initial;
    object-position:initial;
    border-radius:0;
}
.rolando .topo-principal-in{ min-height:92px; }
.rolando .logo{ min-height:0; padding:0; }
.rolando .logo img{ width:105px; height:auto; }
.banner-texto{ padding:96px 0; }
.banner-botoes{ margin-bottom:0; }

@media(max-width:1023px){
    .topo-principal-in{ min-height:80px; }
    .logo{ width:auto; min-height:0; padding:0; }
    .logo img{ width:92px; height:auto; }
    .banner,.banner-in{ min-height:590px; }
    .banner-in{ display:block; }
    .banner-texto{ max-width:640px; padding:88px 0; }
}
@media(max-width:559px){
    .logo{ width:auto; }
    .logo img{ width:86px; height:auto; }
    .banner,.banner-in{ min-height:560px; }
    .banner-texto{ padding:72px 0; }
}

/* Regra final de proporcao, acima de todos os estilos legados. */
.categoria-imagem{ width:100%; min-height:0; aspect-ratio:4 / 3; }
.card-imagem,
.produto-imagem,
.item-imagem{ aspect-ratio:1 / 1; }
.empresa-imagem,
.sobre-imagem,
.sobre-qualidade-imagem{ min-height:0; aspect-ratio:4 / 3; }
.categoria-imagem img,
.card-imagem img,
.produto-imagem img,
.item-imagem img,
.empresa-imagem img,
.sobre-imagem img,
.sobre-qualidade-imagem img{ width:100%; height:100%; object-fit:cover; }

/* A colagem usa a altura da coluna de texto somente no desktop. */
@media(min-width:1024px){
    .empresa-in{ align-items:stretch; }
    .empresa-imagem{
        align-self:stretch;
        width:100%;
        height:auto;
        min-height:100%;
        aspect-ratio:auto;
    }
    .empresa-foto-principal{ inset:0 18% 9% 0; }
    .empresa-foto-secundaria{ width:48%; height:42%; }
    .empresa-imagem-selo{ bottom:34px; }
}
@media(max-width:1023px){
    .empresa-imagem{ width:100%; min-height:0; aspect-ratio:4 / 3; }
}

/* Acabamento final do topo verde-salvia. */
.topo-principal{
    background:rgba(232,239,233,.96);
    border-bottom:1px solid rgba(5,46,35,.1);
    box-shadow:none;
    -webkit-backdrop-filter:saturate(115%) blur(12px);
    backdrop-filter:saturate(115%) blur(12px);
}
.topo-principal-in{ min-height:116px; }
.logo img{ width:140px; height:auto; }
.topo-principal.rolando{
    background:rgba(238,243,239,.97);
    box-shadow:0 10px 28px rgba(5,46,35,.1);
}
.rolando .topo-principal-in{ min-height:86px; }
.rolando .logo img{ width:98px; height:auto; }
.menu > ul a{ color:#17362a; }

@media(min-width:1024px){
    .home .topo{ position:absolute; top:0; left:0; width:100%; }
    .home .topo-principal{
        position:relative;
        top:auto;
        background:rgba(226,237,228,.86);
        border-bottom-color:rgba(255,255,255,.28);
    }
    .home .banner-texto{ padding-top:176px; }
}
@media(max-width:1023px){
    .topo-principal-in{ min-height:84px; }
    .logo img{ width:92px; height:auto; }
}
@media(max-width:559px){
    .topo-principal-in{ min-height:78px; }
    .logo img{ width:84px; height:auto; }
}

/* Variacao final da home: menu claro sobre o banner. */
@media(min-width:1024px){
    .home .topo-principal{
        background:rgba(3,31,22,.36);
        border-bottom:1px solid rgba(255,255,255,.2);
        box-shadow:0 18px 42px rgba(1,18,12,.28);
        -webkit-backdrop-filter:saturate(120%) blur(11px);
        backdrop-filter:saturate(120%) blur(11px);
    }
    .home .menu > ul a{ color:rgba(255,255,255,.92); text-shadow:0 1px 8px rgba(0,0,0,.26); }
    .home .menu > ul a:hover{ color:var(--amarelo); }
    .home .menu > ul a::after{ background:var(--amarelo); }
    .home .banner{ box-shadow:inset 0 190px 145px -105px rgba(1,20,14,.92); }
    .home .topo-principal.rolando{
        background:rgba(4,43,30,.66);
        box-shadow:0 16px 36px rgba(1,18,12,.32);
    }
    .home .banner,
    .home .banner-in{
        height:100vh;
        height:100svh;
        min-height:100vh;
        min-height:100svh;
        max-height:none;
    }
}

/* Acabamento final do rodape: fios tecnologicos a direita e icones centrados. */
.rodape-corpo{
    position:relative;
    overflow:hidden;
    background-color:#07110d;
    background-image:none;
}
.rodape-corpo::after{
    content:"";
    position:absolute;
    z-index:0;
    top:-4%;
    right:-2%;
    width:min(820px,68vw);
    height:104%;
    pointer-events:none;
    opacity:1;
    filter:saturate(1.35) brightness(1.28);
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 820 520' fill='none'%3E%3Cg stroke='%2319b269' stroke-linecap='round' stroke-width='1.05'%3E%3Cpath d='M842 -34C747 10 786 106 708 154C630 202 665 390 408 540' opacity='.13'/%3E%3Cpath d='M842 -18C750 24 788 119 711 168C634 217 666 400 416 540' opacity='.15'/%3E%3Cpath d='M842 -2C753 38 790 132 714 182C638 232 667 410 424 540' opacity='.17'/%3E%3Cpath d='M842 14C756 52 792 145 717 196C642 247 668 420 432 540' opacity='.2'/%3E%3Cpath d='M842 30C759 66 794 158 720 210C646 262 669 430 440 540' opacity='.22'/%3E%3Cpath d='M842 46C762 80 796 171 723 224C650 277 670 440 448 540' opacity='.2'/%3E%3Cpath d='M842 62C765 94 798 184 726 238C654 292 671 450 456 540' opacity='.18'/%3E%3Cpath d='M842 78C768 108 800 197 729 252C658 307 672 460 464 540' opacity='.15'/%3E%3Cpath d='M842 94C771 122 802 210 732 266C662 322 673 470 472 540' opacity='.13'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.rodape-corpo-in{ position:relative; z-index:1; }
.rodape-base{
    background-color:#050c09;
    background-image:none;
    border-top:1px solid rgba(46,190,112,.08);
}
.rodape-sociais a{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    padding:0;
    line-height:1;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    color:rgba(255,255,255,.7);
    font-size:15px;
    transition:var(--transicao);
}
.rodape-sociais a:hover{
    border-color:var(--amarelo);
    color:var(--amarelo);
    background:rgba(246,240,7,.08);
    transform:translateY(-3px);
    box-shadow:0 6px 18px rgba(246,240,7,.12);
}
.rodape-sociais a i{
    display:block;
    width:1em;
    line-height:1;
    text-align:center;
}
.rodape-contato-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:10px;
}
.rodape-contato-item > i{
    width:15px;
    margin-top:.32em;
    color:rgba(46,190,112,.82);
    font-size:12px;
    line-height:1;
    text-align:center;
    flex:0 0 15px;
}
.rodape-contato-item > span,
.rodape-contato-item > a{ min-width:0; }
.rodape-contato-telefone > span,
.rodape-contato-telefone > a{
    color:rgba(255,255,255,.86);
    font-size:15px;
    font-weight:800;
    letter-spacing:.01em;
}

@media(max-width:559px){
    .rodape-corpo::after{
        top:-2%;
        right:-20%;
        bottom:auto;
        width:112%;
        height:102%;
        opacity:.86;
    }
}

/* Cabecalho interno sobreposto ao banner, com o mesmo vidro escuro da home. */
.internas .topo{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:900;
}
.internas .topo-principal{
    background:rgba(3,31,22,.38);
    border-bottom:1px solid rgba(255,255,255,.2);
    box-shadow:0 18px 42px rgba(1,18,12,.24);
    -webkit-backdrop-filter:saturate(120%) blur(11px);
    backdrop-filter:saturate(120%) blur(11px);
}
.internas .topo-principal.rolando{
    background:rgba(4,43,30,.88);
    box-shadow:0 12px 30px rgba(1,18,12,.3);
}
.internas .menu > ul a{
    color:rgba(255,255,255,.92);
    text-shadow:0 1px 8px rgba(0,0,0,.24);
}
.internas .menu > ul a:hover{ color:var(--amarelo); }
.internas .menu > ul a::after{ background:var(--amarelo); }
.internas .pagina-topo{ min-height:340px; padding-top:132px; padding-bottom:34px; }

@media(max-width:1023px){
    .internas .topo-principal{ position:relative; }
    .internas .pagina-topo{ min-height:282px; padding-top:102px; padding-bottom:30px; }
    .internas .menu-toggle{ border-color:rgba(255,255,255,.34); }
    .internas .menu-toggle span{ background:var(--amarelo); }
    .internas .menu.aberto{
        width:calc(100% + 40px);
        margin:0 -20px;
        padding:0 20px 20px;
        background:rgba(4,43,30,.97);
        box-shadow:0 18px 28px rgba(1,18,12,.26);
    }
    .internas .menu > ul{ border-top-color:rgba(255,255,255,.16); }
    .internas .menu > ul a{ border-bottom-color:rgba(255,255,255,.14); }
}

@media(max-width:559px){
    .internas .pagina-topo{ min-height:288px; padding-top:92px; padding-bottom:22px; }
    .internas .pagina-topo .breadcrumb{ margin-bottom:10px; }
    .internas .pagina-topo h1{ margin-bottom:8px; font-size:29px; line-height:1.05; }
    .internas .pagina-topo-desc{ font-size:14px; line-height:1.5; }
}

/* A home acompanha a rolagem com os mesmos estados do header interno. */
.home .topo{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:900;
}
.home .topo-principal{
    background:rgba(3,31,22,.38);
    border-bottom:1px solid rgba(255,255,255,.2);
    box-shadow:0 18px 42px rgba(1,18,12,.24);
    -webkit-backdrop-filter:saturate(120%) blur(11px);
    backdrop-filter:saturate(120%) blur(11px);
}
.home .topo-principal.rolando{
    background:rgba(4,43,30,.88);
    box-shadow:0 12px 30px rgba(1,18,12,.3);
}
.home .menu > ul a{
    color:rgba(255,255,255,.92);
    text-shadow:0 1px 8px rgba(0,0,0,.24);
}
.home .menu > ul a:hover{ color:var(--amarelo); }
.home .menu > ul a::after{ background:var(--amarelo); }

@media(max-width:1023px){
    .home .topo-principal{ position:relative; }
    .home .banner-texto{ padding-top:132px; }
    .home .menu-toggle{ border-color:rgba(255,255,255,.34); }
    .home .menu-toggle span{ background:var(--amarelo); }
    .home .menu.aberto{
        width:calc(100% + 40px);
        margin:0 -20px;
        padding:0 20px 20px;
        background:rgba(4,43,30,.97);
        box-shadow:0 18px 28px rgba(1,18,12,.26);
    }
    .home .menu > ul{ border-top-color:rgba(255,255,255,.16); }
    .home .menu > ul a{ border-bottom-color:rgba(255,255,255,.14); }
}

@media(max-width:559px){
    .home .banner-texto{ padding-top:120px; }
}

/* Pares imagem/texto da pagina Sobre acompanham a mesma altura no desktop. */
@media(min-width:1024px){
    .sobre-apresentacao-in,
    .sobre-qualidade-in{ align-items:stretch; }
    .sobre-apresentacao-in > .sobre-imagem,
    .sobre-qualidade-in > .sobre-qualidade-imagem{
        align-self:stretch;
        width:100%;
        height:100%;
        min-height:0;
        aspect-ratio:auto;
    }
}

/* Painel de pesquisa do catalogo — linguagem industrial LL. */
.catalogo-filtros .busca{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:grid;
    gap:10px;
    padding:24px;
    background:var(--painel-fundo);
    border:var(--painel-borda);
    border-radius:var(--painel-raio);
    box-shadow:var(--painel-sombra);
}
.catalogo-filtros .busca::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--verde) 0 72%,var(--amarelo) 72% 100%);
}
.catalogo-filtros .busca::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:-42px;
    top:-54px;
    width:138px;
    height:138px;
    border:1px solid rgba(7,150,79,.09);
    border-radius:50%;
    box-shadow:0 0 0 18px rgba(7,150,79,.025),0 0 0 38px rgba(7,150,79,.018);
}
.catalogo-filtros .busca-tag{
    color:var(--verde);
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    line-height:1.2;
    text-transform:uppercase;
}
.catalogo-filtros .busca label{
    color:var(--verde-profundo);
    font-family:'Barlow Condensed',sans-serif;
    font-size:22px;
    font-weight:700;
    line-height:1.1;
    text-transform:uppercase;
}
.catalogo-filtros .busca-ajuda{
    margin:-3px 0 5px;
    color:var(--texto-claro);
    font-size:12px;
    line-height:1.45;
}
.busca-campo{ position:relative; }
.busca-campo > i{
    position:absolute;
    z-index:1;
    left:15px;
    top:50%;
    color:var(--verde);
    font-size:14px;
    pointer-events:none;
    transform:translateY(-50%);
    transition:color .2s var(--mola),transform .2s var(--mola);
}
.catalogo-filtros .busca input{
    width:100%;
    min-height:48px;
    padding:12px 14px 12px 43px;
    color:var(--titulo);
    background:rgba(255,255,255,.92);
    border:1px solid var(--borda-forte);
    border-radius:7px;
    box-shadow:inset 0 1px 3px rgba(5,46,35,.05);
    font:500 14px 'Manrope',sans-serif;
    transition:border-color .2s var(--mola),box-shadow .2s var(--mola),background .2s var(--mola);
}
.catalogo-filtros .busca input::placeholder{ color:#89958f; }
.catalogo-filtros .busca input:focus{
    outline:none;
    border-color:var(--verde);
    background:#fff;
    box-shadow:0 0 0 4px rgba(7,150,79,.13),inset 0 1px 2px rgba(5,46,35,.04);
}
.busca-campo:focus-within > i{ color:var(--verde-profundo); transform:translateY(-50%) scale(1.08); }
.catalogo-filtros .busca .bt{ width:100%; min-height:44px; margin-top:2px; }

@media(max-width:1023px){
    .catalogo-filtros .busca{ padding:22px; }
}

/* Cartao lateral de atendimento, alinhado ao acabamento do catalogo. */
.contato-dados{
    position:relative;
    overflow:hidden;
    padding:30px;
    background:var(--painel-fundo);
    border:var(--painel-borda);
    border-radius:var(--painel-raio);
    box-shadow:var(--painel-sombra);
}
.contato-dados::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--verde) 0 72%,var(--amarelo) 72% 100%);
}
.contato-dados > h2{
    margin-bottom:20px;
    color:var(--verde-profundo);
    font-size:27px;
    text-transform:uppercase;
}
.contato-dados .canais{
    display:grid;
    gap:0;
    margin:0 0 26px;
    border-top:1px solid rgba(5,46,35,.1);
}
.contato-dados .canais li{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:13px;
    align-items:start;
    padding:16px 0;
    border-bottom:1px solid rgba(5,46,35,.1);
}
.canal-icone{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    color:var(--amarelo);
    background:var(--verde-profundo);
    border-radius:7px;
    box-shadow:0 5px 12px rgba(5,46,35,.16);
    font-size:14px;
}
.canal-conteudo{ min-width:0; padding-top:1px; }
.canal-conteudo .canal-rotulo{ margin-bottom:2px; color:var(--texto-claro); }
.canal-conteudo a,
.canal-conteudo address,
.canal-conteudo p,
.canal-conteudo > span:not(.canal-rotulo){
    display:block;
    overflow-wrap:anywhere;
    color:var(--titulo);
    font-size:14px;
    line-height:1.5;
}
.canal-conteudo a{ color:var(--verde-escuro); font-weight:700; }
.canal-conteudo a:hover{ color:var(--verde); text-decoration:none; }
.contato-dados .contato-sociais{ margin-bottom:26px; }
.contato-dados .contato-sociais h3{
    margin-bottom:12px;
    color:var(--verde-profundo);
    font-size:16px;
}
.contato-dados .contato-sociais ul{ gap:9px; }
.contato-dados .contato-sociais a{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    padding:0;
    color:var(--verde-profundo);
    background:#fff;
    border:1px solid rgba(5,46,35,.18);
    border-radius:50%;
    box-shadow:0 5px 12px rgba(5,46,35,.07);
    font-size:15px;
    line-height:1;
}
.contato-dados .contato-sociais a:hover,
.contato-dados .contato-sociais a:focus-visible{
    color:var(--amarelo);
    background:var(--verde-profundo);
    border-color:var(--verde-profundo);
    transform:translateY(-2px);
}
.contato-dados .contato-sociais a:focus-visible{ outline:3px solid rgba(7,150,79,.24); outline-offset:3px; }
.contato-dados .contato-atalho{
    margin:0 -8px -8px;
    padding:22px;
    background:rgba(7,150,79,.075);
    border-color:rgba(7,150,79,.16);
}

@media(max-width:1023px){
    .contato-dados{ padding:24px; }
}

/* Carrinho de orçamento — controles precisos e confortáveis ao toque. */
.quantidade-controle{
    display:grid;
    grid-template-columns:44px minmax(52px,1fr) 44px;
    align-items:center;
    overflow:hidden;
    height:46px;
    min-width:144px;
    background:#fff;
    border:1px solid rgba(5,46,35,.22);
    border-radius:8px;
    box-shadow:inset 0 1px 3px rgba(5,46,35,.045);
    transition:border-color .2s var(--mola),box-shadow .2s var(--mola);
}
.quantidade-controle:focus-within{
    border-color:var(--verde);
    box-shadow:0 0 0 4px rgba(7,150,79,.14),inset 0 1px 2px rgba(5,46,35,.04);
}
.quantidade-controle.salvando{ opacity:.72; }
.carrinho-status{
    min-height:18px;
    margin:-12px 0 8px;
    color:var(--verde-escuro);
    font-size:12px;
    text-align:right;
}
.carrinho-status.erro{ color:#a3443d; }
.quantidade-controle input,
.item-quantidade .quantidade-controle input,
.quantidade-campo .quantidade-controle input{
    min-width:0;
    height:46px;
    padding:0 6px;
    background:transparent;
    border:0;
    border-right:1px solid rgba(5,46,35,.12);
    border-left:1px solid rgba(5,46,35,.12);
    border-radius:0;
    box-shadow:none;
    font-size:16px;
    font-weight:700;
    text-align:center;
    color:var(--titulo);
    -moz-appearance:textfield;
}
.quantidade-controle input:focus,
.item-quantidade .quantidade-controle input:focus,
.quantidade-campo .quantidade-controle input:focus{ border-color:rgba(5,46,35,.12); box-shadow:none; outline:none; }
.quantidade-controle input::-webkit-inner-spin-button,
.quantidade-controle input::-webkit-outer-spin-button,
.item-quantidade .quantidade-controle input::-webkit-inner-spin-button,
.item-quantidade .quantidade-controle input::-webkit-outer-spin-button,
.quantidade-campo .quantidade-controle input::-webkit-inner-spin-button,
.quantidade-campo .quantidade-controle input::-webkit-outer-spin-button{ margin:0; -webkit-appearance:none; }
.quantidade-ajuste{
    display:grid;
    place-items:center;
    width:44px;
    height:46px;
    padding:0;
    color:var(--verde-profundo);
    background:#f3f7f4;
    border:0;
    cursor:pointer;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    transition:color .18s var(--mola),background .18s var(--mola),transform .18s var(--mola);
}
.quantidade-ajuste:hover:not(:disabled){ color:#fff; background:var(--verde); }
.quantidade-ajuste:active:not(:disabled){ transform:scale(.92); }
.quantidade-ajuste:focus-visible{ position:relative; z-index:2; outline:3px solid rgba(7,150,79,.3); outline-offset:-3px; }
.quantidade-ajuste:disabled{ color:#aab4af; background:#f7f9f8; cursor:not-allowed; }
.item-remover{
    align-self: end;
    margin: 0 0 2px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: #a3443d;
    background: #fff;
    border: 1px solid rgba(163,68,61,.25);
    border-radius: 50%;
    box-shadow: 0 5px 12px rgba(90,38,34,.07);
    cursor: pointer;
    font-family: inherit;
    font-size: 15px;
    transition: color .2s var(--mola),background .2s var(--mola),border-color .2s var(--mola),transform .2s var(--mola);
}
.item-remover:hover{ color:#fff; background:#a3443d; border-color:#a3443d; transform:translateY(-2px); }
.item-remover:focus-visible{ outline:3px solid rgba(163,68,61,.23); outline-offset:3px; }
.form-lista-botoes{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.bt-whatsapp{ color:#fff; background:#087b49; border-color:#087b49; }
.bt-whatsapp:hover{ color:#fff; background:#075f3a; border-color:#075f3a; }

/* Refinamento seletivo de paineis existentes, sem uniformizar o site inteiro. */
.orcamento-lista{
    min-width:0;
    padding:28px;
    background:#fff;
    border:1px solid rgba(5,46,35,.12);
    border-radius:12px;
    box-shadow:0 16px 36px rgba(5,46,35,.075);
}
.orcamento-lista > h2,
.orcamento-form > h2{
    position:relative;
    padding-bottom:13px;
    color:var(--verde-profundo);
}
.orcamento-lista > h2::after,
.orcamento-form > h2::after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:42px;
    height:3px;
    background:var(--amarelo);
    border-radius:2px;
}
.orcamento-form{
    min-width:0;
    overflow:hidden;
    background:var(--painel-fundo);
    border:var(--painel-borda);
    border-radius:var(--painel-raio);
    box-shadow:var(--painel-sombra);
}
.orcamento-form::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--verde) 0 72%,var(--amarelo) 72% 100%);
}
.produto-garantias{
    padding:20px;
    background:rgba(7,150,79,.055);
    border:1px solid rgba(7,150,79,.13);
    border-radius:9px;
}
.vazio,
.confirmacao-caixa{
    border:1px solid rgba(5,46,35,.13);
    border-radius:12px;
    box-shadow:0 14px 32px rgba(5,46,35,.075);
}

@media(min-width:1024px){
    .itens li{ grid-template-columns:92px minmax(0,1fr) auto; }
}

@media(max-width:1023px){
    .orcamento-lista{ padding:24px; }
    .item-quantidade{ grid-template-columns:auto minmax(138px,180px); }
    .item-remover{ justify-self:end; }
}

@media(max-width:559px){
    .orcamento-lista{ padding:20px; }
    .item-quantidade{ grid-template-columns:1fr; align-items:stretch; }
    .quantidade-controle{ width:100%; }
    .form-lista-botoes{ display:grid; width:100%; }
}

/* Resumo lateral do orçamento. */
body.drawer-aberto{ overflow:hidden; }
.orcamento-overlay{
    position:fixed;
    z-index:1100;
    inset:0;
    background:rgba(1,20,14,.58);
    opacity:0;
    transition:opacity .24s ease;
}
.orcamento-overlay.aberto{ opacity:1; }
.orcamento-drawer{
    position:fixed;
    z-index:1110;
    top:0;
    right:0;
    display:flex;
    flex-direction:column;
    width:min(440px,92vw);
    height:100dvh;
    max-height:100vh;
    color:var(--texto);
    background:#f7faf8;
    border-left:1px solid rgba(255,255,255,.18);
    box-shadow:-24px 0 60px rgba(1,20,14,.28);
    transform:translateX(104%);
    transition:transform .25s var(--mola);
}
.orcamento-drawer.aberto{ transform:translateX(0); }
.drawer-topo{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:24px 26px;
    color:#fff;
    background:var(--verde-profundo);
    border-bottom:4px solid var(--amarelo);
}
.drawer-topo .secao-tag{ margin-bottom:3px; color:#8ed9ae; }
.drawer-topo h2{ color:#fff; font-size:25px; }
.drawer-fechar{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:42px;
    height:42px;
    padding:0;
    color:#fff;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.26);
    border-radius:50%;
    cursor:pointer;
    font-size:17px;
}
.drawer-fechar:hover{ color:var(--verde-profundo); background:var(--amarelo); border-color:var(--amarelo); }
.drawer-fechar:focus-visible{ outline:3px solid rgba(246,240,7,.55); outline-offset:3px; }
.drawer-live{ position:absolute; overflow:hidden; width:1px; height:1px; clip:rect(0 0 0 0); white-space:nowrap; }
.drawer-conteudo{ overflow-y:auto; padding:24px 26px 28px; }
.drawer-itens{ display:grid; gap:12px; }
.drawer-item{
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:14px;
    background:#fff;
    border:1px solid rgba(5,46,35,.12);
    border-radius:10px;
    box-shadow:0 4px 14px rgba(5,46,35,.05);
    transition:var(--transicao);
}
.drawer-item:hover{
    border-color:rgba(2,154,77,.3);
    box-shadow:0 6px 18px rgba(5,46,35,.09);
}
.drawer-item-imagem{
    width:68px;
    height:68px;
    border-radius:8px;
    overflow:hidden;
    background:var(--fundo-alt);
    border:1px solid var(--borda);
    flex-shrink:0;
    display:block;
}
.drawer-item-imagem img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.drawer-item-corpo{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:0;
}
.drawer-item-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}
.drawer-item-titulo{
    display:block;
    color:var(--titulo);
    font-size:14px;
    font-weight:700;
    line-height:1.3;
}
.drawer-item-titulo:hover{
    color:var(--verde);
    text-decoration:none;
}
.drawer-item-codigo{
    display:block;
    color:var(--texto-claro);
    font-size:11px;
    margin-top:2px;
}
.drawer-item-remover{
    background:transparent;
    border:none;
    color:var(--texto-claro);
    font-size:14px;
    padding:4px;
    cursor:pointer;
    transition:color .2s var(--mola), transform .2s var(--mola);
    line-height:1;
}
.drawer-item-remover:hover{
    color:#c0392b;
    transform:scale(1.18);
}
.drawer-item-rodape{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.drawer-item-rodape .quantidade-controle{
    min-width:128px;
    height:38px;
    grid-template-columns:36px minmax(40px,1fr) 36px;
}
.drawer-item-rodape .quantidade-controle input{
    height:38px;
    font-size:15px;
    text-align:center;
}
.drawer-item-rodape .quantidade-ajuste{
    width:36px;
    height:38px;
    font-size:13px;
}
.drawer-resumo{ display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:20px; padding:17px 0; border-top:1px solid var(--borda); border-bottom:1px solid var(--borda); }
.drawer-resumo span{ color:var(--texto-claro); font-size:13px; }
.drawer-resumo strong{ color:var(--verde-profundo); font-size:23px; }
.drawer-acoes{ display:grid; gap:10px; margin-top:20px; }
.drawer-acoes .bt{ width:100%; }
.drawer-vazio{ padding:50px 12px; text-align:center; }
.drawer-vazio > i{ display:grid; place-items:center; width:64px; height:64px; margin:0 auto 18px; color:var(--amarelo); background:var(--verde-profundo); border-radius:50%; font-size:24px; }
.drawer-vazio h3{ margin-bottom:8px; color:var(--verde-profundo); font-size:21px; }
.drawer-vazio p{ margin-bottom:22px; color:var(--texto-claro); font-size:14px; }

@media(max-width:559px){
    .orcamento-drawer{ width:100%; }
    .drawer-topo{ padding:20px; }
    .drawer-conteudo{ padding:20px; }
}

@media(prefers-reduced-motion:reduce){
    .orcamento-overlay,
    .orcamento-drawer{ transition:none; }
}


/* ==========================================================================
   Refinamento premium — linguagem industrial editorial
   Superfícies mais precisas, tipografia mais segura e interações contidas.
   ========================================================================== */

:root{
    --premium-borda: rgba(5,46,35,.14);
    --premium-borda-forte: rgba(5,46,35,.24);
    --premium-sombra: 0 18px 48px rgba(5,46,35,.085);
    --premium-sombra-hover: 0 24px 58px rgba(5,46,35,.13);
    --premium-raio: 7px;
}

/* Headline principal sem quebra cromática. */
.banner-texto h1,
.banner-texto h1 span,
.banner-texto h1 em{
    color:#fff;
}

/* Escala tipográfica: títulos deixam de competir com o texto corrido. */
.secao-topo{ max-width:780px; margin-bottom:52px; }
.secao-topo h2,
.empresa-texto h2,
.sobre-texto h2,
.sobre-diferenciais-texto h2,
.sobre-qualidade-texto h2{
    font-size:clamp(40px,4.15vw,54px);
    line-height:.98;
    letter-spacing:-.025em;
}
.secao-desc{ max-width:690px; font-size:17px; line-height:1.7; }
.pagina-topo h1,
.internas .pagina-topo h1{
    font-size:clamp(42px,4.8vw,60px);
    line-height:1;
    letter-spacing:-.025em;
}
.pagina-topo-desc{ max-width:800px; font-size:17px; line-height:1.65; }
.html-text h2{ font-size:clamp(28px,3vw,36px); line-height:1.08; }
.html-text h3{ font-size:clamp(22px,2vw,27px); line-height:1.15; }
.produto-conteudo .bloco h2,
.orcamento-form > h2,
.contato-dados > h2,
.contato-form > h2{
    font-size:clamp(27px,2.6vw,34px);
    line-height:1.08;
}

/* Serviços: painéis técnicos, sem o efeito de cards genéricos flutuantes. */
.servicos-lista{ gap:18px; }
.servicos-lista li{
    min-height:100%;
    padding:32px 30px 34px;
    background:rgba(255,255,255,.94);
    border-color:var(--premium-borda);
    border-radius:var(--premium-raio);
    box-shadow:none;
}
.servicos-lista li::after{
    top:0;
    width:46px;
    height:4px;
    background:var(--verde);
    transform:none;
}
.servicos-lista li:hover{
    border-color:var(--premium-borda-forte);
    box-shadow:var(--premium-sombra);
    transform:translateY(-2px);
}
.servico-icone{
    width:50px;
    height:50px;
    margin-bottom:24px;
    border-radius:5px;
    font-size:20px;
}
.servicos-lista li:hover .servico-icone{
    color:var(--verde-profundo);
    background:var(--amarelo);
    transform:none;
}
.servicos-lista h3{ font-size:25px; line-height:1.08; margin-bottom:12px; }
.servicos-lista p{ font-size:15px; line-height:1.72; }

/* Equipamentos: produto em primeiro plano e ações mais limpas. */
.card{
    border-color:var(--premium-borda);
    border-radius:var(--premium-raio);
    box-shadow:0 10px 28px rgba(5,46,35,.045);
}
.card:hover{
    border-color:rgba(7,150,79,.38);
    box-shadow:var(--premium-sombra-hover);
    transform:translateY(-3px);
}
.card-imagem::after{
    background:linear-gradient(180deg,transparent 62%,rgba(5,46,35,.16));
}
.card:hover .card-imagem img{ transform:scale(1.035); }
.card-corpo{ padding:25px 24px 22px; }
.card-categoria{ margin-bottom:11px; font-size:10.5px; letter-spacing:.12em; }
.card-codigo{ border-radius:3px; }
.card h3{ margin-bottom:10px; font-size:23px; line-height:1.1; }
.card-resumo{ margin-bottom:20px; font-size:14.5px; line-height:1.65; }
.card-acoes{
    gap:5px;
    padding-top:17px;
    border-top:1px solid rgba(5,46,35,.1);
}
.card-acoes .bt-verde{ min-height:43px; }
.card-acoes .bt-vazado{
    padding:9px 12px;
    color:var(--verde-profundo);
    background:transparent;
    border-color:transparent;
    box-shadow:none;
}
.card-acoes .bt-vazado:hover{
    color:var(--verde);
    background:rgba(7,150,79,.055);
    border-color:transparent;
    transform:none;
}

/* Categorias com proporção editorial e hierarquia mais clara. */
.grade-categorias{ gap:20px; }
.grade-categorias > li{
    border-color:var(--premium-borda);
    border-radius:var(--premium-raio);
    box-shadow:none;
}
.grade-categorias > li:hover{
    border-color:var(--premium-borda-forte);
    box-shadow:var(--premium-sombra);
    transform:translateY(-2px);
}
.grade-categorias > li:hover .categoria-imagem img{ transform:scale(1.035); }
.categoria-texto{ padding:26px 25px 27px; }
.categoria-texto h3{ font-size:25px; line-height:1.08; margin-bottom:10px; }
.categoria-texto p{ font-size:14.5px; line-height:1.65; }

/* Áreas e etapas funcionam como informação editorial, não como cards repetidos. */
.grade-atuacao{ gap:0 26px; }
.grade-atuacao li{
    padding:64px 10px 25px 0;
    background:transparent;
    border:0;
    border-top:1px solid var(--premium-borda-forte);
    border-radius:0;
}
.grade-atuacao li:hover{
    background:transparent;
    border-color:var(--verde);
    box-shadow:none;
    transform:none;
}
.grade-atuacao li > i{ left:0; top:21px; font-size:23px; }
.grade-atuacao li:hover > i{ color:var(--verde); transform:none; }
.grade-atuacao h3{ margin-bottom:8px; font-size:21px; line-height:1.12; }
.grade-atuacao p{ font-size:14.5px; line-height:1.62; }

.passos{ gap:18px; }
.passos li{
    padding:30px 27px 31px;
    border-color:var(--premium-borda);
    border-radius:var(--premium-raio);
    box-shadow:none;
}
.passos li:hover{ box-shadow:var(--premium-sombra); transform:translateY(-2px); }
.passos h3{ font-size:24px; line-height:1.08; margin-bottom:10px; }
.passos p{ font-size:14.5px; line-height:1.65; }
.passo-numero{ border-radius:5px; box-shadow:none; }

/* Institucional: mesma precisão, preservando os blocos que têm função própria. */
.linha-tempo{ gap:18px; }
.linha-tempo li,
.grade-estrutura li,
.lista-diferenciais li{
    border-color:var(--premium-borda);
    border-radius:var(--premium-raio);
    box-shadow:none;
}
.linha-tempo li:hover,
.grade-estrutura li:hover,
.lista-diferenciais li:hover{
    border-color:var(--premium-borda-forte);
    box-shadow:var(--premium-sombra);
    transform:translateY(-2px);
}
.linha-tempo h3,
.grade-estrutura h3,
.lista-diferenciais h3{
    font-size:22px;
    line-height:1.12;
}
.linha-tempo p,
.grade-estrutura p,
.lista-diferenciais p{ font-size:14.5px; line-height:1.68; }
.identidade-cards > li{ border-radius:var(--premium-raio); }
.identidade-cards > li:hover{ transform:translateY(-2px); }
.identidade-cards h3{ font-size:25px; line-height:1.08; }
.diferencial-icone,
.estrutura-icone{ border-radius:5px; }
.lista-diferenciais li:hover .diferencial-icone{ transform:none; }

/* Controles mantêm presença premium sem animações excessivas. */
.bt:hover{ transform:translateY(-1px); }
.bt:active{ transform:translateY(0); }
.carrossel-equipamentos .owl-nav .owl-prev,
.carrossel-equipamentos .owl-nav .owl-next{
    border-radius:4px;
    box-shadow:none;
}
.rodape-col h3{ font-size:22px; line-height:1.12; }

@media(max-width:1023px){
    .secao-topo{ margin-bottom:40px; }
    .secao-topo h2,
    .empresa-texto h2,
    .sobre-texto h2,
    .sobre-diferenciais-texto h2,
    .sobre-qualidade-texto h2{ font-size:clamp(35px,5.8vw,46px); }
    .pagina-topo h1,
    .internas .pagina-topo h1{ font-size:clamp(37px,6.2vw,49px); }
}

@media(max-width:559px){
    .secao-topo{ margin-bottom:32px; }
    .secao-topo h2,
    .empresa-texto h2,
    .sobre-texto h2,
    .sobre-diferenciais-texto h2,
    .sobre-qualidade-texto h2{ font-size:34px; line-height:1.02; }
    .pagina-topo h1,
    .internas .pagina-topo h1{ font-size:36px; }
    .secao-desc,
    .pagina-topo-desc{ font-size:16px; }
    .servicos-lista li,
    .passos li{ padding:26px 23px 28px; }
    .card-corpo{ padding:22px 20px 19px; }
    .card h3,
    .servicos-lista h3,
    .categoria-texto h3,
    .passos h3{ font-size:22px; }
    .grade-atuacao{ gap:0; }
}


/* Categoria identificada como família navegável nos cards do catálogo. */
.card-categoria-titulo{
    color:var(--verde);
    font:inherit;
    font-weight:800;
    letter-spacing:inherit;
    text-transform:inherit;
}
.card-categoria-titulo:hover{ color:var(--verde-profundo); text-decoration:none; }
.card-categoria-titulo:focus-visible{ outline:2px solid rgba(7,150,79,.35); outline-offset:3px; }


/* Atalho comercial do WhatsApp — contraponto ao retorno ao topo à esquerda. */
.whatsapp-flutuante{
    position:fixed;
    z-index:1500;
    right:22px;
    bottom:22px;
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    text-decoration:none;
    filter:drop-shadow(0 14px 24px rgba(1,37,22,.25));
    transition:transform .22s var(--mola),filter .22s var(--mola),opacity .2s ease;
}
.whatsapp-flutuante:hover{
    color:#fff;
    text-decoration:none;
    transform:translateY(-3px);
    filter:drop-shadow(0 18px 30px rgba(1,37,22,.34));
}
.whatsapp-flutuante-texto{
    display:grid;
    gap:1px;
    min-width:164px;
    padding:10px 15px 11px;
    color:#fff;
    background:rgba(5,46,35,.96);
    border:1px solid rgba(255,255,255,.18);
    border-radius:5px;
}
.whatsapp-flutuante-texto::after{
    content:"";
    position:absolute;
    right:59px;
    top:50%;
    width:9px;
    height:9px;
    background:#052e23;
    border-top:1px solid rgba(255,255,255,.18);
    border-right:1px solid rgba(255,255,255,.18);
    transform:translateY(-50%) rotate(45deg);
}
.whatsapp-flutuante-texto small{
    color:rgba(255,255,255,.64);
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em;
    line-height:1.2;
    text-transform:uppercase;
}
.whatsapp-flutuante-texto strong{
    color:#fff;
    font-family:'Barlow Condensed',sans-serif;
    font-size:18px;
    font-weight:700;
    line-height:1.1;
}
.whatsapp-flutuante-icone{
    position:relative;
    display:grid;
    place-items:center;
    flex:0 0 58px;
    width:58px;
    height:58px;
    color:#fff;
    background:#20b85a;
    border:2px solid #fff;
    border-radius:50%;
    box-shadow:0 0 0 4px rgba(32,184,90,.22),inset 0 -5px 12px rgba(0,73,36,.18);
    font-size:29px;
}
.whatsapp-flutuante-icone::after{
    content:"";
    position:absolute;
    inset:-7px;
    border:1px solid rgba(32,184,90,.38);
    border-radius:50%;
    animation:whatsapp-presenca 2.8s ease-out infinite;
}
.whatsapp-flutuante:focus-visible{ outline:none; }
.whatsapp-flutuante:focus-visible .whatsapp-flutuante-icone{
    outline:3px solid var(--amarelo);
    outline-offset:4px;
    box-shadow:0 0 0 8px var(--verde-profundo);
}
body.drawer-aberto .whatsapp-flutuante{ opacity:0; pointer-events:none; }
@keyframes whatsapp-presenca{
    0%,45%{ opacity:.72; transform:scale(.86); }
    72%,100%{ opacity:0; transform:scale(1.24); }
}


/* Política de privacidade — documento legível com navegação contextual. */
.politica-secao{ padding:88px 0 104px; background:#f3f6f4; }
.politica-layout{
    display:grid;
    grid-template-columns:minmax(250px,330px) minmax(0,1fr);
    gap:34px;
    align-items:start;
}
.politica-resumo{
    position:sticky;
    top:104px;
    padding:28px;
    color:var(--texto);
    background:#fff;
    border:1px solid rgba(5,46,35,.14);
    border-top:4px solid var(--verde);
    border-radius:7px;
    box-shadow:0 18px 44px rgba(5,46,35,.075);
}
.politica-resumo-icone{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    margin-bottom:22px;
    color:var(--amarelo);
    background:var(--verde-profundo);
    border-radius:5px;
    font-size:21px;
}
.politica-resumo h2{ margin-bottom:15px; font-size:31px; line-height:1.03; }
.politica-resumo > p:not(.secao-tag){ color:var(--texto-claro); font-size:14px; line-height:1.68; }
.politica-resumo ul{ display:grid; gap:10px; margin:23px 0 26px; }
.politica-resumo li{ position:relative; padding-left:24px; color:var(--verde-profundo); font-size:13px; font-weight:700; }
.politica-resumo li::before{
    content:"";
    position:absolute;
    left:1px;
    top:8px;
    width:9px;
    height:5px;
    border-left:2px solid var(--verde);
    border-bottom:2px solid var(--verde);
    transform:rotate(-45deg);
}
.politica-resumo .bt{ width:100%; }
.politica-documento{
    min-width:0;
    padding:44px clamp(28px,5vw,64px) 52px;
    background:#fff;
    border:1px solid rgba(5,46,35,.13);
    border-radius:7px;
    box-shadow:0 20px 52px rgba(5,46,35,.08);
}
.politica-documento .html-text{ max-width:820px; }
.politica-documento .contentPolicy__titulo,
.politica-documento .html-text > h2{
    position:relative;
    margin:42px 0 17px;
    padding-top:25px;
    color:var(--verde-profundo);
    border-top:1px solid rgba(5,46,35,.13);
    font-family:'Barlow Condensed',sans-serif;
    font-size:28px;
    font-weight:700;
    line-height:1.08;
    letter-spacing:-.01em;
}
.politica-documento .contentPolicy__titulo:first-child,
.politica-documento .html-text > h2:first-child{ margin-top:0; padding-top:0; border-top:0; font-size:36px; }
.politica-documento .contentPolicy__texto{ margin-bottom:0; color:var(--texto); font-size:15px; line-height:1.85; }
.politica-documento .contentPolicy__texto > p{ margin-bottom:17px; }
.politica-documento .html-text p,
.politica-documento .html-text li{ color:var(--texto); font-size:15px; line-height:1.85; }
.politica-documento .html-text a{ font-weight:700; text-decoration:underline; text-underline-offset:3px; }

@media(max-width:1023px){
    .politica-secao{ padding:60px 0 72px; }
    .politica-layout{ grid-template-columns:1fr; }
    .politica-resumo{ position:static; display:grid; grid-template-columns:auto 1fr; column-gap:20px; }
    .politica-resumo-icone{ grid-row:1/4; }
    .politica-resumo ul,.politica-resumo .bt{ grid-column:1/-1; }
}

@media(max-width:559px){
    .whatsapp-flutuante{ right:16px; bottom:16px; }
    .whatsapp-flutuante-texto{ display:none; }
    .whatsapp-flutuante-icone{ width:54px; height:54px; flex-basis:54px; font-size:27px; }
    .politica-secao{ padding:44px 0 56px; }
    .politica-layout{ gap:20px; }
    .politica-resumo{ display:block; padding:24px 21px; }
    .politica-resumo h2{ font-size:28px; }
    .politica-documento{ padding:30px 21px 36px; }
    .politica-documento .contentPolicy__titulo,
    .politica-documento .html-text > h2{ font-size:24px; }
    .politica-documento .contentPolicy__titulo:first-child,
    .politica-documento .html-text > h2:first-child{ font-size:30px; }
}

@media(prefers-reduced-motion:reduce){
    .whatsapp-flutuante-icone::after{ animation:none; }
}


/* Carrossel de clientes — prova social centralizada e administrável. */
.clientes{
    position:relative;
    overflow:hidden;
    padding:88px 0 82px;
    background:#f5f7f5;
    border-top:1px solid rgba(5,46,35,.09);
    border-bottom:1px solid rgba(5,46,35,.09);
}
.clientes::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.045;
    background:linear-gradient(90deg,var(--verde-profundo) 1px,transparent 1px);
    background-size:84px 100%;
    pointer-events:none;
}
.clientes .center{ position:relative; z-index:1; }
.clientes-topo{ max-width:720px; margin:0 auto 34px; text-align:center; }
.clientes-topo .secao-desc{ margin-right:auto; margin-left:auto; }
.carrossel-clientes{ max-width:1040px; margin:0 auto; }
.carrossel-clientes .owl-stage{ display:flex; align-items:stretch; }
.carrossel-clientes .owl-item{ display:flex; opacity:.58; transform:scale(.95); transition:opacity .35s ease,transform .35s ease; }
.carrossel-clientes .owl-item.active{ opacity:.82; }
.carrossel-clientes .owl-item.center{ opacity:1; transform:scale(1); }
.cliente-item{ width:100%; min-height:148px; }
.cliente-item > a,
.cliente-item > strong{
    width:100%;
    min-height:148px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    color:var(--verde-profundo);
    background:#fff;
    border:1px solid rgba(5,46,35,.13);
    border-top:4px solid var(--verde);
    border-radius:6px;
    box-shadow:0 14px 34px rgba(5,46,35,.07);
    font-family:'Barlow Condensed',sans-serif;
    font-size:clamp(25px,3vw,34px);
    font-weight:800;
    letter-spacing:.01em;
    line-height:1;
    text-align:center;
    text-transform:uppercase;
}
.cliente-item > a:hover{ color:var(--verde); text-decoration:none; transform:translateY(-2px); }
.cliente-item img{ width:auto!important; max-width:220px; max-height:84px; object-fit:contain; filter:saturate(.9); }
.carrossel-clientes .owl-nav{ display:flex; justify-content:center; gap:10px; margin-top:26px; }
.carrossel-clientes .owl-nav > div{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    color:#fff;
    background:var(--verde-profundo);
    border-radius:50%;
    font-size:24px;
}
.carrossel-clientes .owl-nav > div:hover{ color:var(--verde-profundo); background:var(--amarelo); }
.carrossel-clientes .owl-nav .botao{ position:absolute; left:-9999px; }
.carrossel-clientes .owl-dots{ display:flex; justify-content:center; gap:7px; margin-top:16px; }
.carrossel-clientes .owl-dot{ width:8px; height:8px; background:rgba(5,46,35,.22); border-radius:50%; }
.carrossel-clientes .owl-dot.active{ width:24px; background:var(--verde); border-radius:5px; }

/* Seletor global PT-BR / EN-US, apoiado pelo Google Translate. */
.tradutor{ position:relative; display:block; flex:0 0 auto; }
.tradutor-idiomas{
    display:flex;
    gap:8px;
}
.tradutor-idioma{
    width:35px;
    min-width:35px;
    height:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    background:transparent;
    border:0;
    border-radius:50%;
    box-shadow:none;
    cursor:pointer;
    overflow:hidden;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.tradutor-idioma svg{ display:block; width:100%; height:100%; border-radius:50%; }
.tradutor-idioma:hover,
.tradutor-idioma.ativo{
    filter:drop-shadow(0 0 4px rgba(240,233,29,.65));
    transform:none;
}
.tradutor-google-nativo{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
.goog-te-balloon-frame,
body > .skiptranslate{ display:none!important; }
html,
body{ top:0!important; margin-top:0!important; }

@media(min-width:1024px){
    .menu{ gap:18px; }
    .menu > ul{ gap:20px; }
}
@media(max-width:1023px){
    .tradutor{ width:max-content; margin:18px 0 24px; }
    .menu-toggle span,
    .home .menu-toggle span,
    .internas .menu-toggle span{ background:var(--verde-profundo); }
}
@media(max-width:559px){
    .clientes{ padding:62px 0 58px; }
    .cliente-item,
    .cliente-item > a,
    .cliente-item > strong{ min-height:132px; }
}


/* Hero rotativo — locação de caldeiras e máquinas de limpeza. */
.banner-rotativo{
    isolation:isolate;
    overflow:hidden;
    background:#031912;
}
.banner-rotativo .banner-slides,
.banner-rotativo .banner-slide{ position:absolute; inset:0; }
.banner-rotativo .banner-slide{
    visibility:hidden;
    opacity:0;
    z-index:0;
    transform:scale(1.025);
    background-image:
        linear-gradient(90deg,rgba(3,25,18,.98) 0%,rgba(4,37,26,.91) 35%,rgba(4,37,26,.26) 69%,rgba(4,37,26,.05) 100%),
        var(--banner-imagem);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transition:opacity .75s ease,transform 1.1s ease,visibility 0s linear .75s;
}
.banner-rotativo .banner-slide::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.16;
    background:linear-gradient(90deg,rgba(240,233,29,.18) 1px,transparent 1px);
    background-size:84px 100%;
    pointer-events:none;
}
.banner-rotativo .banner-slide.ativo{
    visibility:visible;
    opacity:1;
    z-index:1;
    transform:scale(1);
    transition-delay:0s;
}
.banner-rotativo .banner-in{ position:relative; z-index:2; }
.banner-rotativo .banner-texto h1,
.banner-rotativo .banner-texto h2{
    max-width:720px;
    margin-bottom:28px;
    color:#fff;
    font-family:'Barlow Condensed',sans-serif;
    font-size:72px;
    font-weight:800;
    letter-spacing:-.025em;
    line-height:1.08;
    text-transform:uppercase;
}
.banner-rotativo .banner-texto h1 span,
.banner-rotativo .banner-texto h1 em,
.banner-rotativo .banner-texto h2 span,
.banner-rotativo .banner-texto h2 em{ display:block; }
.banner-rotativo .banner-texto h1 em,
.banner-rotativo .banner-texto h2 em{ color:var(--amarelo); font-style:normal; }
.banner-nav{
    position:absolute;
    z-index:12;
    left:50%;
    bottom:34px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    transform:translateX(-50%);
    pointer-events:none;
}
.banner-nav button{ pointer-events:auto; }
.banner-seta{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    color:#fff;
    background:rgba(3,31,22,.72);
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);
    cursor:pointer;
    transition:color .2s ease,background .2s ease,border-color .2s ease;
}
.banner-seta:hover{ color:var(--verde-profundo); background:var(--amarelo); border-color:var(--amarelo); }
.banner-indicadores{
    position:relative;
    height:46px;
    display:flex;
    align-items:center;
    gap:3px;
    padding:0 14px 4px;
    overflow:hidden;
    background:rgba(3,31,22,.72);
    border:1px solid rgba(255,255,255,.28);
    border-radius:23px;
    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);
}
.banner-indicadores button{
    position:relative;
    width:38px;
    height:38px;
    padding:0;
    color:rgba(255,255,255,.52);
    background:transparent;
    border:0;
    cursor:pointer;
    font-family:'Barlow Condensed',sans-serif;
    font-size:13px;
    font-weight:800;
}
.banner-indicadores button.ativo{ color:var(--amarelo); }
.banner-indicadores button.ativo::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:3px;
    width:5px;
    height:5px;
    background:var(--amarelo);
    border-radius:50%;
    transform:translateX(-50%);
}
.banner-progresso{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:rgba(255,255,255,.13);
}
.banner-progresso i{ display:block; width:0; height:100%; background:var(--amarelo); }
.banner-nav.reproduzindo .banner-progresso i{ animation:banner-tempo 7s linear forwards; }
@keyframes banner-tempo{ to{ width:100%; } }

@media(max-width:1169px) and (min-width:1024px){
    .banner-rotativo .banner-texto h1,
    .banner-rotativo .banner-texto h2{ font-size:58px; }
}
@media(max-width:1023px){
    .home .banner-rotativo,
    .home .banner-rotativo .banner-slide,
    .home .banner-rotativo .banner-in{
        height:100vh;
        height:100svh;
        min-height:100vh;
        min-height:100svh;
    }
    .banner-rotativo::before{ display:none; }
    .banner-rotativo .banner-slide{ background-position:74% center; }
    .banner-rotativo .banner-slide::after{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(
            90deg,
            rgba(3,25,18,.78) 0%,
            rgba(3,25,18,.58) 54%,
            rgba(3,25,18,.2) 100%
        );
    }
    .banner-rotativo .banner-slide::before{ z-index:1; }
    .banner-rotativo .banner-in{ z-index:2; }
    .banner-rotativo .banner-texto h1,
    .banner-rotativo .banner-texto h2{
        font-size:54px;
        text-shadow:0 3px 20px rgba(1,18,12,.48);
    }
    .banner-nav{ bottom:24px; justify-content:center; }
}
@media(max-width:559px){
    .home .banner-rotativo .banner-in{
        display:flex;
        align-items:center;
        justify-content:center;
    }
    .home .banner-rotativo .banner-texto{
        position:absolute;
        top:50%;
        left:20px;
        right:20px;
        width:auto;
        max-width:none;
        padding:0;
        transform:translateY(-50%);
    }
    .banner-rotativo .banner-texto h1,
    .banner-rotativo .banner-texto h2{ font-size:43px; }
    .banner-nav{ gap:14px; }
    .banner-nav .banner-indicadores{ display:none; }
    .banner-seta{ width:42px; height:42px; }
}
@media(prefers-reduced-motion:reduce){
    .banner-rotativo .banner-slide{ transform:none; transition:none; }
    .banner-nav.reproduzindo .banner-progresso i{ animation:none; }
}

/* Headline do hero em duas linhas no desktop: uma para o titulo e outra
   para o destaque. A coluna de texto precisa acomodar a maior linha sem
   quebrar, por isso alarga junto com a reducao do corpo. */
@media(min-width:1170px){
    .banner-rotativo .banner-in{ grid-template-columns:minmax(0,920px) 1fr; }
    .banner-rotativo .banner-texto{ max-width:920px; }
    .banner-rotativo .banner-texto h1,
    .banner-rotativo .banner-texto h2{ max-width:none; font-size:62px; }
    .banner-rotativo .banner-texto h1 span,
    .banner-rotativo .banner-texto h1 em,
    .banner-rotativo .banner-texto h2 span,
    .banner-rotativo .banner-texto h2 em{ white-space:nowrap; }
}
@media(min-width:1024px) and (max-width:1169px){
    .banner-rotativo .banner-in{ grid-template-columns:minmax(0,860px) 1fr; }
    .banner-rotativo .banner-texto{ max-width:860px; }
    .banner-rotativo .banner-texto h1,
    .banner-rotativo .banner-texto h2{ max-width:none; font-size:56px; }
    .banner-rotativo .banner-texto h1 span,
    .banner-rotativo .banner-texto h1 em,
    .banner-rotativo .banner-texto h2 span,
    .banner-rotativo .banner-texto h2 em{ white-space:nowrap; }
}


/* Clientes logo após o hero: marcas flutuantes, sem cards. */
.clientes{
    padding:62px 0 54px;
    background:#fff;
    border-top:0;
}
.clientes::before{ opacity:.025; }
.clientes-topo{ margin-bottom:24px; }
.carrossel-clientes{ max-width:1120px; }
.carrossel-clientes .owl-stage-outer{ padding:8px 0; }
.carrossel-clientes .owl-stage{ align-items:center; }
.carrossel-clientes .owl-item{
    align-items:center;
    opacity:1;
    transform:none;
}
.carrossel-clientes .owl-item.active{ opacity:1; }
.carrossel-clientes .owl-item.center{ opacity:1; transform:none; }
.cliente-item{
    min-height:112px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.cliente-item > a,
.cliente-item > strong{
    width:100%;
    min-height:112px;
    padding:10px 22px;
    color:var(--verde-profundo);
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    animation:cliente-flutuar 5.8s ease-in-out infinite;
}
.carrossel-clientes .owl-item:nth-child(even) .cliente-item > a,
.carrossel-clientes .owl-item:nth-child(even) .cliente-item > strong{ animation-delay:-2.9s; }
.cliente-item > a:hover{
    color:var(--verde);
    text-decoration:none;
    transform:none;
}
.cliente-item img{
    width:auto!important;
    max-width:245px;
    max-height:76px;
    object-fit:contain;
    filter:none;
}
.cliente-olicampos img{ max-width:300px; }
.cliente-transpetro img{ mix-blend-mode:multiply; }
.cliente-tbg img{
    max-width:92px;
    max-height:72px;
    filter:brightness(0) saturate(100%) invert(20%) sepia(24%) saturate(1266%) hue-rotate(108deg) brightness(84%) contrast(99%);
}
.carrossel-clientes .owl-dots{ display:none!important; }
.carrossel-clientes .owl-nav{
    gap:6px;
    margin-top:12px;
}
.carrossel-clientes .owl-nav > div{
    width:34px;
    height:34px;
    color:rgba(5,46,35,.58);
    background:transparent;
    border:1px solid rgba(5,46,35,.18);
    font-size:18px;
}
.carrossel-clientes .owl-nav > div:hover{
    color:var(--verde-profundo);
    background:rgba(240,233,29,.72);
    border-color:rgba(240,233,29,.72);
}
@keyframes cliente-flutuar{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-5px); }
}

@media(max-width:559px){
    .clientes{ padding:48px 0 42px; }
    .cliente-item,
    .cliente-item > a,
    .cliente-item > strong{ min-height:96px; }
    .cliente-item img{ max-width:230px; max-height:68px; }
}
@media(prefers-reduced-motion:reduce){
    .cliente-item > a,
    .cliente-item > strong{ animation:none; }
}


/* Depoimentos — prova social editorial com acesso direto ao Google. */
.depoimentos{
    position:relative;
    overflow:hidden;
    padding:88px 0;
    color:#fff;
    background:
        radial-gradient(circle at 88% 20%,rgba(240,233,29,.1),transparent 26%),
        linear-gradient(135deg,#031d15 0%,#063b2b 100%);
}
.depoimentos::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.1;
    background:linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);
    background-size:84px 100%;
    pointer-events:none;
}
.depoimentos .center{ position:relative; z-index:1; }
.depoimentos-cabecalho{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:42px;
    margin-bottom:36px;
}
.depoimentos .secao-topo{ max-width:720px; margin:0; }
.depoimentos .secao-tag{ color:var(--amarelo); }
.depoimentos .secao-topo h2{ color:#fff; }
.depoimentos .secao-desc{ color:rgba(255,255,255,.7); }
.bt-google{
    flex:0 0 auto;
    color:var(--verde-profundo);
    background:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.bt-google i{ color:#4285f4; }
.bt-google:hover{ color:var(--verde-profundo); background:var(--amarelo); }
.carrossel-depoimentos{ width:100%; }
.carrossel-depoimentos .owl-stage{ display:flex; }
.carrossel-depoimentos .owl-item{ display:flex; }
.depoimento-card{
    width:100%;
    min-height:285px;
    display:flex;
    flex-direction:column;
    padding:34px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.15);
    border-top:3px solid var(--amarelo);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}
.depoimento-estrelas{ display:flex; gap:5px; margin-bottom:23px; color:var(--amarelo); font-size:14px; }
.depoimento-card blockquote{
    flex:1;
    margin:0 0 28px;
    color:rgba(255,255,255,.88);
    font-size:18px;
    font-style:italic;
    line-height:1.72;
}
.depoimento-card footer{ display:flex; flex-direction:column; gap:4px; }
.depoimento-card footer strong{ color:#fff; font-size:16px; }
.depoimento-card footer span{ color:rgba(255,255,255,.58); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.carrossel-depoimentos .owl-nav{ display:flex; justify-content:center; gap:8px; margin-top:20px; }
.carrossel-depoimentos .owl-nav > div{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    cursor:pointer;
}
.carrossel-depoimentos .owl-nav > div:hover{ color:var(--verde-profundo); background:var(--amarelo); border-color:var(--amarelo); }
.carrossel-depoimentos .owl-nav .botao{ position:absolute; left:-9999px; }
.depoimentos-sem-relatos{
    display:flex;
    align-items:center;
    gap:17px;
    padding:25px 28px;
    color:rgba(255,255,255,.68);
    border:1px dashed rgba(255,255,255,.22);
}
.depoimentos-sem-relatos i{ color:var(--amarelo); font-size:25px; }
.depoimentos-sem-relatos p{ margin:0; }
.rodape-trabalhe{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:22px;
    padding:14px 15px;
    color:#fff;
    border:1px solid rgba(255,255,255,.15);
    border-left:3px solid var(--amarelo);
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.rodape-trabalhe:hover{
    color:#fff;
    background:rgba(255,255,255,.07);
    border-color:rgba(240,233,29,.58);
    border-left-color:var(--amarelo);
    text-decoration:none;
    transform:translateX(3px);
}
.rodape-trabalhe > i{ font-size:20px; }
.rodape-trabalhe:hover > i,
.rodape-trabalhe:hover small{ color:var(--amarelo); }
.rodape-trabalhe span{ display:flex; flex-direction:column; font-weight:800; line-height:1.15; }
.rodape-trabalhe small{ margin-bottom:3px; opacity:.65; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

@media(max-width:767px){
    .depoimentos{ padding:64px 0; }
    .depoimentos-cabecalho{ align-items:flex-start; flex-direction:column; gap:24px; }
    .depoimentos-cabecalho .bt{ width:100%; }
    .depoimento-card{ min-height:0; padding:27px 24px; }
    .depoimento-card blockquote{ font-size:16px; }
}


/* ==========================================================================
   Menu de contato e Trabalhe Conosco
   ========================================================================== */

.menu-submenu{ position:relative; }
.menu-submenu-toggle{
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 0;
    color:var(--titulo);
    background:transparent;
    border:0;
    font:700 13px/1.5 'Manrope',sans-serif;
    letter-spacing:.035em;
    text-transform:uppercase;
    cursor:pointer;
    transition:color .2s ease;
}
.menu-submenu-toggle::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:2px;
    background:var(--verde);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .28s var(--mola);
}
.menu-submenu-toggle > i{ font-size:9px; transition:transform .22s ease; }
.menu-submenu:hover .menu-submenu-toggle,
.menu-submenu.aberto .menu-submenu-toggle{ color:var(--verde); }
.menu-submenu:hover .menu-submenu-toggle::after,
.menu-submenu.aberto .menu-submenu-toggle::after{ transform:scaleX(1); }
.menu-submenu.aberto .menu-submenu-toggle > i{ transform:rotate(180deg); }
.menu-submenu-lista{
    position:absolute;
    top:calc(100% + 15px);
    right:-20px;
    z-index:20;
    width:285px;
    padding:9px;
    visibility:hidden;
    opacity:0;
    transform:translateY(-8px);
    background:#fff;
    border:1px solid rgba(4,66,45,.12);
    border-top:3px solid var(--amarelo);
    box-shadow:0 20px 48px rgba(1,29,19,.2);
    transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
}
.menu-submenu-lista::before{
    content:"";
    position:absolute;
    right:29px;
    top:-9px;
    width:13px;
    height:13px;
    background:var(--amarelo);
    transform:rotate(45deg);
}
.menu-submenu:hover .menu-submenu-lista,
.menu-submenu:focus-within .menu-submenu-lista,
.menu-submenu.aberto .menu-submenu-lista{
    visibility:visible;
    opacity:1;
    transform:none;
    transition-delay:0s;
}
.menu > ul .menu-submenu-lista a{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:10px;
    align-items:center;
    padding:12px 11px;
    color:var(--verde-profundo);
    text-shadow:none;
    border-bottom:1px solid rgba(4,66,45,.09);
}
.menu > ul .menu-submenu-lista li:last-child a{ border-bottom:0; }
.menu > ul .menu-submenu-lista a::after{ display:none; }
.menu > ul .menu-submenu-lista a:hover{
    color:var(--verde-profundo);
    background:rgba(7,150,79,.075);
}
.menu-submenu-lista a > i{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    color:var(--verde);
    background:var(--verde-fundo);
    border-radius:50%;
}
.menu-submenu-lista a span{ font-size:13px; font-weight:800; line-height:1.2; }
.menu-submenu-lista a small{
    display:block;
    margin-top:3px;
    color:var(--texto-claro);
    font-size:10px;
    font-weight:500;
    text-transform:none;
    letter-spacing:0;
}
.home .menu-submenu-toggle,
.internas .menu-submenu-toggle{
    color:rgba(255,255,255,.92);
    text-shadow:0 1px 8px rgba(0,0,0,.24);
}
.home .menu-submenu-toggle::after,
.internas .menu-submenu-toggle::after{ background:var(--amarelo); }
.home .menu-submenu:hover .menu-submenu-toggle,
.home .menu-submenu.aberto .menu-submenu-toggle,
.internas .menu-submenu:hover .menu-submenu-toggle,
.internas .menu-submenu.aberto .menu-submenu-toggle{ color:var(--amarelo); }

.trabalhe-topo .trabalhe-chamada{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:13px;
    color:var(--amarelo);
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.trabalhe-secao{
    padding:74px 0 88px;
    background:
        linear-gradient(90deg,rgba(4,66,45,.035) 1px,transparent 1px),
        #fff;
    background-size:84px 100%;
}
.trabalhe-in{ display:grid; grid-template-columns:.82fr 1.18fr; gap:72px; align-items:start; }
.trabalhe-apresentacao{ position:sticky; top:125px; padding-top:20px; }
.trabalhe-apresentacao h2{
    max-width:490px;
    margin:13px 0 19px;
    color:var(--verde-profundo);
    font-size:39px;
    line-height:1.03;
}
.trabalhe-apresentacao > p{ color:var(--texto-claro); font-size:15px; line-height:1.75; }
.trabalhe-valores{ margin:31px 0; border-top:1px solid var(--borda); }
.trabalhe-valores li{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:14px;
    align-items:center;
    padding:18px 0;
    border-bottom:1px solid var(--borda);
}
.trabalhe-valores li > i{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    color:var(--verde);
    background:var(--verde-fundo);
    border:1px solid rgba(7,150,79,.15);
    border-radius:50%;
}
.trabalhe-valores span{ color:var(--texto-claro); font-size:12px; line-height:1.5; }
.trabalhe-valores strong{ display:block; margin-bottom:2px; color:var(--titulo); font-size:14px; }
.trabalhe-apresentacao .trabalhe-nota{
    display:flex;
    gap:10px;
    padding:15px 16px;
    color:var(--verde-profundo);
    background:rgba(240,233,29,.17);
    border-left:3px solid var(--amarelo);
    font-size:12px;
    line-height:1.55;
}
.trabalhe-nota i{ margin-top:3px; }
.trabalhe-form{ padding:38px; border-top:4px solid var(--verde); }
.trabalhe-form-cabecalho{ margin-bottom:27px; padding-bottom:23px; border-bottom:1px solid var(--borda); }
.trabalhe-form-cabecalho > span{ color:var(--verde); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.trabalhe-form-cabecalho h2{ margin:5px 0 7px; color:var(--verde-profundo); font-size:29px; }
.trabalhe-form-cabecalho p{ margin:0; color:var(--texto-claro); font-size:13px; }
.trabalhe-form label small{ margin-left:5px; color:var(--texto-claro); font-size:10px; font-weight:500; }
.arquivo-controle{
    position:relative;
    min-height:92px;
    display:flex;
    align-items:center;
    gap:16px;
    padding:19px;
    background:#fff;
    border:1px dashed rgba(4,66,45,.34);
    transition:border-color .2s ease,background .2s ease;
    overflow:hidden;
}
.arquivo-controle:hover,
.arquivo-controle:focus-within{ background:var(--verde-fundo); border-color:var(--verde); }
.arquivo-controle > i{ color:var(--verde); font-size:25px; }
.arquivo-controle div{ display:flex; flex-direction:column; }
.arquivo-controle strong{ color:var(--verde-profundo); font-size:13px; }
.arquivo-controle span{ margin-top:3px; color:var(--texto-claro); font-size:11px; }
.arquivo-controle input[type="file"]{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
}
.arquivo-nome{ display:block; margin-top:7px; color:var(--texto-claro); font-size:11px; word-break:break-all; }
.campo-consentimento{
    display:grid;
    grid-template-columns:20px 1fr;
    gap:10px;
    align-items:start;
    margin-top:25px;
}
.campo-consentimento input{ width:18px; height:18px; margin-top:2px; accent-color:var(--verde); }
.formulario .campo-consentimento label{ margin:0; color:var(--texto-claro); font-size:11px; line-height:1.55; }
.campo-consentimento .errorlist{ grid-column:1 / -1; }
.trabalhe-form .form-nota{ display:flex; justify-content:center; gap:7px; text-align:center; }
.confirmacao-icone.sucesso{ color:#fff; background:var(--verde); }

@media(max-width:1023px){
    .menu-submenu-toggle{
        width:100%;
        justify-content:space-between;
        padding:14px 0;
        color:rgba(255,255,255,.92);
        border-bottom:1px solid rgba(255,255,255,.14);
        font-size:13px;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:.035em;
    }
    .menu-submenu-toggle::after{ display:none; }
    .menu-submenu-lista{
        position:static;
        width:100%;
        display:none;
        padding:4px 0 5px 12px;
        visibility:visible;
        opacity:1;
        transform:none;
        background:transparent;
        border:0;
        box-shadow:none;
    }
    .menu-submenu-lista::before{ display:none; }
    .menu-submenu:hover .menu-submenu-lista{ display:none; }
    .menu-submenu.aberto .menu-submenu-lista{ display:block; }
    .menu > ul .menu-submenu-lista a{
        grid-template-columns:28px 1fr;
        padding:11px 8px;
        color:#fff;
        border-bottom:1px solid rgba(255,255,255,.1);
    }
    .menu > ul .menu-submenu-lista a:hover{ padding-left:8px; color:var(--amarelo); background:rgba(255,255,255,.04); }
    .menu-submenu-lista a > i{ width:27px; height:27px; color:var(--amarelo); background:rgba(255,255,255,.08); font-size:11px; }
    .menu-submenu-lista a span{ font-size:12px; }
    .menu-submenu-lista a small{ color:rgba(255,255,255,.55); }
    .trabalhe-in{ grid-template-columns:1fr; gap:42px; }
    .trabalhe-apresentacao{ position:static; padding-top:0; }
}

@media(max-width:767px){
    .trabalhe-secao{ padding:52px 0 64px; }
    .trabalhe-apresentacao h2{ font-size:32px; }
    .trabalhe-form{ padding:27px 22px; }
}

@media(max-width:559px){
    .trabalhe-topo .trabalhe-chamada{ margin-bottom:9px; }
    .trabalhe-in{ gap:34px; }
    .trabalhe-apresentacao h2{ font-size:29px; }
    .arquivo-controle{ min-height:86px; padding:16px; }
}


/* ==========================================================================
   Landing pages por cidade: listagem em /todas-as-cidades
   ========================================================================== */

.cidades-secao{ padding:58px 0 88px; }

.busca-cidades{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    max-width:640px;
    margin:0 auto 52px;
    padding:26px 28px;
    background:var(--painel-fundo);
    border:1px solid var(--borda);
    border-radius:var(--raio);
}
.busca-cidades::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:0; left:0;
    width:100%; height:4px;
    background:linear-gradient(90deg,var(--verde) 0 62%,var(--amarelo) 62%);
}
.busca-cidades label{
    color:var(--verde-profundo);
    font-family:'Barlow Condensed',sans-serif;
    font-size:22px;
    font-weight:700;
    line-height:1.1;
    text-transform:uppercase;
}
.busca-cidades .busca-ajuda{ margin:-3px 0 5px; color:var(--texto-claro); font-size:12px; line-height:1.45; }
.busca-cidades .busca-campo{ display:flex; gap:9px; }
.busca-cidades input{
    flex:1;
    min-width:0;
    min-height:48px;
    padding:12px 14px 12px 43px;
    color:var(--titulo);
    background:rgba(255,255,255,.92);
    border:1px solid var(--borda-forte);
    border-radius:var(--raio);
    font-family:inherit;
    font-size:14px;
}
.busca-cidades input::placeholder{ color:#89958f; }
.busca-cidades input:focus{
    outline:none;
    border-color:var(--verde);
    background:#fff;
    box-shadow:0 0 0 4px rgba(7,150,79,.13);
}
.busca-cidades .bt{ flex-shrink:0; min-height:48px; }
.busca-resultado{ margin:11px 0 0; color:var(--texto-claro); font-size:13px; }
.busca-resultado strong{ color:var(--verde-profundo); }
.busca-resultado a{ margin-left:6px; font-weight:600; }

/* Fluxo em colunas em vez de grid: os estados tem tamanhos muito
   diferentes (Roraima tem 1 cidade, Sao Paulo tem 117) e o grid deixaria
   buracos enormes alinhando as linhas pela maior. */
.cidades-lista{
    columns:3;
    column-gap:30px;
}
.cidades-estado{ margin-bottom:32px; }
.cidades-estado h2{ break-after:avoid; page-break-after:avoid; }
.cidades-estado h2{
    display:flex;
    align-items:baseline;
    gap:9px;
    margin-bottom:13px;
    padding-bottom:9px;
    border-bottom:2px solid var(--amarelo);
    color:var(--verde-profundo);
    font-family:'Barlow Condensed',sans-serif;
    font-size:23px;
    line-height:1.1;
    text-transform:uppercase;
}
.cidades-estado h2 span{
    padding:2px 7px;
    color:#fff;
    background:var(--verde);
    border-radius:3px;
    font-family:'Manrope',sans-serif;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
}
.cidades-estado ul{ display:grid; gap:2px; }
.cidades-estado a{
    display:block;
    padding:6px 9px;
    color:var(--texto);
    border-radius:4px;
    font-size:14px;
    line-height:1.45;
}
.cidades-estado a:hover{
    color:var(--verde-profundo);
    background:var(--verde-fundo);
    text-decoration:none;
}

@media(max-width:1023px){
    .cidades-secao{ padding:44px 0 64px; }
    .cidades-lista{ columns:2; column-gap:24px; }
}
@media(max-width:639px){
    .cidades-lista{ columns:1; }
    .busca-cidades{ margin-bottom:38px; padding:22px; }
    .busca-cidades .busca-campo{ flex-direction:column; }
    .busca-cidades .bt{ width:100%; }
}
