/* ── Tokens da marca (dark luxe bordô) — mesmos da Bio, vale para todas as fases ── */
:root{
  --vinho:#602926;
  --vinho-claro:#7d3b37;
  --terracota:#8c5e4e;
  --rose:#b27f6e;
  --nude:#d1afaa;
  --preto:#2d1310;
  --carvao:#3d1814;
  --carvao-2:#26100d;
  --texto:#f3e9e3;
  --texto-suave:rgba(243,233,227,.66);
  --texto-fraco:rgba(243,233,227,.42);
  --ch-1:#b89a6a;
  --ch-2:#efdcb4;
  --ch-3:#d8b97f;
  --filete:rgba(227,207,174,.16);
  --filete-forte:rgba(227,207,174,.32);
  --metal:linear-gradient(110deg,var(--ch-1) 0%,var(--ch-2) 25%,var(--ch-3) 50%,#f6e7c5 65%,var(--ch-1) 100%);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Nunito Sans',-apple-system,sans-serif;
  --largura:1180px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--texto);
  background:var(--preto);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  overflow-x:hidden;
}
img,video{max-width:100%;display:block}
a{color:inherit}
.envolve{max-width:var(--largura);margin:0 auto;padding:0 24px}

/* ── Texto metálico ── */
.metalico{
  background:var(--metal);background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:varredura 7s ease-in-out infinite;
}
@keyframes varredura{0%,100%{background-position:0% center}50%{background-position:100% center}}

.rotulo{
  font-size:.72rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ch-3);display:block;margin-bottom:14px;
}
.filete-central{width:44px;height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--ch-3),transparent)}

@keyframes shimmer{0%{left:-100%}20%,100%{left:200%}}
.botao-cta{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(165deg,#f0ddb6 0%,var(--ch-3) 45%,var(--ch-1) 100%);
  color:#2a100d;font-weight:800;font-size:.92rem;letter-spacing:.02em;
  padding:15px 28px;border-radius:99px;text-decoration:none;
  transition:filter .3s,transform .25s,box-shadow .3s;
  box-shadow:0 8px 24px rgba(216,185,127,.18);
}
.botao-cta::after{
  content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg);animation:shimmer 3s infinite;
}
.botao-cta:hover{filter:brightness(1.07);transform:translateY(-2px);box-shadow:0 14px 32px rgba(216,185,127,.3)}
.botao-outline{
  display:inline-flex;align-items:center;gap:10px;
  border:1.5px solid var(--filete-forte);color:var(--texto);
  font-weight:700;font-size:.92rem;padding:14px 26px;border-radius:99px;
  text-decoration:none;transition:border-color .3s,background .3s;
}
.botao-outline:hover{border-color:var(--ch-3);background:rgba(255,255,255,.04)}

/* ════════ HEADER ════════ */
#cabecalho{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .4s,border-color .4s,padding .3s;
  padding:18px 0;border-bottom:1px solid transparent;
  background:linear-gradient(180deg,rgba(28,9,8,.62) 0%,transparent 100%);
}
#cabecalho.rolado{
  background:rgba(22,7,6,.94);backdrop-filter:blur(12px);
  border-bottom-color:var(--filete-forte);padding:12px 0;
}
.cab-linha{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cab-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.cab-logo img{height:34px;width:auto}
.cab-logo span{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--texto)}
.cab-nav{display:none;align-items:center;gap:34px}
.cab-nav a{
  font-size:.84rem;font-weight:600;letter-spacing:.02em;text-decoration:none;
  color:var(--texto-suave);transition:color .25s;
}
.cab-nav a:hover{color:var(--ch-3)}
.cab-cta{display:none}
.cab-burger{
  background:none;border:none;color:var(--texto);padding:8px;cursor:pointer;
}
.cab-burger svg{width:24px;height:24px}
@media (min-width:880px){
  .cab-nav{display:flex}
  .cab-cta{display:inline-flex}
  .cab-burger{display:none}
}

#menu-mobile{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;
  background:rgba(20,7,6,.98);backdrop-filter:blur(8px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;
  opacity:0;visibility:hidden;transition:opacity .35s;
}
#menu-mobile.aberto{opacity:1;visibility:visible}
#menu-mobile a{
  font-family:var(--serif);font-size:1.5rem;color:var(--texto);text-decoration:none;
}
#menu-mobile .botao-cta{margin-top:10px}
#menu-fechar{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--texto);padding:8px}

