:root{
  --night:#110E24; --night-2:#1B1636; --violet:#2B2350; --lilac:#B9A6F2; --lilac-soft:#DCD2F8;
  --pearl:#F8F5FC; --mist:#EEE8F9; --gold:#E8CB8C; --gold-deep:#C9A45C;
  --ink:#1C1830; --muted:#5F5A76; --line:rgba(28,24,48,.12);
  --on-dark:#F1EDFA; --on-dark-muted:rgba(241,237,250,.7); --line-dark:rgba(220,210,248,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Manrope,sans-serif;font-size:17px;line-height:1.7;color:var(--ink);background:var(--pearl);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:500;line-height:1.08;letter-spacing:-.005em}
h1{font-size:clamp(2.7rem,6.4vw,4.9rem)}
h2{font-size:clamp(2.1rem,4.4vw,3.3rem)}
h3{font-size:1.55rem}
.it{font-style:italic;color:var(--gold)}
.light .it{color:var(--violet)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.narrow{max-width:720px}
section{padding:104px 0;position:relative;overflow:hidden}
.dark{background:var(--night);color:var(--on-dark)}
.dark p{color:var(--on-dark-muted)}
.mist{background:var(--mist)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;font-weight:600;color:var(--violet);margin-bottom:18px}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.dark .eyebrow{color:var(--lilac)}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.lead{font-size:1.1rem;color:var(--muted);margin-top:20px}
.dark .lead{color:var(--on-dark-muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#F1DCA8,var(--gold-deep));color:var(--night);text-decoration:none;font-weight:700;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;padding:19px 36px;border-radius:999px;border:0;cursor:pointer;font-family:inherit;box-shadow:0 0 0 1px rgba(232,203,140,.35),0 14px 40px -12px rgba(232,203,140,.55);transition:transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(232,203,140,.5),0 18px 50px -10px rgba(232,203,140,.75)}
.btn-line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
.btn-line:hover{box-shadow:inset 0 0 0 1px currentColor;background:rgba(185,166,242,.12)}
.note{font-size:.86rem;color:var(--on-dark-muted);margin-top:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.note .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
mark.tbc{background:#FBE7A1;color:#5a4300;font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:6px;white-space:nowrap}

/* glows + stars */
.glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:.55}
.stars{position:absolute;inset:0;pointer-events:none}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.5;animation:tw 4s ease-in-out infinite}
@keyframes tw{50%{opacity:.08}}

/* 1 · HERO */
.hero{min-height:100vh;display:flex;align-items:center;padding:60px 0;background:radial-gradient(120% 90% at 75% 40%,#2E2560 0%,var(--night) 60%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;position:relative;z-index:1}
.hero h1{margin-bottom:24px}
.hero .sub{font-size:1.15rem;max-width:520px;margin-bottom:36px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.mandala{width:100%;max-width:520px;margin:0 auto;aspect-ratio:1;position:relative}
.mandala svg{width:100%;height:100%;overflow:visible}
.spin{transform-origin:250px 250px;animation:spin 120s linear infinite}
.spin-r{transform-origin:250px 250px;animation:spin 90s linear infinite reverse}
.pulse{transform-origin:250px 250px;animation:pulse 6s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{transform:scale(1.12);opacity:.75}}

/* 2 · RESET */
.moments{margin:48px 0 0;list-style:none}
.moments li{font-family:"Cormorant Garamond",serif;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.3;padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;align-items:baseline}
.moments li::before{content:"✧";color:var(--gold-deep);font-size:1.1rem}
.moments li:last-child{border-bottom:1px solid var(--line)}
.after{margin-top:40px;font-size:1.12rem;color:var(--muted)}
.after b{color:var(--ink);font-weight:600}

/* 3 · PURIFICAÇÃO */
.purify{background:linear-gradient(180deg,var(--night) 0%,#1E1840 100%)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.split p+p{margin-top:18px}
.cycle{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px;border-top:1px solid var(--line-dark)}
.phase{padding:34px 28px 8px 0;min-width:0}
.phase+.phase{padding-left:28px;border-left:1px solid var(--line-dark)}
.phase .kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--lilac)}
.phase h3{font-size:2.4rem;color:var(--on-dark);margin:8px 0 12px}
.phase:nth-child(2) h3{color:var(--lilac-soft)}
.phase:nth-child(3) h3{color:var(--gold)}
.phase p{font-size:.98rem}
.phase p+p{margin-top:12px;font-style:italic}
.layers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:64px}
.layer{border:1px solid var(--line-dark);border-radius:200px 200px 24px 24px;padding:44px 20px 26px;text-align:center;background:linear-gradient(180deg,rgba(185,166,242,.12),rgba(185,166,242,0))}
.layer h3{color:var(--on-dark);font-size:1.45rem;margin-bottom:8px}
.layer p{font-size:.92rem;line-height:1.5}
.layer .orb{width:34px;height:34px;border-radius:50%;margin:0 auto 18px;background:radial-gradient(circle at 35% 35%,#fff,var(--lilac) 45%,transparent 72%);box-shadow:0 0 30px rgba(185,166,242,.6)}

/* 4 · ATENDIMENTO */
.session{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;position:relative}
.session::before{content:"";position:absolute;top:27px;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,var(--lilac),var(--gold-deep),var(--lilac),transparent)}
.moment{text-align:center;padding:0 18px;position:relative}
.moment .n{width:56px;height:56px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;background:var(--pearl);border:1px solid var(--lilac);font-family:"Cormorant Garamond",serif;font-size:1.5rem;color:var(--violet);position:relative;z-index:1}
.moment.key .n{background:var(--violet);color:var(--gold);border-color:var(--violet);box-shadow:0 0 0 8px rgba(43,35,80,.08),0 0 30px rgba(185,166,242,.7)}
.moment h3{font-size:1.4rem;margin-bottom:8px}
.moment p{color:var(--muted);font-size:.96rem}
.time{display:inline-block;margin-top:10px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--violet);background:rgba(185,166,242,.22);padding:4px 10px;border-radius:999px}

/* 5 · ETAPAS */
.path{margin:64px auto 0;max-width:780px;position:relative}
.path::before{content:"";position:absolute;left:31px;top:20px;bottom:20px;width:1px;background:linear-gradient(180deg,rgba(185,166,242,.15),var(--lilac) 40%,var(--gold))}
.stage{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:20px 0 34px}
.stage .node{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:"Cormorant Garamond",serif;font-size:1.4rem;color:var(--on-dark);background:var(--night);border:1px solid var(--line-dark);position:relative;z-index:1}
.stage:nth-child(2) .node{box-shadow:0 0 18px rgba(185,166,242,.25)}
.stage:nth-child(3) .node{box-shadow:0 0 26px rgba(185,166,242,.4)}
.stage:nth-child(4) .node{box-shadow:0 0 34px rgba(185,166,242,.55)}
.stage:nth-child(5) .node{background:var(--gold);color:var(--night);border-color:var(--gold);box-shadow:0 0 44px rgba(232,203,140,.7)}
.stage .kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--lilac)}
.stage h3{color:var(--on-dark);font-size:2rem;margin:4px 0 8px}
.stage p{max-width:560px}

/* 6 · INCLUÍDO */
.included{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.inc-list{list-style:none}
.inc-list li{display:grid;grid-template-columns:34px 1fr;padding:16px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
.inc-list li::before{content:"✦";color:var(--gold-deep)}
.facts{display:grid;gap:12px;margin-top:28px}
.fact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;font-size:.95rem;color:var(--muted)}
.fact b{display:block;color:var(--ink);font-weight:600}

/* 7 · VAGAS */
.vagas{background:radial-gradient(90% 80% at 50% 0%,#3A2E72 0%,var(--night) 70%)}
.three{font-family:"Cormorant Garamond",serif;font-size:clamp(7rem,16vw,11rem);line-height:1;margin-bottom:10px;color:var(--gold);text-shadow:0 0 50px rgba(232,203,140,.45)}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:52px 0 44px;text-align:left}
.s3{border:1px solid var(--line-dark);border-radius:20px;padding:26px 24px;background:rgba(255,255,255,.03)}
.s3 span{font-family:"Cormorant Garamond",serif;font-size:1.8rem;color:var(--lilac)}
.s3 p{margin-top:6px;font-size:.98rem}

/* 8 · BIO */
.bio{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.bio-img{position:relative}
.bio-img img{border-radius:300px 300px 24px 24px;aspect-ratio:4/5;object-fit:cover;object-position:50% 42%;width:100%}
.bio-img::after{content:"";position:absolute;inset:-14px;border:1px solid var(--lilac);border-radius:310px 310px 32px 32px;opacity:.6;pointer-events:none}
.bio p{color:var(--muted);margin-top:16px}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.creds span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 15px;font-size:.86rem}
.sign{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.5rem;color:var(--violet);margin-top:26px}

/* 9 · FAQ + FINAL */
.faq{margin-top:44px}
details{border-bottom:1px solid var(--line-dark);padding:22px 0}
summary{cursor:pointer;list-style:none;font-family:"Cormorant Garamond",serif;font-size:1.4rem;color:var(--on-dark);display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--gold);font-family:Manrope,sans-serif;font-size:1.4rem;transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:10px}
.final{margin-top:96px;padding:64px 28px;border-radius:32px;text-align:center;background:radial-gradient(80% 120% at 50% 100%,rgba(232,203,140,.22),transparent 60%),linear-gradient(180deg,#221B44,#16122E);border:1px solid var(--line-dark)}
.final h2{margin-bottom:14px}
.final .btn{margin-top:30px}
.final .note{justify-content:center}
footer{background:#0B0919;color:var(--on-dark-muted);padding:34px 0;font-size:.86rem;text-align:center}
footer a{color:var(--lilac);text-decoration:none}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width:900px){
  .layers{grid-template-columns:1fr 1fr}
  .session{grid-template-columns:1fr 1fr;row-gap:40px}
  .session::before{display:none}
}
@media (max-width:760px){
  section{padding:72px 0}
  .hero{min-height:auto;padding:40px 0 72px}
  .hero-grid,.split,.included,.bio{grid-template-columns:1fr;gap:36px}
  .mandala{order:-1;max-width:320px}
  .layers,.session,.steps3,.cycle{grid-template-columns:1fr}
  .phase,.phase+.phase{padding:28px 0 4px;border-left:0}
  .phase+.phase{border-top:1px solid var(--line-dark)}
  .layer{border-radius:24px;padding:26px 20px}
  .stage{grid-template-columns:48px 1fr;gap:18px}
  .stage .node{width:48px;height:48px;font-size:1.15rem}
  .path::before{left:23px}
  .stage h3{font-size:1.7rem}
  .btn{width:100%;padding:18px 24px}
  .bio-img{max-width:380px;margin:0 auto;width:100%}
  .final{padding:48px 22px;margin-top:72px}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .spin,.spin-r,.pulse,.stars i{animation:none}
}
