/* =====================================================================
   Instituto Ciclo Brasil: o design system inteiro mora aqui.
   Regras (herdadas do site da Dayse, onde cada uma custou um defeito):
   1. Cor sai de token. Nenhum hex solto fora do :root.
   2. Nome de cor não mente: se o valor deixar de ser verde, o token muda de nome.
   3. Ícone é SVG de traço (.ico), nunca emoji.
   4. --fundo-1 e --realce são EDITÁVEIS no painel (Aparência). Os degraus
      --fundo-2/--fundo-3 e --realce-forte saem deles, para a rampa segurar o
      contraste do texto branco qualquer que seja a escolha.
   ===================================================================== */

@font-face{font-family:"Barlow Condensed";src:url(/fonts/BarlowCondensed-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/BarlowCondensed-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/BarlowCondensed-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/DMSans-400-700.woff2) format("woff2");font-weight:400 700;font-display:swap}

:root{
  /* marca: rampa do verde do logo (#2F7631 medido no PDF do logo) */
  --verde-100:#E3EFDD;
  --verde-200:#C5DEBA;
  --verde-600:#2F7631;
  --verde-700:#245E27;
  --verde-800:#1C4A1F;
  --broto:#9FD86B;          /* realce sobre escuro: 9,4:1 no --fundo-2 padrão */
  --composto:#7A4E2D;       /* números de terra: 7,6:1 no papel */
  --composto-100:#F1E6DC;
  --girassol:#F2A93B;       /* valor padrão do --realce */

  /* editáveis (o middleware sobrescreve com o que estiver publicado) */
  --fundo-1:#163D1A;
  --realce:var(--girassol);

  /* derivados: não se editam */
  --fundo-2:color-mix(in srgb,var(--fundo-1) 78%,#000);
  --fundo-3:color-mix(in srgb,var(--fundo-1) 50%,#000);
  --realce-forte:color-mix(in srgb,var(--realce) 86%,#000);

  /* neutros com viés verde */
  --papel:#F6F4EE;
  --branco:#FFFFFF;
  --tinta:#16241A;          /* 15,1:1 no papel */
  --cinza:#55645A;          /* 5,6:1 no papel */
  --linha:#DCE2D6;
  --zap:#1FA855;
  --perigo:#A33A1C;
  --perigo-100:#F7E2DA;
  --aviso:#7A5410;
  --aviso-100:#F8EBCF;

  --titulo:"Barlow Condensed","Arial Narrow",sans-serif;
  --texto:"DM Sans","Segoe UI",system-ui,sans-serif;

  /* escala de espaço, base 4 */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;
  --raio:18px;--raio-p:10px;
  --sombra-1:0 2px 8px rgba(22,36,26,.06);
  --sombra-2:0 6px 24px rgba(22,36,26,.08);
  --sombra-3:0 14px 40px rgba(22,36,26,.14);
  --larg:1160px;
  --topo-h:64px;
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--papel);color:var(--tinta);font:16px/1.6 var(--texto);overflow-x:hidden}
img,svg{max-width:100%}
img{display:block;height:auto}
a{color:var(--verde-600)}
p{margin:0}
:focus-visible{outline:3px solid var(--realce);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:var(--sp-4);top:-60px;z-index:100;background:var(--branco);padding:var(--sp-2) var(--sp-4);border-radius:var(--raio-p)}
.pular:focus{top:var(--sp-2)}
.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
.wrap{max-width:var(--larg);margin:0 auto;padding:0 var(--sp-5)}
@media (min-width:720px){.wrap{padding:0 var(--sp-8)}}

/* ---------- tipografia ---------- */
h1,h2,h3,h4{font-family:var(--titulo);font-weight:700;text-transform:uppercase;line-height:1;letter-spacing:.005em;margin:0;text-wrap:balance;color:var(--verde-800)}
h1{font-size:clamp(46px,9vw,92px)}
h2{font-size:clamp(34px,5.4vw,54px)}
h3{font-size:clamp(21px,2.6vw,25px)}
.hl{color:var(--verde-600)}
.escuro .hl,.hero .hl{color:var(--broto)}
.sobrancelha{font:600 14px/1.25 var(--titulo);letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)}
.sobrancelha b{color:var(--composto);font-weight:700}
.escuro .sobrancelha{color:#BCD0BA}
.escuro .sobrancelha b{color:var(--realce)}
.lead{font-size:clamp(17px,2vw,19px);color:var(--cinza);max-width:62ch}
.escuro .lead{color:#D5E2D2}
.tx-forte{font-weight:700;color:var(--tinta)}
.cab{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-8);justify-items:start}
.cab.centro{justify-items:center;text-align:center}
.cab.centro .lead{margin:0 auto}
.traco{width:48px;height:5px;border-radius:3px;background:var(--verde-600)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:46px;padding:0 var(--sp-6);border-radius:23px;font:700 16px/1 var(--titulo);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn .ico{width:20px;height:20px}
.btn--realce{background:var(--realce);color:var(--tinta)}
.btn--realce:hover{background:var(--realce-forte)}
.btn--verde{background:var(--verde-600);color:var(--branco)}
.btn--verde:hover{background:var(--verde-700)}
.btn--contorno{background:transparent;color:var(--verde-800);border-color:var(--verde-800)}
.escuro .btn--contorno{color:var(--branco);border-color:rgba(255,255,255,.7)}
.btn--zap{background:var(--zap);color:var(--branco)}
.btn--peq{min-height:38px;padding:0 var(--sp-4);font-size:14px}
.botoes{display:flex;flex-wrap:wrap;gap:var(--sp-3)}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:40;background:var(--branco);box-shadow:var(--sombra-1)}
.topo-barra{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:var(--topo-h)}
.topo .marca{display:flex;align-items:center;color:var(--verde-600);text-decoration:none}
.topo .marca .logo-svg{height:40px;width:auto}
.menu-desk{display:none;gap:var(--sp-5);align-items:center}
.menu-desk a{font:600 16px/1 var(--titulo);letter-spacing:.06em;text-transform:uppercase;color:var(--verde-800);text-decoration:none;padding:var(--sp-2) 0;border-bottom:2px solid transparent}
.menu-desk a:hover,.menu-desk a[aria-current="page"]{border-bottom-color:var(--verde-600)}
.topo .btn{display:none}
.abre-menu{background:none;border:0;color:var(--verde-800);width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border-radius:var(--raio-p)}
.abre-menu .ico{width:28px;height:28px}
@media (min-width:1040px){.menu-desk{display:flex}.topo .btn{display:inline-flex}.abre-menu{display:none}}

/* faixa do ciclo: a assinatura. Ladrilhos gerados na borda (functions/_lib/faixa.js) */
.faixa{display:flex;height:40px;overflow:hidden;background:var(--verde-600);line-height:0}
.faixa svg{width:40px;height:40px;flex:none}
.faixa--fina{height:16px}
.faixa--fina svg{width:16px;height:16px}
.f-a{fill:var(--verde-600)}.f-b{fill:var(--verde-800)}.f-c{fill:var(--broto)}.f-d{fill:var(--papel)}.f-e{fill:var(--composto)}.f-f{fill:var(--realce)}
.t-a{stroke:var(--verde-600)}.t-b{stroke:var(--verde-800)}.t-c{stroke:var(--broto)}.t-d{stroke:var(--papel)}.t-e{stroke:var(--composto)}.t-f{stroke:var(--realce)}

/* menu em tela cheia (celular) */
.menu-cel{position:fixed;inset:0;z-index:60;background:var(--branco);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s;visibility:hidden}
.menu-cel.aberto{transform:none;visibility:visible}
.menu-cel .topo-barra{padding:0 var(--sp-5)}
.menu-cel nav{padding:var(--sp-4) var(--sp-5) var(--sp-8);display:grid;gap:var(--sp-2);overflow:auto}
.menu-cel nav a{display:flex;align-items:center;gap:var(--sp-3);background:var(--papel);border-radius:var(--raio-p);padding:var(--sp-4);border-left:5px solid var(--cor,var(--verde-600));font:700 20px/1 var(--titulo);text-transform:uppercase;color:var(--verde-800);text-decoration:none}
.menu-cel nav a .ico{color:var(--cor,var(--verde-600))}
.menu-cel .btn{margin-top:var(--sp-3)}

/* ---------- seções ---------- */
.secao{padding:var(--sp-16) 0}
@media (min-width:720px){.secao{padding:var(--sp-20) 0}}
.secao--branca{background:var(--branco)}
.escuro{background:linear-gradient(160deg,var(--fundo-1),var(--fundo-2) 60%,var(--fundo-3));color:var(--branco);position:relative;overflow:hidden}
.escuro h1,.escuro h2,.escuro h3{color:var(--branco)}
.marcadagua{position:absolute;pointer-events:none;color:var(--branco);opacity:.06}
.marcadagua .logo-svg{width:100%;height:100%}

/* hero */
.hero{padding:var(--sp-12) 0 var(--sp-10)}
.hero .marcadagua{right:-70px;top:-40px;width:420px;height:560px}
.hero-grade{display:grid;gap:var(--sp-8);align-items:center}
@media (min-width:900px){.hero-grade{grid-template-columns:1.05fr 1fr}.hero{padding:var(--sp-16) 0}}
.hero h1{margin:var(--sp-3) 0 var(--sp-4)}
.hero .botoes{margin-top:var(--sp-6)}
.hero-curto{padding:var(--sp-12) 0}
.hero-curto h1{font-size:clamp(42px,7vw,72px);margin:var(--sp-3) 0}

/* carrossel e foto emoldurada */
.carrossel{position:relative}
.carrossel-trilho{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:24px}
.carrossel-trilho::-webkit-scrollbar{display:none}
.carrossel-trilho>figure{scroll-snap-align:start;margin:0}
.moldura{position:relative;border:4px solid var(--broto);border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--fundo-2)}
.moldura img{width:100%;height:100%;object-fit:cover}
.legenda{position:absolute;right:var(--sp-4);bottom:var(--sp-4);max-width:80%;background:var(--branco);color:var(--verde-800);border-radius:18px;padding:var(--sp-2) var(--sp-4);font:700 15px/1.1 var(--titulo);letter-spacing:.03em;text-transform:uppercase;transform:rotate(-2deg);box-shadow:var(--sombra-2)}
.pontos{display:flex;justify-content:center;gap:6px;margin-top:var(--sp-3)}
.pontos button{width:10px;height:10px;border-radius:5px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:width .2s}
.pontos button[aria-current="true"]{width:28px;background:var(--broto)}
.secao:not(.escuro) .pontos button{background:var(--verde-200)}
.secao:not(.escuro) .pontos button[aria-current="true"]{background:var(--verde-600)}

/* números (KPI) */
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3);margin-top:var(--sp-8)}
@media (min-width:900px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:var(--branco);border-radius:16px;border-top:5px solid var(--composto);padding:var(--sp-4);box-shadow:var(--sombra-2)}
.kpi b,.kpi .num{display:block;font:700 clamp(30px,4vw,42px)/1 var(--titulo);color:var(--composto);font-variant-numeric:tabular-nums}
.kpi span{font-size:14px;color:var(--cinza)}
.escuro .kpi{background:rgba(255,255,255,.07);border-top-color:var(--broto);box-shadow:none;backdrop-filter:blur(4px)}
.escuro .kpi b,.escuro .kpi .num{color:var(--broto)}
.escuro .kpi span{color:#CFDCCD}
.sem-dado{display:none!important}

/* selos */
.selos{background:var(--branco);border-bottom:1px solid var(--linha)}
.selos ul{list-style:none;margin:0;padding:var(--sp-4) 0;display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-8);justify-content:center}
.selos li{display:flex;align-items:center;gap:var(--sp-2);font:600 16px/1.2 var(--titulo);letter-spacing:.05em;text-transform:uppercase;color:var(--verde-800)}
.selos .ico{color:var(--verde-600)}
.selos small{display:block;font:400 12px/1.2 var(--texto);text-transform:none;letter-spacing:0;color:var(--cinza)}

