:root{
  --vinho-deep:#3d0a0e;
  --vinho:#5e1218;
  --vinho-soft:#7a1a22;
  --dourado:#d4a24c;
  --dourado-claro:#eacb8c;
  --creme:#f6ead6;
  --fundo:#fbf6ef;
  --fundo-2:#f3ebe0;
  --texto:#2c1a1c;
  --texto-suave:#6e5c5a;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Montserrat', system-ui, sans-serif;
  --raio:14px;
  --sombra:0 18px 50px rgba(61,10,14,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans); color:var(--texto); background:var(--fundo);
  font-weight:400; line-height:1.65; font-size:16px; overflow-x:hidden;
}
h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.1}
img{max-width:100%; display:block}
a{text-decoration:none; color:inherit}
em{font-style:italic; color:var(--vinho)}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 30px; border-radius:999px; font-family:var(--sans);
  font-size:.82rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  cursor:pointer; border:1.5px solid transparent; transition:.25s; white-space:nowrap;
}
.btn-ouro{background:linear-gradient(135deg,var(--dourado),var(--dourado-claro)); color:var(--vinho-deep); box-shadow:0 10px 26px rgba(212,162,76,.4)}
.btn-ouro:hover{transform:translateY(-2px); box-shadow:0 14px 32px rgba(212,162,76,.55)}
.btn-linha{border-color:rgba(246,234,214,.6); color:var(--creme)}
.btn-linha:hover{background:rgba(246,234,214,.12)}
.btn-vinho{background:var(--vinho); color:var(--creme)}
.btn-vinho:hover{background:var(--vinho-soft)}
.btn-grande{padding:18px 40px; font-size:.9rem}

/* ---------- Topo ---------- */
.topo{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 6vw; transition:.3s;
}
.topo.encolhido{background:rgba(61,10,14,.96); backdrop-filter:blur(8px); padding:10px 6vw; box-shadow:0 6px 24px rgba(0,0,0,.25)}
.topo-marca{display:flex; align-items:center; gap:12px}
.topo-mono{width:34px; height:auto; filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.topo-nome{font-family:var(--serif); font-size:1.25rem; color:var(--creme); font-weight:600; opacity:0; transition:.3s}
.topo.encolhido .topo-nome{opacity:1}
.topo-nav{display:flex; align-items:center; gap:28px}
.topo-nav a{color:var(--creme); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; font-weight:500; opacity:.9; transition:.2s}
.topo-nav a:hover{opacity:1; color:var(--dourado-claro)}
.topo-nav .btn-nav{
  border:1.5px solid var(--dourado); border-radius:999px; padding:9px 20px;
  color:var(--dourado-claro); opacity:1;
}
.topo-nav .btn-nav:hover{background:var(--dourado); color:var(--vinho-deep)}
.menu-btn{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px}
.menu-btn span{width:26px; height:2px; background:var(--creme); transition:.3s}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:120px 6vw 80px;
  color:var(--creme); overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% -10%, var(--vinho-soft) 0%, var(--vinho) 42%, var(--vinho-deep) 100%);
}
.hero-brilho{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(40% 50% at 15% 20%, rgba(212,162,76,.18), transparent 70%),
    radial-gradient(45% 55% at 88% 80%, rgba(212,162,76,.14), transparent 70%);
}
.hero-conteudo{position:relative; max-width:760px; animation:sobe .9s ease both}
.marca-lockup{margin:0 auto 38px}
.marca-mono{width:94px; height:auto; margin:0 auto 14px; filter:drop-shadow(0 8px 20px rgba(0,0,0,.45))}
.marca-nome{font-family:var(--serif); font-weight:500; font-size:clamp(2rem,5vw,3rem); color:var(--creme); line-height:1; letter-spacing:.01em}
.marca-tag{display:flex; align-items:center; justify-content:center; gap:16px; margin-top:12px}
.marca-tag::before,.marca-tag::after{content:""; height:1px; width:46px; background:linear-gradient(90deg,transparent,var(--dourado))}
.marca-tag::after{background:linear-gradient(90deg,var(--dourado),transparent)}
.marca-tag span{font-family:var(--sans); font-size:.72rem; letter-spacing:.42em; text-transform:uppercase; color:var(--dourado); font-weight:400; padding-left:.42em}
.hero h1{font-size:clamp(2.2rem,5.4vw,3.8rem); margin-bottom:20px}
.hero h1 em{color:var(--dourado-claro)}
.hero p{font-size:1.1rem; font-weight:300; max-width:560px; margin:0 auto 38px; opacity:.92}
.hero-acoes{display:flex; gap:16px; justify-content:center; flex-wrap:wrap}
.hero-seta{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); color:var(--dourado-claro); font-size:1.8rem; opacity:.7; animation:pula 2s infinite}

