:root{
  --cream:#FDFBF7;           /* Nude / Creme Claro */
  --cream-deep:#F4EFE6;      /* Creme levemente mais queimado */
  --gold:#B8860B;            /* Dourado / Mostarda */
  --gold-dark:#8B6508;       /* Dourado Escuro / Nobre */
  --terracotta:#B06B36;      /* Caramelo Queimado */
  --terracotta-light:#DCA666;/* Caramelo Suave */
  --plum-deep:#2A1F17;       /* Marrom Café escuro para hero e cards */
  --plum-dark:#1C130C;       /* Fundo mais escuro */
  --ink:#2C2A29;             /* Grafite escuro para texto principal */
  --ink-soft:#605A57;        /* Grafite médio para parágrafos secundários */
  --whatsapp:#25D366;
  --serif:'Petrona', serif;
  --sans:'Figtree', sans-serif;
  --maxw:1180px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:100px;}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.eyebrow{
  font-family:var(--sans);
  font-size:0.76rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--terracotta);
  font-weight:600;
  display:block;
  margin-bottom:14px;
}
h1,h2,h3{font-family:var(--serif); font-weight:500; color:var(--ink);}
.italic{font-style:italic; color:var(--terracotta-light);}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in-view{opacity:1; transform:translateY(0);}
.reveal-left{opacity:0; transform:translateX(-32px); transition:opacity .8s ease, transform .8s ease;}
.reveal-left.in-view{opacity:1; transform:translateX(0);}
.reveal-right{opacity:0; transform:translateX(32px); transition:opacity .8s ease, transform .8s ease;}
.reveal-right.in-view{opacity:1; transform:translateX(0);}
.stagger .reveal:nth-child(1){transition-delay:.05s;}
.stagger .reveal:nth-child(2){transition-delay:.14s;}
.stagger .reveal:nth-child(3){transition-delay:.23s;}
.stagger .reveal:nth-child(4){transition-delay:.32s;}
.stagger .reveal:nth-child(5){transition-delay:.41s;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
  .reveal,.reveal-left,.reveal-right{opacity:1; transform:none;}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:0.92rem; font-weight:500;
  padding:14px 26px; border-radius:999px;
  transition:transform .25s ease, background .25s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-whatsapp{
  background:var(--whatsapp);
  color:var(--cream);
  border:1.5px solid var(--whatsapp);
}
.btn-whatsapp:hover{background:#1FB357; border-color:#1FB357;}
.btn-whatsapp svg{width:18px; height:18px; flex-shrink:0; fill:var(--cream);}

/* ---------- header ---------- */
header{
  position:fixed; top:0; left:0; right:0;
  z-index:1300;
  background:rgba(253,251,247,0.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(184,134,11,0.12);
}
.header-inner{
  max-width:var(--maxw); margin:0 auto; padding:12px 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand-logo{display:flex; align-items:center;}
.logo-monogram{height:58px; width:auto; flex-shrink:0;}

nav.main-menu{display:none; align-items:center; gap:30px;}
nav.main-menu a{
  font-size:0.92rem; color:var(--ink-soft); position:relative; padding-bottom:4px;
}
nav.main-menu a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1.5px;
  background:var(--gold); transition:width .3s ease;
}
nav.main-menu a:hover{color:var(--ink);}
nav.main-menu a:hover::after{width:100%;}
.header-actions{display:flex; align-items:center; gap:12px;}
.header-actions .btn-whatsapp{
  height:44px; padding:0 16px; gap:7px; justify-content:center; flex-shrink:0;
}
.header-actions .btn-whatsapp .btn-label{display:none; font-size:0.85rem;}
.header-actions .btn-whatsapp .btn-label-short{display:inline;}
.header-actions .btn-whatsapp svg{width:18px; height:18px;}

.menu-toggle{
  position:relative; width:44px; height:44px; border-radius:50%;
  background:var(--gold-dark);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.menu-toggle svg{position:absolute; width:20px; height:20px; transition:opacity .25s ease, transform .3s ease;}
.menu-toggle .icon-bars{opacity:1; transform:rotate(0deg);}
.menu-toggle .icon-x{opacity:0; transform:rotate(-45deg);}
.menu-toggle.open .icon-bars{opacity:0; transform:rotate(45deg);}
.menu-toggle.open .icon-x{opacity:1; transform:rotate(0deg);}
.menu-toggle path,.menu-toggle line{stroke:var(--cream);}

/* ---------- mobile menu panel ---------- */
.mobile-menu{
  position:fixed; inset:0; z-index:1100;
  background:var(--plum-deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(14px,3.2vh,24px);
  padding:88px 24px 28px; overflow-y:auto;
  transform:translateY(-100%); opacity:0; visibility:hidden;
  transition:transform .45s ease, opacity .4s ease, visibility .45s;
}
.mobile-menu.open{transform:translateY(0); opacity:1; visibility:visible;}
.mobile-menu a{font-family:var(--serif); font-size:clamp(1.05rem,4.8vw,1.3rem); color:var(--cream);}
.mobile-menu .btn-whatsapp{margin-top:6px; font-size:0.85rem; padding:12px 22px;}
.mobile-menu .socials a{font-family:var(--sans); font-size:0.8rem; color:var(--terracotta-light); letter-spacing:0.04em;}

/* ---------- hero ---------- */
.hero{position:relative; background:var(--plum-deep); overflow:hidden;}
.hero-photo-block{position:relative; width:100%; aspect-ratio:4/5; overflow:hidden;}
.hero-photo-img{width:100%; height:100%; object-fit:cover; object-position:center top;}
.hero-photo-block::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(42,31,23,0) 55%, rgba(28,19,12,0.92) 100%);
}
.hero-nametag{
  position:absolute; left:20px; bottom:20px; z-index:2;
  background:rgba(20,14,9,0.65); backdrop-filter:blur(4px);
  padding:12px 18px; border-radius:8px;
  display:flex; flex-direction:column; gap:2px;
}
.hero-nametag strong{font-family:var(--serif); font-size:1.1rem; font-weight:500; color:var(--cream);}
.hero-nametag span{font-family:var(--sans); font-size:0.75rem; color:var(--terracotta-light); letter-spacing:0.04em;}

.hero-body{position:relative; z-index:2; width:100%; padding:42px 24px 64px; color:var(--cream);}
.hero-inner{max-width:var(--maxw); margin:0 auto;}
.eyebrow-desktop{display:none;}
.hero .eyebrow{color:var(--terracotta-light);}
.hero h1{
  font-size:clamp(1.9rem, 5.6vw, 3.3rem);
  line-height:1.22; max-width:19ch; margin-bottom:20px; color:var(--cream);
}
.hero p{font-size:1rem; max-width:42ch; color:rgba(253,251,247,0.88); margin-bottom:30px; text-align:justify;}

@media (min-width:901px){
  .hero{min-height:100vh; display:flex; align-items:center;}
  .hero-photo-block{
    position:absolute; inset:96px 64px 96px 54%;
    width:auto; aspect-ratio:auto; border-radius:14px;
    box-shadow:0 30px 70px rgba(0,0,0,0.35);
  }
  .hero-photo-img{object-position:center top;}
  .hero-photo-block::after{background:none;}
  .hero-nametag{display:none;}
  .hero-body{padding:0 48px;}
  .hero-inner{max-width:44%; margin:0; margin-left:7%;}
  .eyebrow-desktop{display:block;}
  .hero h1{max-width:22ch;}
}

/* ---------- section shells ---------- */
section{position:relative; padding:104px 0;}
.section-head{max-width:620px; margin-bottom:52px;}
.section-head h2{font-size:clamp(1.85rem, 3.4vw, 2.5rem); line-height:1.24;}
.on-dark{color:var(--cream);}
.on-dark .eyebrow{color:var(--terracotta-light);}
.on-dark h2{color:var(--cream);}

/* ---------- sobre ---------- */
#sobre{background:var(--cream);}
.sobre-grid{display:grid; grid-template-columns:1fr; gap:40px; align-items:center;}
.sobre-photo{position:relative; border-radius:6px; overflow:hidden;}
.sobre-photo img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center top;}
.sobre-photo::before{
  content:''; position:absolute; inset:-14px auto auto -14px; width:68%; height:68%;
  border:1.5px solid var(--terracotta); border-radius:6px; z-index:-1;
}
.sobre-text p{color:var(--ink-soft); margin-bottom:18px; font-size:1.01rem; text-align:justify;}
.sobre-text p:first-child{font-family:var(--serif); font-size:1.3rem; color:var(--ink); line-height:1.5;}
.sobre-text .signature{font-family:var(--serif); font-style:italic; color:var(--gold-dark); font-size:1.15rem; margin-top:22px;}
.sobre-cta{margin-top:28px;}

@media (min-width:801px){.sobre-grid{grid-template-columns:0.85fr 1.15fr; gap:76px;}}

/* ---------- como posso ajudar : frisos com cores da marca ---------- */
#ajudar{background:var(--cream-deep);}
.help-list{display:flex; flex-direction:column; gap:2px;}
.help-item{
  display:block;
  padding:26px 26px 26px 24px;
  border-left:3px solid var(--gold);
  background:rgba(255,255,255,0.6);
}
.help-item:nth-child(2){border-left-color:var(--terracotta);}
.help-item:nth-child(3){border-left-color:var(--gold-dark);}
.help-item:nth-child(4){border-left-color:var(--terracotta-light);}
.help-item h3{font-size:1.3rem; margin-bottom:8px; font-weight:500; color:var(--gold-dark);}
.help-item p{color:var(--ink-soft); max-width:58ch; font-size:0.98rem; text-align:justify;}

/* ---------- como funciona ---------- */
#funciona{background:var(--plum-deep);}
.benefits-row{display:grid; grid-template-columns:1fr; gap:38px;}
.benefit{display:block; text-align:left;}
.benefit .icon{
  width:54px; height:54px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--terracotta));
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.benefit .icon svg{width:24px; height:24px; stroke:var(--cream);}
.benefit h3{color:var(--cream); font-size:1.2rem; margin-bottom:8px; font-weight:500;}
.benefit p{color:rgba(253,251,247,0.76); font-size:0.96rem; max-width:46ch; text-align:justify;}

@media (min-width:801px){.benefits-row{grid-template-columns:repeat(3,1fr); gap:44px;}}
.funciona-note{margin-top:44px; font-size:0.85rem; color:rgba(253,251,247,0.55);}

/* ---------- trust strip ---------- */
#confianca{padding:26px 0; background:var(--cream-deep); border-bottom:1px solid rgba(184,134,11,0.15);}
.trust-row{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 28px;}
.trust-item{
  font-size:0.76rem; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--gold-dark); font-weight:600; white-space:nowrap;
}

