:root{
  --night:#36454F; --night2:#27333b; --lav:#7b6b9c; --lav2:#B8ABCC; --lilac:#efe9f5;
  --cream:#FDF2F0; --sand:#eadfd3; --gold:#D2C1AF; --gold2:#a8927a; --ink:#36454F; --muted:#5f6e77;
  --soft:#d3c9e2; --r:22px; --wh:clamp(80px,13vw,190px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,blockquote,.flogo,.brand span{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.1}
em{font-style:italic;color:var(--gold)}
a{color:inherit}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
.narrow{width:min(820px,100% - 40px)}

.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--gold),var(--lav2));z-index:100}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:90;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,4vw,56px);color:#fff;transition:.35s}
.nav.solid{background:rgba(54,69,79,.92);backdrop-filter:blur(12px);padding-block:10px;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--gold)}
.brand span{font-size:1.7rem;color:#fff;display:flex;flex-direction:column;line-height:1}
.brand small{font-family:Inter;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:4px;font-weight:500}
.menu{display:flex;align-items:center;gap:26px;font-size:.9rem}
.menu a{text-decoration:none;opacity:.88;position:relative}
.menu a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.3s}
.menu a:hover::after{transform:scaleX(1)}
.burger{display:none;background:none;border:0;width:40px;height:40px;position:relative}
.burger span{position:absolute;left:8px;right:8px;height:2px;background:#fff;transition:.3s}
.burger span:first-child{top:15px}.burger span:last-child{top:23px}
.burger[aria-expanded=true] span:first-child{top:19px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:last-child{top:19px;transform:rotate(-45deg)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 30px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s;font-family:inherit}
.btn-sm{padding:9px 20px;font-size:.85rem}
.btn-gold{background:linear-gradient(135deg,#e9ddd0,var(--gold2));color:var(--night2);box-shadow:0 10px 30px rgba(210,193,175,.35)}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(210,193,175,.5)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}

/* HERO */
.hero{position:relative;background:radial-gradient(1200px 700px at 80% 10%,#8f7fae 0,transparent 60%),linear-gradient(160deg,var(--night2),var(--night) 55%,#46565f);color:#fff;padding:150px 0 calc(var(--wh) + 40px);overflow:hidden}
.hero-inner{width:min(1160px,100% - 40px);margin-inline:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;position:relative;z-index:2}
.eyebrow{display:inline-block;font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:18px}
.eyebrow.dark{color:var(--gold2)}
.hero h1{font-size:clamp(2.7rem,6vw,5rem);margin-bottom:22px}
.lead{font-size:1.12rem;color:rgba(255,255,255,.82);max-width:540px;margin-bottom:34px}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px}
.trust{display:flex;align-items:center;gap:14px}
.trust .stars{color:var(--gold);font-size:1.3rem;letter-spacing:3px}
.trust strong{display:block;font-size:.95rem}.trust span{font-size:.8rem;opacity:.75}
.trust.dark span{color:var(--muted);opacity:1}
.hero-art{position:relative;display:grid;place-items:center;min-height:440px}
.orb{position:absolute;width:min(420px,80vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),rgba(184,171,204,.35) 60%,transparent 72%);filter:blur(2px);animation:float 8s ease-in-out infinite}
.chip{position:absolute;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:10px 16px;border-radius:999px;font-size:.82rem;animation:float 7s ease-in-out infinite}
.chip b{color:var(--gold)}
.c1{top:8%;left:0}.c2{top:46%;right:-4%;animation-delay:-2s}.c3{bottom:8%;left:6%;animation-delay:-4s}
@keyframes float{50%{transform:translateY(-16px)}}
.bubbles{position:absolute;inset:0;pointer-events:none;z-index:1}
.bubbles i{position:absolute;bottom:-60px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),rgba(255,255,255,.04));animation:rise linear infinite}
@keyframes rise{to{transform:translateY(-120vh) translateX(var(--dx))}}

/* ondas fixas, com sombra atrás para dar profundidade */
.wave{clip-path:inset(-80px 0 0 0);position:absolute;left:0;bottom:-1px;width:100%;height:var(--wh);display:block;z-index:3;overflow:visible}
.wave-top{position:relative;padding-top:calc(var(--wh) + 60px)!important}
.wave-in{clip-path:inset(-80px 0 0 0);position:absolute;left:0;top:-1px;width:100%;height:var(--wh);display:block;transform:rotate(180deg);z-index:3;overflow:visible}

/* SECTIONS */
.sec{padding:100px 0;position:relative}
.sec-cream{background:var(--cream)}
.sec-sand{background:var(--sand)}
.sec-lav{background:linear-gradient(160deg,var(--lav),#655684);color:#fff}
.sec-night{background:linear-gradient(160deg,var(--night2),var(--night));color:#fff}
.head{text-align:center;max-width:700px;margin:0 auto 60px}
.head h2,.split h2{font-size:clamp(2.2rem,4.4vw,3.6rem);margin-bottom:16px}
.head p{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split p{margin-bottom:18px}

/* CARDS */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border-radius:var(--r);padding:34px 30px;box-shadow:0 10px 40px rgba(54,69,79,.07);border:1px solid rgba(123,107,156,.08);transition:box-shadow .3s,transform .15s;transform-style:preserve-3d;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0),rgba(210,193,175,.2),transparent 45%);opacity:0;transition:.3s}
.card:hover::before{opacity:1}
.card:hover{box-shadow:0 24px 60px rgba(54,69,79,.16)}
.ico{width:58px;height:58px;border-radius:16px;background:var(--lilac);display:grid;place-items:center;margin-bottom:22px;transition:.4s}
.card:hover .ico{background:var(--night);transform:rotate(-6deg) scale(1.08)}
.ico svg{width:30px;height:30px;fill:none;stroke:var(--lav);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:.4s}
.card:hover .ico svg{stroke:var(--gold)}
.card h3{font-size:1.7rem;margin-bottom:10px}
.card p{color:var(--muted);font-size:.95rem;margin-bottom:18px}
.card a{font-weight:600;color:var(--lav);text-decoration:none;font-size:.9rem}

/* NOTES */
.sec-lav h2{color:#fff}
.sec-lav p,.sec-night p{color:rgba(255,255,255,.82)}
.ticks{list-style:none;display:grid;gap:12px;margin-top:24px}
.ticks li{padding-left:34px;position:relative}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--gold);color:var(--night);display:grid;place-items:center;font-size:.8rem;font-weight:700}
.notes{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:36px}
.note{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15);position:relative}
.note span{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
.note b{display:block;font-family:"Cormorant Garamond",serif;font-size:1.8rem;font-weight:600;margin-bottom:10px}
.note i{display:block;height:5px;border-radius:5px;background:rgba(255,255,255,.18);position:relative;overflow:hidden}
.note i::after{content:"";position:absolute;inset:0;width:var(--w);background:linear-gradient(90deg,var(--gold),#fff);border-radius:5px;transform:scaleX(0);transform-origin:left;transition:transform 1.4s .3s cubic-bezier(.2,.8,.2,1)}
.notes.in .note i::after{transform:scaleX(1)}
.fine{font-size:.78rem;margin:16px 0 0!important;opacity:.7}

/* STATS */
.stats{padding-bottom:90px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat b{display:block;font-family:"Cormorant Garamond",serif;font-size:clamp(3.2rem,6vw,5rem);color:var(--lav);line-height:1}
.stat span{color:var(--muted);font-size:.9rem}

/* STEPS */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;top:29px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--gold2) 0 8px,transparent 8px 16px);opacity:.6}
.steps li{text-align:center;position:relative}
.n{width:58px;height:58px;border-radius:50%;background:var(--night);color:var(--gold);display:grid;place-items:center;font-family:"Cormorant Garamond",serif;font-size:1.7rem;font-weight:600;margin:0 auto 18px;box-shadow:0 0 0 8px var(--sand);position:relative;transition:.4s}
.steps li:hover .n{background:var(--gold);color:var(--night);transform:scale(1.12)}
.steps h3{font-size:1.6rem;margin-bottom:6px}
.steps p{color:var(--muted);font-size:.93rem}

/* FEATURES */
.sec-night h2{color:#fff}
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.f{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:32px 24px;transition:.35s}
.f:hover{background:rgba(255,255,255,.12);transform:translateY(-8px);border-color:var(--gold)}
.big{font-size:2.2rem;margin-bottom:14px}
.f h3{font-size:1.5rem;margin-bottom:8px;color:#fff}
.f p{font-size:.92rem;margin:0}

/* PROOF / FORM */
blockquote{font-size:clamp(2rem,4vw,3.2rem);margin:6px 0 26px;color:var(--night)}
.quote{background:#fff;border-radius:28px;padding:38px;box-shadow:0 30px 80px rgba(54,69,79,.14);display:grid;gap:16px}
.quote h3{font-size:2rem}
.quote label{display:grid;gap:6px;font-size:.82rem;font-weight:600;color:var(--muted)}
.quote input,.quote select{font:inherit;font-size:1rem;padding:13px 16px;border-radius:12px;border:1.5px solid #e3dbe9;background:var(--cream);color:var(--ink);transition:.2s}
.quote input:focus,.quote select:focus{outline:0;border-color:var(--lav);box-shadow:0 0 0 4px rgba(123,107,156,.15)}
.quote small{color:var(--muted);font-size:.78rem;text-align:center}

/* FAQ */
.faq details{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:16px;margin-bottom:12px;overflow:hidden;transition:background .3s}
.faq details[open]{background:rgba(255,255,255,.18)}
.faq summary{list-style:none;cursor:pointer;padding:20px 56px 20px 24px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--gold);transition:.3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 24px 22px;margin:0;animation:fade .4s}
@keyframes fade{from{opacity:0;transform:translateY(-6px)}}

/* CONTACT */
address{font-style:normal;display:grid;gap:18px;margin-top:24px}
address p{margin:0;color:var(--muted)}address b{color:var(--ink)}
address a{color:var(--lav);font-weight:600}
.map{border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(54,69,79,.18);min-height:380px;border:6px solid #fff}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

/* FOOTER */
.foot{background:var(--night2);color:#fff;padding:0 0 40px}
.foot-in{display:grid;gap:22px;text-align:center;justify-items:center}
.flogo{font-size:2.4rem;color:var(--gold);display:block}
.foot span,.foot small{opacity:.7;font-size:.85rem}
.flinks{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}
.flinks a{text-decoration:none;opacity:.85}.flinks a:hover{color:var(--gold)}

/* MARQUEE */
.marquee{background:var(--soft);overflow:hidden;white-space:nowrap;padding:22px 0 8px;margin-top:-1px}
.track{display:inline-block;animation:slide 32s linear infinite}
.track span{font-family:"Cormorant Garamond",serif;font-size:1.9rem;color:var(--lav);margin:0 22px}
.track i{color:var(--gold);font-style:normal}
@keyframes slide{to{transform:translateX(-50%)}}

/* WHATSAPP */
.wpp{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;z-index:80;box-shadow:0 12px 30px rgba(37,211,102,.5);animation:pulse 2.4s infinite;transition:transform .3s}
.wpp:hover{transform:scale(1.1)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 22px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* REVEAL */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}
.hero .reveal{animation:none}

/* RESPONSIVE */
@media(max-width:980px){
  .grid,.feat{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:40px}.steps::before{display:none}
  .stat-grid{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .split{grid-template-columns:1fr;gap:44px}
  .hero-inner{grid-template-columns:1fr}.hero-art{min-height:360px}
}
@media(max-width:820px){
  .burger{display:block}
  .menu{position:fixed;inset:0 0 auto 0;top:0;flex-direction:column;justify-content:center;gap:26px;background:var(--night2);height:100vh;font-size:1.3rem;transform:translateY(-100%);transition:transform .5s cubic-bezier(.2,.8,.2,1);z-index:-1}
  .menu.open{transform:none}
  .nav{z-index:90}
}
@media(max-width:600px){
  .grid,.feat,.steps{grid-template-columns:1fr}
  .sec{padding:70px 0}.hero{padding-top:120px}
  .chip{font-size:.72rem}.c2{right:0}
  .quote{padding:26px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .note i::after{transform:scaleX(1)}
}

/* FOTOS E VÍDEO */
.photo-arch{position:relative;width:min(340px,68vw);aspect-ratio:3/4;border-radius:999px 999px 28px 28px;overflow:hidden;border:3px solid var(--gold);box-shadow:0 40px 70px rgba(0,0,0,.45),0 0 0 12px rgba(255,255,255,.08);animation:float 7s ease-in-out infinite}
.photo-arch img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04)}
.video-frame{position:relative;margin:0 0 22px;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);aspect-ratio:16/10;background:var(--night2)}
.video-frame video{width:100%;height:100%;object-fit:cover;display:block}
.video-frame figcaption{position:absolute;left:16px;bottom:14px;padding:6px 14px;border-radius:999px;background:rgba(54,69,79,.7);backdrop-filter:blur(8px);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.rack{margin-top:34px;border-radius:28px;overflow:hidden;box-shadow:0 30px 70px rgba(54,69,79,.2);border:6px solid #fff;max-width:420px;aspect-ratio:4/3}
.rack img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.rack:hover img{transform:scale(1.06)}

/* LOGOTIPOS */
.brand{background:var(--cream);padding:6px 18px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:transform .3s}
.brand:hover{transform:translateY(-2px)}
.brand img{height:40px;width:auto;display:block}
.logo-pill{display:inline-block;background:var(--cream);padding:10px 26px;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.logo-pill img{height:56px;width:auto;display:block}
.foot-brand{display:grid;gap:14px;justify-items:center}
.emblem{width:min(200px,50vw);height:auto;display:block;margin-bottom:18px}
@media(max-width:600px){.brand img{height:34px}.brand{padding:5px 14px}}
.brand img{height:76px;margin:-14px -6px}
.brand{padding:6px 22px}
.logo-pill img{height:104px;margin:-18px -8px}
.logo-pill{padding:10px 34px}
@media(max-width:600px){.brand img{height:60px;margin:-11px -4px}.brand{padding:5px 16px}}
/* logos menores */
.brand img{height:54px;margin:-10px -4px}
.brand{padding:4px 18px}
.logo-pill img{height:68px;margin:-12px -6px}
.logo-pill{padding:8px 26px}
@media(max-width:600px){.brand img{height:46px;margin:-8px -3px}.brand{padding:4px 14px}}

/* VÍDEO VERTICAL (9:16) E FOTO DA ARARA SEM CORTE */
.video-col{display:grid;justify-items:center}
.video-frame{width:min(360px,100%);aspect-ratio:440/782;margin:0;border:4px solid rgba(255,255,255,.35);border-radius:32px;box-shadow:0 40px 80px rgba(25,33,39,.45)}
.video-frame video{object-fit:cover}
.video-frame figcaption{left:50%;transform:translateX(-50%);bottom:18px;white-space:nowrap}
.vbtn{position:absolute;top:14px;right:14px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(54,69,79,.6);backdrop-filter:blur(8px);cursor:pointer;font-size:1.1rem;display:grid;place-items:center;transition:transform .25s,background .25s}
.vbtn:hover{transform:scale(1.1);background:rgba(54,69,79,.85)}
.vbtn .on,.vbtn.sound-on .off{display:none}.vbtn.sound-on .on{display:inline}
.notes.reveal{margin-top:30px}
.rack{max-width:340px;aspect-ratio:3/4;margin-inline:0}
.rack img{object-position:center}

/* CORREÇÕES: números das estatísticas e celular */
.stat>span{color:var(--muted);font-size:.9rem}
.stat b .count{font-size:inherit;color:inherit}
@media(max-width:980px){
  .wave-top{padding-top:calc(var(--wh) + 30px)!important}
  .video-frame{width:min(300px,78vw)}
  .rack{margin-inline:auto}
}
@media(max-width:600px){
  .sec{padding-bottom:64px}
  .head{margin-bottom:40px}
  .stat b{font-size:3rem}
  .stats{padding-bottom:50px}
  .hero-art{min-height:380px;margin-top:10px}
  .wpp{width:54px;height:54px;right:14px;bottom:14px}
  .nav{padding-inline:16px}
  .foot-in{padding-bottom:70px}
}

/* destaque em seções claras (bege claro tem pouco contraste sobre blush) */
.sec-cream em,.sec-sand em,.head em,.split em,blockquote em{color:var(--lav)}
.sec-lav em,.sec-night em,.hero em{color:var(--gold)}

/* ===== ANIMAÇÕES EXTRAS ===== */
.fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.sec>.wrap,.foot>.wrap{position:relative;z-index:2}
.fx i{position:absolute;display:block}

/* orbes que derivam (seções roxas) */
.fx-orbs i{border-radius:50%;will-change:transform;background:radial-gradient(circle,rgba(210,193,175,.35),transparent 70%);animation:drift ease-in-out infinite alternate}
.fx-orbs i:nth-child(even){background:radial-gradient(circle,rgba(253,242,240,.28),transparent 70%)}
@keyframes drift{to{transform:translate(var(--dx),var(--dy)) scale(1.25)}}

/* estrelas cintilantes (seção escura e rodapé) */
.fx-stars i{width:var(--s);height:var(--s);background:var(--gold);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;animation:twinkle ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.2) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(90deg)}}

/* ondas de água (seções claras) */
.fx-ripples i{contain:strict;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);border-radius:50%;border:1.5px solid var(--lav);opacity:0;animation:ripple ease-out infinite}
@keyframes ripple{0%{transform:scale(.1);opacity:.45}100%{transform:scale(1);opacity:0}}

/* partículas suaves flutuando de lado (seção areia) */
.fx-motes i{width:var(--s);height:var(--s);border-radius:50%;background:var(--lav2);opacity:.55;animation:mote linear infinite}
@keyframes mote{0%{transform:translate(0,0);opacity:0}15%,85%{opacity:.6}100%{transform:translate(var(--dx),var(--dy));opacity:0}}

/* brilho dourado passando nos destaques dos títulos */
em{--em:var(--gold);color:var(--em);}
.sec-cream em,.sec-sand em,.head em,.split em,blockquote em{--em:var(--lav)}
.sec-lav em,.sec-night em,.hero em{--em:var(--gold)}
@keyframes glow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 18px color-mix(in srgb,var(--em) 70%,transparent)}}

/* reflexo passando pelos botões */
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;left:0;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-150%) skewX(-20deg);animation:sweep 4.5s ease-in-out infinite}
@keyframes sweep{0%,60%{transform:translateX(-150%) skewX(-20deg)}100%{transform:translateX(330%) skewX(-20deg)}}

/* ícones dos cards: ondas pulsando */
.ico{position:relative}
.ico::after{content:"";position:absolute;inset:0;border-radius:16px;border:2px solid var(--lav2);animation:ping 3s ease-out infinite}
.card:nth-child(2n) .ico::after{animation-delay:-1s}.card:nth-child(3n) .ico::after{animation-delay:-2s}
@keyframes ping{0%{transform:scale(1);opacity:.8}80%,100%{transform:scale(1.7);opacity:0}}
.card:hover .ico svg{animation:wiggle .6s}
@keyframes wiggle{25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}

/* passos: linha tracejada em movimento e anel pulsante */
.steps::before{background-size:16px 2px}
@keyframes march{to{background-position:16px 0}}
.n::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--gold2);animation:ping 2.8s ease-out infinite}
.steps li:nth-child(2) .n::after{animation-delay:-.7s}.steps li:nth-child(3) .n::after{animation-delay:-1.4s}.steps li:nth-child(4) .n::after{animation-delay:-2.1s}

