:root{
  --vinho:#891c33;
  --vinho-esc:#670a12;
  --bege:#d3bb9f;
  --creme:#f6f2ef;
  --taupe:#c3aca1;
  --cinza:#b0b0b0;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Open Sans',Helvetica,Arial,sans-serif;font-size:13px;line-height:1.65;color:#000;background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2{font-family:'Pacifico',cursive;font-weight:400}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Cabeçalho ---------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:70;height:90px;pointer-events:none}
.topbar .logo{display:none}
.burger{pointer-events:auto;position:absolute;top:33px;right:78px;width:30px;height:24px;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:2px 4px}
.burger span{display:block;height:2px;width:21px;border-radius:3px;background:var(--vinho);transition:.3s}
.burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Menu lateral (como no Enfold) */
.menu{position:fixed;top:0;right:0;bottom:0;z-index:65;width:340px;max-width:86vw;background:#fff;box-shadow:-8px 0 30px rgba(0,0,0,.08);transform:translateX(100%);transition:transform .45s cubic-bezier(.7,0,.2,1);display:flex;align-items:center}
.menu.on{transform:none}
.menu-dim{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.12);opacity:0;visibility:hidden;transition:.4s}
.menu-dim.on{opacity:1;visibility:visible}
.menu ul{list-style:none;padding:0 50px;width:100%}
.menu li{margin:0}
.menu a{display:block;padding:9px 0;color:var(--vinho);text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:.6px;transition:opacity .2s}
.menu a:hover{opacity:.65}
.menu .destaque{margin-top:18px;padding-top:18px;border-top:1px solid #eee}
.menu .destaque a{font-weight:600;text-transform:none;letter-spacing:0;font-size:14px}

/* ---------- WhatsApp flutuante ---------- */
.wa-float{position:fixed;right:5px;top:50%;transform:translateY(-50%);z-index:55;width:70px;height:70px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.15);transition:transform .2s}
.wa-float:hover{transform:translateY(-50%) scale(1.06)}
.wa-float svg{width:38px;height:38px;fill:#fff}
.to-top{position:fixed;right:15px;bottom:15px;z-index:50;width:50px;height:50px;background:rgba(0,0,0,.12);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:2px;text-decoration:none;opacity:0;visibility:hidden;transition:.3s}
.to-top.on{opacity:1;visibility:visible}
.to-top svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}

/* ---------- Meias-telas ---------- */
.row{display:flex;min-height:100vh}
.cell{flex:0 0 50%;width:50%;display:flex;align-items:center;justify-content:center;padding:100px;position:relative}
.cell .in{width:100%;max-width:483px;text-align:center}
.photo{background-size:cover;background-repeat:no-repeat;background-position:center center}
@media (min-width:990px) and (hover:hover){ .photo.fixed{background-attachment:fixed} }
.vinho{background:var(--vinho);color:#fff}
.bege{background:var(--bege)}
.branco{background:#fff}

.h-sec{font-size:45px;line-height:1.1;color:var(--vinho)}
.vinho .h-sec{color:#fff}
.hr{width:50px;height:2px;margin:40px auto;background:var(--vinho)}
.vinho .hr{background:#fff}
.branco .hr{background:var(--taupe)}
.bege .hr{background:#fff}
.txt p{margin-bottom:10px}
.txt p:last-child{margin-bottom:0}

.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:13px;line-height:1.2;border-radius:100px;padding:15px 30px 13px;transition:background .25s,color .25s,opacity .25s}
.btn svg{width:13px;height:13px;fill:currentColor}
.btn-bege{background:var(--bege);color:#fff}
.btn-bege:hover{background:#c5a987}
.btn-vinho{background:var(--vinho);color:#fff}
.btn-vinho:hover{background:var(--vinho-esc)}
.btn-linha{border:1px solid var(--vinho);color:var(--vinho);background:transparent;font-weight:600;line-height:1.45;max-width:420px;text-align:center;justify-content:center}
.btn-linha:hover{background:var(--vinho);color:#fff}

/* ---------- 1. Capa ---------- */
#home .photo{}
#home .txtcell{background:#fff url(../img/fundo-marca.png) center center/cover no-repeat;justify-content:flex-start;padding:140px 100px}
#home .in{text-align:left}
#home h1{font-size:50px;line-height:1.1;color:var(--vinho)}
#home .hr{margin:40px 0;background:#000}
#home .lead{font-size:25px;line-height:1.65;color:#000;margin-bottom:28px}
.novo{border-left:2px solid var(--bege);padding:2px 0 2px 18px;margin-bottom:34px}
.novo .linha1{font-size:14px;font-weight:700;color:var(--vinho);line-height:1.5}
.novo .linha1 span{color:var(--bege);font-weight:400;margin:0 6px}
.tags{display:flex;flex-wrap:wrap;gap:6px 8px;margin:12px 0}
.tags span{font-size:12px;font-weight:600;color:var(--vinho);background:var(--creme);border:1px solid #eadfd6;border-radius:30px;padding:4px 12px}
.novo .online{display:flex;align-items:center;gap:8px;font-size:13px;color:#333}
.novo .online svg{width:18px;height:18px;flex:0 0 auto;stroke:var(--vinho);fill:none;stroke-width:1.6}

/* ---------- 2. Sobre mim ---------- */
#quemsou .photo{}
.stats{display:flex;align-items:center;justify-content:center;gap:26px;margin:-6px 0 34px}
.stat{font-size:24px;font-weight:600;line-height:1.15;color:#fff}
.stat small{display:block;font-size:13px;font-weight:400;color:var(--bege);letter-spacing:.4px;margin-top:4px}
.stats .sep{width:1px;align-self:stretch;background:rgba(255,255,255,.35)}
.servicos{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}
.serv .ico{width:18px;height:18px;margin:0 auto 22px;opacity:.55}
.serv .ico svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.6}
.serv h3{font-size:18px;font-weight:600;line-height:1.3;margin-bottom:12px}
.serv h3 a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);transition:border-color .2s}
.serv h3 a:hover{border-color:#fff}
.serv ul{list-style:none}
.serv li{line-height:1.65}
.serv .sub{margin-top:14px;font-weight:600}
.serv .mais{display:inline-block;margin-top:16px;font-size:12px;font-weight:600;color:var(--bege);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.serv .mais:hover{color:#fff}

/* ---------- 3. Sessões ---------- */
#sessoes .photo{}
#sessoes .txt{color:#000}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:50px 0 46px;color:var(--vinho)}
.cards h3{font-size:18px;font-weight:600;line-height:1.3;margin-bottom:10px}
.cards ul{list-style:none}
.cards li{line-height:1.65}
.cards .obs{margin-top:10px;font-style:italic}
.acoes{display:flex;flex-direction:column;align-items:center;gap:16px}
.nota{margin-top:18px;color:var(--taupe)}

/* ---------- 4. FAQ ---------- */
#faq .photo{background-position:right center}
.toggles{text-align:left;margin-bottom:34px}
.toggles details{background:var(--bege);border:1px solid var(--creme);border-radius:2px;margin-top:-1px}
.toggles summary{list-style:none;cursor:pointer;position:relative;padding:9px 3px 9px 35px;color:var(--vinho);font-size:13px;line-height:1.65}
.toggles summary::-webkit-details-marker{display:none}
.toggles summary::before{content:"";position:absolute;left:10px;top:50%;width:13px;height:13px;margin-top:-7px;border:1px solid var(--vinho);background:linear-gradient(var(--vinho),var(--vinho)) center/7px 1.5px no-repeat,linear-gradient(var(--vinho),var(--vinho)) center/1.5px 7px no-repeat}
.toggles details[open] summary::before{background:linear-gradient(var(--vinho),var(--vinho)) center/7px 1.5px no-repeat}
.toggles .resp{padding:12px 30px 11px;color:var(--vinho);font-size:13px;line-height:1.65;border-top:1px solid var(--creme)}
.toggles .resp a{font-weight:700}
.toggles details.novo-faq summary{font-weight:600}
.alerta{font-size:12px;font-weight:600;line-height:1.1;color:#fff}

/* ---------- 5. Depoimentos ---------- */
#depoimentos .photo{}
#depoimentos .in{max-width:440px}
#depoimentos .h-sec{margin-bottom:14px}
.slider{display:grid}
.slide{grid-area:1/1;align-self:center;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.slide.on{opacity:1;visibility:visible}
.stars{font-size:20px;line-height:1.1;letter-spacing:2px;color:#f5a623;margin-bottom:16px}
.slide blockquote{font-size:16.9px;line-height:1.65;color:#000}
.slide cite{display:block;margin-top:38px;font-style:normal;font-size:19.2px;font-weight:700;color:var(--vinho)}
.nav-dep{display:flex;justify-content:center;gap:10px;margin-top:22px}
.nav-dep button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(137,28,51,.35);background:transparent;color:var(--vinho);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.nav-dep button:hover{background:var(--vinho);color:#fff;border-color:var(--vinho)}
.nav-dep svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.google{font-size:19px;font-weight:600;line-height:1.15;color:#fff;max-width:483px;margin:0 auto}
.google a{text-decoration:underline}
#depoimentos .wide{max-width:483px}

/* ---------- 6. Contato ---------- */
#contato .photo{background-position:right center}
.assinatura{margin:10px 0}
.icones{display:flex;justify-content:center;gap:26px;margin-top:14px}
.icones img{width:68px;height:68px;transition:transform .2s}
.icones a:hover img{transform:scale(1.06)}

/* ---------- Rodapé ---------- */
.socket{border-top:1px solid #f2f2f2;padding:15px 50px;font-size:11px;color:var(--cinza);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.socket a{text-decoration:none}
.socket a:hover{color:var(--vinho)}

/* ---------- Responsivo ---------- */
@media (max-width:1180px){
  .cell{padding:80px 60px}
  #home .txtcell{padding:120px 60px}
}
@media (max-width:989px){
  .topbar{height:80px;background:#fff;box-shadow:0 1px 0 #f0f0f0;pointer-events:auto}
  .topbar .logo{display:block;position:absolute;left:24px;top:8px}
  .topbar .logo img{height:64px;width:auto}
  .burger{top:28px;right:24px}
  body{padding-top:80px}
  .row{flex-direction:column;min-height:0}
  .cell{flex:0 0 auto;width:100%;padding:70px 30px}
  .photo{display:none}
  #home .photo{display:block;height:360px;padding:0;background-position:center 22% !important}
  #home .txtcell{padding:60px 30px 70px;background-size:auto 100%;background-position:right center}
  #home h1{font-size:38px}
  #home .lead{font-size:20px}
  .h-sec{font-size:36px}
  .wa-float{top:auto;bottom:16px;transform:none;width:60px;height:60px;right:16px}
  .wa-float:hover{transform:scale(1.06)}
  .wa-float svg{width:32px;height:32px}
  .to-top{right:auto;left:15px}
  .socket{justify-content:center;text-align:center;padding:18px 24px 90px}
}
@media (max-width:560px){
  .servicos,.cards{grid-template-columns:1fr;gap:34px}
  .stats{gap:18px}
  .stat{font-size:20px}
  #home h1{font-size:34px}
  .h-sec{font-size:32px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.menu{transition:none}}
