:root{
  --cream:#F7EEE4; --blush:#E8DBD1; --sand:#D1B999; --wine:#742D38; --deep:#350F16; --body:#5A3138;
  --radius:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Figtree',system-ui,sans-serif;font-weight:400;color:var(--body);background:var(--cream);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,.logo{font-family:'Marcellus',serif;font-weight:400;color:var(--deep);line-height:1.15}
h1{font-size:clamp(2.4rem,5.5vw,4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:.6rem}
h3{font-size:1.45rem;margin-bottom:.5rem}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
section{padding:96px 0}
.alt{background:var(--blush)}
.dark{background:var(--deep);color:var(--blush)}
.dark h2,.dark h3{color:var(--cream)}
.eyebrow{font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--wine);margin-bottom:14px;display:block}
.dark .eyebrow{color:var(--sand)}
.lead{max-width:680px;font-size:1.1rem}
.center{text-align:center}.center .lead{margin:0 auto}

/* top bar + header */
.topbar{background:var(--deep);color:var(--blush);font-size:.85rem;text-align:center;padding:8px 16px}
header{position:sticky;top:0;z-index:50;background:rgba(247,238,228,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--blush)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.logo{text-decoration:none;display:inline-block;line-height:0}
.logo img{height:64px;width:auto}
footer .logo img{height:72px;filter:brightness(1.9) saturate(.8)}
nav ul{display:flex;gap:30px;list-style:none;align-items:center}
nav a{text-decoration:none;font-weight:500;font-size:.95rem}
nav a:hover{color:var(--wine)}
.right{display:flex;align-items:center;gap:14px}
.lang{display:inline-flex;border:1.5px solid var(--deep);border-radius:999px;overflow:hidden;font-size:.78rem;font-weight:600}
.lang a,.lang span{padding:5px 12px;text-decoration:none}
.lang .on{background:var(--deep);color:var(--cream)}
.burger{display:none;background:none;border:0;font-size:1.7rem;color:var(--deep);cursor:pointer}

/* buttons */
.btn{display:inline-block;padding:14px 30px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid var(--wine);background:var(--wine);color:#fff;transition:.2s;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--deep);border-color:var(--deep)}
.btn.out{background:transparent;color:var(--deep);border-color:var(--deep)}
.btn.out:hover{background:var(--deep);color:var(--cream)}
.btn.sm{padding:10px 22px}
.btn.sand{background:var(--sand);border-color:var(--sand);color:var(--deep)}
.btn.sand:hover{background:var(--cream);border-color:var(--cream)}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

/* hero */
.hero{padding:64px 0 96px}
.hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero p.sub{font-size:1.15rem;margin-top:22px;max-width:540px}
.photo{background:var(--blush);border:1.5px dashed var(--sand);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--wine);font-size:.85rem;padding:20px;min-height:260px;border-radius:var(--radius)}
.alt .photo{background:var(--cream)}
.arch{border-radius:999px 999px var(--radius) var(--radius);min-height:520px}
.page-hero{padding:80px 0 72px;text-align:center}
.page-hero .lead{margin:20px auto 0}

/* stats */
.stats{background:var(--deep);padding:48px 0}
.stats .row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
.stats b{display:block;font-family:'Marcellus',serif;font-weight:400;font-size:1.7rem;color:var(--sand)}
.stats span{color:var(--blush);font-size:.92rem}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:var(--blush);border-radius:var(--radius);padding:34px;position:relative}
.alt .card{background:var(--cream)}
.card .photo{margin-top:22px;min-height:180px}
.badge{display:inline-block;background:var(--sand);color:var(--deep);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px;margin-bottom:12px}
.card a.link{display:inline-block;margin-top:16px;font-weight:600;color:var(--wine)}
.tiers{color:var(--wine);font-weight:600;font-size:.9rem;margin-bottom:8px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px}
.step .n{font-family:'Marcellus',serif;font-size:2.6rem;color:var(--sand);line-height:1}
.step h3{margin-top:10px}

/* about */
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;margin-top:56px}
.split.rev{grid-template-columns:1.2fr .8fr}
.split p+p{margin-top:14px}
.values{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:28px}
.value{background:var(--cream);border-radius:var(--radius);padding:24px}
.value h3{font-size:1.1rem}
.value p{font-size:.92rem}

/* reviews */
.review{background:var(--blush);border-radius:var(--radius);padding:30px}
.review p{font-style:italic;margin-bottom:14px}
.review small{font-weight:600;color:var(--wine)}

/* cta */
.cta{background:var(--wine);color:var(--cream);text-align:center;padding:84px 0}
.cta h2{color:var(--cream);margin-bottom:28px}
.cta .btn{background:var(--cream);color:var(--deep);border-color:var(--cream)}
.cta .btn:hover{background:var(--sand);border-color:var(--sand)}