/* números das estatísticas respirando */
.stat b{display:inline-block;animation:breathe 4s ease-in-out infinite}
.stat:nth-child(even) b{animation-delay:-2s}
@keyframes breathe{50%{transform:translateY(-6px) scale(1.04)}}

/* traço sob o eyebrow se desenhando */
.eyebrow{position:relative}
.eyebrow::after{content:"";display:block;height:1px;width:0;background:currentColor;margin:8px auto 0;transition:width 1.2s .4s ease}
.reveal.in .eyebrow::after,.hero .eyebrow::after{width:100%}

/* cartões do Notas e cartões de recursos: flutuação leve */
.f{animation:bob 6s ease-in-out infinite}
.f:nth-child(2){animation-delay:-1.5s}.f:nth-child(3){animation-delay:-3s}.f:nth-child(4){animation-delay:-4.5s}
@keyframes bob{50%{transform:translateY(-6px)}}
.f:hover{animation:none}

/* WhatsApp balançando de vez em quando */
.wpp svg{animation:ring 5s ease-in-out infinite;transform-origin:50% 60%}
@keyframes ring{0%,80%,100%{transform:rotate(0)}84%{transform:rotate(-14deg)}88%{transform:rotate(12deg)}92%{transform:rotate(-8deg)}96%{transform:rotate(4deg)}}