/* ════════ HERO ════════ */
.hero{
  position:relative;min-height:100vh;display:flex;flex-direction:column;
  justify-content:center;overflow:hidden;
}
.hero-video{
  position:absolute;top:-12%;left:0;right:0;
  width:100%;height:124%;
  object-fit:cover;
  filter:saturate(1.12) brightness(.76);
  will-change:transform;
}
.hero::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(28,9,8,.82) 0%,rgba(28,9,8,.52) 35%,rgba(28,9,8,.68) 72%,rgba(28,9,8,.96) 100%),
    radial-gradient(130% 70% at 50% 30%,rgba(96,41,38,.32),transparent 60%);
}
.hero-conteudo{position:relative;z-index:2;padding:140px 24px 60px;text-align:center}
.hero-selo{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--filete-forte);border-radius:99px;
  padding:7px 18px;margin-bottom:28px;background:rgba(255,255,255,.03);
}
.hero-selo svg{width:13px;height:13px;color:var(--ch-3)}
.hero-selo span{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--texto-suave)}
.hero h1{
  font-family:var(--serif);font-weight:600;font-size:2.6rem;line-height:1.12;
  max-width:760px;margin:0 auto 22px;
}
.hero h1 em{font-style:italic}
.hero-sub{
  font-size:1.04rem;color:var(--texto-suave);max-width:520px;margin:0 auto 36px;line-height:1.65;
}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:54px}
.hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}
.hero-stat{display:flex;flex-direction:column;align-items:center;gap:4px}
.hero-stat .estrelas{display:flex;gap:3px}
.hero-stat .estrelas svg{width:13px;height:13px;fill:var(--ch-3)}
.hero-stat .num{font-family:var(--serif);font-weight:600;font-size:1.3rem;color:var(--texto)}
.hero-stat .lbl{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-fraco)}
.hero-div{width:1px;background:var(--filete);align-self:stretch}

.hero-citacao{
  position:relative;z-index:2;margin:0 auto;max-width:380px;padding:0 24px 56px;
}
.hero-citacao blockquote{
  background:rgba(255,255,255,.04);border:1px solid var(--filete);border-radius:16px;
  padding:20px 22px;text-align:center;backdrop-filter:blur(6px);
}
.hero-citacao p{font-family:var(--serif);font-style:italic;font-size:.98rem;color:var(--texto);line-height:1.5}
.hero-citacao cite{display:block;margin-top:8px;font-style:normal;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ch-3)}

.hero-scroll{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;
  color:var(--texto-fraco);animation:flutua 2.2s ease-in-out infinite;
}
@keyframes flutua{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* ════════ FAIXA DE SELOS ════════ */
.faixa{
  background:var(--carvao-2);border-top:1px solid var(--filete);border-bottom:1px solid var(--filete);
  padding:20px 0;
}
.faixa-linha{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px}
.faixa-item{display:flex;align-items:center;gap:9px}
.faixa-item svg{width:15px;height:15px;color:var(--ch-3)}
.faixa-item span{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-suave)}

/* ════════ SEÇÕES GERAIS ════════ */
.secao{padding:88px 0}
.secao-cabecalho{text-align:center;max-width:620px;margin:0 auto 56px}
.secao-cabecalho h2{font-family:var(--serif);font-weight:600;font-size:2.1rem;line-height:1.2;color:var(--texto)}
.secao-cabecalho p{margin-top:14px;color:var(--texto-suave);font-size:.98rem;line-height:1.6}

/* ── Por que escolher ── */
.grade-4{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:640px){.grade-4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.grade-4{grid-template-columns:repeat(4,1fr)}}
.cartao-motivo{
  background:rgba(255,255,255,.01);border:1px solid var(--filete);
  padding:32px 28px;border-radius:20px;transition:transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.5s ease, box-shadow 0.5s ease;
}
.cartao-motivo:hover {
  transform: translateY(-8px) scale(1.01);
  background: rgba(255,255,255,.03);
  box-shadow: 0 20px 40px rgba(0,0,0, 0.4);
}
.cartao-motivo .icone{
  width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:rgba(216,185,127,.08);border:1px solid var(--filete);margin-bottom:18px;
}
.cartao-motivo .icone svg{width:20px;height:20px;color:var(--ch-3)}
.cartao-motivo h3{font-family:var(--serif);font-weight:600;font-size:1.18rem;color:var(--texto);margin-bottom:8px}
.cartao-motivo p{font-size:.88rem;color:var(--texto-suave);line-height:1.6}

