/* =========================================================================
   Andréa Alves — Nutrição Integrativa
   Identidade: verde profundo + creme + dourado, tipografia Fraunces/Manrope
   ========================================================================= */

:root{
  --verde-abissal:#0E2A1A;
  --verde:#17402A;
  --verde-medio:#265C3B;
  --verde-vivo:#2E7048;
  --salvia:#9DBBA4;
  --salvia-clara:#C6D9C9;
  --creme:#F7F2E6;
  --areia:#EFE6D4;
  --areia-2:#E4D8C0;
  --dourado:#B08B4F;
  --dourado-luz:#DFC290;
  --tinta:#16241B;
  --tinta-suave:#4A5C4F;

  --fonte-display:"Fraunces",Georgia,"Times New Roman",serif;
  --fonte-corpo:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --fonte-script:"Parisienne",cursive;

  --largura:1180px;
  --raio:18px;
  --raio-p:10px;
  --sombra:0 18px 50px -28px rgba(14,42,26,.55);
  --sombra-forte:0 30px 70px -30px rgba(14,42,26,.65);
  --transicao:.45s cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--creme);
  color:var(--tinta);
  font-family:var(--fonte-corpo);
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.75;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit}

h1,h2,h3,h4{
  font-family:var(--fonte-display);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.015em;
  margin:0 0 .5em;
  font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 40;
}
h1{font-size:clamp(2.35rem,1.6rem + 3.4vw,4.4rem)}
h2{font-size:clamp(1.95rem,1.4rem + 2.2vw,3.1rem)}
h3{font-size:clamp(1.28rem,1.1rem + .8vw,1.7rem)}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

::selection{background:var(--dourado);color:#fff}

/* ---------------------------------------------------------- utilitários */
.wrap{width:min(100% - 2.6rem,var(--largura));margin-inline:auto}
.wrap-estreito{width:min(100% - 2.6rem,860px);margin-inline:auto}

.sobrancelha{
  font-family:var(--fonte-corpo);
  font-size:.72rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--dourado);
  display:flex;align-items:center;gap:.75rem;
  margin:0 0 1.1rem;
}
.sobrancelha::before{
  content:"";width:34px;height:1px;background:currentColor;opacity:.7;flex:none;
}
.sobrancelha.centro{justify-content:center}
.sobrancelha.centro::after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}

.script{font-family:var(--fonte-script);font-weight:400;letter-spacing:0}

.lead{font-size:clamp(1.05rem,1rem + .35vw,1.22rem);color:var(--tinta-suave);line-height:1.7}

.pular{
  position:absolute;left:-9999px;top:0;background:var(--verde);color:#fff;
  padding:.9rem 1.3rem;z-index:999;border-radius:0 0 var(--raio-p) 0;
}
.pular:focus{left:0}

:focus-visible{outline:3px solid var(--dourado);outline-offset:3px;border-radius:4px}

/* ---------------------------------------------------------------- botões */
.btn{
  --bg:var(--verde);--cor:#fff;--bd:var(--verde);
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.95rem 1.7rem;
  background:var(--bg);color:var(--cor);border:1px solid var(--bd);
  border-radius:999px;
  font-size:.94rem;font-weight:700;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;
  position:relative;overflow:hidden;
  transition:transform var(--transicao),box-shadow var(--transicao),background .3s,color .3s,border-color .3s;
}
.btn svg{width:18px;height:18px;flex:none}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(14,42,26,.7)}
.btn-zap{--bg:var(--dourado);--bd:var(--dourado);--cor:#20180B}
.btn-zap:hover{--bg:var(--dourado-luz);--bd:var(--dourado-luz)}
.btn-vazado{--bg:transparent;--cor:var(--tinta);--bd:rgba(22,36,27,.28)}
.btn-vazado:hover{--bg:var(--verde);--cor:#fff;--bd:var(--verde)}
.btn-claro{--bg:transparent;--cor:var(--creme);--bd:rgba(247,242,230,.4)}
.btn-claro:hover{--bg:var(--creme);--cor:var(--verde-abissal);--bd:var(--creme)}
.btn-pequeno{padding:.65rem 1.15rem;font-size:.82rem}

.link-seta{
  display:inline-flex;align-items:center;gap:.5rem;
  font-weight:700;font-size:.88rem;letter-spacing:.02em;
  color:var(--verde-medio);text-decoration:none;
}
.link-seta span{transition:transform .35s}
.link-seta:hover span{transform:translateX(5px)}

/* -------------------------------------------------------------- cabeçalho */
.topo{
  position:sticky;top:0;z-index:100;
  background:rgba(14,42,26,.92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(157,187,164,.16);
  transition:background .4s,border-color .4s;
}
.topo.rolado{background:rgba(10,32,20,.97);box-shadow:0 12px 30px -22px rgba(0,0,0,.9)}
.topo-in{display:flex;align-items:center;gap:1.5rem;min-height:74px}

.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--creme);margin-right:auto}
.marca svg{width:34px;height:34px;flex:none}
.marca b{
  font-family:var(--fonte-display);font-weight:500;font-size:1.12rem;
  letter-spacing:.01em;display:block;line-height:1.15;
}
.marca small{
  display:block;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--salvia);font-weight:600;
}