/* rastro de brilhos do cursor */
.trail{position:fixed;width:14px;height:14px;pointer-events:none;z-index:120;background:var(--gold);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:trail .9s ease-out forwards}
@keyframes trail{to{transform:translate(var(--tx),var(--ty)) scale(0) rotate(120deg);opacity:0}}

/* ===== HERO CLARO (lilás pastel, sem tom acinzentado) ===== */
.hero{background:radial-gradient(900px 600px at 85% 15%,rgba(253,242,240,.85) 0,transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(210,193,175,.35) 0,transparent 60%),linear-gradient(160deg,#c9bedb,#b8abcc 55%,#a99bc2);color:var(--night)}
.hero em{--em:#6a5a8c}
.hero .eyebrow{color:#6a5a8c}
.hero .lead{color:rgba(54,69,79,.88)}
.hero .btn-ghost{border-color:var(--night);color:var(--night)}
.hero .btn-ghost:hover{background:rgba(54,69,79,.08)}
.hero .trust .stars{color:#8a7358}
.hero .trust span{color:var(--night);opacity:.75}
.hero .chip{background:rgba(255,255,255,.8);border-color:rgba(255,255,255,.8);color:var(--night)}
.hero .chip b{color:#6a5a8c}
.hero .orb{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.7),rgba(253,242,240,.35) 60%,transparent 72%)}
.hero .bubbles i{border-color:rgba(255,255,255,.8);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.75),rgba(255,255,255,.12))}
.hero .photo-arch{box-shadow:0 40px 70px rgba(54,69,79,.28),0 0 0 12px rgba(255,255,255,.35)}
/* menu escuro sobre hero claro */
.nav{color:var(--night)}
.nav.solid{color:#fff}
.burger span{background:currentColor}
@media(max-width:820px){
  .menu{color:#fff}
  .burger[aria-expanded=true]{color:#fff}
}

/* emendas entre seções: sem corte horizontal */
.sec-lav{background:linear-gradient(180deg,var(--lav),#655684)}
.sec-night{background:linear-gradient(180deg,var(--night2),var(--night))}

/* ===== TROCA: hero blush / serviços lilás ===== */
.hero{background:radial-gradient(900px 600px at 85% 15%,rgba(255,255,255,.9) 0,transparent 60%),linear-gradient(160deg,#fff8f6,#FDF2F0 55%,#f5e3de)}
.hero .bubbles i{border-color:rgba(184,171,204,.9);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.8),rgba(184,171,204,.25))}
.hero .orb{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),rgba(184,171,204,.4) 60%,transparent 72%)}
.hero .chip{border-color:rgba(184,171,204,.6)}
.hero .photo-arch{box-shadow:0 40px 70px rgba(54,69,79,.2),0 0 0 12px rgba(184,171,204,.35)}
#servicos{background:var(--soft)}
#servicos .head p{color:var(--night)}
#servicos .fx-ripples i{border-color:#fff}

/* economia: nada anima fora da tela */
.offscreen *,.offscreen *::before,.offscreen *::after{animation-play-state:paused!important}

/* ===== HERO ROXO (cor das pétalas da lavanda da logo) ===== */
.hero{background:radial-gradient(900px 600px at 82% 12%,rgba(176,140,235,.75) 0,transparent 60%),linear-gradient(160deg,#9468d2,#7a52bd 50%,#59388f);color:#fff}
.hero em{--em:var(--gold)}
.hero .eyebrow{color:var(--gold)}
.hero .lead{color:rgba(255,255,255,.88)}
.hero .btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}
.hero .btn-ghost:hover{background:rgba(255,255,255,.14)}
.hero .trust .stars{color:var(--gold)}
.hero .trust span{color:#fff;opacity:.8}
.hero .chip{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4);color:#fff}
.hero .chip b{color:var(--gold)}
.hero .orb{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),rgba(200,170,245,.35) 60%,transparent 72%)}
.hero .bubbles i{border-color:rgba(255,255,255,.5);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),rgba(255,255,255,.06))}
.hero .photo-arch{box-shadow:0 40px 70px rgba(40,20,80,.4),0 0 0 12px rgba(255,255,255,.12)}

/* sombras atrás das ondas (profundidade); camadas estáticas, rasterizadas uma vez */
.wave,.wave-in{filter:drop-shadow(0 -12px 18px rgba(25,33,39,.22));will-change:transform}

/* ===== HERO REFEITO ===== */
.nav{color:#fff}
.hero{background:
  radial-gradient(700px 520px at 78% 48%,rgba(190,155,245,.55),transparent 65%),
  radial-gradient(600px 400px at 8% 0%,rgba(165,125,230,.45),transparent 60%),
  linear-gradient(165deg,#8a5fcf 0%,#6b44ad 55%,#4f3185 100%)}
.hero-inner{grid-template-columns:1.05fr .95fr;gap:56px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 18px;margin-bottom:24px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;letter-spacing:.2em;font-size:.7rem}
.hero .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.hero .eyebrow::after{display:none}
.hero h1{font-size:clamp(2.6rem,5.2vw,4.4rem);line-height:1.05;margin-bottom:24px;text-wrap:balance}
.hero .lead{max-width:500px;font-size:1.08rem;color:rgba(255,255,255,.88)}
.hero .btn-gold{background:#FDF2F0;color:#4f3185;box-shadow:0 14px 34px rgba(30,15,70,.3)}
.hero .btn-gold:hover{box-shadow:0 20px 44px rgba(30,15,70,.4)}
.hero .btn-ghost{border-color:rgba(255,255,255,.55)}
.hero .trust{display:inline-flex;padding:12px 20px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}
.hero .trust strong{color:#fff}
/* arte à direita */
.hero-art{min-height:520px}
.arch-ring{position:absolute;width:min(430px,82vw);aspect-ratio:3/4;border-radius:999px 999px 36px 36px;border:1.5px solid rgba(255,255,255,.35);transform:translate(26px,18px)}
.arch-ring.r2{width:min(480px,90vw);border-color:rgba(255,255,255,.16);transform:translate(48px,34px)}
.hero .photo-arch{width:min(380px,72vw);border:0;box-shadow:0 40px 80px rgba(25,10,60,.45),0 0 0 8px rgba(255,255,255,.18)}
.hero .chip{background:#fff;border:0;color:#36454F;padding:11px 18px;font-weight:500;box-shadow:0 14px 34px rgba(25,10,60,.28);display:flex;align-items:center;gap:8px;white-space:nowrap}
.hero .chip::before{content:"";width:8px;height:8px;border-radius:50%;background:#7a52bd;flex:none}
.hero .chip b{color:#6b44ad}
.hero .c1{top:12%;left:-4%}.hero .c2{top:50%;right:-6%}.hero .c3{bottom:9%;left:-2%}
/* bolhas mais discretas e atrás do conteúdo */
.hero .bubbles i{border-color:rgba(255,255,255,.4);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),rgba(255,255,255,.04))}
@media(max-width:980px){.hero-art{min-height:440px}.hero .c1{left:2%}.hero .c2{right:0}.hero .c3{left:4%}.arch-ring{display:none}}

/* ===== FOTO DO HERO EM FORMA ORGÂNICA ===== */
.hero .photo-arch{width:min(420px,76vw);aspect-ratio:1/1.08;border-radius:58% 42% 52% 48% / 44% 56% 44% 56%;box-shadow:0 40px 80px rgba(25,10,60,.45)}
.hero .photo-arch img{transform:scale(1.08)}
.arch-ring{width:min(470px,86vw);aspect-ratio:1/1.08;border-radius:42% 58% 46% 54% / 56% 42% 58% 44%;border:1.5px solid rgba(255,255,255,.4);transform:none;animation:spin 28s linear infinite}
.arch-ring.r2{width:min(520px,94vw);border-radius:55% 45% 60% 40% / 48% 58% 42% 52%;border-color:rgba(255,255,255,.18);transform:none;animation:spin 40s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.arch-ring{display:block}}

/* seção abaixo do hero volta ao blush */
:root{--soft:#FDF2F0}
#servicos{background:var(--cream)}
#servicos .head p{color:var(--muted)}
#servicos .fx-ripples i{border-color:var(--lav)}

/* ===== FOTO EM FORMA ONDULADA (várias curvas) ===== */
.hero-art{min-height:600px}
.arch-ring{display:none!important}
.hero .photo-arch{width:min(540px,100%);aspect-ratio:1/1;border-radius:0;clip-path:url(#blob);box-shadow:none;border:0}
.hero .photo-arch img{transform:none}
.blob-back{position:absolute;width:min(540px,100%);aspect-ratio:1/1;clip-path:url(#blob);background:rgba(255,255,255,.16);transform:translate(-26px,22px) rotate(-6deg) scale(1.04);animation:blobsway 12s ease-in-out infinite alternate}
.blob-back.b2{background:rgba(255,255,255,.09);transform:translate(24px,-18px) rotate(8deg) scale(1.08);animation-duration:16s;animation-direction:alternate-reverse}
@keyframes blobsway{to{transform:translate(-14px,10px) rotate(4deg) scale(1.06)}}
.hero .c1{top:10%;left:-2%}.hero .c2{top:52%;right:-3%}.hero .c3{bottom:8%;left:2%}
@media(max-width:980px){.hero-art{min-height:460px}.hero .photo-arch,.blob-back{width:min(420px,92vw)}}

/* ===== HERO COM FOTO DE FUNDO ===== */
.hero{background:linear-gradient(95deg,rgba(74,45,130,.94) 0%,rgba(98,64,168,.82) 38%,rgba(122,82,189,.35) 70%,rgba(122,82,189,.08) 100%),url(public/images/hero.png) center/cover no-repeat;background-color:#6b44ad}
.hero-inner{grid-template-columns:1.1fr .9fr}
.hero-art{min-height:520px}
.hero .c1{top:14%;left:auto;right:30%}.hero .c2{top:46%;right:2%}.hero .c3{bottom:14%;left:auto;right:22%}
@media(max-width:980px){
  .hero{background:linear-gradient(180deg,rgba(74,45,130,.92) 0%,rgba(98,64,168,.8) 55%,rgba(122,82,189,.45) 100%),url(public/images/hero.png) 70% center/cover no-repeat}
  .hero-art{min-height:240px}.hero .c1{right:auto;left:4%}.hero .c3{right:auto;left:10%}.hero .c2{right:4%}
}

/* fachada na seção de contato */
.facade{width:min(460px,100%);aspect-ratio:1/1;margin:0 auto 28px;clip-path:url(#blob);background:var(--lilac)}
.facade img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== CONTATO REFORMULADO ===== */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;margin-bottom:48px}
.contact-photo{position:relative;display:grid;place-items:center}
.contact-photo::before{content:"";position:absolute;width:100%;aspect-ratio:1/1;clip-path:url(#blob);background:var(--lilac);transform:translate(-22px,20px) rotate(-6deg) scale(1.03)}
.contact-photo .facade{position:relative;width:100%;margin:0}
.contact-photo .seal{position:absolute;right:2%;bottom:2%;width:clamp(110px,24%,150px);height:auto;background:#fff;border-radius:50%;padding:8px;box-shadow:0 16px 40px rgba(54,69,79,.25)}
.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.info-card{background:#fff;border-radius:var(--r);padding:26px 24px;box-shadow:0 10px 40px rgba(54,69,79,.07);border:1px solid rgba(123,107,156,.1);transition:transform .3s,box-shadow .3s}
.info-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(54,69,79,.14)}
.ci{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--lilac);margin-bottom:14px;transition:background .3s}
.ci svg{width:24px;height:24px;fill:none;stroke:var(--lav);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.info-card:hover .ci{background:var(--night)}.info-card:hover .ci svg{stroke:var(--gold)}
.info-card h3{font-size:1.5rem;margin-bottom:6px}
.info-card p{color:var(--muted);font-size:.92rem;line-height:1.6}
.info-card p b{color:var(--ink)}
.info-card a{color:var(--lav);font-weight:600;word-break:break-word}
.contact-cta{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap}
.btn-outline{border-color:var(--night);color:var(--night)}
.btn-outline:hover{background:var(--night);color:#fff;transform:translateY(-3px)}
.map.wide{min-height:340px;border-width:6px}
.map.wide iframe{min-height:340px}
@media(max-width:980px){.contact-grid{grid-template-columns:1fr;gap:40px}.contact-photo{max-width:420px;margin-inline:auto;width:100%}}
@media(max-width:600px){.contact-info{grid-template-columns:1fr}}

/* ===== BENEFÍCIOS CONECTADOS, COM FOTO FIXA ===== */
:root{--ov:rgba(84,52,146,.76)}
.hero{background-attachment:scroll,fixed;padding-bottom:140px}
.hero>.wave{display:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;background:linear-gradient(to bottom,transparent,var(--ov));z-index:1;pointer-events:none}
.journey{position:relative;padding:40px 0 calc(var(--wh) + 90px)}
.journey-bg{position:sticky;top:0;height:100vh;margin-bottom:-100vh;background:linear-gradient(var(--ov),var(--ov)),url(public/images/hero.png) center/cover no-repeat;background-color:#5a3a96;z-index:0}
.journey-in{position:relative;z-index:2;width:min(620px,100% - 40px);margin-inline:auto;color:#fff}
.journey .head{margin-bottom:56px}
.journey .head h2{color:#fff}
.journey .eyebrow{color:var(--gold)}
.chain{position:relative;padding:10px 0}
.chain ol{list-style:none;display:grid;gap:84px;position:relative;z-index:1}
.chain-line,.chain-fill{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;border-radius:3px}
.chain-line{background:rgba(255,255,255,.22)}
.chain-fill{background:linear-gradient(to bottom,var(--gold),#fff);height:0;bottom:auto;box-shadow:0 0 14px rgba(255,255,255,.7);z-index:0}
.step-b{position:relative;opacity:.28;transform:translateY(26px) scale(.96);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.step-b.on{opacity:1;transform:none}
.dot{position:absolute;left:50%;top:-44px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:rgba(255,255,255,.35);border:2px solid #fff;transition:background .4s,box-shadow .4s}
.step-b.on .dot{background:var(--gold);box-shadow:0 0 0 6px rgba(210,193,175,.35),0 0 20px rgba(255,255,255,.8)}
.step-b:first-child .dot{display:none}
.bcard{display:flex;align-items:center;gap:20px;background:rgba(255,255,255,.95);color:var(--night);padding:24px 28px;border-radius:24px;box-shadow:0 24px 60px rgba(30,15,70,.35)}
.bico{flex:none;width:56px;height:56px;border-radius:16px;background:var(--lilac);display:grid;place-items:center}
.bico svg{width:28px;height:28px;fill:none;stroke:#6b44ad;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bcard h3{font-size:1.7rem;margin-bottom:4px}
.bcard p{color:var(--muted);font-size:.93rem;line-height:1.55;margin:0}
.journey>.wave{display:block}
@media(max-width:980px){.journey-bg{background:linear-gradient(var(--ov),var(--ov)),url(public/images/hero.png) 70% center/cover no-repeat}}
@media(max-width:560px){.bcard{flex-direction:column;text-align:center;padding:22px}.chain ol{gap:72px}}
@media(prefers-reduced-motion:reduce){.step-b{opacity:1;transform:none}}

/* ===== UMA SÓ FOTO: hero + benefícios compartilham o mesmo fundo fixo ===== */
.stage{position:relative}
.stage-bg{position:sticky;top:0;height:100vh;margin-bottom:-100vh;z-index:0;background:linear-gradient(95deg,rgba(74,45,130,.94) 0%,rgba(98,64,168,.82) 38%,rgba(122,82,189,.35) 70%,rgba(122,82,189,.08) 100%),url(public/images/hero.png) center/cover no-repeat;background-color:#6b44ad}
.stage-bg::after{content:"";position:absolute;inset:0;background:var(--ov);opacity:var(--ov-o,0)}
.stage .hero{background:none}
.stage .hero::after{display:none}
.journey-bg{display:none}
@media(max-width:980px){.stage-bg{background:linear-gradient(180deg,rgba(74,45,130,.92) 0%,rgba(98,64,168,.8) 55%,rgba(122,82,189,.45) 100%),url(public/images/hero.png) 70% center/cover no-repeat}}

/* o fundo fixo não pode vazar para fora do bloco hero + benefícios */
.stage{overflow:clip}
.marquee{position:relative;z-index:1}
.bcard{background:#fff}
.step-b.on .bcard{background:#fff}

/* cards sempre opacos: a linha nunca aparece atravessando */
.step-b{opacity:1}
.bcard{background:#b4a5d3;transition:background .6s}
.bcard>*{opacity:.45;transition:opacity .6s}
.step-b.on .bcard{background:#fff}
.step-b.on .bcard>*{opacity:1}

/* ===== MOBILE ===== */
@media(max-width:980px){
  .hero-inner{grid-template-columns:1fr;gap:0}
  .hero{padding:118px 0 110px}
  .hero .lead{max-width:none}
}
@media(max-width:600px){
  .hero .eyebrow{letter-spacing:.14em;font-size:.64rem;padding:7px 14px}
  .hero h1{font-size:clamp(2.3rem,10.5vw,3rem)}
  .hero .lead{font-size:1rem}
  .hero .cta{flex-direction:column;align-items:stretch}
  .hero .cta .btn{width:100%}
  .hero .trust{display:flex;width:100%}
  .journey{padding-bottom:calc(var(--wh) + 60px)}
  .journey .head{margin-bottom:40px}
}
.map.wide{background:linear-gradient(135deg,#eadff3,#fdf2f0)}
@media(max-width:600px){
  .contact-photo{padding:0 18px}
  .map.wide,.map.wide iframe{min-height:300px}
  .foot-in{padding-bottom:90px}
}

/* cartão de destaque da assinatura olfativa */
.promise{text-align:center;padding:40px 34px}
.promise .sprig{width:44px;height:44px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.promise blockquote{font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.2;margin:0 0 24px;color:#fff}
.promise .tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.promise .tags span{padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);font-size:.82rem;color:#fff}
