/* ===== Tokens ===== */
:root{
  --burgundy: #4C1221;
  --burgundy-deep: #330C17;
  --burgundy-deeper: #220810;
  --gold: #A58538;
  --gold-soft: #CBAD63;
  --cream: #F4EAD9;
  --cream-dim: rgba(244,234,217,.68);
  --ink: #1A0810;

  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;

  --container: 1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--cream);
  background:var(--burgundy);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0;line-height:1.12;}
p{margin:0;}
ul{list-style:none;margin:0;padding:0;}
.wrap{max-width:var(--container);margin:0 auto;padding:0 28px;}
.wrap--narrow{max-width:760px;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;border-radius:2px;font-family:var(--font-body);
  font-weight:600;font-size:.92rem;letter-spacing:.02em;
  border:1px solid transparent;cursor:pointer;transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  white-space:nowrap;
}
.btn--gold{background:var(--gold);color:var(--ink);}
.btn--gold:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:0 10px 24px rgba(165,133,56,.28);}
.btn--outline{background:transparent;color:var(--cream);border-color:rgba(244,234,217,.4);}
.btn--outline:hover{border-color:var(--gold);color:var(--gold-soft);}
.btn--sm{padding:10px 20px;font-size:.82rem;}
.btn:focus-visible, a:focus-visible, button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px;}

.eyebrow{
  font-family:var(--font-body);text-transform:uppercase;letter-spacing:.22em;
  font-size:.72rem;font-weight:700;color:var(--gold-soft);margin:0 0 14px;
}
.eyebrow--dark{color:var(--burgundy);}

.link-gold{color:var(--gold);font-weight:600;border-bottom:1px solid rgba(165,133,56,.4);padding-bottom:2px;}
.link-gold:hover{border-color:var(--gold);}

/* ===== Age Gate ===== */
.age-gate{
  position:fixed;inset:0;z-index:1000;
  background:radial-gradient(circle at 50% 20%, var(--burgundy) 0%, var(--burgundy-deeper) 75%);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.age-gate[hidden]{display:none;}
.age-gate__card{
  max-width:440px;text-align:center;border:1px solid rgba(165,133,56,.35);
  padding:48px 36px;background:rgba(0,0,0,.15);
}
.crest{margin-bottom:18px;display:flex;justify-content:center;}
.crest img{width:56px;height:56px;object-fit:contain;}
.age-gate__eyebrow{font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;font-size:.7rem;color:var(--gold-soft);margin-bottom:10px;}
.age-gate__card h2{font-size:1.5rem;margin-bottom:14px;}
.age-gate__text{color:var(--cream-dim);font-size:.95rem;line-height:1.6;margin-bottom:26px;}
.age-gate__actions{display:flex;flex-direction:column;gap:14px;align-items:center;}
.age-gate__leave{font-size:.85rem;color:var(--cream-dim);text-decoration:underline;}

/* ===== Header ===== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:transparent;transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  padding:22px 0;
}
.site-header.is-scrolled{
  background:rgba(26,8,16,.92);backdrop-filter:blur(8px);
  box-shadow:0 6px 24px rgba(0,0,0,.25);padding:12px 0;
}
.header__inner{display:flex;align-items:center;gap:28px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.25rem;margin-right:auto;}
.brand__mark{height:34px;width:auto;object-fit:contain;display:block;}
.brand__name em{color:var(--gold-soft);font-style:italic;}
.nav{display:flex;gap:30px;font-size:.88rem;font-weight:500;}
.nav a{position:relative;padding:4px 0;color:var(--cream-dim);transition:color .2s ease;}
.nav a:hover{color:var(--cream);}
.header__cta{margin-left:10px;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.nav-toggle span{width:22px;height:2px;background:var(--cream);}

@media (max-width:860px){
  .nav{position:fixed;top:0;right:0;height:100vh;width:min(78vw,320px);
    background:var(--burgundy-deeper);flex-direction:column;justify-content:center;
    gap:26px;padding:40px;transform:translateX(100%);transition:transform .35s ease;
    box-shadow:-10px 0 30px rgba(0,0,0,.35);
  }
  .nav.is-open{transform:translateX(0);}
  .nav a{font-size:1.1rem;}
  .nav-toggle{display:flex;}
  .header__cta{display:none;}
}

/* ===== Hero ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;}
.hero__bg{
  position:absolute;inset:0;
  background:url("https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=1600&q=65") center/cover;
  transform:scale(1.05);
}
.hero__scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(26,8,16,.55) 0%, rgba(26,8,16,.75) 55%, var(--burgundy) 100%);
}
.hero__inner{position:relative;padding-top:120px;padding-bottom:80px;max-width:760px;margin:0 auto;text-align:center;}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.1rem);margin-bottom:22px;}
.hero h1 em{font-style:italic;color:var(--gold-soft);}
.hero__lead{font-size:1.12rem;color:var(--cream-dim);max-width:520px;margin:0 auto 36px;line-height:1.6;}
.hero__actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:42px;justify-content:center;}
.hero__badges{display:flex;flex-wrap:wrap;gap:12px;font-size:.82rem;justify-content:center;}
.hero__badges li{
  border:1px solid rgba(244,234,217,.28);padding:9px 16px;border-radius:2px;
  color:var(--cream-dim);
}

/* Hero load-in animation */
@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(24px);}
  to{opacity:1;transform:translateY(0);}
}
.hero__inner .eyebrow,.hero h1,.hero__lead,.hero__actions,.hero__badges{
  opacity:0;animation:heroFadeUp .9s ease forwards;
}
.hero__inner .eyebrow{animation-delay:.1s;}
.hero h1{animation-delay:.25s;}
.hero__lead{animation-delay:.42s;}
.hero__actions{animation-delay:.58s;}
.hero__badges{animation-delay:.74s;}