/* cartões no padrão Dayse: borda superior colorida e anel */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4)}
.card{background:var(--branco);border-radius:var(--raio);padding:var(--sp-6);border-top:5px solid var(--verde-600);box-shadow:var(--sombra-2);position:relative;overflow:hidden}
.card.anel::after{content:"";position:absolute;right:-36px;top:-36px;width:100px;height:100px;border-radius:50%;border:14px solid var(--verde-100);pointer-events:none}
.card--terra{border-top-color:var(--composto)}
.card--terra.anel::after{border-color:var(--composto-100)}
.card--realce{border-top-color:var(--realce)}
.card-tit{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);position:relative;z-index:1}
.card-tit .ico{width:30px;height:30px;color:var(--verde-600);padding:5px;background:var(--verde-100);border-radius:10px;box-sizing:content-box}
.card p{color:var(--cinza);position:relative;z-index:1}

/* dobra "Ver todos (n)" */
.dobra-botao{display:none;margin:var(--sp-5) auto 0}
[data-dobra].dobrada>[data-item]:nth-child(n+4){display:none}
[data-dobra].dobrada+.dobra-botao{display:flex}
@media (min-width:900px){[data-dobra].dobrada>[data-item]:nth-child(n+4){display:block}[data-dobra].dobrada+.dobra-botao{display:none}}

