:root{
  --creme:#fbf8f3;
  --branco:#ffffff;
  --azul:#2f3192;
  --azul-escuro:#1f2166;
  --vermelho:#d11f2a;
  --vermelho-hover:#b01822;
  --verde:#0b7a3e;
  --verde-claro:#e6f4ec;
  --texto:#2a2a33;
  --texto-suave:#5b5b6b;
  --linha:#ece6dc;
  --raio:18px;
  --sombra:0 6px 24px rgba(31,33,102,.08);
  --largura:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--branco);color:var(--texto);font-family:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:18px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--azul)}
a:focus-visible,button:focus-visible{outline:3px solid var(--vermelho);outline-offset:3px}
h1,h2,h3{color:var(--azul-escuro);line-height:1.2;font-weight:800;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.1rem)}
h2{font-size:clamp(1.55rem,3.4vw,2.2rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.container{max-width:var(--largura);margin:0 auto;padding:0 16px}
.pular{position:absolute;left:-999px}
.pular:focus{left:16px;top:8px;background:#fff;padding:8px 12px;z-index:99}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
.topo .container{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}
.topo .marca img{width:150px}
.menu{display:flex;gap:22px;align-items:center}
.menu a{text-decoration:none;font-weight:700;color:var(--azul-escuro);font-size:.98rem}
.menu a:hover{color:var(--vermelho)}
.topo-acoes{display:flex;gap:8px}
@media (max-width:900px){.menu{display:none}.topo .marca img{width:120px}}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;font-weight:800;text-decoration:none;font-size:1rem;border:2px solid transparent;transition:background .2s,transform .2s;min-height:48px}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:20px;height:20px;flex:none}
.btn-whats{background:var(--vermelho);color:#fff}
.btn-whats:hover{background:var(--vermelho-hover)}
.btn-contorno{border-color:var(--azul);color:var(--azul);background:#fff}
.btn-contorno:hover{background:var(--azul);color:#fff}
.btn-peq{padding:10px 16px;font-size:.92rem;min-height:44px}
@media (max-width:520px){.topo .btn-contorno{display:none}}

/* abertura */
.abertura{background:var(--creme);padding:56px 0 64px}
.abertura .container{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.selo{display:inline-block;background:var(--verde-claro);color:var(--verde);font-weight:800;font-size:.9rem;padding:6px 14px;border-radius:999px;margin-bottom:14px}
.abertura p.intro{font-size:1.15rem;color:var(--texto)}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.foto-fachada{border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
.foto-fachada figcaption{font-size:.85rem;color:var(--texto-suave);padding:10px 14px;background:#fff}
@media (max-width:860px){.abertura .container{grid-template-columns:1fr}.abertura{padding:36px 0 44px}}

/* secoes */
.secao{padding:64px 0}
.secao.creme{background:var(--creme)}
.secao-topo{max-width:720px;margin-bottom:32px}
.secao-topo p{color:var(--texto-suave)}

.oferta{background:var(--azul);color:#fff;border-radius:var(--raio);padding:36px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
.oferta h2{color:#fff;margin-bottom:.25em}
.oferta p{margin:0;color:#e5e6ff}
.oferta .icone{width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center}
.oferta .icone svg{width:40px;height:40px}
@media (max-width:760px){.oferta{grid-template-columns:1fr;padding:28px}}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:26px;box-shadow:var(--sombra);display:flex;flex-direction:column}
.card .ico{width:56px;height:56px;border-radius:16px;background:var(--creme);display:grid;place-items:center;margin-bottom:14px}
.card .ico svg{width:30px;height:30px}
.card p{color:var(--texto-suave);flex:1}
.card a.mais{font-weight:800;text-decoration:none}
.card a.mais::after{content:" →"}
@media (max-width:860px){.cards{grid-template-columns:1fr}}

.duas{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
@media (max-width:860px){.duas{grid-template-columns:1fr}}

.lista-selos{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.lista-selos li{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
.lista-selos li::before{content:"✓";flex:none;width:26px;height:26px;border-radius:50%;background:var(--verde-claro);color:var(--verde);font-weight:900;display:grid;place-items:center;font-size:.9rem;margin-top:2px}

table.horario{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--linha)}
table.horario th,table.horario td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--linha)}
table.horario th{color:var(--azul-escuro);width:55%}
table.horario tr:last-child th,table.horario tr:last-child td{border-bottom:0}

.depoimentos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.depoimento{background:#fff;border-radius:var(--raio);padding:24px;border:1px solid var(--linha);margin:0}
.depoimento .estrelas{color:#e5a100;letter-spacing:2px;font-size:1.1rem}
.depoimento blockquote{margin:10px 0 14px;font-size:1.02rem}
.depoimento figcaption{font-weight:800;color:var(--azul-escuro)}
.nota{display:flex;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}
.nota strong{font-size:2.6rem;color:var(--azul-escuro);line-height:1}
@media (max-width:860px){.depoimentos{grid-template-columns:1fr}}

.faq details{background:#fff;border:1px solid var(--linha);border-radius:14px;margin-bottom:12px;padding:0 18px}
.faq summary{cursor:pointer;font-weight:800;color:var(--azul-escuro);padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--vermelho)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 16px;color:var(--texto-suave)}

.mapa{border-radius:var(--raio);overflow:hidden;border:1px solid var(--linha);aspect-ratio:4/3;background:var(--creme)}
.mapa iframe{width:100%;height:100%;border:0}

/* capas gráficas */
.capa{aspect-ratio:16/9;border-radius:14px;background:var(--creme);display:grid;place-items:center;margin-bottom:16px;position:relative;overflow:hidden}
.capa::before{content:"";position:absolute;width:60%;aspect-ratio:1;border-radius:50%;background:#fff;opacity:.9}
.capa svg{position:relative;width:34%;height:auto}
.capa.grande{margin:0 0 28px;border-radius:var(--raio)}
.capa.grande svg{width:22%}
@media (max-width:700px){.capa.grande{aspect-ratio:21/9}.capa.grande svg{width:26%}}

/* artigos e páginas internas */
.migalhas{font-size:.9rem;color:var(--texto-suave);padding-top:18px}
.migalhas ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.migalhas li+li::before{content:"›";margin-right:6px}
.migalhas a{color:var(--texto-suave)}
.pagina{padding:28px 0 64px}
.pagina .texto{max-width:760px}
.pagina .texto h2{margin-top:1.6em}
.pagina .texto ul,.pagina .texto ol{padding-left:1.2em}
.pagina .texto li{margin-bottom:.4em}
.resposta-rapida{background:var(--verde-claro);border-left:5px solid var(--verde);border-radius:12px;padding:18px 20px;margin:0 0 24px}
.resposta-rapida strong{color:var(--verde)}
.tabela{overflow-x:auto;margin:0 0 1em}
.tabela table{width:100%;border-collapse:collapse;min-width:520px;font-size:.98rem}
.tabela th,.tabela td{border:1px solid var(--linha);padding:12px 14px;text-align:left;vertical-align:top}
.tabela thead th{background:var(--creme);color:var(--azul-escuro)}
.meta{color:var(--texto-suave);font-size:.92rem;margin-bottom:20px}
.aviso{font-size:.92rem;color:var(--texto-suave);font-style:italic}
.cta-final{background:var(--creme);border-radius:var(--raio);padding:28px;margin-top:36px}
.cta-final h2{margin-top:0!important}
.confirmar{background:#fff3c4;color:#6b4e00;padding:0 4px;border-radius:4px;font-weight:700}

/* rodapé */
.rodape{background:var(--azul-escuro);color:#dfe0f5;padding:48px 0 90px;font-size:.96rem}
.rodape a{color:#fff}
.rodape .container{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
.rodape h2{color:#fff;font-size:1.1rem}
.rodape ul{list-style:none;padding:0;margin:0}
.rodape li{margin-bottom:6px}
.rodape .fim{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;font-size:.88rem}
@media (max-width:860px){.rodape .container{grid-template-columns:1fr}}

/* botão fixo celular */
.whats-fixo{position:fixed;right:16px;bottom:16px;z-index:30;box-shadow:0 8px 24px rgba(209,31,42,.35)}
@media (min-width:861px){.whats-fixo{display:none}}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* fotos de capa */
.capa-foto{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin-bottom:16px;background:var(--creme)}
.capa-foto.grande{border-radius:var(--raio);margin:0 0 28px}