/* visit */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:40px}
.visit p{margin-bottom:10px}
.visit b{color:var(--deep)}
form.news{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
form.news input{flex:1;min-width:200px;padding:14px 20px;border-radius:999px;border:1.5px solid var(--sand);background:var(--cream);font:inherit;color:var(--body)}

/* services list */
.svc-head{margin-bottom:8px}
.svc-note{font-style:italic;margin-bottom:36px}
.svc{background:var(--blush);border-radius:var(--radius);padding:30px 34px;margin-bottom:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;align-items:center}
.alt .svc{background:var(--cream)}
.svc h3{margin-bottom:6px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{background:var(--cream);color:var(--deep);font-size:.82rem;font-weight:500;padding:5px 14px;border-radius:999px}
.alt .tags span{background:var(--blush)}

/* footer */
footer{background:var(--deep);color:var(--blush);padding:64px 0 32px}
footer .logo{color:var(--cream)}
footer .top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
footer ul{list-style:none;display:flex;gap:24px;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover{color:var(--sand)}
footer .legal{border-top:1px solid rgba(232,219,209,.2);margin-top:40px;padding-top:24px;font-size:.85rem}

@media(max-width:960px){
  section{padding:68px 0}
  .hero .grid,.split,.split.rev,.visit{grid-template-columns:1fr}
  .cards,.cards.two,.steps,.values,.stats .row{grid-template-columns:1fr 1fr}
  .svc{grid-template-columns:1fr}
  .arch{min-height:380px}
  .burger{display:block}
  nav{position:absolute;top:74px;left:0;right:0;background:var(--cream);display:none;border-bottom:1px solid var(--blush);padding:20px 24px}
  nav.open{display:block}
  nav ul{flex-direction:column;align-items:flex-start;gap:16px}
  .right .btn{display:none}
}
@media(max-width:560px){
  .cards,.cards.two,.steps,.values,.stats .row{grid-template-columns:1fr}
}

/* políticas */
.policy{max-width:760px}
.policy h2{font-size:1.45rem;margin:38px 0 10px}
.policy h2:first-child{margin-top:0}
.policy p{margin-bottom:12px}
.policy .updated{margin-top:40px;font-size:.88rem;font-style:italic}

/* rodapé: links legais */
footer .legal{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
footer .legal-links a{margin-right:14px}
footer .legal-links a:last-child{margin-right:0}
.policy a{color:var(--wine);font-weight:600}

/* botão flutuante do WhatsApp */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--wine);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(53,15,22,.35);text-decoration:none;transition:transform .2s,background .2s}
.wa-float:hover{background:var(--deep);transform:scale(1.06)}
.wa-float:focus-visible{outline:3px solid var(--sand);outline-offset:3px}
.wa-float::before,.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wine);opacity:.55;z-index:-1;animation:wa-pulse 2.4s ease-out infinite}
.wa-float::after{animation-delay:1.2s}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.wa-float::before,.wa-float::after{animation:none;display:none}}
@media(max-width:560px){.wa-float{right:14px;bottom:14px;width:56px;height:56px}}

/* o botão flutuante do WhatsApp não pode cobrir os links do rodapé */
footer{padding-bottom:104px}
footer .legal-links{padding-right:8px}

/* sem barra de rolagem visível (a página continua rolando normalmente) */
html{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}

/* seção da loja */
.shopgrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:960px){.shopgrid{grid-template-columns:1fr;gap:32px}}

/* hero com vídeo de fundo */
.hero-video{position:relative;overflow:hidden;min-height:min(86vh,760px);display:flex;align-items:center;padding:0;background:var(--deep);color:var(--cream)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(53,15,22,.36) 0%,rgba(53,15,22,.18) 48%,rgba(53,15,22,0) 100%)}
.hero-content{position:relative;z-index:1;padding-top:96px;padding-bottom:96px;width:100%}
.hero-content>div{max-width:620px}
.hero-video h1{color:var(--cream);text-shadow:0 2px 22px rgba(53,15,22,.6),0 1px 3px rgba(53,15,22,.35)}
.hero-video .eyebrow,.hero-video p.sub{text-shadow:0 1px 14px rgba(53,15,22,.65),0 1px 3px rgba(53,15,22,.4)}
.hero-video .eyebrow{color:var(--sand)}
.hero-video p.sub{color:var(--blush)}
.hero-video .btn{background:var(--cream);border-color:var(--cream);color:var(--deep)}
.hero-video .btn:hover{background:var(--sand);border-color:var(--sand)}
.hero-video .btn.out{background:transparent;border-color:var(--cream);color:var(--cream)}
.hero-video .btn.out:hover{background:var(--cream);color:var(--deep)}
@media(max-width:960px){
  .hero-video{min-height:auto}
  .hero-content{padding-top:72px;padding-bottom:72px}
  .hero-overlay{background:linear-gradient(180deg,rgba(53,15,22,.34) 0%,rgba(53,15,22,.28) 100%)}
}