/* divisor com foto (a cor da seção de um lado, a foto do outro) */
.divisor{position:relative;min-height:260px;display:flex;align-items:flex-end;overflow:hidden;background:var(--fundo-2)}
.divisor img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.divisor::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,var(--verde-700) 30%,transparent 85%)}
@media (min-width:900px){.divisor{min-height:340px;align-items:center}.divisor::before{background:linear-gradient(90deg,var(--verde-700) 32%,transparent 78%)}}
.divisor .wrap{position:relative;z-index:2;width:100%;padding-top:var(--sp-10);padding-bottom:var(--sp-10)}
.divisor p.frase{font:700 clamp(34px,5.5vw,60px)/.98 var(--titulo);text-transform:uppercase;color:var(--branco);max-width:12ch}

/* o ciclo: passos */
.passos{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-4);counter-reset:passo}
@media (min-width:900px){.passos{grid-template-columns:repeat(5,1fr);position:relative}.passos::before{content:"";position:absolute;left:10%;right:10%;top:32px;border-top:2px dashed var(--verde-200)}}
.passo{display:grid;grid-template-columns:64px 1fr;gap:var(--sp-4);align-items:start;position:relative}
@media (min-width:900px){.passo{grid-template-columns:1fr;justify-items:center;text-align:center}}
.passo-ico{width:64px;height:64px;border-radius:50%;background:var(--verde-100);color:var(--verde-600);display:grid;place-items:center;position:relative;z-index:1;border:4px solid var(--papel)}
.secao--branca .passo-ico{border-color:var(--branco)}
.passo:last-child .passo-ico{background:var(--verde-600);color:var(--branco)}
.passo-ico .ico{width:28px;height:28px}
.passo h3{font-size:21px;margin-bottom:var(--sp-1)}
.passo h3::before{counter-increment:passo;content:counter(passo) ". ";color:var(--composto)}
.passo p{font-size:15px;color:var(--cinza)}