.nav{display:flex;align-items:center;gap:.35rem}
.nav a{
  color:var(--salvia-clara);text-decoration:none;
  font-size:.85rem;font-weight:600;padding:.55rem .8rem;border-radius:999px;
  transition:color .3s,background .3s;position:relative;
}
.nav a:hover{color:#fff;background:rgba(157,187,164,.12)}
.nav a[aria-current="page"]{color:var(--dourado-luz)}
.nav a[aria-current="page"]::after{
  content:"";position:absolute;left:.8rem;right:.8rem;bottom:.28rem;height:1px;background:currentColor;
}

.menu-btn{
  display:none;width:44px;height:44px;border:1px solid rgba(157,187,164,.3);
  background:transparent;border-radius:50%;cursor:pointer;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.menu-btn i{display:block;width:17px;height:1.5px;background:var(--creme);transition:.35s;border-radius:2px}
.menu-btn[aria-expanded="true"] i:first-child{transform:translateY(6.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] i:last-child{transform:translateY(-6.5px) rotate(-45deg)}

/* -------------------------------------------------------------------- hero */
.hero{
  background:var(--verde-abissal);color:var(--creme);
  position:relative;overflow:hidden;
  padding:clamp(3rem,2rem + 6vw,6.5rem) 0 clamp(3rem,2rem + 5vw,5.5rem);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 90% at 82% 18%,rgba(46,112,72,.42),transparent 60%),
    radial-gradient(80% 60% at 0% 100%,rgba(176,139,79,.16),transparent 65%);
  pointer-events:none;
}
.folhagem{
  position:absolute;pointer-events:none;opacity:.13;color:var(--salvia);
}
.folhagem-1{top:-60px;right:-40px;width:min(420px,45vw);animation:flutua 14s ease-in-out infinite}
.folhagem-2{bottom:-90px;left:-70px;width:min(360px,40vw);transform:scaleX(-1);animation:flutua 18s ease-in-out infinite reverse}
@keyframes flutua{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-14px,0) rotate(-2deg)}}
.folhagem-2{animation-name:flutua2}
@keyframes flutua2{0%,100%{transform:scaleX(-1) translate3d(0,0,0)}50%{transform:scaleX(-1) translate3d(0,-16px,0) rotate(2deg)}}

.hero-grade{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center;
}
.hero h1{color:var(--creme);margin-bottom:.35em}
.hero h1 .script{
  display:block;color:var(--dourado-luz);
  background:linear-gradient(96deg,var(--dourado) 0%,#F0DCB4 45%,var(--dourado) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  padding-right:.08em;
  font-size:1.18em;line-height:1;margin-top:.12em;
}
.hero .lead{color:var(--salvia-clara);max-width:34em}
.hero-acoes{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}

.hero-selo{
  display:flex;flex-wrap:wrap;gap:.5rem .55rem;margin-top:2.2rem;
  padding-top:1.6rem;border-top:1px solid rgba(157,187,164,.2);
}
.hero-selo span{
  font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--salvia);border:1px solid rgba(157,187,164,.28);
  padding:.4rem .8rem;border-radius:999px;
}