/* ---------- Seções gerais ---------- */
section{padding:92px 6vw}
.secao-intro{text-align:center; max-width:720px; margin:0 auto 54px}
.olho{display:inline-block; font-size:.78rem; letter-spacing:.28em; text-transform:uppercase; color:var(--dourado); font-weight:600; margin-bottom:12px}
.olho-claro{color:var(--dourado-claro)}
.secao-intro h2{font-size:clamp(2rem,4.5vw,3rem); color:var(--vinho); position:relative; display:inline-block}
.secao-intro h2::after{content:""; display:block; width:64px; height:2px; background:var(--dourado); margin:16px auto 0}
.secao-sub{color:var(--texto-suave); font-weight:300; margin-top:18px; font-size:1.05rem}
.secao-sub-claro{color:rgba(246,234,214,.82)}
.nota-editar{text-align:center; font-size:.78rem; color:var(--texto-suave); font-style:italic; margin-top:34px; opacity:.75}
.nota-editar-claro{color:rgba(246,234,214,.6)}
.editar{color:var(--dourado); font-weight:500}

/* ---------- Sobre ---------- */
.sobre{background:var(--fundo)}
.sobre-grade{display:grid; grid-template-columns:1fr 1.15fr; gap:56px; max-width:1100px; margin:0 auto; align-items:center}
.sobre-foto{aspect-ratio:4/5}
.sobre-img{width:100%; height:100%; object-fit:cover; border-radius:var(--raio); box-shadow:var(--sombra); border:1px solid rgba(212,162,76,.35)}
.foto-placeholder{
  width:100%; height:100%; border-radius:var(--raio); display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--vinho),var(--vinho-deep)); color:rgba(246,234,214,.55);
  font-family:var(--serif); font-size:1.4rem; border:1px solid rgba(212,162,76,.3);
  box-shadow:var(--sombra); position:relative;
}
.foto-placeholder::after{content:""; position:absolute; inset:14px; border:1px solid rgba(212,162,76,.4); border-radius:8px}
.sobre-texto p{margin-bottom:18px; color:var(--texto-suave); font-size:1.05rem}
.sobre-texto p strong{color:var(--texto)}
.credenciais{list-style:none; margin:26px 0 30px}
.credenciais li{padding:12px 0 12px 32px; position:relative; border-bottom:1px solid var(--fundo-2)}
.credenciais li::before{content:"\2726"; position:absolute; left:0; color:var(--dourado); font-size:1rem}

/* ---------- Procedimentos ---------- */
.procedimentos{background:var(--fundo-2)}
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:26px; max-width:1100px; margin:0 auto}
.card{
  background:#fff; border-radius:var(--raio); padding:38px 30px; text-align:center;
  border:1px solid rgba(212,162,76,.18); transition:.3s; box-shadow:0 6px 24px rgba(61,10,14,.06);
}
.card:hover{transform:translateY(-6px); box-shadow:var(--sombra); border-color:var(--dourado)}
.card-icone{font-size:1.8rem; color:var(--dourado); margin-bottom:16px}
.card h3{font-size:1.5rem; color:var(--vinho); margin-bottom:10px}
.card p{color:var(--texto-suave); font-size:.98rem}