/* ===== Section basics ===== */
.section{padding:110px 0;}
.section__head{max-width:620px;margin:0 auto 56px;text-align:center;}
.section__head--light{color:var(--burgundy);}
.section__head--light .eyebrow{color:var(--gold);}
.section__head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);}
.section__sub{margin-top:14px;color:rgba(76,18,33,.72);font-size:1rem;}

.ornament{color:var(--gold);font-size:.85rem;text-align:center;margin:0 0 22px;}

/* ===== Intro ===== */
.intro{position:relative;overflow:hidden;--mx:50%;--my:50%;}
.intro::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle 380px at var(--mx) var(--my), rgba(203,173,99,.22), transparent 70%);
  opacity:0;transition:opacity .4s ease;
}
.intro.spotlight-active::before{opacity:1;}
.intro__inner{position:relative;z-index:1;max-width:700px;margin:0 auto;text-align:center;}
.intro h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin-bottom:20px;}
.intro p{color:var(--cream-dim);font-size:1.08rem;line-height:1.7;}

/* ===== Scroll reveal ===== */
.reveal,.reveal--left,.reveal--right,.reveal--scale{
  opacity:0;transition:opacity .8s ease, transform .8s cubic-bezier(.16,.84,.44,1);
}
.reveal{transform:translateY(28px);}
.reveal--left{transform:translateX(-36px);}
.reveal--right{transform:translateX(36px);}
.reveal--scale{transform:scale(.94);}
.reveal.is-visible,.reveal--left.is-visible,.reveal--right.is-visible,.reveal--scale.is-visible{
  opacity:1;transform:translate(0,0) scale(1);
}
.cards-4 .feature:nth-child(1){transition-delay:0s;}
.cards-4 .feature:nth-child(2){transition-delay:.1s;}
.cards-4 .feature:nth-child(3){transition-delay:.2s;}
.cards-4 .feature:nth-child(4){transition-delay:.3s;}
.accordion__item:nth-child(1){transition-delay:0s;}
.accordion__item:nth-child(2){transition-delay:.06s;}
.accordion__item:nth-child(3){transition-delay:.12s;}
.accordion__item:nth-child(4){transition-delay:.18s;}
.accordion__item:nth-child(5){transition-delay:.24s;}

/* ===== Diferenciais ===== */
.diferenciais{background:var(--cream);color:var(--burgundy);}
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;}
.feature{text-align:left;border-top:1px solid rgba(76,18,33,.18);padding-top:22px;}
.feature__icon{color:var(--gold);display:inline-flex;margin-bottom:16px;}
.feature h3{font-size:1.15rem;margin-bottom:10px;}
.feature p{color:rgba(76,18,33,.68);font-size:.92rem;line-height:1.55;}
@media (max-width:860px){.cards-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.cards-4{grid-template-columns:1fr;}}