/* moldura em arco — assinatura visual do retrato */
.arco{position:relative;justify-self:center;width:min(100%,430px)}
.arco-moldura{
  position:relative;aspect-ratio:4/5;
  border-radius:999px 999px 26px 26px;
  overflow:hidden;
  background:var(--areia);
  box-shadow:var(--sombra-forte);
}
.arco-moldura img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.arco::after{
  content:"";position:absolute;inset:-14px -14px 14px -14px;
  border:1px solid rgba(223,194,144,.45);
  border-radius:999px 999px 32px 32px;pointer-events:none;
}
.arco-etiqueta{
  position:absolute;left:50%;transform:translateX(-50%);
  bottom:-26px;z-index:3;
  background:var(--dourado);color:#20180B;
  font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  padding:.6rem 1.3rem;border-radius:999px;white-space:nowrap;
  box-shadow:0 12px 26px -14px rgba(0,0,0,.6);
}

/* ----------------------------------------------------------- faixa de áreas */
.faixa{background:var(--areia);border-block:1px solid var(--areia-2)}
.faixa-in{
  display:grid;grid-template-columns:repeat(6,1fr);gap:1px;
  background:var(--areia-2);
}
.faixa-item{
  background:var(--areia);padding:1.5rem 1.1rem;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
  transition:background .35s;
}
.faixa-item:hover{background:var(--creme)}
.faixa-item svg{width:28px;height:28px;color:var(--verde-medio)}
.faixa-item b{font-size:.82rem;font-weight:700;line-height:1.35;letter-spacing:.01em}

/* ----------------------------------------------------------------- seções */
.secao{padding:clamp(3.5rem,2.5rem + 5vw,7rem) 0}
.secao-creme{background:var(--creme)}
.secao-areia{background:var(--areia)}
.secao-verde{background:var(--verde-abissal);color:var(--salvia-clara);position:relative;overflow:hidden}
.secao-verde h2,.secao-verde h3{color:var(--creme)}
.secao-verde .lead{color:var(--salvia-clara)}

.cabecalho-secao{max-width:44rem;margin-bottom:clamp(2.2rem,1.5rem + 2vw,3.4rem)}
.cabecalho-secao.centro{margin-inline:auto;text-align:center}

/* ------------------------------------------------------------------ sobre */
.sobre-grade{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:start}
.sobre-midia{position:relative}
.sobre-foto{
  aspect-ratio:4/5;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);
  background:var(--areia);
}
.sobre-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.sobre-emblema{
  position:absolute;right:-18px;bottom:-30px;width:44%;
  aspect-ratio:3/2;border-radius:12px;overflow:hidden;
  border:6px solid var(--creme);box-shadow:var(--sombra);
}
.sobre-emblema img{width:100%;height:100%;object-fit:cover;object-position:42% 45%}

.credenciais{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.9rem}
.credenciais li{display:flex;gap:.85rem;align-items:flex-start;font-size:.97rem}
.credenciais svg{width:20px;height:20px;color:var(--dourado);flex:none;margin-top:.28rem}

.aspas{
  margin:2.2rem 0 0;padding:1.6rem 1.8rem;
  background:var(--areia);border-left:3px solid var(--dourado);
  border-radius:0 var(--raio-p) var(--raio-p) 0;
  font-family:var(--fonte-display);font-size:1.15rem;line-height:1.55;font-style:italic;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}

/* ------------------------------------------ ASSINATURA: escada da aceitação */
.escada{position:relative;margin-top:clamp(2.5rem,2rem + 2vw,3.5rem);padding-left:46px}
.escada-caule{
  position:absolute;left:0;top:0;width:46px;height:100%;
  pointer-events:none;overflow:visible;
}
.escada-caule .folha{
  fill:rgba(157,187,164,.5);opacity:0;
  transition:opacity .9s ease;
}
.escada.ativo .escada-caule .folha{opacity:1}
.escada-caule path{
  fill:none;stroke:rgba(223,194,144,.7);stroke-width:1.6;stroke-dasharray:var(--dash,2000);
  stroke-dashoffset:var(--dash,2000);
  transition:stroke-dashoffset 2.6s cubic-bezier(.4,0,.2,1);
}
.escada.ativo .escada-caule path{stroke-dashoffset:0}