/* ---------- Antes & Depois ---------- */
.resultados{
  background:radial-gradient(120% 120% at 50% 0%, var(--vinho-soft), var(--vinho) 55%, var(--vinho-deep));
  color:var(--creme);
}
.resultados .secao-intro h2{color:var(--creme)}
.galeria{display:flex; flex-wrap:wrap; justify-content:center; gap:22px; max-width:1180px; margin:0 auto}
.ad-card{text-align:center; width:min(355px,100%); flex:1 1 300px; max-width:355px}
.ad-par{
  display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px;
  border-radius:var(--raio); background:linear-gradient(135deg,rgba(212,162,76,.18),rgba(212,162,76,.05));
  border:1px solid rgba(212,162,76,.45); box-shadow:0 14px 40px rgba(0,0,0,.3);
}
.ad-foto{position:relative; border-radius:8px; overflow:hidden}
.ad-foto img{width:100%; aspect-ratio:3/4; object-fit:cover; display:block}
.ad-foto span{
  position:absolute; bottom:9px; left:50%; transform:translateX(-50%);
  background:linear-gradient(135deg,var(--dourado),var(--dourado-claro)); color:var(--vinho-deep);
  font-size:.6rem; letter-spacing:.16em; font-weight:700; padding:3px 13px; border-radius:999px;
  box-shadow:0 3px 8px rgba(0,0,0,.3);
}
.ad-card figcaption{margin-top:16px; font-family:var(--serif); font-size:1.35rem; color:var(--dourado-claro)}
.ad-legenda{max-width:760px; margin:26px auto 0; text-align:center; font-size:.76rem; line-height:1.5; color:rgba(246,234,214,.68); font-style:italic}
.ad-legenda + .ad-legenda{margin-top:6px}

