/* ============================================================
   DESIGN TOKENS
   Um sistema, não uma coleção de cores.
   ============================================================ */
:root{
  /* Cor — 1 primária, 1 acento, verde funcional, neutros. */
  --roxo:#5B3A8E;      --roxo-900:#3F2666;   --roxo-100:#EFE9F7;
  --laranja:#EE7B2B;   --laranja-700:#C85F16; --laranja-100:#FDF0E4;
  --verde:#1F8A6D;     --verde-100:#E6F4EF;
  --wpp:#25D366;       --wpp-700:#1DA851;

  /* Neutros */
  --tinta:#221B33;  --texto:#443C57;  --suave:#6F6684;
  --linha:#E9E4F0;  --superficie:#FAF8FC;  --branco:#FFFFFF;

  /* Escala tipográfica — terça maior, fluida */
  --t-display: clamp(2.45rem, 1.55rem + 3.1vw, 3.9rem);
  --t-h2:      clamp(1.8rem, 1.42rem + 1.4vw, 2.6rem);
  --t-h3:      1.2rem;
  --t-lead:    clamp(1.05rem, 1rem + .3vw, 1.2rem);
  --t-corpo:   1.0625rem;
  --t-peq:     .9375rem;
  --t-micro:   .8125rem;

  /* Espaçamento — múltiplos de 4, sem exceções */
  --e1:4px; --e2:8px; --e3:12px; --e4:16px; --e5:24px;
  --e6:32px; --e7:48px; --e8:64px; --e9:96px;
  --secao: clamp(64px, 4vw + 48px, 112px);

  /* Raio — três degraus, e só */
  --r-sm:10px; --r-md:14px; --r-lg:22px;

  /* Sombra — dois níveis, tingidos de roxo */
  --s1: 0 1px 2px rgba(34,27,51,.04), 0 2px 8px rgba(91,58,142,.05);
  --s2: 0 8px 16px rgba(34,27,51,.06), 0 20px 40px rgba(91,58,142,.11);

  --curva: cubic-bezier(.22,.7,.3,1);
}

/* ============================================================
   BASE
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Nunito Sans',system-ui,-apple-system,sans-serif;
  font-size:var(--t-corpo); line-height:1.7; color:var(--texto);
  background:var(--branco); -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3,h4,.font-display{font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;color:var(--tinta);font-weight:700}
h1{font-size:var(--t-display);line-height:1.06;letter-spacing:-.022em}
h2{font-size:var(--t-h2);line-height:1.14;letter-spacing:-.016em}
h3{font-size:var(--t-h3);line-height:1.3;letter-spacing:-.008em}
p{max-width:62ch}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
li{list-style:none}
:focus-visible{outline:2.5px solid var(--laranja);outline-offset:3px;border-radius:4px}

.wrap{width:100%;max-width:1180px;margin:0 auto;padding-inline:clamp(20px,4vw,32px)}
.centro{text-align:center}
.centro p{margin-inline:auto}

.sobrancelha{
  display:inline-block;font-size:var(--t-micro);font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--laranja-700);margin-bottom:var(--e3)
}
.lead{font-size:var(--t-lead);color:var(--suave);line-height:1.6}

/* Cabeçalho de seção — respiro consistente */
.sec{padding-block:var(--secao)}
.sec-alt{background:var(--superficie)}
.sec-cab{margin-bottom:var(--e8)}
.sec-cab.linha-base{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--e5);flex-wrap:wrap}
.sec-cab p{margin-top:var(--e3)}

/* ============================================================
   BOTÕES — um raio, três pesos
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--e2);
  font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-weight:700;font-size:var(--t-peq);
  padding:13px 24px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;
  transition:background .2s var(--curva),border-color .2s var(--curva),color .2s var(--curva);
  white-space:nowrap;
}
.btn-primario{background:var(--roxo);color:#fff}
.btn-primario:hover{background:var(--roxo-900)}
.btn-acento{background:var(--laranja);color:#fff}
.btn-acento:hover{background:var(--laranja-700)}
.btn-wpp{background:var(--wpp);color:#fff}
.btn-wpp:hover{background:var(--wpp-700)}
.btn-contorno{background:transparent;color:var(--roxo);border-color:var(--linha)}
.btn-contorno:hover{border-color:var(--roxo);background:var(--roxo-100)}
.btn-claro{background:#fff;color:var(--roxo)}
.btn-claro:hover{background:var(--roxo-100)}
.btn-bloco{width:100%}
.btn .ic{width:17px;height:17px;flex-shrink:0}

.link-seta{
  font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-weight:700;font-size:var(--t-peq);color:var(--roxo);
  display:inline-flex;align-items:center;gap:6px
}
.link-seta svg{width:15px;height:15px;transition:transform .2s var(--curva)}
.link-seta:hover svg{transform:translateX(4px)}

/* ============================================================
   MICROINTERAÇÃO 1 — revelar ao rolar
   ============================================================ */