/* listas sim / não */
.lista-sn{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}
.lista-sn li{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--branco);border-radius:var(--raio-p);padding:var(--sp-3) var(--sp-4);box-shadow:var(--sombra-1)}
.lista-sn li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--verde-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.lista-sn.nao li::before{background-color:var(--perigo);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}

/* mosaico da usina */
.duas{display:grid;gap:var(--sp-8);align-items:center}
@media (min-width:900px){.duas{grid-template-columns:1fr 1fr}.duas--inv>:first-child{order:2}}
.mosaico{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:var(--sp-3);aspect-ratio:5/4}
.mosaico figure{margin:0;border-radius:16px;overflow:hidden;background:var(--verde-100);position:relative}
.mosaico figure:first-child{grid-row:span 2;border-radius:50% 50% 50% 0/40% 40% 50% 0}
.mosaico img{width:100%;height:100%;object-fit:cover}
.texto-corrido{color:var(--cinza);font-size:17px;max-width:62ch}
.texto-corrido b,.texto-corrido strong{color:var(--tinta)}

/* parceiros */
.parceiro{display:grid;gap:var(--sp-3);align-content:start}
.parceiro .logo-parc{height:84px;display:flex;align-items:center}
.parceiro .logo-parc img{max-height:84px;width:auto;max-width:200px;object-fit:contain}
.parceiro a{font:700 14px/1 var(--titulo);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}