.degraus{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.degrau{
  display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:center;
  background:rgba(247,242,230,.045);
  border:1px solid rgba(157,187,164,.16);
  border-radius:var(--raio-p);
  padding:1rem 1.3rem;
  position:relative;
  transition:background .4s,border-color .4s,transform .4s;
}
.degrau:hover{background:rgba(247,242,230,.09);border-color:rgba(223,194,144,.4);transform:translateX(4px)}
.degrau-marca{
  width:38px;height:38px;border-radius:50%;flex:none;
  display:grid;place-items:center;
  border:1px solid rgba(223,194,144,.45);color:var(--dourado-luz);
  font-size:.78rem;font-weight:800;font-family:var(--fonte-corpo);
  background:rgba(14,42,26,.7);
}
.degrau b{display:block;color:var(--creme);font-size:1rem;font-weight:700;line-height:1.35}
.degrau span{display:block;font-size:.88rem;color:var(--salvia);line-height:1.5}

.escada-nota{
  margin-top:2rem;font-size:.9rem;color:var(--salvia);
  border-top:1px solid rgba(157,187,164,.2);padding-top:1.4rem;max-width:52rem;
}

/* --------------------------------------------------------------- serviços */
.grade-servicos{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:clamp(1rem,.7rem + 1vw,1.5rem);
}
.card-servico{
  background:var(--creme);border:1px solid var(--areia-2);
  border-radius:var(--raio);padding:1.8rem 1.7rem 1.6rem;
  display:flex;flex-direction:column;gap:.75rem;
  text-decoration:none;color:inherit;
  position:relative;overflow:hidden;
  transition:transform var(--transicao),box-shadow var(--transicao),border-color .4s;
}
.secao-creme .card-servico{background:var(--areia);border-color:var(--areia-2)}
.card-servico::before{
  content:"";position:absolute;left:0;top:0;height:100%;width:3px;
  background:linear-gradient(var(--dourado),var(--verde-vivo));
  transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.card-servico:hover{transform:translateY(-5px);box-shadow:var(--sombra);border-color:var(--dourado)}
.card-servico:hover::before{transform:scaleY(1)}
.card-icone{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  background:var(--verde);color:var(--dourado-luz);margin-bottom:.35rem;
  transition:background .4s;
}
.card-icone svg{width:24px;height:24px}
.card-servico:hover .card-icone{background:var(--verde-vivo)}
.card-servico h3{margin:0;font-size:1.22rem}
.card-servico p{font-size:.93rem;color:var(--tinta-suave);margin:0;line-height:1.65}
.card-servico .link-seta{margin-top:auto;padding-top:.9rem}

/* ------------------------------------------------------------- etapas 01-04 */
.etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;counter-reset:etapa}
.etapa{position:relative;padding-top:2.6rem;border-top:1px solid rgba(157,187,164,.3)}
.etapa::before{
  counter-increment:etapa;content:"0" counter(etapa);
  position:absolute;top:1rem;left:0;
  font-family:var(--fonte-display);font-size:1.1rem;color:var(--dourado);letter-spacing:.04em;
}
.etapa h3{font-size:1.15rem;margin-bottom:.4rem}
.etapa p{font-size:.92rem;color:var(--salvia);margin:0}
.secao-creme .etapa p,.secao-areia .etapa p{color:var(--tinta-suave)}
.secao-creme .etapa,.secao-areia .etapa{border-top-color:var(--areia-2)}

/* ------------------------------------------------------------- comunidade */
.comunidade{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem;
}
.card-destaque{
  background:linear-gradient(160deg,var(--verde) 0%,var(--verde-abissal) 100%);
  color:var(--creme);border-radius:var(--raio);
  padding:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);
  border:1px solid rgba(223,194,144,.25);
  display:flex;flex-direction:column;gap:.9rem;
  position:relative;overflow:hidden;
}
.card-destaque h3{color:var(--creme);margin:0}
.card-destaque p{color:var(--salvia-clara);font-size:.95rem;margin:0}
.card-destaque .btn{margin-top:auto;align-self:flex-start}
.card-destaque .tag{
  font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dourado-luz);
}
.card-destaque::after{
  content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;
  border:1px solid rgba(223,194,144,.18);border-radius:50%;
}