/* ---------- Grupo VIP ---------- */
.vip{
  background:linear-gradient(135deg,var(--dourado),var(--dourado-claro));
  text-align:center; position:relative; overflow:hidden;
}
.vip::before,.vip::after{
  content:""; position:absolute; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.28),transparent 70%); pointer-events:none;
}
.vip::before{top:-120px; left:-80px}
.vip::after{bottom:-130px; right:-70px}
.vip-cartao{position:relative; max-width:720px; margin:0 auto; z-index:1}
.vip-olho{display:inline-block; font-size:.78rem; letter-spacing:.26em; text-transform:uppercase; color:var(--vinho); font-weight:700; margin-bottom:12px}
.vip-cartao h2{font-size:clamp(2rem,4.5vw,2.9rem); color:var(--vinho-deep); margin-bottom:16px}
.vip-cartao > p{color:var(--vinho-deep); font-size:1.12rem; font-weight:400; max-width:560px; margin:0 auto 30px; opacity:.9}
.vip-cartao > p strong{font-weight:700}
.btn-wpp{background:#25d366; color:#fff; box-shadow:0 12px 30px rgba(20,90,45,.3)}
.btn-wpp:hover{background:#1ebe5a; transform:translateY(-2px); box-shadow:0 16px 36px rgba(20,90,45,.42)}
.vip-cartao .vip-nota{margin-top:30px; font-size:.82rem; color:var(--vinho-deep); opacity:.7}

/* ---------- Depoimentos ---------- */
.depoimentos{background:var(--fundo)}
.depo{
  background:#fff; border-radius:var(--raio); padding:34px 30px;
  border:1px solid rgba(212,162,76,.18); box-shadow:0 6px 24px rgba(61,10,14,.06); position:relative;
}
.depo::before{content:"\201C"; font-family:var(--serif); font-size:4rem; color:var(--dourado); opacity:.35; position:absolute; top:6px; left:18px; line-height:1}
.depo p{font-family:var(--serif); font-size:1.3rem; font-style:italic; color:var(--texto); margin-bottom:16px; position:relative; z-index:1}
.depo footer{font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dourado); font-weight:600}

/* ---------- Contato ---------- */
.contato{background:linear-gradient(135deg,var(--vinho),var(--vinho-deep)); color:var(--creme)}
.contato-grade{display:grid; grid-template-columns:1fr 1fr; gap:50px; max-width:1100px; margin:0 auto; align-items:center}
.contato-texto h2{font-size:clamp(2rem,4.5vw,2.8rem); margin:10px 0 18px}
.contato-texto p{font-weight:300; opacity:.9; margin-bottom:28px; font-size:1.08rem}
.contato-infos{list-style:none; margin-top:30px}
.contato-infos li{padding:10px 0; border-bottom:1px solid rgba(246,234,214,.14); font-size:.98rem; opacity:.92}
.rota-link{color:var(--dourado-claro); font-weight:600; white-space:nowrap}
.rota-link:hover{text-decoration:underline}
.contato-mapa{aspect-ratio:1/1}
.contato-mapa{position:relative}
.mapa-frame{width:100%; height:100%; border:0; border-radius:var(--raio); box-shadow:var(--sombra)}
.mapa-link{
  position:absolute; bottom:12px; right:12px; background:linear-gradient(135deg,var(--dourado),var(--dourado-claro));
  color:var(--vinho-deep); font-size:.74rem; font-weight:600; letter-spacing:.04em; padding:8px 14px;
  border-radius:999px; box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.mapa-placeholder{
  width:100%; height:100%; border-radius:var(--raio); display:flex; align-items:center; justify-content:center;
  background:rgba(246,234,214,.06); border:1px solid rgba(212,162,76,.35); color:rgba(246,234,214,.5);
  font-family:var(--serif); font-size:1.3rem;
}

/* ---------- Rodapé ---------- */
.rodape{background:var(--vinho-deep); color:var(--creme); text-align:center; padding:56px 6vw 40px}
.rodape-mono{width:48px; margin:0 auto 16px}
.rodape-nome{font-family:var(--serif); font-size:1.7rem; color:var(--creme)}
.rodape-tag{font-size:.72rem; letter-spacing:.3em; color:var(--dourado); margin-top:4px}
.rodape-legal{font-size:.8rem; opacity:.6; margin-top:22px}
.rodape-credito{font-size:.78rem; opacity:.5; margin-top:10px}

/* ---------- WhatsApp flutuante ---------- */
.wpp-float{
  position:fixed; right:22px; bottom:22px; z-index:120;
  display:inline-flex; align-items:center; gap:10px; padding:13px 20px 13px 16px;
  background:#25d366; color:#fff; border-radius:999px; font-weight:600; font-size:.88rem;
  box-shadow:0 10px 30px rgba(37,211,102,.45); transition:.25s;
}
.wpp-float:hover{transform:translateY(-3px) scale(1.03); box-shadow:0 14px 36px rgba(37,211,102,.6)}
.wpp-float svg{flex-shrink:0}

/* ---------- Barra de cookies ---------- */
.cookie-bar{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:130;
  max-width:820px; margin:0 auto; background:var(--vinho-deep); color:var(--creme);
  border:1px solid rgba(212,162,76,.4); border-radius:14px; padding:16px 20px;
  box-shadow:0 16px 44px rgba(0,0,0,.4); display:flex; gap:18px; align-items:center;
  flex-wrap:wrap; justify-content:space-between;
}
.cookie-bar[hidden]{display:none}
.cookie-bar p{font-size:.82rem; line-height:1.5; margin:0; flex:1 1 320px; opacity:.92}
.cookie-bar a{color:var(--dourado-claro); text-decoration:underline}
.cookie-acoes{display:flex; gap:10px; flex-shrink:0}
.btn-cookie{border:0; cursor:pointer; border-radius:999px; padding:10px 22px; font-family:var(--sans); font-size:.76rem; font-weight:600; letter-spacing:.04em; transition:.2s}
.btn-cookie.aceitar{background:linear-gradient(135deg,var(--dourado),var(--dourado-claro)); color:var(--vinho-deep)}
.btn-cookie.aceitar:hover{filter:brightness(1.06)}
.btn-cookie.recusar{background:transparent; color:var(--creme); border:1px solid rgba(246,234,214,.5)}
.btn-cookie.recusar:hover{background:rgba(246,234,214,.1)}
@media (max-width:620px){
  .cookie-bar{flex-direction:column; align-items:stretch; gap:12px; bottom:10px; left:10px; right:10px}
  .cookie-acoes{justify-content:center}
  .btn-cookie{flex:1}
}

/* ---------- Animações ---------- */
@keyframes sobe{from{opacity:0; transform:translateY(24px)} to{opacity:1; transform:none}}
@keyframes pula{0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)}}
.revelar{opacity:0; transform:translateY(30px); transition:.8s ease}
.revelar.visivel{opacity:1; transform:none}

/* ---------- Responsivo ---------- */
@media (max-width:860px){
  .topo-nav{
    position:fixed; top:0; right:-100%; width:74%; max-width:320px; height:100vh;
    flex-direction:column; justify-content:center; gap:26px; background:var(--vinho-deep);
    transition:.35s; box-shadow:-10px 0 40px rgba(0,0,0,.4);
  }
  .topo-nav.aberto{right:0}
  .topo-nav a{font-size:1rem}
  .menu-btn{display:flex; z-index:110}
  .topo-nome{opacity:1}
  .sobre-grade,.contato-grade{grid-template-columns:1fr; gap:36px}
  .sobre-foto{max-width:360px; margin:0 auto}
  .wpp-float span{display:none}
  .wpp-float{padding:15px; border-radius:50%}
  section{padding:70px 6vw}
}
@media (max-width:620px){
  .ad-card{flex:1 1 100%; max-width:430px}
}
