/* ============================================================
   Marcos Oliveira • Massoterapeuta
   Liquid Glass · Organic Premium
   Paleta extraída da logo: verde sálvia #4E6F52 + creme/marfim
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --brand:      #4E6F52;
  --green-700:  #44623f;
  --green-deep: #2F4434;
  --green-dark: #3C5642;
  --green-mid:  #5E7E62;
  --sage:       #93A98E;
  --sage-pale:  #C9D4C2;

  --ivory:      #F4EFE4;
  --cream:      #FAF7EF;
  --cream-warm: #EFE7D6;
  --gold:       #BDA46C;
  --gold-soft:  #d8c189;

  --ink:        #28332A;
  --ink-soft:   #4a5750;
  --line:       rgba(40,51,42,.10);

  /* glass on light */
  --glass-bg:     rgba(255,255,255,.55);
  --glass-brd:    rgba(255,255,255,.65);
  --glass-shadow: 0 20px 50px rgba(47,68,52,.12), inset 0 1px 0 rgba(255,255,255,.7);

  /* glass on dark */
  --glassd-bg:  rgba(250,247,239,.08);
  --glassd-brd: rgba(250,247,239,.22);

  --r-sm: 14px;
  --r-md: 22px;
  --r-lg: 32px;
  --r-xl: 44px;

  --container: 1200px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- Reset ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Mulish',system-ui,sans-serif;
  color:var(--ink);
  background:var(--ivory);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-.01em}
p{margin:0 0 1rem}
::selection{background:var(--gold);color:var(--green-deep)}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 28px}

/* ---------- Atmosfera de fundo (blobs orgânicos) ---------- */
.atmos{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;
  animation:drift 22s var(--ease) infinite alternate}