/* ── Seção Por que escolher — fundo levemente mais quente ── */
.secao-escolher{
  background:linear-gradient(180deg,var(--carvao-2) 0%,var(--carvao) 100%);
  position:relative;
}
.secao-escolher::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(216,185,127,.15),transparent);
}

/* ── Tratamentos ── */
.secao-tratamentos{
  background:var(--preto);
  position:relative;
}
.secao-tratamentos::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(216,185,127,.08),transparent);
}
.grade-3{display:grid;grid-template-columns:1fr;gap:22px}
@media (min-width:640px){.grade-3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.grade-3{grid-template-columns:repeat(3,1fr)}}
.cartao-trat{
  background:var(--carvao-2);border:1px solid var(--filete);border-radius:24px;
  padding:36px 32px;display:flex;flex-direction:column;position:relative;
  transition:transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s ease, border-color 0.5s ease;
}
.cartao-trat:hover {
  transform: translateY(-10px);
  box-shadow: 0 24px 48px rgba(0,0,0,0.5);
  border-color: var(--filete-forte);
}
.cartao-trat .selo{
  display:inline-block;font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 13px;border-radius:99px;background:rgba(216,185,127,.12);color:var(--ch-3);margin-bottom:18px;
}
.cartao-trat .icone{
  width:42px;height:42px;border-radius:12px;background:var(--vinho);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  transition:background .35s;
}
.cartao-trat:hover .icone{background:var(--ch-3)}
.cartao-trat .icone svg{width:18px;height:18px;color:var(--ch-2);transition:color .35s}
.cartao-trat:hover .icone svg{color:#2a100d}
.cartao-trat h3{font-family:var(--serif);font-weight:600;font-size:1.28rem;color:var(--texto);margin-bottom:10px}
.cartao-trat p{font-size:.88rem;color:var(--texto-suave);line-height:1.6;margin-bottom:18px}
.cartao-trat a{
  display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:700;
  color:var(--ch-3);text-decoration:none;transition:gap .25s,color .25s;
}
.cartao-trat a:hover{color:var(--ch-2);gap:11px}
.cartao-trat a svg{width:14px;height:14px}

/* ── Sobre (ponte para a LP) ── */
#sobre{
  position:relative;
  background:radial-gradient(ellipse at top, rgba(96,41,38,.12) 0%, var(--carvao-2) 80%);
}
#sobre::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(216,185,127,.15),transparent);
}
.sobre-grade{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media (min-width:920px){.sobre-grade{grid-template-columns:1fr 1.05fr;gap:64px}}
.sobre-imagem{position:relative}
.sobre-imagem .moldura{
  position:relative;border-radius:22px;overflow:hidden;
  border:1px solid var(--filete);box-shadow:0 30px 70px rgba(0,0,0,.55);
  aspect-ratio:4/5;
}
.sobre-imagem img{width:100%;height:100%;object-fit:cover}
.sobre-imagem .moldura::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(28,9,8,.88) 100%);
}
.sobre-stats{
  position:absolute;left:24px;right:24px;bottom:22px;z-index:2;
  display:flex;gap:26px;
}
.sobre-stats div{text-align:left}
.sobre-stats .num{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--ch-2)}
.sobre-stats .lbl{font-size:.66rem;letter-spacing:.1em;color:var(--texto-fraco)}
.sobre-ornato-1{position:absolute;bottom:-18px;right:-18px;width:90px;height:90px;border-radius:18px;background:rgba(216,185,127,.1);z-index:-1}
.sobre-ornato-2{position:absolute;top:-18px;left:-18px;width:60px;height:60px;border-radius:50%;background:rgba(178,127,110,.16);z-index:-1}

.sobre-corpo p{font-size:.96rem;color:var(--texto-suave);line-height:1.75;margin-bottom:16px}
.sobre-check{list-style:none;margin:24px 0 28px;display:grid;gap:11px}
.sobre-check li{display:flex;align-items:center;gap:11px;font-size:.92rem;color:var(--texto)}
.sobre-check svg{width:17px;height:17px;color:var(--ch-3);flex-shrink:0}
.sobre-google{
  display:flex;align-items:center;gap:14px;padding:16px 18px;
  background:rgba(255,255,255,.03);border:1px solid var(--filete);border-radius:14px;margin-bottom:28px;
}
.sobre-google .g{
  width:38px;height:38px;border-radius:50%;background:var(--vinho);
  display:flex;align-items:center;justify-content:center;color:var(--ch-2);font-weight:800;flex-shrink:0;
}
.sobre-google .estrelas{display:flex;gap:2px}
.sobre-google .estrelas svg{width:13px;height:13px;fill:var(--ch-3)}
.sobre-google small{display:block;margin-top:3px;color:var(--texto-fraco);font-size:.76rem}