/* ---------- identificação ---------- */
#identificacao{background:var(--cream);}
.ident-list{display:grid; grid-template-columns:1fr; gap:2px;}
.ident-item{
  padding:24px 26px; border-left:3px solid var(--terracotta-light);
  background:var(--cream-deep);
}
.ident-item p{
  font-family:var(--serif); font-style:italic; font-size:1.15rem; line-height:1.5;
  color:var(--ink); text-align:left;
}
.ident-cta{margin-top:40px;}

@media (min-width:801px){.ident-list{grid-template-columns:1fr 1fr; gap:3px;}}

.ajudar-cta{margin-top:44px;}

/* ---------- 3 passos ---------- */
#passos{background:var(--cream-deep);}
.steps-row{display:grid; grid-template-columns:1fr; gap:38px;}
.step{text-align:left;}
.step-num{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%; margin-bottom:16px;
  background:linear-gradient(135deg, var(--gold), var(--terracotta));
  color:var(--cream); font-family:var(--serif); font-size:1.2rem; font-weight:600;
}
.step h3{font-size:1.15rem; margin-bottom:8px; font-weight:500; color:var(--gold-dark);}
.step p{color:var(--ink-soft); font-size:0.96rem; max-width:46ch;}
.steps-cta{margin-top:44px;}