/* -------------------------------------------------------------------- FAQ */
.faq{display:grid;gap:.7rem}
.faq-item{
  background:var(--creme);border:1px solid var(--areia-2);border-radius:var(--raio-p);
  overflow:hidden;transition:border-color .35s,box-shadow .35s;
}
.secao-creme .faq-item{background:var(--areia)}
.faq-item[open]{border-color:var(--dourado);box-shadow:var(--sombra)}
.faq-item summary{
  cursor:pointer;list-style:none;padding:1.15rem 3.2rem 1.15rem 1.4rem;
  font-weight:700;font-size:1rem;position:relative;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"";position:absolute;right:1.4rem;top:50%;
  width:11px;height:11px;border-right:2px solid var(--dourado);border-bottom:2px solid var(--dourado);
  transform:translateY(-70%) rotate(45deg);transition:transform .35s;
}
.faq-item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq-corpo{padding:0 1.4rem 1.3rem;font-size:.95rem;color:var(--tinta-suave);line-height:1.7}

/* --------------------------------------------------------- página serviço */
.hero-interno{
  background:var(--verde-abissal);color:var(--creme);
  padding:clamp(2.6rem,2rem + 3vw,4.6rem) 0 clamp(2.6rem,2rem + 3vw,4.2rem);
  position:relative;overflow:hidden;
}
.hero-interno::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(90% 120% at 90% 0%,rgba(46,112,72,.4),transparent 62%);
}
.hero-interno-in{position:relative;z-index:2;max-width:50rem}
.hero-interno h1{color:var(--creme);font-size:clamp(2rem,1.5rem + 2.4vw,3.4rem)}
.hero-interno .lead{color:var(--salvia-clara)}
.hero-interno .btn{margin-top:1.8rem}

.migalhas{
  display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;
  font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  color:var(--salvia);margin-bottom:1.4rem;
}
.migalhas a{color:var(--salvia);text-decoration:none;transition:color .3s}
.migalhas a:hover{color:var(--dourado-luz)}
.migalhas span{opacity:.5}

.duas-colunas{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,1rem + 3vw,4rem);align-items:start}

.lista-check{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.lista-check li{display:flex;gap:.8rem;align-items:flex-start;font-size:.98rem;line-height:1.6}
.lista-check svg{width:19px;height:19px;color:var(--verde-vivo);flex:none;margin-top:.3rem}
.secao-verde .lista-check svg{color:var(--dourado-luz)}

.painel{
  background:var(--areia);border:1px solid var(--areia-2);
  border-radius:var(--raio);padding:clamp(1.5rem,1.2rem + 1vw,2.2rem);
}
.secao-areia .painel{background:var(--creme)}
.painel h3{font-size:1.15rem}
.painel .chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}
.chips b{
  font-size:.78rem;font-weight:600;background:var(--creme);border:1px solid var(--areia-2);
  padding:.42rem .85rem;border-radius:999px;color:var(--tinta-suave);
}
.secao-areia .chips b{background:var(--areia)}

/* -------------------------------------------------------------- CTA final */
.cta-final{
  background:var(--verde-abissal);color:var(--creme);text-align:center;
  padding:clamp(3.5rem,2.5rem + 4vw,6rem) 0;position:relative;overflow:hidden;
}
.cta-final::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(70% 100% at 50% 0%,rgba(46,112,72,.4),transparent 70%);
}
.cta-final-in{position:relative;z-index:2}
.cta-final h2{color:var(--creme)}
.cta-final .script{color:var(--dourado-luz);font-size:1.35em;display:block;line-height:1.05}
.cta-final p{color:var(--salvia-clara);max-width:38rem;margin-inline:auto}
.cta-final .btn{margin-top:1.8rem}