.bloco-ponte{
  margin-top:8px;padding:24px 26px;border-radius:18px;
  background:linear-gradient(135deg,rgba(96,41,38,.4),rgba(216,185,127,.08));
  border:1px solid var(--filete-forte);
}
.bloco-ponte p{color:var(--texto);font-size:.92rem;margin-bottom:16px;line-height:1.6}
.bloco-ponte strong{color:var(--ch-2)}

/* ── Depoimento spotlight ── */
.secao-depoimento{
  background:var(--carvao-2);
  background-image: 
    radial-gradient(ellipse at center, rgba(216,185,127,.05) 0%, transparent 70%),
    repeating-linear-gradient(45deg, rgba(216,185,127,.02) 0px, rgba(216,185,127,.02) 1px, transparent 1px, transparent 14px);
  text-align:center;
  position:relative;
}
.depoimento-card{max-width:680px;margin:0 auto;padding:0 24px}
.depoimento-card svg.aspas{width:32px;height:32px;color:var(--ch-3);margin:0 auto 22px}
.depoimento-card blockquote{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.5;color:var(--texto)}
.depoimento-card .autor{margin-top:22px;display:flex;flex-direction:column;align-items:center;gap:8px}
.depoimento-card .estrelas{display:flex;gap:4px}
.depoimento-card .estrelas svg{width:15px;height:15px;fill:var(--ch-3)}
.depoimento-card cite{font-style:normal;font-size:.78rem;letter-spacing:.1em;color:var(--texto-fraco)}

/* ── Formulário multi-etapas ── */
.secao-contato{position:relative}
.form-cartao{
  max-width:560px;margin:0 auto;background:rgba(255,255,255,.03);
  border:1px solid var(--filete-forte);border-radius:24px;padding:44px 36px;
  box-shadow:0 30px 70px rgba(0,0,0,.4);
}
.form-progresso{display:flex;gap:8px;margin-bottom:32px}
.form-progresso span{height:3px;flex:1;border-radius:99px;background:var(--filete);transition:background .4s}
.form-progresso span.ativo{background:var(--metal)}
.form-etapa{display:none}
.form-etapa.ativa{display:block;animation:entra .4s ease}
@keyframes entra{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.form-etapa h3{font-family:var(--serif);font-weight:600;font-size:1.5rem;margin-bottom:8px}
.form-etapa .sub{font-size:.86rem;color:var(--texto-suave);margin-bottom:26px}
.form-opcoes{display:grid;gap:12px;margin-bottom:8px}
.form-opcoes button{
  text-align:left;padding:15px 18px;border-radius:13px;
  border:1px solid var(--filete);background:rgba(255,255,255,.02);
  color:var(--texto);font-size:.92rem;font-family:inherit;cursor:pointer;
  transition:border-color .25s,background .25s;
}
.form-opcoes button:hover{border-color:var(--ch-3);background:rgba(216,185,127,.06)}
.form-opcoes button.selecionado{border-color:var(--ch-3);background:rgba(216,185,127,.12);color:var(--ch-2)}
.form-input{
  width:100%;padding:15px 18px;border-radius:13px;margin-bottom:18px;
  border:1px solid var(--filete);background:rgba(255,255,255,.02);
  color:var(--texto);font-size:.96rem;font-family:inherit;
}
.form-input::placeholder{color:var(--texto-fraco)}
.form-input:focus{outline:none;border-color:var(--ch-3)}
.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px}
.form-voltar{background:none;border:none;color:var(--texto-suave);font-size:.86rem;cursor:pointer}
.form-voltar:hover{color:var(--texto)}
.form-avancar{
  background:linear-gradient(165deg,#f0ddb6 0%,var(--ch-3) 45%,var(--ch-1) 100%);
  color:#2a100d;font-weight:800;font-size:.9rem;padding:13px 26px;border-radius:99px;
  border:none;cursor:pointer;transition:filter .25s;
}
.form-avancar:hover{filter:brightness(1.07)}
.form-avancar:disabled{opacity:.4;cursor:not-allowed}

/* ════════ FAQ ACORDEÃO ════════ */
.secao-faq { background: var(--preto); }
.faq-container { max-width: 760px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--filete); }
.faq-pergunta {
  width: 100%; text-align: left; background: none; border: none;
  padding: 24px 0; font-size: 1.1rem; font-family: var(--serif); font-weight: 600; color: var(--texto);
  display: flex; justify-content: space-between; align-items: center; cursor: pointer;
}
.faq-pergunta svg { width: 20px; height: 20px; color: var(--ch-3); transition: transform .3s; }
.faq-item.ativo .faq-pergunta svg { transform: rotate(180deg); }
.faq-resposta {
  max-height: 0; overflow: hidden; transition: max-height .4s ease;
  color: var(--texto-suave); font-size: .94rem; line-height: 1.6;
}
.faq-resposta p { padding-bottom: 24px; }