@media (min-width:801px){.steps-row{grid-template-columns:repeat(3,1fr); gap:44px;}}

/* ---------- floating WhatsApp button ---------- */
.fab-whatsapp{
  position:fixed; right:18px; bottom:18px; z-index:1250;
  width:56px; height:56px; border-radius:50%;
  background:var(--whatsapp);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.28);
  transition:transform .2s ease;
}
.fab-whatsapp:hover{transform:translateY(-2px);}
.fab-whatsapp svg{width:28px; height:28px;}
@media (min-width:901px){.fab-whatsapp{display:none;}}

/* ---------- faq ---------- */
#faq{background:var(--cream);}
.faq-list{max-width:800px;}
@media (min-width:901px){
  #faq .section-head{max-width:none; margin-left:auto; margin-right:auto; text-align:center;}
  #faq .section-head h2{white-space:nowrap;}
  #faq .faq-list{margin-left:auto; margin-right:auto;}
}
.faq-item{border-bottom:1px solid rgba(184,134,11,0.18);}
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:22px 0; text-align:left; font-family:var(--serif); font-size:1.1rem; color:var(--gold-dark);
}
.faq-q .plus{flex-shrink:0; width:26px; height:26px; position:relative;}
.faq-q .plus::before,.faq-q .plus::after{content:''; position:absolute; background:var(--terracotta); top:50%; left:50%; transform:translate(-50%,-50%);}
.faq-q .plus::before{width:16px; height:1.5px;}
.faq-q .plus::after{width:1.5px; height:16px; transition:transform .3s ease, opacity .3s ease;}
.faq-item.open .faq-q .plus::after{transform:translate(-50%,-50%) rotate(90deg); opacity:0;}
.faq-a{max-height:0; overflow:hidden; transition:max-height .4s ease;}
.faq-a p{padding-bottom:24px; color:var(--ink-soft); max-width:64ch; font-size:0.97rem; text-align:justify;}