.blob.b1{width:560px;height:560px;top:-160px;left:-140px;
  background:radial-gradient(circle at 30% 30%,#7d9a7f,transparent 70%)}
.blob.b2{width:620px;height:620px;bottom:-220px;right:-180px;
  background:radial-gradient(circle at 60% 40%,#b9c6ad,transparent 70%);animation-delay:-7s}
.blob.b3{width:420px;height:420px;top:38%;left:55%;
  background:radial-gradient(circle at 50% 50%,#d8c189,transparent 70%);opacity:.28;animation-delay:-13s}
@keyframes drift{to{transform:translate(60px,-50px) scale(1.12)}}

.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Glass primitive ---------- */
.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid var(--glass-brd);
  box-shadow:var(--glass-shadow);
  border-radius:var(--r-md);
}
.glass-dark{
  background:var(--glassd-bg);
  backdrop-filter:blur(20px) saturate(1.3);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  border:1px solid var(--glassd-brd);
  box-shadow:0 24px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  border-radius:var(--r-md);
  color:var(--cream);
}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:none;
  font-family:'Mulish',sans-serif;font-weight:700;font-size:.98rem;
  padding:15px 28px;border-radius:100px;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .3s;
  position:relative;overflow:hidden;
}
.btn svg{transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:var(--green-deep);
  box-shadow:0 14px 34px rgba(189,164,108,.4)}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 22px 46px rgba(189,164,108,.5)}
.btn-green{background:var(--green-deep);color:var(--cream);box-shadow:0 14px 34px rgba(47,68,52,.3)}
.btn-green:hover{transform:translateY(-3px);background:var(--brand)}
.btn-ghost{background:transparent;border:1.5px solid currentColor;color:var(--green-deep)}
.btn-ghost:hover{background:var(--green-deep);color:var(--cream);border-color:var(--green-deep)}
.btn-ghost-light{background:transparent;border:1.5px solid rgba(250,247,239,.5);color:var(--cream)}
.btn-ghost-light:hover{background:rgba(250,247,239,.15)}

/* ---------- Eyebrow / kicker ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;font-family:'Mulish',sans-serif;
  font-weight:700;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brand);margin-bottom:18px;
}
.eyebrow::before{content:"";width:28px;height:1.5px;background:var(--gold)}
.eyebrow.light{color:var(--gold-soft)}
.eyebrow.center{justify-content:center}

.section{padding:clamp(72px,10vw,140px) 0;position:relative}
.section-head{max-width:620px}
.section-head.center{margin:0 auto;text-align:center}
h2.title{font-size:clamp(2rem,4.5vw,3.4rem);margin:0 0 18px}
.lead{font-size:1.12rem;color:var(--ink-soft);max-width:56ch}

/* =====================================================
   HEADER / NAV
   ===================================================== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:padding .4s var(--ease)}
.nav-inner{
  margin:18px auto 0;max-width:var(--container);width:calc(100% - 40px);
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px 12px 22px;border-radius:100px;transition:all .4s var(--ease);
}
.nav.scrolled .nav-inner{
  background:var(--glass-bg);backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid var(--glass-brd);box-shadow:0 10px 30px rgba(47,68,52,.1);
  margin-top:10px;
}
.brand-mark{display:flex;align-items:center;gap:12px;font-weight:700}
.brand-mark img{width:46px;height:46px;border-radius:50%;box-shadow:0 6px 16px rgba(47,68,52,.25)}
.brand-mark .bm-txt{line-height:1.1}
.brand-mark .bm-name{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--green-deep)}
.brand-mark .bm-sub{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);font-weight:700}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-weight:600;font-size:.95rem;color:var(--green-dark);position:relative;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--gold);transition:width .3s var(--ease)}
.nav-links a:hover{color:var(--brand)}
.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:14px}
.burger{display:none;background:none;border:none;color:var(--green-deep);cursor:pointer}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:99;background:linear-gradient(160deg,#3C5642,#2F4434);
  display:flex;flex-direction:column;justify-content:center;gap:8px;padding:40px;
  transform:translateX(100%);transition:transform .45s var(--ease)}
.drawer.open{transform:translateX(0)}
.drawer a{font-family:'Fraunces',serif;font-size:1.8rem;color:var(--cream);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.drawer .close{position:absolute;top:26px;right:26px;background:none;border:none;color:var(--cream);cursor:pointer}

/* =====================================================
   HERO
   ===================================================== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;
  padding-top:120px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;width:100%}
.hero-kicker{color:var(--brand)}
.hero h1{font-size:clamp(2.6rem,6vw,5rem);margin:0 0 22px}
.hero h1 .accent{font-style:italic;color:var(--brand);position:relative}
.hero h1 .accent::after{content:"";position:absolute;left:0;bottom:6px;width:100%;height:10px;
  background:var(--gold);opacity:.35;border-radius:6px;z-index:-1}
.hero-lead{font-size:1.18rem;color:var(--ink-soft);max-width:50ch;margin-bottom:34px}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.hero-trust{margin-top:42px;display:flex;gap:30px;flex-wrap:wrap}
.hero-trust .t{display:flex;flex-direction:column}
.hero-trust .t b{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--green-deep);line-height:1}
.hero-trust .t span{font-size:.82rem;color:var(--ink-soft)}

/* hero visual — círculo da marca + cards de vidro flutuantes */
.hero-visual{position:relative;aspect-ratio:1/1;display:grid;place-items:center}
.hero-disc{
  width:78%;aspect-ratio:1;border-radius:50%;position:relative;
  background:radial-gradient(circle at 35% 30%,var(--green-mid),var(--green-deep));
  box-shadow:0 40px 90px rgba(47,68,52,.4), inset 0 0 0 14px rgba(250,247,239,.12);
  display:grid;place-items:center;animation:floaty 7s var(--ease) infinite alternate;
}
.hero-disc img{width:62%;border-radius:50%}
.hero-ring{position:absolute;inset:-6%;border-radius:50%;border:1.5px dashed rgba(189,164,108,.5);
  animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes floaty{to{transform:translateY(-16px)}}

.float-card{position:absolute;padding:16px 20px;border-radius:var(--r-md);display:flex;align-items:center;gap:12px;
  animation:floaty 5s var(--ease) infinite alternate}
.float-card svg{color:var(--brand)}
.float-card .fc-num{font-family:'Fraunces',serif;font-size:1.3rem;color:var(--green-deep);line-height:1}
.float-card .fc-lbl{font-size:.74rem;color:var(--ink-soft)}
.float-card.fc1{top:6%;right:-2%;animation-delay:-1s}
.float-card.fc2{bottom:14%;left:-6%;animation-delay:-3s}
.float-card.fc3{bottom:-2%;right:10%;animation-delay:-2s}

.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--brand);
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;animation:bob 2s ease infinite}
@keyframes bob{50%{transform:translate(-50%,8px)}}

/* =====================================================
   MARQUEE de confiança
   ===================================================== */
.marquee{padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;white-space:nowrap;background:rgba(255,255,255,.3)}
.marquee-track{display:inline-flex;gap:60px;animation:scrollx 30s linear infinite}
.marquee-track span{font-family:'Fraunces',serif;font-style:italic;font-size:1.3rem;color:var(--green-dark);opacity:.7;
  display:inline-flex;align-items:center;gap:60px}
.marquee-track span::after{content:"❧";color:var(--gold);font-style:normal}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* =====================================================
   SOBRE — layout assimétrico sobreposto
   ===================================================== */
.about-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.about-photo{position:relative}
.about-photo .frame{border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 80px;overflow:hidden;
  aspect-ratio:4/5;background:linear-gradient(160deg,var(--green-mid),var(--green-deep));
  box-shadow:0 40px 80px rgba(47,68,52,.3)}
.about-photo .frame .placeholder{width:100%;height:100%;display:grid;place-items:center;color:rgba(250,247,239,.3)}
.about-badge{position:absolute;bottom:-26px;right:-18px;padding:22px 26px;border-radius:var(--r-md);text-align:center}
.about-badge b{font-family:'Fraunces',serif;font-size:2.4rem;color:var(--brand);display:block;line-height:1}
.about-badge span{font-size:.78rem;color:var(--ink-soft)}
.about-creds{list-style:none;padding:0;margin:26px 0 32px;display:grid;gap:14px}
.about-creds li{display:flex;gap:14px;align-items:flex-start}
.about-creds li svg{color:var(--brand);flex:none;margin-top:3px}
.about-creds li b{color:var(--green-deep)}

/* =====================================================
   SERVIÇOS — grid orgânico (não-bento rígido)
   ===================================================== */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
.svc-card{padding:34px 30px 30px;border-radius:var(--r-lg);position:relative;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);overflow:hidden}
.svc-card::before{content:"";position:absolute;inset:0;background:
  radial-gradient(220px 160px at 90% -10%,rgba(189,164,108,.18),transparent 70%);opacity:0;transition:opacity .4s}
.svc-card:hover{transform:translateY(-8px);box-shadow:0 36px 70px rgba(47,68,52,.18)}
.svc-card:hover::before{opacity:1}
/* tornar orgânico: cards em destaque ocupam 2 colunas e bordas variadas */
.svc-card:nth-child(1){grid-column:span 2;border-radius:var(--r-lg) var(--r-lg) 70px var(--r-lg);
  background:linear-gradient(150deg,rgba(94,126,98,.16),var(--glass-bg))}
.svc-card:nth-child(4){grid-column:span 2;border-radius:70px var(--r-lg) var(--r-lg) var(--r-lg);
  background:linear-gradient(210deg,rgba(189,164,108,.14),var(--glass-bg))}
.svc-ico{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin-bottom:20px;
  background:var(--green-deep);color:var(--gold-soft);box-shadow:0 10px 24px rgba(47,68,52,.25)}
.svc-card h3{font-size:1.5rem;margin:0 0 8px;color:var(--green-deep)}
.svc-card p{color:var(--ink-soft);font-size:.97rem;margin:0 0 18px}
.svc-meta{display:flex;align-items:center;gap:18px;font-size:.86rem;color:var(--ink-soft);margin-bottom:16px}
.svc-meta b{color:var(--green-deep);font-family:'Fraunces',serif;font-size:1.15rem}
.svc-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--brand);font-size:.92rem}
.svc-link svg{transition:transform .3s var(--ease)}
.svc-card:hover .svc-link svg{transform:translateX(5px)}
.svc-tag{position:absolute;top:22px;right:22px;font-size:.68rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:6px 12px;border-radius:100px;background:var(--gold);color:var(--green-deep)}

