/* Eco-One — gerado por build/build.ps1 em 202609301310. Não edite aqui: edite site-hostinger/eco-base.css ou build/static/site-extra.css */
@font-face{font-family:'Sofia Sans SC';src:url(../fonts/SofiaSansSemiCondensed.ttf) format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Stack Sans';src:url(../fonts/StackSansText.ttf) format('truetype');font-weight:200 700;font-display:swap}
@font-face{font-family:'Plex Serif';src:url(../fonts/IBMPlexSerif-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Plex Serif';src:url(../fonts/IBMPlexSerif-Italic.ttf) format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Plex Serif';src:url(../fonts/IBMPlexSerif-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
:root{--bg:#f9fbf0;--bg-2:#eef3e4;--surface:#ffffff;--ink:#17201c;--muted:#48544e;--green:#1b7659;--green-ink:#156048;--deep:#224b3f;--lime:#8dbe2d;--lime-ink:#4f7412;--blue:#2e83bc;--line:rgba(27,118,89,.2);--line-2:rgba(23,32,28,.1);--shadow:0 1px 2px rgba(23,32,28,.05),0 10px 30px -12px rgba(27,118,89,.25);--grad:linear-gradient(135deg,#178057 0%,#224b3f 100%);--grad-soft:linear-gradient(135deg,rgba(141,190,45,.14),rgba(27,118,89,.16));--hero:radial-gradient(1200px 600px at 85% -10%,rgba(141,190,45,.18),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(46,131,188,.10),transparent 60%);--h:'Sofia Sans SC',system-ui,sans-serif;--b:'Stack Sans',system-ui,sans-serif;--s:'Plex Serif',Georgia,serif;--topo:url(../topo-light.svg);--glow:0 0 0 1px rgba(27,118,89,.25),0 18px 44px -14px rgba(27,118,89,.38),0 26px 50px -30px rgba(23,32,28,.35);--rule:linear-gradient(90deg,transparent,rgba(27,118,89,.5),rgba(141,190,45,.5),transparent)}
html[data-theme=dark]{--bg:#0e1a15;--bg-2:#12221b;--surface:#162a21;--ink:#f3f7ec;--muted:#b9c9bd;--green:#52c795;--green-ink:#8be0b6;--deep:#0a1511;--lime:#a6d64a;--lime-ink:#bfe676;--blue:#72b6e4;--line:rgba(82,199,149,.26);--line-2:rgba(243,247,236,.1);--shadow:0 1px 2px rgba(0,0,0,.35),0 16px 40px -16px rgba(0,0,0,.7),0 0 0 1px rgba(82,199,149,.06);--grad:linear-gradient(135deg,#1b8a5f 0%,#1d4a3c 100%);--grad-soft:linear-gradient(135deg,rgba(166,214,74,.12),rgba(82,199,149,.18));--hero:radial-gradient(1200px 600px at 85% -10%,rgba(82,199,149,.18),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(114,182,228,.1),transparent 60%);--topo:url(../topo-dark.svg);--glow:0 0 0 1px rgba(82,199,149,.35),0 18px 50px -12px rgba(82,199,149,.35),0 30px 60px -30px rgba(0,0,0,.8);--rule:linear-gradient(90deg,transparent,rgba(82,199,149,.55),rgba(166,214,74,.45),transparent)}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden}
body{background:var(--topo) center/800px repeat,var(--bg);background-attachment:fixed;color:var(--ink);font-family:var(--b);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%;transition:background .3s,color .3s}
img{max-width:100%;height:auto}
a{color:var(--green-ink);text-decoration:none}a:hover{color:var(--green)}
h1,h2,h3,h4{font-family:var(--h);font-weight:700;line-height:1.08;margin:0;text-wrap:balance;overflow-wrap:anywhere}
p{margin:0;text-wrap:pretty}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
[data-dark]{display:none!important}html[data-theme=dark] [data-light]{display:none!important}html[data-theme=dark] [data-dark]{display:initial!important}
@keyframes eco-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes eco-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes eco-pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}50%{box-shadow:0 0 0 12px rgba(37,211,102,0)}}
@keyframes eco-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
main>section,main>header,footer{position:relative}
main>section+section::before,footer::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--rule);box-shadow:0 0 12px 1px rgba(82,199,149,.25);pointer-events:none;z-index:1}
[data-glow]{position:relative;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s,background .35s!important}
[data-glow]:hover{transform:translateY(-6px);box-shadow:var(--glow)!important;border-color:var(--green)!important}
[data-glow]:active{background:var(--grad-soft),var(--surface)!important}
@keyframes eco-stripe{from{background-position:0 0}to{background-position:56px 0}}
@keyframes eco-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes eco-shine{0%{transform:translateX(-120%) skewX(-20deg)}60%,100%{transform:translateX(320%) skewX(-20deg)}}
@keyframes eco-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
/*mobile*/
@media (max-width:600px){body{font-size:15.5px}h1{letter-spacing:-.005em!important}h2{line-height:1.12}main section>div{padding-left:16px;padding-right:16px}button,a{-webkit-tap-highlight-color:transparent}}
@media (max-width:380px){h1{font-size:32px!important}}

/* ===== Complemento do eco-base.css para a versão estática ===== */
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
main:focus{outline:none}

/* Skip link (invisível até receber foco) */
.skip-link{position:absolute;left:12px;top:-80px;z-index:200;padding:12px 18px;border-radius:12px;background:var(--green);color:#fff;font-weight:700;transition:top .2s}
.skip-link:focus{top:12px;color:#fff}

/* Header: menu desktop x móvel por media query (antes era JS com innerWidth) */
.nav-desktop,.only-desktop{display:none!important}
@media (min-width:980px){
  .nav-desktop,.only-desktop{display:flex!important}
  .only-mobile,.drawer{display:none!important}
}
.menu-panel{display:none}
.has-menu.open .menu-panel{display:block}
.has-menu .chev{display:inline-block;transition:transform .2s}
.has-menu.open .chev{transform:rotate(180deg)}
.burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s,opacity .25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
[data-acc][aria-expanded="true"]{background:var(--grad-soft)!important}

/* Home: lista de serviços */
.svc-row{display:grid;grid-template-columns:48px minmax(0,1fr) 40px;gap:14px;padding:16px}
.svc-head{display:none}
.only-wide{display:none!important}
@media (min-width:760px){
  .svc-row{grid-template-columns:48px minmax(0,1fr) 160px 40px;gap:20px;padding:18px 24px}
  .svc-head{display:grid}
  .only-wide{display:inline-block!important}
  .only-narrow{display:none!important}
}
.aud-btn[aria-checked="true"]{border:1.5px solid var(--green)!important;background:var(--grad-soft),var(--surface)!important;box-shadow:var(--glow)!important}

/* Home: carrossel de avaliações (1 / 2 / 3 por vez) */
.rv-cell{flex:0 0 100%}
@media (min-width:700px){.rv-cell{flex:0 0 calc(50% - 8px)}}
@media (min-width:1040px){.rv-cell{flex:0 0 calc(33.3333% - 10.6667px)}}

/* Home: modal de serviço (dialog nativo: foco preso e Esc fecha) */
dialog.svc-modal{padding:0;border:1px solid var(--line);border-radius:26px;width:calc(100% - 32px);max-width:560px;max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;background:var(--surface);color:var(--ink);box-shadow:var(--glow),0 30px 80px rgba(0,0,0,.4)}
dialog.svc-modal[open]{animation:eco-rise .25s ease both}
dialog.svc-modal-wide{max-width:680px}
dialog.svc-modal::backdrop{background:rgba(8,20,15,.6);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}

/* ECO-ONEWS: filtro ativo */
.cat-btn[aria-pressed="true"]{color:#f9fbf0!important;background:var(--grad)!important}

/* Barras de gráfico: crescem ao carregar, sem JavaScript */
@keyframes eco-grow{from{width:0}}
.grow{animation:eco-grow 1.4s cubic-bezier(.2,.7,.2,1) .4s both}

/* Tabelas: no celular cada linha vira um cartão com o nome da coluna acima do valor
   (sem rolagem lateral e sem texto cortado) */
@media (max-width:640px){
  .rtable table,.rtable tbody,.rtable tr,.rtable td{display:block;width:100%}
  .rtable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .rtable tr{padding:14px 16px;border-top:1px solid var(--line-2)}
  .rtable tbody tr:first-child{border-top:0}
  .rtable td{padding:0!important}
  .rtable td+td{margin-top:10px}
  .rtable td::before{content:attr(data-label);display:block;margin-bottom:2px;font:700 11px/1.3 var(--b);text-transform:uppercase;letter-spacing:.08em;color:var(--green-ink)}
  .rtable td:first-child{font-size:16px;color:var(--ink)}
}

/* Frentes da Home: 1 coluna no celular, 2 no tablet, 4 no desktop */
.frentes-grid{grid-template-columns:1fr!important}
@media (min-width:600px){.frentes-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (min-width:1100px){.frentes-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
.frentes-grid h3{overflow-wrap:normal;hyphens:manual}
.frente-card:hover .frente-img{transform:scale(1.06)}

/* Contato: fundo topográfico no espaço do mapa (antes do aceite de cookies) */
.map-box{background:var(--topo) center/520px repeat,var(--grad-soft),var(--surface)}

/* Perguntas frequentes: título à esquerda, respostas à direita (alinhado ao resto da Home) */
.faq-grid{display:grid;grid-template-columns:1fr;gap:28px}
@media (min-width:960px){.faq-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:56px;align-items:start}.faq-grid>div:first-child{position:sticky;top:110px}}
details summary{list-style:none}
details summary::-webkit-details-marker{display:none}
details summary{display:flex;justify-content:space-between;align-items:center;gap:16px}
details summary::after{content:'+';flex-shrink:0;width:30px;height:30px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;font:700 18px/1 var(--b);color:var(--green-ink);transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}

/* Destino dos itens do menu: espaço para o cabeçalho fixo e destaque rápido ao chegar */
.nav-target{scroll-margin-top:100px}
@keyframes eco-target{0%,55%{box-shadow:inset 0 0 0 3px #8dbe2d,0 0 0 6px rgba(141,190,45,.35)}100%{box-shadow:inset 0 0 0 0 rgba(141,190,45,0),0 0 0 0 rgba(141,190,45,0)}}
.is-target{animation:eco-target 2.6s ease both}

/* Instagram (Behold) */
behold-widget{display:block;width:100%}

/* Botão voltar ao topo (acima do WhatsApp flutuante) */
/* Identidade Eco-One: gradiente verde da marca, seta creme e anel verde-limão com o progresso da leitura */
.to-top{position:fixed;right:max(18px,calc(env(safe-area-inset-right) + 2px));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 70px);z-index:69;width:54px;height:54px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,#178057 0%,#224b3f 100%);color:#f9fbf0;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px -8px rgba(27,118,89,.75),0 0 0 3px rgba(249,251,240,.9);opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);transition:opacity .3s,transform .3s,visibility .3s,box-shadow .3s}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top>svg{grid-area:1/1}
.to-top-arrow{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.to-top:hover{box-shadow:0 14px 30px -8px rgba(141,190,45,.7),0 0 0 3px #a6d64a}
.to-top:hover .to-top-arrow{transform:translateY(-3px)}
.to-top:focus-visible{outline:2px solid #a6d64a;outline-offset:4px}
html[data-theme=dark] .to-top{box-shadow:0 10px 24px -8px rgba(0,0,0,.8),0 0 0 3px rgba(82,199,149,.35)}

/* Formulário: campo inválido */
[aria-invalid="true"]{border-color:#b3261e!important}

/* gerado por build/generate.js — pseudo-classes dos templates */
.h0:hover{background:var(--grad-soft),var(--surface) !important;box-shadow:inset 3px 0 0 var(--green),0 10px 30px -18px rgba(27,118,89,.6) !important}
.h1:hover{border-color:var(--green) !important}
.h2:hover{filter:brightness(1.1) !important;color:#fff !important}
.h3:hover{filter:brightness(1.08) !important;color:#fff !important}
.h4:hover{background:rgba(249,251,240,.16) !important;color:#fff !important}
.h5:hover{color:var(--ink) !important}
.h6:hover{transform:translateY(-4px) !important;box-shadow:0 0 0 1px rgba(141,190,45,.5),0 36px 80px -28px rgba(141,190,45,.6) !important}
.h7:hover{filter:brightness(1.06) !important;color:#17201c !important}
.h8:hover{border-color:#8dbe2d !important;color:#b9e36a !important}
.h9:hover{filter:none !important;opacity:1 !important;transform:translateY(-4px) !important;box-shadow:var(--glow) !important}
.ha:hover{border-color:var(--green) !important;box-shadow:var(--glow) !important}
.hb:hover{filter:grayscale(0) !important}
.hc:hover{filter:brightness(1.1) !important}
.hd:focus{border-color:var(--green) !important;outline:none !important}
.he:hover{border-color:var(--green) !important;background:var(--grad-soft),var(--bg) !important}
.hf:hover{background:var(--grad-soft) !important;color:var(--green-ink) !important}
.hg:hover{color:#a6d64a !important}
.hh:hover{background:rgba(166,214,74,.16) !important;border-color:#a6d64a !important;color:#a6d64a !important;box-shadow:0 0 22px -4px rgba(166,214,74,.6) !important}
.hi:hover{background:rgba(249,251,240,.08) !important;color:#fff !important}
.hj:hover{transform:scale(1.06) !important}
.hk:hover{color:#c6e58a !important}
.hl:hover{transform:translateX(4px) !important;box-shadow:var(--shadow) !important}
.hm:hover{transform:translateY(-4px) !important;box-shadow:var(--shadow) !important;background:var(--grad-soft) !important;color:var(--ink) !important}
.hn:hover{background:#12753f !important;color:#fff !important}
.ho:hover{transform:translateY(-4px) !important;box-shadow:var(--shadow) !important}
.hp:hover{border-color:#8dbe2d !important}
.hq:hover{color:#156048 !important}
.hr:hover{transform:translateY(-4px) !important;box-shadow:var(--shadow) !important;color:var(--ink) !important}