/* ===== Serviços — menu imperial ===== */
.servicos{background:var(--burgundy);}
.menu-card{
  position:relative;background:var(--cream);color:var(--burgundy);
  padding:64px 56px 48px;border:1px solid var(--gold);
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;
  box-shadow:0 30px 60px rgba(0,0,0,.35);
}
.menu-card__ornament-top,.menu-card__ornament-bottom{
  position:absolute;left:50%;transform:translateX(-50%);
  color:var(--gold);background:var(--cream);padding:0 16px;font-size:1.1rem;
}
.menu-card__ornament-top{top:-14px;}
.menu-card__ornament-bottom{bottom:-14px;}
.menu-col--divider{border-left:1px dashed rgba(76,18,33,.3);padding-left:48px;}
.menu-col__title{
  font-size:1rem;text-transform:uppercase;letter-spacing:.14em;font-weight:500;
  color:var(--gold);border-bottom:1px solid rgba(165,133,56,.35);padding-bottom:14px;margin-bottom:22px;
  font-family:var(--font-body);font-weight:700;
}
.menu-list li{padding:14px 0;border-bottom:1px dotted rgba(76,18,33,.2);}
.menu-list li:last-child{border-bottom:0;}
.menu-list__row{display:flex;align-items:baseline;gap:8px;}
.menu-list span{font-family:var(--font-display);font-size:1.05rem;white-space:nowrap;}
.menu-list small{display:block;font-family:var(--font-body);font-size:.74rem;color:rgba(76,18,33,.6);letter-spacing:.01em;margin-top:2px;white-space:normal;}
.menu-list i{flex:1;border-bottom:1px dotted rgba(76,18,33,.35);margin-bottom:5px;}
.menu-list b{font-family:var(--font-display);color:var(--gold);font-weight:600;white-space:nowrap;font-size:1.05rem;}
.menu-list__highlight span, .menu-list__highlight b{color:var(--burgundy);}
.menu-list__highlight{background:rgba(165,133,56,.1);margin:0 -14px;padding:14px !important;}

.menu-list__book{
  display:inline-flex;align-items:center;gap:7px;margin-top:11px;
  font-family:var(--font-body);font-size:.76rem;font-weight:700;letter-spacing:.02em;
  color:var(--burgundy);background:transparent;border:1px solid rgba(76,18,33,.32);
  padding:7px 14px;border-radius:2px;transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.menu-list__book:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);transform:translateY(-1px);}
.menu-list__book .wa-icon{flex-shrink:0;fill:currentColor;}
.menu-note{margin-top:22px;font-size:.85rem;color:rgba(76,18,33,.65);line-height:1.6;}
.servicos__cta{text-align:center;margin-top:48px;}

@media (max-width:780px){
  .menu-card{grid-template-columns:1fr;padding:52px 26px 40px;}
  .menu-col--divider{border-left:0;padding-left:0;border-top:1px dashed rgba(76,18,33,.3);padding-top:32px;margin-top:8px;}
}

/* ===== Ambiente ===== */
.ambiente__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.ambiente h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin-bottom:18px;}
.ambiente p{color:var(--cream-dim);line-height:1.7;margin-bottom:22px;}
.ambiente__info{margin-bottom:24px;}
.ambiente__info li{padding:8px 0;font-size:.94rem;border-bottom:1px solid rgba(244,234,217,.12);color:var(--cream-dim);}
.ambiente__info strong{color:var(--cream);}
.ambiente__gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ambiente__gallery img{width:100%;height:170px;object-fit:cover;}
.ambiente__gallery img:first-child{grid-column:1 / -1;height:220px;}
@media (max-width:900px){.ambiente__inner{grid-template-columns:1fr;}}

/* ===== FAQ ===== */
.faq{background:var(--cream);color:var(--burgundy);}
.accordion__item{border-bottom:1px solid rgba(76,18,33,.18);}
.accordion__trigger{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  background:none;border:0;padding:22px 4px;font-family:var(--font-display);
  font-size:1.05rem;color:var(--burgundy);cursor:pointer;text-align:left;
}
.accordion__trigger span{color:var(--gold);font-size:1.3rem;transition:transform .25s ease;}
.accordion__item.is-open .accordion__trigger span{transform:rotate(45deg);}
.accordion__panel{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.accordion__panel p{padding:0 4px 22px;color:rgba(76,18,33,.72);line-height:1.6;font-size:.95rem;}
.accordion__panel a{color:var(--gold);text-decoration:underline;}

/* ===== CTA final ===== */
.cta-final{background:linear-gradient(180deg, var(--burgundy) 0%, var(--burgundy-deeper) 100%);}
.cta-final__inner{max-width:640px;margin:0 auto;text-align:center;}
.cta-final h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:14px;}
.cta-final p{color:var(--cream-dim);margin-bottom:32px;font-size:1.05rem;}
.cta-final__meta{margin-top:36px;display:flex;flex-wrap:wrap;justify-content:center;gap:22px;font-size:.88rem;color:var(--cream-dim);}

/* ===== Footer ===== */
.site-footer{background:var(--burgundy-deeper);padding:40px 0;}
.footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.brand--footer{font-size:1.1rem;}
.footer__nav{display:flex;gap:22px;font-size:.85rem;color:var(--cream-dim);flex-wrap:wrap;}
.footer__copy{width:100%;text-align:center;color:rgba(244,234,217,.45);font-size:.78rem;margin-top:18px;}

/* ===== WhatsApp float ===== */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;z-index:150;
  width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.35);transition:transform .2s ease;
}
.whatsapp-float:hover{transform:scale(1.08);}
