:root{
  --bg:#f6f3ff;--surface:#fff;--ink:#1e1033;--ink-2:#140a24;--accent:#7c3aed;--accent-d:#6326d1;
  --lilac:#b9a8e0;--muted:#5b4d73;--line:#e4dcf7;--light-on-dark:#f6f3ff;
  --r:20px;--r-lg:28px;
  --sh:0 1px 2px rgba(30,16,51,.06),0 10px 30px rgba(30,16,51,.07);
  --sh-h:0 18px 40px rgba(124,58,237,.18);
  --ft:"Sora",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --fb:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fb);font-size:17px;line-height:1.65;color:var(--ink);background:var(--bg);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--ft);line-height:1.15;letter-spacing:-.02em;margin:0}
p{margin:0}
:focus-visible{outline:3px solid #a78bfa;outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.wrap--narrow{max-width:820px}
.center{text-align:center}
svg use{pointer-events:none}

/* top */
.topbar{background:var(--ink-2);color:var(--lilac);font-size:12px;text-align:center;padding:7px 16px;letter-spacing:.02em}
.header{background:var(--ink);border-bottom:1px solid rgba(185,168,224,.14)}
.header__in{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.logo-cap{display:inline-flex;background:#fff;border-radius:999px;padding:4px 16px;box-shadow:0 0 0 1px rgba(124,58,237,.25)}
.logo-cap img{width:150px;height:36px;object-fit:cover}
.header__link{display:inline-flex;align-items:center;gap:6px;color:var(--light-on-dark);text-decoration:none;font-weight:600;font-size:15px;padding:8px 4px}
.header__link svg{width:16px;height:16px;transition:transform .25s}
.header__link:hover svg{transform:translateX(3px)}

/* sections */
.sec{padding:80px 0}
.light{background:var(--bg)}
.white{background:var(--surface)}
.dark{background:var(--ink);color:var(--light-on-dark)}
.head{max-width:760px;margin:0 auto 44px}
.kicker,.eyebrow{font-family:var(--ft);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.kicker--dark,.eyebrow{color:var(--lilac)}
.title{font-size:clamp(28px,4.2vw,44px);font-weight:700}
.title--sm{font-size:clamp(24px,3vw,32px)}
.lead{margin-top:16px;font-size:18px;color:var(--muted)}
.lead--dark{color:var(--lilac)}

/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:#fff;font-family:var(--ft);font-weight:600;font-size:17px;text-decoration:none;padding:15px 28px;border-radius:999px;box-shadow:0 10px 30px rgba(124,58,237,.35);transition:transform .2s,box-shadow .2s,background .2s}
.btn svg{width:18px;height:18px;transition:transform .25s}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .7s ease}
.btn:hover{background:var(--accent-d);transform:translateY(-2px);box-shadow:0 14px 36px rgba(124,58,237,.45)}
.btn:hover::after{left:120%}
.btn:hover svg{transform:translateX(3px)}
.btn--lg{font-size:18px;padding:18px 34px}
.btn--block{width:100%}

/* hero */
.hero{position:relative;overflow:hidden;padding:56px 0 72px;text-align:center;background:radial-gradient(120% 80% at 50% 0%,#2a1748 0%,var(--ink) 55%,var(--ink-2) 100%)}
.hero__in{position:relative;z-index:1}
.hero__moon{position:absolute;top:28px;right:4%;width:110px;height:110px;color:var(--lilac);opacity:.55}
.hero__title{font-size:clamp(34px,6vw,64px);font-weight:700;letter-spacing:-.03em;max-width:960px;margin:0 auto}
.hero__sub{max-width:720px;margin:20px auto 0;font-size:clamp(17px,2vw,19px);color:#ddd3f5}
.player-wrap{position:relative;max-width:880px;margin:40px auto 28px}
.halo{position:absolute;inset:-12% -8%;background:radial-gradient(closest-side,rgba(124,58,237,1),transparent);opacity:.25;filter:blur(30px);animation:breathe 6s ease-in-out infinite;pointer-events:none}
@keyframes breathe{0%,100%{opacity:.2}50%{opacity:.3}}
.vsl-player{position:relative;width:100%;max-width:880px;aspect-ratio:16/9;margin:0 auto;border-radius:var(--r);overflow:hidden;border:1px solid rgba(167,139,250,.7);box-shadow:0 0 0 4px rgba(124,58,237,.12),0 0 40px rgba(124,58,237,.35),0 30px 60px rgba(0,0,0,.4);background:radial-gradient(circle at 50% 45%,#3a2266,#140a24)}
.vsl-player iframe,.vsl-player video{position:absolute;inset:0;width:100%;height:100%;border:0}
.player-cap{position:relative;display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--lilac)}
.player-cap svg{width:18px;height:18px}
.microline{margin-top:16px;font-size:14px;color:var(--lilac)}
.microline--light{color:var(--muted)}

/* cards */
.grid3{display:grid;gap:20px}
.card{background:var(--surface);border-radius:var(--r);padding:30px 26px;box-shadow:var(--sh);border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-h)}
.card h3{font-size:20px;font-weight:600;margin:16px 0 8px}
.card p{color:var(--muted)}
.ico{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--bg);color:var(--accent)}
.ico svg{width:30px;height:30px}
.ico--round{border-radius:50%;width:64px;height:64px;background:var(--surface);border:1.5px solid var(--accent);position:relative;z-index:1}

/* steam draw */
.steam{stroke-dasharray:20;stroke-dashoffset:0;transition:stroke-dashoffset 1.4s ease .3s}
.js .reveal:not(.is-in) .steam{stroke-dashoffset:20}

/* split */
.split{display:grid;gap:44px;align-items:center}
.panel-light{background:var(--bg);border-radius:var(--r-lg);padding:28px;position:relative;box-shadow:0 0 80px rgba(124,58,237,.45),0 0 0 1px rgba(185,168,224,.3)}
.panel-light--soft{background:#fff}
.mock{width:100%;height:auto}
.parallax{will-change:transform}
.nums{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:24px}
.nums li{display:grid;grid-template-columns:72px 1fr;gap:16px;padding-bottom:24px;border-bottom:1px solid rgba(185,168,224,.18)}
.num{font-family:var(--ft);font-size:44px;font-weight:700;line-height:1;color:#a78bfa;letter-spacing:-.04em}
.nums h3{font-size:20px;font-weight:600;margin-bottom:6px}
.nums p{color:var(--lilac)}
.ticks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.ticks li{display:flex;gap:10px;color:#ddd3f5}
.ticks svg,.list svg{flex:none;width:22px;height:22px;color:#a78bfa;margin-top:2px}

/* ritual steps */
.steps4{display:grid;gap:22px}
.step{background:var(--surface);border-radius:var(--r);padding:14px 14px 24px;border:1px solid var(--line);box-shadow:var(--sh);transition:transform .3s,box-shadow .3s}
.step:hover{transform:translateY(-4px);box-shadow:var(--sh-h)}
.ph{position:relative;margin:0 0 18px;aspect-ratio:1/1;border-radius:14px;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.ph__n{position:absolute;top:12px;left:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(30,16,51,.82);color:#fff;font-family:var(--ft);font-weight:700;font-size:16px;backdrop-filter:blur(4px)}
.step h3{font-size:21px;font-weight:600;padding:0 8px 6px}
.step p{color:var(--muted);padding:0 8px}
.note{display:flex;align-items:center;justify-content:center;gap:10px;margin:36px auto 0;max-width:520px;background:var(--surface);border:1px dashed var(--lilac);border-radius:999px;padding:12px 22px;font-weight:600;color:var(--ink);text-align:center}
.note svg{flex:none;width:20px;height:20px;color:var(--accent)}

/* timeline */
.weeks{max-width:1000px;margin:0 auto}
.weeks .lead{max-width:640px;margin-left:auto;margin-right:auto}
.weeks .timeline{text-align:left}
.timeline{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:14px;position:relative}
.timeline li{position:relative;padding:16px 18px 16px 44px;border-radius:16px;background:rgba(246,243,255,.05);border:1px solid rgba(185,168,224,.2)}
.timeline li::before{content:"";position:absolute;left:18px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(124,58,237,.25)}
.tl__w{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--lilac);font-weight:600}
.timeline strong{font-family:var(--ft);font-size:19px;font-weight:600}

/* is / isn't */
.isnt{display:grid;gap:22px}
.card--is{border-top:4px solid var(--accent)}
.card--isnt{border-top:4px solid var(--lilac)}
.card--is h3,.card--isnt h3{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:22px}
.dot{display:grid;place-items:center;width:36px;height:36px;border-radius:50%}
.dot svg{width:20px;height:20px}
.dot--yes{background:var(--accent);color:#fff}
.dot--no{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.list li{display:flex;gap:10px}
.list svg{color:var(--accent)}
.list--no svg{color:var(--muted)}
.is-img{width:70%;max-width:260px;height:auto;margin:22px auto 0}
.small{margin-top:18px;font-size:14px;color:var(--muted)}

/* access */
.access{position:relative;display:grid;gap:36px;max-width:1000px;margin:0 auto}
.access__line{position:absolute;left:31px;top:32px;bottom:32px;width:2px;background:var(--line)}
.access__line span{display:block;width:100%;height:100%;background:var(--accent);transform-origin:top;transform:scaleY(var(--p,1))}
.js .access__line span{transform:scaleY(var(--p,0))}
.access__step{display:grid;grid-template-columns:64px 1fr;column-gap:20px}
.access__step .ico{grid-row:span 3}
.access__n{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.access__step h3{font-size:20px;font-weight:600;margin:2px 0 4px}
.access__step p{color:var(--muted)}

/* offer */
.offer{background:linear-gradient(180deg,var(--ink-2),var(--ink));position:relative;overflow:hidden}
.offer::before{content:"";position:absolute;left:50%;top:30%;width:900px;height:900px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(124,58,237,.28),transparent);pointer-events:none}
.offer .wrap{position:relative}
@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false}
.offer-card{max-width:560px;margin:0 auto;padding:2px;border-radius:30px;background:conic-gradient(from var(--ang),rgba(124,58,237,.35) 0deg,#c4b5fd 40deg,rgba(124,58,237,.35) 90deg,rgba(124,58,237,.35) 360deg);animation:spin 8s linear infinite;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 60px rgba(124,58,237,.3)}
@keyframes spin{to{--ang:360deg}}
.offer-card__in{background:var(--surface);color:var(--ink);border-radius:28px;overflow:hidden}
.offer-card__img{background:var(--bg);padding:28px 28px 16px}
.offer-card__img img{width:100%;max-width:420px;height:auto;margin:0 auto}
.offer-card__body{padding:26px 24px 30px}
.badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.offer-card__title{font-size:clamp(22px,3vw,27px);font-weight:700;margin:14px 0 20px}
.list--offer{gap:11px;font-size:16px}
.price{display:flex;align-items:baseline;justify-content:center;gap:16px;margin-top:28px}
.price__old{font-family:var(--ft);font-size:26px;color:#8a7cab;text-decoration-thickness:2px}
.price__new{font-family:var(--ft);font-size:56px;font-weight:700;letter-spacing:-.03em;line-height:1}
.price__cap{text-align:center;color:var(--muted);font-size:14px;margin:8px 0 20px}
.guar{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:15px;text-align:center}
.guar svg{flex:none;width:20px;height:20px;color:var(--accent)}
.secure{text-align:center;color:var(--muted);font-size:13px;margin-top:8px}
.seals{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;color:var(--lilac);font-size:15px;font-weight:600}
.seals li{display:flex;align-items:center;gap:8px}
.seals svg{width:20px;height:20px}

/* guarantee */
.guar-card{max-width:860px;margin:0 auto;display:grid;gap:24px;justify-items:center;text-align:center;background:var(--surface);border-radius:var(--r-lg);padding:40px 28px;box-shadow:var(--sh);border:1px solid var(--line)}
.guar-card__seal{width:96px;height:96px;color:var(--accent)}
.guar-card p{margin-top:12px;color:var(--muted)}
.sec--faq{padding-top:0}

/* faq */
.faq{display:grid;gap:12px}
.faq__item{background:var(--surface);border-radius:16px;border:1px solid var(--line);box-shadow:var(--sh);transition:box-shadow .3s}
.faq__item[open]{box-shadow:var(--sh-h)}
.faq__item summary{cursor:pointer;list-style:none;padding:20px 56px 20px 22px;font-family:var(--ft);font-weight:600;font-size:17px;position:relative}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";position:absolute;right:22px;top:50%;width:12px;height:12px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.faq__item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq__a{padding:0 22px 20px;color:var(--muted)}
.final-cta{margin-top:44px}

/* footer */
.footer{background:var(--ink-2);color:var(--lilac);padding:56px 0 40px;font-size:14px}
.footer__top{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid rgba(185,168,224,.18)}
.footer__nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.footer__nav a{color:var(--light-on-dark);text-decoration:none}
.footer__nav a:hover{text-decoration:underline}
.footer__legal{display:grid;gap:14px;padding-top:28px;line-height:1.6}
.footer__legal strong{color:var(--light-on-dark)}
.copy{color:var(--light-on-dark)}

/* mobile bar */
.cta-fixo-mobile{display:none}
@media (max-width:768px){
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  .cta-fixo-mobile{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(0,0,0,.3);transition:transform .35s ease}
  .cta-fixo-mobile a{display:block;text-align:center;background:var(--accent);color:#fff;font-family:var(--ft);font-weight:600;font-size:17px;text-decoration:none;padding:14px;border-radius:999px}
  .js .cta-fixo-mobile:not(.is-on){transform:translateY(110%)}
  .hero{padding-bottom:calc(72px + 80px + env(safe-area-inset-bottom))}
  .hero__moon{width:64px;height:64px;top:14px;right:10px}
  .sec{padding:60px 0}
  .sec--faq{padding-top:0}
}

/* reveal */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}
.js .reveal.is-in{opacity:1;transform:none}
.js .title.reveal{opacity:1;transform:none;overflow:hidden}
.title.reveal>span{display:block}
.js .title.reveal>span{transform:translateY(105%);transition:transform .6s ease-out}
.js .title.reveal.is-in>span{transform:none}
.js .grid3 .reveal:nth-child(2),.js .steps4 .reveal:nth-child(2),.js .nums .reveal:nth-child(2),.js .timeline .reveal:nth-child(2){transition-delay:.1s}
.js .grid3 .reveal:nth-child(3),.js .steps4 .reveal:nth-child(3),.js .nums .reveal:nth-child(3),.js .timeline .reveal:nth-child(3){transition-delay:.2s}
.js .steps4 .reveal:nth-child(4),.js .timeline .reveal:nth-child(4){transition-delay:.3s}

/* layouts */
@media (min-width:640px){
  .steps4{grid-template-columns:repeat(2,1fr)}
  .isnt{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr 1fr}
  .guar-card{grid-template-columns:auto 1fr;text-align:left;justify-items:start;padding:44px}
}
@media (min-width:900px){
  .sec{padding:104px 0}
  .sec--faq{padding-top:0}
  .grid3{grid-template-columns:repeat(3,1fr)}
  .split{grid-template-columns:1fr 1fr;gap:72px}
  .steps4{grid-template-columns:repeat(4,1fr)}
  .timeline{grid-template-columns:repeat(4,1fr);gap:0}
  .timeline::before{content:"";position:absolute;left:0;right:0;top:30px;height:2px;background:linear-gradient(90deg,var(--accent),rgba(124,58,237,.2))}
  .timeline li{background:none;border:0;padding:52px 12px 0 0}
  .timeline li::before{left:0;top:24px}
  .access{grid-template-columns:repeat(3,1fr);gap:28px;text-align:center}
  .access__line{left:16.66%;right:16.66%;top:31px;bottom:auto;width:auto;height:2px}
  .access__line span{transform-origin:left;transform:scaleX(var(--p,1))}
  .js .access__line span{transform:scaleX(var(--p,0))}
  .access__step{grid-template-columns:1fr;justify-items:center;row-gap:6px}
  .access__step .ico{grid-row:auto;margin-bottom:12px}
  .offer-card__body{padding:30px 38px 36px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal,.js .title.reveal>span{opacity:1;transform:none}
  .js .reveal:not(.is-in) .steam{stroke-dashoffset:0}
  .parallax{transform:none!important}
}

/* sistema: fotos de produto e kits nunca distorcem */
img[src*="assets/kit-"],img[src*="assets/produto"],img[src*="assets/foto-"][src$=".webp"]{object-fit:contain!important;height:auto!important;max-height:100%;max-width:100%}