/* FAQ */
.faq{display:grid;gap:var(--sp-2);max-width:820px}
.faq-it{background:var(--branco);border-radius:var(--raio-p);box-shadow:var(--sombra-1)}
.faq-it summary{cursor:pointer;list-style:none;padding:var(--sp-4) var(--sp-5);font:700 19px/1.2 var(--titulo);text-transform:uppercase;color:var(--verde-800);display:flex;justify-content:space-between;gap:var(--sp-4)}
.faq-it summary::-webkit-details-marker{display:none}
.faq-it summary::after{content:"+";font-size:26px;line-height:.8;color:var(--verde-600)}
.faq-it[open] summary::after{content:"\2212"}
.faq-it .resp{padding:0 var(--sp-5) var(--sp-5);color:var(--cinza)}

/* impacto */
.grafico{background:var(--branco);border-radius:var(--raio);padding:var(--sp-5);box-shadow:var(--sombra-2);overflow-x:auto}
.grafico svg{display:block;min-width:560px;width:100%;height:auto}
.grafico .barra{fill:var(--verde-600)}
.grafico .barra-ult{fill:var(--composto)}
.grafico text{font:12px var(--texto);fill:var(--cinza)}
.grafico .rot-valor{font:700 13px var(--titulo);fill:var(--tinta)}
.grafico .grade{stroke:var(--linha)}
.nota-metodo{font-size:14px;color:var(--cinza);margin-top:var(--sp-4);max-width:70ch}

/* documentos */
.docs{display:grid;gap:var(--sp-3)}
.doc{display:flex;align-items:center;gap:var(--sp-4);background:var(--branco);border-radius:var(--raio-p);padding:var(--sp-4);box-shadow:var(--sombra-1);text-decoration:none;color:var(--tinta)}
.doc .ico{width:30px;height:30px;color:var(--verde-600)}
.doc b{display:block;font:700 18px/1.1 var(--titulo);text-transform:uppercase;color:var(--verde-800)}
.doc small{color:var(--cinza)}

/* formulário de proposta */
.form{display:grid;gap:var(--sp-4);background:var(--branco);color:var(--tinta);border-radius:var(--raio);padding:var(--sp-6);box-shadow:var(--sombra-3)}
.form .linha2{display:grid;gap:var(--sp-4)}
@media (min-width:640px){.form .linha2{grid-template-columns:1fr 1fr}}
.campo{display:grid;gap:6px}
.campo label{font:600 14px/1 var(--titulo);letter-spacing:.08em;text-transform:uppercase;color:var(--verde-800)}
.campo input,.campo select,.campo textarea{font:inherit;font-size:16px;border:1.5px solid var(--linha);border-radius:var(--raio-p);padding:var(--sp-3);background:var(--branco);color:var(--tinta);min-height:46px;width:100%}
.campo textarea{min-height:96px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--verde-600);outline:none;box-shadow:0 0 0 3px var(--verde-100)}
.consent{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:14px;color:var(--cinza)}
.consent input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--verde-600)}
.isca{position:absolute;left:-5000px}
.form-msg{border-radius:var(--raio-p);padding:var(--sp-3) var(--sp-4);font-size:15px}
.form-msg.ok{background:var(--verde-100);color:var(--verde-800)}
.form-msg.erro{background:var(--perigo-100);color:var(--perigo)}
.form-msg:empty{display:none}