/* =====================================================
   BENEFÍCIOS — faixa escura, layout fluido
   ===================================================== */
.benefits{background:linear-gradient(165deg,var(--green-dark),var(--green-deep));color:var(--cream);
  position:relative;overflow:hidden}
.benefits::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(189,164,108,.2),transparent 70%);top:-200px;right:-150px}
.benefits .eyebrow{color:var(--gold-soft)}
.benefits h2.title{color:var(--cream)}
.benefits .lead{color:rgba(250,247,239,.78)}
.ben-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px}
.ben-item{padding:30px 26px;border-radius:var(--r-md);transition:transform .35s var(--ease)}
.ben-item:hover{transform:translateY(-6px)}
.ben-item:nth-child(odd){margin-top:0}
.ben-item:nth-child(even){margin-top:34px}
.ben-item svg{color:var(--gold-soft);margin-bottom:16px}
.ben-item h4{font-size:1.22rem;color:var(--cream);margin:0 0 8px}
.ben-item p{font-size:.92rem;color:rgba(250,247,239,.72);margin:0}

/* =====================================================
   PROCESSO — timeline horizontal
   ===================================================== */
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;position:relative}
.steps-row::before{content:"";position:absolute;top:34px;left:8%;right:8%;height:2px;
  background:repeating-linear-gradient(90deg,var(--gold) 0 10px,transparent 10px 20px);opacity:.5}