/* ---------- contato ---------- */
#contato{background:var(--plum-deep); text-align:center;}
#contato .wrap{max-width:620px;}
#contato h2{color:var(--cream); font-size:clamp(1.95rem,4vw,2.7rem); margin-bottom:18px;}
#contato p{color:rgba(253,251,247,0.82); margin-bottom:36px; font-size:1.01rem;}
.contact-actions{display:flex; flex-direction:column; align-items:center; gap:24px;}
.contact-actions .btn-whatsapp{padding:16px 34px; font-size:1rem;}
.contact-actions .insta{color:var(--terracotta-light); font-size:0.92rem; letter-spacing:0.03em; display:inline-flex; align-items:center; gap:8px;}
.contact-actions .insta svg{width:16px; height:16px;}

/* ---------- footer ---------- */
footer{background:var(--cream-deep); padding:44px 0 32px; border-top:1px solid rgba(184,134,11,0.15);}
footer .wrap{display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;}
.footer-logo{width:230px; height:auto; margin-bottom:6px;}
footer h3{font-family:var(--serif); font-size:1.2rem; color:var(--gold-dark);}
footer p{color:var(--ink-soft); font-size:0.8rem;}
.footer-copyright{margin-top:6px;}
.footer-legal{display:flex; gap:18px; margin-top:14px;}
.footer-legal a{font-size:0.8rem; color:var(--ink-soft); text-decoration:underline; text-underline-offset:3px;}
.footer-legal a:hover{color:var(--gold-dark);}

@media (min-width:901px){
  nav.main-menu{display:flex;}
  .header-actions .btn-whatsapp{height:auto; padding:11px 22px;}
  .header-actions .btn-whatsapp .btn-label-short{display:none;}
  .header-actions .btn-whatsapp .btn-label-full{display:inline;}
  .header-actions .btn-whatsapp svg{width:18px; height:18px;}
  .menu-toggle{display:none;}
}

/* ---------- cookie consent ---------- */
.cookie-consent{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:1400;
  max-width:640px; margin:0 auto;
  background:var(--plum-deep); color:var(--cream);
  border-radius:14px; padding:20px 22px;
  box-shadow:0 20px 50px rgba(0,0,0,0.3);
  display:flex; flex-direction:column; gap:14px;
}
.cookie-consent[hidden]{display:none;}
.cookie-consent p{font-size:0.85rem; color:rgba(253,251,247,0.85); line-height:1.55;}
.cookie-consent a{text-decoration:underline; text-underline-offset:2px; color:var(--terracotta-light);}
.cookie-actions{display:flex; gap:12px; flex-wrap:wrap;}
.cookie-actions button{
  padding:10px 20px; border-radius:999px; font-size:0.85rem; font-weight:500;
  transition:transform .2s ease, background .2s ease;
}
.cookie-actions button:hover{transform:translateY(-1px);}
#cookieAccept{background:var(--gold-dark); color:var(--cream);}
#cookieAccept:hover{background:var(--gold);}
#cookieDecline{background:transparent; color:var(--cream); border:1.5px solid rgba(253,251,247,0.4);}

@media (min-width:641px){
  .cookie-consent{flex-direction:row; align-items:center; justify-content:space-between;}
  .cookie-actions{flex-shrink:0;}
}

/* ---------- simple content pages (404 / privacidade / termos) ---------- */
.page-hero{background:var(--plum-deep); color:var(--cream); padding:180px 0 90px; text-align:center;}
.page-hero .eyebrow{color:var(--terracotta-light); justify-content:center; display:flex;}
.page-hero h1{color:var(--cream); font-size:clamp(2rem,5vw,3rem); margin-bottom:16px;}
.page-hero p{color:rgba(253,251,247,0.82); max-width:52ch; margin:0 auto;}
.page-content{max-width:760px; margin:0 auto; padding:80px 24px;}
.page-content h2{font-size:1.4rem; margin:36px 0 14px; color:var(--gold-dark);}
.page-content h2:first-child{margin-top:0;}
.page-content p,.page-content li{color:var(--ink-soft); margin-bottom:14px; font-size:1rem; text-align:justify;}
.page-content ul{list-style:disc; padding-left:22px;}
.page-content ul li{margin-bottom:8px;}
.page-content strong{color:var(--ink);}
.not-found-links{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px;}
.not-found-links a{
  padding:10px 20px; border-radius:999px; font-size:0.88rem;
  border:1.5px solid rgba(253,251,247,0.35); color:var(--cream);
  transition:background .2s ease;
}
.not-found-links a:hover{background:rgba(253,251,247,0.12);}