/* fecho */
.fecho{text-align:center;padding:var(--sp-16) 0}
.fecho .marcadagua{left:50%;top:-80px;width:520px;height:700px;transform:translateX(-50%)}
.fecho h2{max-width:16ch;margin:var(--sp-3) auto var(--sp-4)}
.fecho .botoes{justify-content:center;margin-top:var(--sp-6)}

/* rodapé */
.rodape{background:var(--fundo-3);color:#B6C8B4;padding:0 0 var(--sp-20);font-size:15px}
.rodape .faixa{margin-bottom:var(--sp-10)}
.rodape-grade{display:grid;gap:var(--sp-8)}
@media (min-width:900px){.rodape-grade{grid-template-columns:1.4fr 1fr 1.3fr}}
.rodape .logo-svg{height:52px;width:auto;color:var(--branco)}
.rodape h4{font:700 16px/1 var(--titulo);letter-spacing:.12em;color:var(--branco);margin-bottom:var(--sp-3)}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}
.rodape a{color:#DCE7DA;text-decoration:none}
.rodape a:hover{color:var(--broto)}
.rodape .fino{margin-top:var(--sp-10);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.12);font-size:13px;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-6)}
.redes{display:flex;gap:var(--sp-2);margin-top:var(--sp-4)}
.redes a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}

/* WhatsApp flutuante + barra do celular */
.zap-flutuante{position:fixed;right:var(--sp-4);bottom:84px;z-index:45;width:58px;height:58px;border-radius:50%;background:var(--zap);color:var(--branco);display:grid;place-items:center;box-shadow:var(--sombra-3)}
.zap-flutuante .ico{width:30px;height:30px}
.barra-cel{position:fixed;left:0;right:0;bottom:0;z-index:44;display:flex;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) calc(var(--sp-2) + env(safe-area-inset-bottom));background:var(--branco);box-shadow:0 -4px 16px rgba(0,0,0,.08);transform:translateY(110%);transition:transform .25s}
.barra-cel.visivel{transform:none}
.barra-cel .btn{flex:1;min-height:44px;font-size:15px}
@media (min-width:1040px){.barra-cel{display:none}.zap-flutuante{bottom:var(--sp-6)}}

/* páginas simples */
.prosa{max-width:72ch;display:grid;gap:var(--sp-4);color:var(--cinza)}
.prosa h2{font-size:30px;margin-top:var(--sp-6)}
.prosa ul{margin:0;padding-left:var(--sp-5);display:grid;gap:var(--sp-2)}
.contato-lista{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-4)}
.contato-lista li{display:flex;gap:var(--sp-3);align-items:flex-start}
.contato-lista .ico{color:var(--verde-600);margin-top:2px}
.contato-lista b{display:block;font:700 15px/1.2 var(--titulo);letter-spacing:.08em;text-transform:uppercase;color:var(--verde-800)}

/* aparece ao rolar: começa VISÍVEL (a página precisa estar completa sem JS) */
.js .surge{opacity:0;transform:translateY(16px);transition:opacity .5s,transform .5s}
.js .surge.visto{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .surge{opacity:1;transform:none}}

/* mapa de calor (painel abre a página com ?mapacalor=1 no site de edição) */
.calor-marca{position:absolute;z-index:80;min-width:26px;height:26px;padding:0 7px;border-radius:13px;background:var(--perigo);color:var(--branco);font:700 13px/26px var(--titulo);text-align:center;box-shadow:0 0 0 4px rgba(163,58,28,.25);pointer-events:none}