.step{text-align:center;position:relative}
.step .num{width:68px;height:68px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;
  font-family:'Fraunces',serif;font-size:1.5rem;color:var(--cream);background:var(--green-deep);
  box-shadow:0 14px 30px rgba(47,68,52,.28);position:relative;z-index:1;transition:transform .3s}
.step:hover .num{transform:scale(1.08);background:var(--brand)}
.step h4{font-size:1.2rem;color:var(--green-deep);margin:0 0 6px}
.step p{font-size:.92rem;color:var(--ink-soft);margin:0}

/* =====================================================
   DEPOIMENTOS — carrossel
   ===================================================== */
.testi{background:rgba(255,255,255,.4)}
.testi-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:54px 4px 20px;margin:0 -4px;scrollbar-width:none}
.testi-track::-webkit-scrollbar{display:none}
.about-img{width:100%;height:100%;object-fit:cover;display:block}
.testi-card{flex:0 0 380px;scroll-snap-align:start;padding:34px 32px;border-radius:var(--r-lg);position:relative;overflow:hidden}
.testi-quote-icon{position:absolute;top:24px;right:28px;color:var(--gold);opacity:.18;pointer-events:none}
.testi-stars{display:flex;gap:3px;color:var(--gold);margin-bottom:16px;position:relative;z-index:1}
.testi-stars svg{fill:var(--gold)}
.testi-quote{font-family:'Fraunces',serif;font-size:1.15rem;font-style:italic;color:var(--green-dark);
  line-height:1.5;margin-bottom:22px;position:relative;z-index:1}
.testi-author{display:flex;align-items:center;gap:14px}
.testi-author .av{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:var(--green-deep);color:var(--gold-soft);font-family:'Fraunces',serif;font-size:1.2rem}
.testi-author b{display:block;color:var(--green-deep)}
.testi-author span{font-size:.82rem;color:var(--ink-soft)}
.testi-nav{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}
.testi-nav button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:rgba(255,255,255,.6);
  cursor:pointer;color:var(--green-deep);display:grid;place-items:center;transition:all .25s}
.testi-nav button:hover{background:var(--green-deep);color:var(--cream)}

/* =====================================================
   STATS faixa
   ===================================================== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{text-align:center;padding:34px 18px;border-radius:var(--r-md)}
.stat b{font-family:'Fraunces',serif;font-size:clamp(2.4rem,5vw,3.4rem);color:var(--brand);display:block;line-height:1}
.stat span{font-size:.9rem;color:var(--ink-soft)}

/* =====================================================
   FAQ — acordeão
   ===================================================== */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.faq-list{display:grid;gap:14px}
.faq-item{border-radius:var(--r-md);overflow:hidden;transition:background .3s}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:18px;
  font-family:'Fraunces',serif;font-size:1.15rem;color:var(--green-deep)}
.faq-q svg{flex:none;transition:transform .35s var(--ease);color:var(--brand)}
.faq-item.open .faq-q svg{transform:rotate(90deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);color:var(--ink-soft)}
.faq-a div{padding:0 26px 24px}
.faq-item.open .faq-a{max-height:280px}

/* =====================================================
   CTA final
   ===================================================== */
.cta-band{position:relative;overflow:hidden}
.cta-inner{border-radius:var(--r-xl);padding:clamp(48px,7vw,90px);text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--green-dark),var(--green-deep));color:var(--cream)}
.cta-inner::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(189,164,108,.25),transparent 70%);top:-180px;left:-120px}
.cta-inner::after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle,rgba(147,169,142,.25),transparent 70%);bottom:-180px;right:-120px}
.cta-inner h2{font-size:clamp(2rem,4.5vw,3.2rem);color:var(--cream);margin:0 0 16px;position:relative}
.cta-inner p{color:rgba(250,247,239,.8);max-width:46ch;margin:0 auto 32px;position:relative}
.cta-inner .hero-cta{justify-content:center;position:relative}