.rev{opacity:0;transform:translateY(16px);transition:opacity .6s var(--curva),transform .6s var(--curva)}
.rev.vis{opacity:1;transform:none}

/* ============================================================
   TOPO
   ============================================================ */
.fita{height:3px;background:linear-gradient(90deg,var(--roxo),#3E96CA 34%,var(--verde) 58%,var(--laranja) 82%,#D84882)}

.avisos{background:var(--roxo-900);color:#E4DAF2;font-size:var(--t-micro);font-weight:600}
.avisos .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--e4);padding-block:9px}
.avisos a:hover{color:#fff}
.avisos .dir{display:flex;gap:var(--e5);align-items:center}
@media(max-width:860px){.avisos .dir{display:none}}

/* MICROINTERAÇÃO 3 — cabeçalho compacta ao rolar */
.topo{
  position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid transparent;
  transition:border-color .25s var(--curva),box-shadow .25s var(--curva)
}
.topo.fixo{border-bottom-color:var(--linha);box-shadow:0 4px 20px rgba(34,27,51,.05)}
.topo-in{display:flex;align-items:center;gap:var(--e5);padding-block:18px;transition:padding .25s var(--curva)}
.topo.fixo .topo-in{padding-block:11px}
.marca{display:flex;align-items:center;gap:11px;flex-shrink:0}
.marca img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--roxo-100);transition:width .25s var(--curva),height .25s var(--curva)}
.topo.fixo .marca img{width:38px;height:38px}
.marca span{font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-weight:800;font-size:1.2rem;color:var(--roxo);letter-spacing:-.01em}
.busca{flex:1;max-width:440px;position:relative}
.busca input{
  width:100%;border:1.5px solid var(--linha);border-radius:12px;background:var(--superficie);
  padding:11px 16px 11px 42px;font:inherit;font-size:var(--t-peq);color:var(--tinta);
  transition:border-color .2s var(--curva),background .2s var(--curva)
}
.busca input::placeholder{color:#9990AB}
.busca input:focus{outline:none;border-color:var(--roxo);background:#fff}
.busca svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#9990AB}
.topo-acoes{display:flex;gap:var(--e3);align-items:center;margin-left:auto}
@media(max-width:920px){.busca{display:none}}
@media(max-width:520px){.topo-acoes .btn-contorno{display:none}}

.catnav{border-bottom:1px solid var(--linha);background:#fff;overflow-x:auto;scrollbar-width:none}
.catnav::-webkit-scrollbar{display:none}
.catnav ul{display:flex;gap:var(--e1);justify-content:center;min-width:max-content;padding-inline:var(--e4)}
.catnav a{
  display:block;padding:14px 15px;font-size:var(--t-peq);font-weight:600;color:var(--texto);
  border-bottom:2.5px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap
}
.catnav a:hover{color:var(--roxo);border-bottom-color:var(--roxo)}
.catnav a.destaque{color:var(--laranja-700)}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;background:linear-gradient(120deg,#3F2666,#5B3A8E 55%,#3E96CA);isolation:isolate}
.hero::before{
  content:'';position:absolute;inset:0;z-index:-2;
  background-image:url('/img/hope-pet-shop-fachada-lateral-servicos-800.webp');
  background-size:cover;background-position:center right
}
.hero::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(34,27,51,.94) 0%,rgba(45,30,80,.86) 34%,rgba(45,30,80,.42) 62%,rgba(45,30,80,.08) 88%)
}
@media(max-width:820px){
  .hero::after{background:linear-gradient(180deg,rgba(34,27,51,.9),rgba(45,30,80,.72))}
}
.hero-in{position:relative;padding-block:clamp(64px,8vw,112px);min-height:clamp(420px,52vw,540px);display:flex;align-items:center}
.hero-txt{max-width:600px;color:#fff}
.hero .selo{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);color:#fff;font-size:var(--t-micro);font-weight:700;
  padding:7px 15px;border-radius:999px;margin-bottom:var(--e5)
}
.hero .selo svg{width:14px;height:14px}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:#FFC96B}
.hero p{color:#DED5EE;font-size:var(--t-lead);margin:var(--e5) 0 var(--e7);max-width:52ch}
.hero p strong{color:#fff;font-weight:700}
.hero-ctas{display:flex;gap:var(--e3);flex-wrap:wrap}
.hero-ctas .btn{padding:15px 28px;font-size:1rem}
@media(max-width:560px){.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .btn{width:100%}}

/* Barra de confiança */
.confianca{background:var(--roxo-900);border-top:1px solid rgba(255,255,255,.1)}
.confianca ul{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--e5);padding-block:var(--e5)}
.confianca li{display:flex;align-items:center;gap:11px;color:#E4DAF2;font-size:var(--t-peq);font-weight:600;line-height:1.35}
.confianca svg{width:21px;height:21px;color:#FFC96B;flex-shrink:0}
@media(max-width:820px){.confianca ul{grid-template-columns:repeat(2,1fr);gap:var(--e4)}}
@media(max-width:420px){.confianca ul{grid-template-columns:1fr}}

/* ============================================================
   SERVIÇOS
   ============================================================ */
.grade-serv{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--e4)}
@media(max-width:900px){.grade-serv{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grade-serv{grid-template-columns:1fr}}

/* MICROINTERAÇÃO 2 — cartão sobe ao passar o mouse */
.cartao{
  background:#fff;border:1px solid var(--linha);border-radius:var(--r-lg);padding:var(--e6) var(--e5) var(--e5);
  display:flex;flex-direction:column;box-shadow:var(--s1);
  transition:transform .28s var(--curva),box-shadow .28s var(--curva),border-color .28s var(--curva)
}
.cartao:hover{transform:translateY(-4px);box-shadow:var(--s2);border-color:transparent}
.cartao .marca-ico{
  width:52px;height:52px;border-radius:var(--r-md);display:grid;place-items:center;
  margin-bottom:var(--e5);background:var(--roxo-100);color:var(--roxo)
}
.cartao .marca-ico svg{width:26px;height:26px}
.cartao:nth-child(2) .marca-ico{background:#E4F0F9;color:#2E7AAB}
.cartao:nth-child(3) .marca-ico{background:var(--verde-100);color:var(--verde)}
.cartao:nth-child(4) .marca-ico{background:var(--laranja-100);color:var(--laranja-700)}
.cartao h3{margin-bottom:var(--e2)}
.cartao p{font-size:var(--t-peq);color:var(--suave);margin-bottom:var(--e5);flex:1}
.cartao .preco-de{font-size:var(--t-micro);color:var(--suave);margin-bottom:var(--e4);font-weight:600}
.cartao .preco-de b{color:var(--tinta);font-size:1.05rem;font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif}

/* ============================================================
   CATEGORIAS
   ============================================================ */
.grade-cat{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--e3)}
.cat{
  background:#fff;border:1px solid var(--linha);border-radius:var(--r-md);
  padding:var(--e5) var(--e3);text-align:center;
  transition:transform .24s var(--curva),box-shadow .24s var(--curva),border-color .24s var(--curva)
}
.cat:hover{transform:translateY(-4px);box-shadow:var(--s2);border-color:transparent}
.cat svg{width:28px;height:28px;color:var(--roxo);margin:0 auto var(--e3)}
.cat span{display:block;font-size:var(--t-micro);font-weight:700;color:var(--tinta);font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif}
@media(max-width:900px){.grade-cat{grid-template-columns:repeat(3,1fr)}}

/* ============================================================
   PRODUTOS
   ============================================================ */
.grade-prod{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--e4)}
@media(max-width:900px){.grade-prod{grid-template-columns:repeat(2,1fr)}}
.prod{
  background:#fff;border:1px solid var(--linha);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--s1);
  transition:transform .28s var(--curva),box-shadow .28s var(--curva),border-color .28s var(--curva)
}
.prod:hover{transform:translateY(-4px);box-shadow:var(--s2);border-color:transparent}
.prod-foto{
  aspect-ratio:4/3;background:var(--superficie);display:grid;place-items:center;position:relative;
  border-bottom:1px solid var(--linha);overflow:hidden
}
.prod-foto svg{width:62px;stroke-width:1.2px;height:64px;color:#C9BFDB;transition:transform .3s var(--curva)}
.prod:hover .prod-foto svg{transform:scale(1.06)}
.prod-corpo{padding:var(--e4);display:flex;flex-direction:column;gap:6px;flex:1}
.prod-marca{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--suave)}
.prod-nome{font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-weight:700;font-size:var(--t-peq);color:var(--tinta);line-height:1.32}
.prod-preco{margin-top:auto;padding-top:var(--e3);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.prod-preco b{font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-size:1.3rem;color:var(--tinta);letter-spacing:-.01em}
.selo-pix{
  font-size:11px;font-weight:700;color:var(--verde);background:var(--verde-100);
  padding:3px 8px;border-radius:6px
}
.prod-acoes{display:flex;flex-direction:column;gap:7px;margin-top:var(--e3)}
.prod-acoes .btn{padding:10px 14px;font-size:var(--t-micro)}


/* ============================================================
   FARMÁCIA
   ============================================================ */
.farmacia{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:900px){.farmacia{grid-template-columns:1fr}}
.farmacia ul{margin:var(--e5) 0 var(--e7);display:flex;flex-direction:column;gap:var(--e3)}
.farmacia li{display:flex;gap:12px;align-items:flex-start;font-size:var(--t-peq)}
.farmacia li svg{width:19px;height:19px;color:var(--verde);flex-shrink:0;margin-top:4px}
.painel-comp{
  background:#fff;border:1px solid var(--linha);border-radius:var(--r-lg);
  box-shadow:var(--s2);overflow:hidden
}
.painel-comp h3{padding:var(--e5) var(--e5) var(--e3);font-size:1.05rem}
.painel-comp .linha{
  display:flex;justify-content:space-between;align-items:center;gap:var(--e4);
  padding:15px var(--e5);border-top:1px solid var(--linha);font-size:var(--t-peq)
}
.painel-comp .linha b{font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-size:var(--t-peq)}
.painel-comp .nos{background:var(--verde-100)}
.painel-comp .nos b{color:var(--verde)}
.painel-comp .eles{color:var(--suave)}

/* ============================================================
   PLANOS
   ============================================================ */
.grade-planos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e4)}
@media(max-width:820px){.grade-planos{grid-template-columns:1fr}}
.plano{background:#fff;border:1px solid var(--linha);border-radius:var(--r-lg);padding:var(--e6);box-shadow:var(--s1);transition:transform .28s var(--curva),box-shadow .28s var(--curva)}
.plano:hover{transform:translateY(-4px);box-shadow:var(--s2)}
.plano .cred{font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-size:1.35rem;color:var(--roxo);margin-bottom:var(--e2)}
.plano p{font-size:var(--t-peq);color:var(--suave)}

/* ============================================================
   MARCAS — grade estática, sem carrossel
   ============================================================ */
.grade-marcas{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--e3)}
@media(max-width:900px){.grade-marcas{grid-template-columns:repeat(4,1fr)}}
.marca-item{
  border:1px solid var(--linha);border-radius:var(--r-sm);background:#fff;
  padding:18px 10px;text-align:center;font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-weight:700;
  font-size:var(--t-micro);color:var(--suave);transition:color .2s,border-color .2s
}
.marca-item:hover{color:var(--roxo);border-color:var(--roxo)}

/* ============================================================
   AVALIACOES / DEPOIMENTOS
   Sem estrela decorativa: a prova social e o texto do cliente,
   com contagem e link para a fonte. (13/08/2026)
   ============================================================ */
.depoimentos__resumo a{color:var(--roxo);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.depoimentos__lista{
  list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:var(--e4);margin-top:var(--e7)
}
.depoimento{
  background:#fff;border:1px solid var(--linha);border-radius:var(--r-lg);
  padding:var(--e6);box-shadow:var(--s1);display:flex;flex-direction:column;gap:var(--e4)
}
.depoimento blockquote{margin:0}
.depoimento blockquote p{font-size:var(--t-corpo);color:var(--texto);font-style:italic}
.depoimento blockquote p::before{content:"C"}
.depoimento blockquote p::after{content:"D"}
.depoimento__autor{
  margin-top:auto;font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;
  font-weight:700;font-size:var(--t-peq);color:var(--roxo)
}
.depoimento__autor span{display:block;font-family:inherit;font-weight:600;font-size:var(--t-micro);color:var(--suave)}

/* ============================================================
   FAQ
   ============================================================ */
.faq-lista{
  margin-top:var(--e6);border:1px solid var(--linha);border-radius:var(--r-lg);
  background:#fff;box-shadow:var(--s1);overflow:hidden
}
.faq-item+.faq-item{border-top:1px solid var(--linha)}
.faq-item summary{
  cursor:pointer;list-style:none;padding:var(--e5) var(--e6);
  font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-weight:700;
  font-size:var(--t-h3);color:var(--tinta);
  display:flex;justify-content:space-between;align-items:center;gap:var(--e4);
  transition:color .2s,background .2s
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"";flex-shrink:0;width:11px;height:11px;
  border-right:2.4px solid var(--roxo);border-bottom:2.4px solid var(--roxo);
  transform:rotate(45deg) translateY(-3px);transition:transform .25s var(--curva)
}
.faq-item[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
.faq-item summary:hover{color:var(--roxo);background:var(--roxo-100)}
.faq-item summary:focus-visible{outline:3px solid var(--roxo);outline-offset:-3px}
.faq-resp{padding:0 var(--e6) var(--e5)}
.faq-resp p{font-size:var(--t-peq);color:var(--suave);max-width:70ch}

/* ============================================================
   RODAPÉ
   ============================================================ */
footer{background:var(--tinta);color:#B9AFCC;padding-block:var(--e9) var(--e6);font-size:var(--t-peq)}
.rodape-grade{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--e7);margin-bottom:var(--e8)}
@media(max-width:820px){.rodape-grade{grid-template-columns:1fr 1fr;gap:var(--e6)}}
@media(max-width:520px){.rodape-grade{grid-template-columns:1fr}}
footer h4{color:#fff;font-size:var(--t-peq);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--e4)}
footer a{display:block;padding-block:5px;transition:color .2s}
footer a:hover{color:#fff}
footer .sobre p{color:#B9AFCC;font-size:var(--t-peq);max-width:34ch}
.rodape-marca{display:flex;align-items:center;gap:11px;margin-bottom:var(--e4)}
.rodape-marca img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#3F2666}
.rodape-marca span{font-family:'Baloo 2','Trebuchet MS',system-ui,sans-serif;font-weight:800;font-size:1.15rem;color:#fff}
.creditos{border-top:1px solid #383049;padding-top:var(--e5);font-size:var(--t-micro);color:#8B8199;display:flex;justify-content:space-between;gap:var(--e4);flex-wrap:wrap}

/* WhatsApp flutuante */
.wpp-flut{
  position:fixed;bottom:22px;right:22px;z-index:90;background:var(--wpp);color:#fff;
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  box-shadow:0 6px 24px rgba(37,211,102,.42);
  transition:transform .24s var(--curva),background .2s
}
.wpp-flut:hover{transform:scale(1.07);background:var(--wpp-700)}
.wpp-flut svg{width:29px;height:29px}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rev{opacity:1;transform:none}
}
/* ===== FOTOS REAIS DA LOJA — adicionado 11/08/2026 ===== */
.hero-in{gap:clamp(24px,4vw,56px)}
.hero-foto{display:none}
@media(min-width:900px){
  .hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center}
  .hero-txt{max-width:none}
  .hero-foto{display:block;position:relative}
  .hero-foto img{width:100%;height:auto;aspect-ratio:4/5;max-height:clamp(360px,44vw,520px);
    object-fit:cover;object-position:center 62%;border-radius:var(--r-lg,20px);
    box-shadow:0 24px 60px rgba(20,10,40,.34);border:3px solid rgba(255,255,255,.5)}
}
.cartao-foto{margin:calc(var(--e6,24px) * -1) calc(var(--e5,20px) * -1) var(--e4,16px);
  border-radius:var(--r-lg,20px) var(--r-lg,20px) 0 0;overflow:hidden;background:var(--superficie,#f6f4fa)}
.cartao-foto img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 45%}
.cartao .marca-ico{position:relative;margin-top:-34px;background:#fff;border-radius:50%;
  box-shadow:0 6px 18px rgba(20,10,40,.16)}
.galeria-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--e4,16px)}
.galeria-item{margin:0;position:relative;border-radius:var(--r-lg,20px);overflow:hidden;
  background:var(--superficie,#f6f4fa);box-shadow:var(--s1,0 2px 10px rgba(20,10,40,.08))}
.galeria-item img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;
  transition:transform .5s var(--curva,cubic-bezier(.2,.7,.3,1))}
.galeria-item:hover img{transform:scale(1.045)}
.galeria-item figcaption{position:absolute;inset:auto 0 0 0;padding:22px 14px 12px;color:#fff;
  font-size:.82rem;font-weight:600;line-height:1.25;
  background:linear-gradient(to top,rgba(30,14,52,.82),rgba(30,14,52,0))}
@media(max-width:520px){.galeria-grade{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   PAGINAS INTERNAS — adicionado 11/08/2026
   Reaproveita os mesmos tokens. Nenhuma cor nova.
   ============================================================ */
.pg-hero{background:linear-gradient(120deg,var(--roxo-900),var(--roxo) 62%,#3E96CA);color:#fff}
.pg-hero-in{padding-block:clamp(48px,6vw,84px)}
.pg-hero h1{color:#fff;max-width:20ch}
.pg-hero .sobrancelha{color:#FFC96B}
.pg-hero p{color:#DED5EE;font-size:var(--t-lead);margin-top:var(--e5);max-width:56ch}
.pg-hero .hero-ctas{margin-top:var(--e7)}

.trilha{background:var(--superficie);border-bottom:1px solid var(--linha);font-size:var(--t-micro);color:var(--suave)}
.trilha .wrap{padding-block:11px}
.trilha a{color:var(--roxo);font-weight:600}
.trilha a:hover{text-decoration:underline}

.prosa{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.prosa.inverso .prosa-txt{order:2}
@media(max-width:900px){.prosa{grid-template-columns:1fr}.prosa.inverso .prosa-txt{order:0}}
.prosa-txt p+p{margin-top:var(--e4)}
.prosa-txt h2+p{margin-top:var(--e4)}
.prosa-foto{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--s2);background:var(--superficie)}
.prosa-foto img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.prosa-foto figcaption{padding:12px 16px;font-size:var(--t-micro);color:var(--suave);background:#fff}

.lista-check{margin:var(--e5) 0 0;display:flex;flex-direction:column;gap:var(--e3)}
.lista-check li{display:flex;gap:12px;align-items:flex-start;font-size:var(--t-peq)}
.lista-check li svg{width:19px;height:19px;color:var(--verde);flex-shrink:0;margin-top:4px}

.aviso-legal{
  background:var(--verde-100);border:1.5px solid rgba(31,138,109,.28);border-left-width:5px;
  border-radius:var(--r-md);padding:var(--e5);margin-top:var(--e6)
}
.aviso-legal p{font-size:var(--t-peq);color:#17624E;font-weight:600;max-width:none;margin:0}

.grade-info{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e4)}
@media(max-width:820px){.grade-info{grid-template-columns:1fr}}
.info{background:#fff;border:1px solid var(--linha);border-radius:var(--r-lg);padding:var(--e6);box-shadow:var(--s1)}
.info h3{margin-bottom:var(--e3)}
.info p,.info li{font-size:var(--t-peq);color:var(--suave)}
.info li{padding-block:3px}
.info b{color:var(--tinta)}

.mapa{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--s2);border:1px solid var(--linha);line-height:0}
.mapa iframe{width:100%;height:clamp(300px,42vw,440px);border:0;display:block}

.duo-foto{display:grid;grid-template-columns:1fr 1fr;gap:var(--e4)}
@media(max-width:640px){.duo-foto{grid-template-columns:1fr}}