/* ── Localização ── */
.local-grade{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:920px){.local-grade{grid-template-columns:1fr 1fr;align-items:start}}
.local-card{
  background:rgba(255,255,255,.025);border:1px solid var(--filete);border-radius:18px;
  padding:22px 24px;display:flex;gap:16px;align-items:flex-start;
}
.local-card .icone{
  width:40px;height:40px;border-radius:12px;background:var(--vinho);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.local-card .icone svg{width:17px;height:17px;color:var(--ch-2)}
.local-card h3{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--texto);margin-bottom:4px}
.local-card p{font-size:.86rem;color:var(--texto-suave);line-height:1.55}
.local-mapa{border-radius:18px;overflow:hidden;border:1px solid var(--filete);min-height:340px}
.local-mapa iframe{width:100%;height:100%;min-height:340px;border:0;filter:invert(.92) hue-rotate(180deg) brightness(.95) contrast(.9)}
.local-wa{
  display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:16px;
  background:linear-gradient(135deg,var(--vinho),var(--vinho-claro));text-decoration:none;
  transition:transform .25s;
}
.local-wa:hover{transform:translateY(-2px)}
.local-wa .icone{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.local-wa .icone svg{width:17px;height:17px;color:#fff}
.local-wa .txt small{display:block;color:rgba(255,255,255,.6);font-size:.7rem}
.local-wa .txt strong{display:block;color:#fff;font-size:.92rem;margin-top:2px}

/* ── Footer ── */
.pre-footer{
  position:relative;
  background:linear-gradient(135deg,var(--vinho),var(--carvao));
  text-align:center;padding:72px 24px;
  overflow:hidden;
}
.pre-footer::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(216,185,127,.15) 1.5px, transparent 1.5px);
  background-size:26px 26px;
  opacity:0.4;
  pointer-events:none;
}
.pre-footer > *{position:relative;z-index:2}
.pre-footer h2{font-family:var(--serif);font-weight:600;font-size:2rem;color:#fff;margin-bottom:14px}
.pre-footer p{color:rgba(255,255,255,.7);max-width:460px;margin:0 auto 30px;font-size:.94rem;line-height:1.6}
.pre-footer .botao-cta{background:#fff;color:var(--vinho)}
.pre-footer .botao-cta:hover{background:var(--ch-2)}

footer.rodape{background:var(--preto);padding:64px 0 0}
.rodape-grade{display:grid;grid-template-columns:1fr;gap:36px}
@media (min-width:780px){.rodape-grade{grid-template-columns:1.3fr 1fr 1fr}}
.rodape-marca img{height:30px;margin-bottom:14px}
.rodape-marca p{font-size:.86rem;color:var(--texto-fraco);line-height:1.6;max-width:280px}
.rodape h4{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:16px}
.rodape ul{list-style:none;display:grid;gap:10px}
.rodape ul a{font-size:.88rem;color:var(--texto-fraco);text-decoration:none;transition:color .25s}
.rodape ul a:hover{color:var(--ch-3)}
.rodape-base{
  margin-top:48px;border-top:1px solid var(--filete);padding:24px 0;
  text-align:center;font-size:.76rem;color:var(--texto-fraco);
}

/* ── WhatsApp flutuante ── */
#wa-flutuante{
  position:fixed;bottom:24px;right:24px;z-index:90;
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(165deg, #f0ddb6 0%, var(--ch-3) 45%, var(--ch-1) 100%);
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  box-shadow:0 10px 28px rgba(216,185,127,.4);
  transition: filter 0.3s, transform 0.3s;
}
#wa-flutuante:hover { filter: brightness(1.07); transform: scale(1.08) translateY(-4px); }
#wa-flutuante svg{
  width:28px;height:28px;fill:#2d1310;
  position:relative;z-index:2;
}
#wa-flutuante .pulso{
  position:absolute;inset:0;border-radius:50%;
  background:linear-gradient(165deg, #f0ddb6 0%, var(--ch-3) 45%, var(--ch-1) 100%);
  animation:pulsar 2.6s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
  z-index:1;
}
@keyframes pulsar{
  0% { transform:scale(1); opacity:0.6; }
  100% { transform:scale(1.7); opacity:0; }
}

/* ── Menu Dropdown (Desktop) ── */
.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown-btn {
  background: none; border: none; font-family: inherit; font-size: .84rem; color: var(--texto-suave); font-weight: 600; letter-spacing: .02em; cursor: pointer; padding: 0; transition: color .3s; display: flex; align-items: center; gap: 4px;
}
.dropdown-btn:hover { color: var(--ch-3); }
.dropdown-content {
  display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  background-color: var(--preto); min-width: 260px; box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  border: 1px solid var(--filete); border-radius: 12px; padding: 12px 0; z-index: 100;
  margin-top: 16px;
}
.dropdown-content::before {
  content: ''; position: absolute; top: -6px; left: 50%; transform: translateX(-50%) rotate(45deg);
  width: 12px; height: 12px; background-color: var(--preto); border-left: 1px solid var(--filete); border-top: 1px solid var(--filete);
}
.dropdown-content a {
  color: var(--texto-suave); padding: 10px 20px; text-decoration: none; display: block; font-weight: 600; font-size: 0.95rem; transition: background .3s, color .3s; text-align: left;
}
.dropdown-content a:hover {
  background-color: var(--carvao); color: var(--ch-3);
}
.dropdown:hover .dropdown-content { display: block; }
@media(max-width: 900px){
  .dropdown:hover .dropdown-content { display: none; } /* Dropdown behavior is different on mobile */
  .cab-nav .dropdown { display: none; } /* Ocultar no nav desktop quando quebra */
}

/* ── Dropdown Mobile ── */
.mobile-dropdown {
  display: flex; flex-direction: column; width: 100%; align-items: center;
}
.mobile-dropdown-btn {
  background: none; border: none; font-family: var(--serif); font-size: 1.5rem; color: var(--texto); font-weight: normal; cursor: pointer; padding: 0; display: flex; align-items: center; gap: 8px; margin: 0;
}
.mobile-dropdown-content {
  display: none; flex-direction: column; width: 100%; background: var(--carvao); border-radius: 12px; padding: 10px 0;
}
.mobile-dropdown-content a {
  font-size: 1.1rem !important; font-family: var(--sans) !important; color: var(--texto-suave) !important; padding: 12px; font-weight: 600 !important;
}
.mobile-dropdown-content a:hover { color: var(--ch-3); }
.mobile-dropdown.ativo .mobile-dropdown-content { display: flex; }
.mobile-dropdown.ativo .mobile-dropdown-btn { color: var(--ch-3); }

/* ── Estrelas de Avaliação ── */
.estrelas{display:inline-flex;gap:3px;align-items:center}
.estrelas svg{width:15px;height:15px;fill:var(--ch-3)}

/* ── Barra de progresso de scroll ── */
#barra-scroll{
  position:fixed;top:0;left:0;height:2px;width:0%;z-index:200;pointer-events:none;
  background:var(--metal);background-size:300% auto;
  transition:width .08s linear;
}

/* ── Reveals Cinematográficos ── */
.js [data-reveal]{
  opacity:0; transform:translateY(60px) scale(0.98); filter:blur(10px);
  transition: opacity 1.2s cubic-bezier(0.2, 0.8, 0.2, 1), transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1), filter 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition-delay:var(--delay,0s);
  will-change: opacity, transform, filter;
}
.js [data-reveal="esq"]{transform:translateX(-60px) scale(0.98);filter:blur(10px)}
.js [data-reveal="dir"]{transform:translateX(60px) scale(0.98);filter:blur(10px)}
.js [data-reveal="cima"]{transform:translateY(-40px) scale(0.98);filter:blur(10px)}
.js [data-reveal].visivel{opacity:1;transform:translate(0, 0) scale(1);filter:blur(0)}

/* Acessibilidade para quem prefere movimento reduzido */
@media (prefers-reduced-motion: reduce) {
  .js [data-reveal]{opacity:1;transform:none;filter:none;transition:none}
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

a:focus-visible,button:focus-visible{outline:2px solid var(--ch-3);outline-offset:3px}