/* =====================================================
   FOOTER
   ===================================================== */
.footer{background:var(--green-deep);color:rgba(250,247,239,.78);padding:80px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.foot-brand img{width:60px;border-radius:50%;margin-bottom:16px}
.foot-brand p{font-size:.92rem;max-width:34ch}
.footer h5{font-family:'Fraunces',serif;font-weight:500;color:var(--cream);font-size:1.1rem;margin:0 0 18px}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.footer ul a:hover{color:var(--gold-soft)}
.foot-contact li{display:flex;gap:11px;align-items:flex-start;font-size:.92rem}
.foot-contact svg{color:var(--gold-soft);flex:none;margin-top:2px}
.foot-social{display:flex;gap:12px;margin-top:18px}
.foot-social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:rgba(250,247,239,.1);transition:all .25s}
.foot-social a:hover{background:var(--gold);color:var(--green-deep)}
.foot-bottom{margin-top:54px;padding-top:24px;border-top:1px solid rgba(250,247,239,.14);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem}

/* newsletter inline */
.news{display:flex;gap:10px;margin-top:16px}
.news input{flex:1;padding:13px 16px;border-radius:100px;border:1px solid rgba(250,247,239,.25);
  background:rgba(250,247,239,.08);color:var(--cream);font-family:inherit;font-size:.9rem}
.news input::placeholder{color:rgba(250,247,239,.5)}
.news button{padding:13px 20px;border-radius:100px;border:none;cursor:pointer;font-weight:700;
  background:var(--gold);color:var(--green-deep)}

/* =====================================================
   WhatsApp flutuante
   ===================================================== */
.wa-float{position:fixed;bottom:26px;right:26px;z-index:90;width:62px;height:62px;border-radius:50%;
  display:grid;place-items:center;background:#25D366;color:#fff;
  box-shadow:0 16px 36px rgba(37,211,102,.45);transition:transform .3s var(--ease)}
.wa-float:hover{transform:scale(1.1) rotate(6deg)}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;
  animation:ping 2.4s ease-out infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}

/* =====================================================
   Scroll reveal
   ===================================================== */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal][data-delay="1"]{transition-delay:.08s}
[data-reveal][data-delay="2"]{transition-delay:.16s}
[data-reveal][data-delay="3"]{transition-delay:.24s}
[data-reveal][data-delay="4"]{transition-delay:.32s}
[data-reveal][data-delay="5"]{transition-delay:.4s}

/* toast */
.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,120%);z-index:200;
  padding:16px 26px;border-radius:100px;background:var(--green-deep);color:var(--cream);
  font-weight:600;box-shadow:0 16px 40px rgba(0,0,0,.3);transition:transform .45s var(--ease);
  display:flex;align-items:center;gap:10px;max-width:90vw}
.toast.show{transform:translateX(-50%)}
.toast.err{background:#9a3b34}
.toast svg{color:var(--gold-soft)}

/* =====================================================
   RESPONSIVO
   ===================================================== */
@media (max-width:980px){
  .nav-links{display:none}
  .burger{display:block}
  .hero-grid{grid-template-columns:1fr;gap:50px}
  .hero-visual{max-width:420px;margin:0 auto;order:-1}
  .about-wrap,.faq-wrap{grid-template-columns:1fr;gap:50px}
  .about-photo{max-width:420px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .svc-card:nth-child(1),.svc-card:nth-child(4){grid-column:span 2}
  .ben-grid{grid-template-columns:repeat(2,1fr)}
  .ben-item:nth-child(even){margin-top:0}
  .steps-row{grid-template-columns:repeat(2,1fr);gap:40px}
  .steps-row::before{display:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .container{padding:0 20px}
  .svc-grid,.ben-grid,.stats{grid-template-columns:1fr}
  .svc-card:nth-child(1),.svc-card:nth-child(4){grid-column:span 1}
  .steps-row{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero-trust{gap:22px}
  .testi-card{flex-basis:300px}
  .nav-inner{padding:10px 12px 10px 16px}
  .brand-mark .bm-sub{display:none}
}

/* respeitar preferências de movimento */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  [data-reveal]{opacity:1;transform:none}
}