/* ----------------------------------------------------------------- rodapé */
.rodape{background:#0A2014;color:var(--salvia);padding:clamp(3rem,2rem + 3vw,4.5rem) 0 2rem;font-size:.9rem}
.rodape-grade{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem;align-items:start}
.rodape h4{
  color:var(--creme);font-family:var(--fonte-corpo);font-size:.74rem;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.1rem;
}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.rodape a{color:var(--salvia);text-decoration:none;transition:color .3s}
.rodape a:hover{color:var(--dourado-luz)}
.rodape .marca{margin-bottom:1rem}
.rodape-base{
  margin-top:2.8rem;padding-top:1.6rem;border-top:1px solid rgba(157,187,164,.18);
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
  font-size:.78rem;color:rgba(157,187,164,.75);line-height:1.7;
}
.aviso{max-width:46rem}

/* --------------------------------------------------------- botão flutuante */
.zap-flutuante{
  position:fixed;right:18px;bottom:18px;z-index:90;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;
  box-shadow:0 14px 34px -12px rgba(0,0,0,.55);
  text-decoration:none;transition:transform .35s,box-shadow .35s;
}
.zap-flutuante svg{width:30px;height:30px}
.zap-flutuante:hover{transform:scale(1.08) translateY(-2px)}
.zap-flutuante::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(37,211,102,.55);animation:pulso 2.8s ease-out infinite;
}
@keyframes pulso{0%{transform:scale(1);opacity:.9}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}

/* ------------------------------------------------------------- revelações */
.revelar{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.revelar.visivel{opacity:1;transform:none}

/* ------------------------------------------------------------ responsivo */
@media (max-width:1000px){
  .hero-grade{grid-template-columns:1fr;gap:3rem}
  .arco{order:-1;width:min(100%,340px)}
  .hero-selo{justify-content:flex-start}
  .faixa-in{grid-template-columns:repeat(3,1fr)}
  .sobre-grade,.duas-colunas{grid-template-columns:1fr}
  .sobre-midia{max-width:420px}
  .rodape-grade{grid-template-columns:1fr 1fr;gap:2rem}
  .rodape-grade>div:first-child{grid-column:1/-1}
}

@media (max-width:760px){
  .nav{
    position:fixed;inset:74px 0 auto;background:var(--verde-abissal);
    flex-direction:column;align-items:stretch;gap:0;padding:1rem 1.3rem 2rem;
    border-bottom:1px solid rgba(157,187,164,.2);
    transform:translateY(-115%);transition:transform .45s cubic-bezier(.22,.61,.36,1);
    max-height:calc(100dvh - 74px);overflow-y:auto;
  }
  .nav.aberto{transform:none}
  .nav a{padding:.9rem .4rem;border-bottom:1px solid rgba(157,187,164,.12);border-radius:0;font-size:.98rem}
  .nav a[aria-current="page"]::after{display:none}
  .nav .btn{margin-top:1rem;justify-content:center}
  .menu-btn{display:flex}
  .faixa-in{grid-template-columns:repeat(2,1fr)}
  .arco-moldura{border-radius:999px 999px 20px 20px}
  .sobre-emblema{width:52%;right:-8px;bottom:-24px}
  .rodape-grade{grid-template-columns:1fr}
  .degrau{grid-template-columns:auto 1fr;padding:.9rem 1rem;gap:.9rem}
  .escada{padding-left:26px}
  .escada-caule{width:26px}
  .btn{width:100%}
  .hero-acoes .btn,.card-destaque .btn{width:100%}
  .link-seta{width:auto}
}

@media (max-width:360px){
  .faixa-in{grid-template-columns:1fr}
  .arco-etiqueta{font-size:.62rem;padding:.5rem 1rem}
}

@media print{
  .topo,.zap-flutuante,.hero::before{display:none}
  body{background:#fff;color:#000}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .revelar{opacity:1;transform:none}
  .escada-caule path{stroke-dashoffset:0}
}
