:root{
  --night:#1B0A1F; --plum:#2D1233; --peach:#FFB48C; --pink:#FF3F80; --cream:#FFF1EA; --lilac:#CDA9C8;
  --paper:#F8E6E0; --card:#FFF6F2; --ink:#2D1233; --muted:#6E4E6A; --line:#E6CBC4;
  --display:"Unbounded","Arial Black",Impact,sans-serif;
  --sans:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#220D26;--card:#2F1534;--ink:#FFF1EA;--muted:#CDA9C8;--line:#43213F;color-scheme:dark}
}
:root[data-theme="dark"]{--paper:#220D26;--card:#2F1534;--ink:#FFF1EA;--muted:#CDA9C8;--line:#43213F;color-scheme:dark}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);height:auto}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:4px}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
h2{font-family:var(--display);font-weight:700;font-size:clamp(2rem,5.2vw,4rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 1.25rem;max-width:16ch}
.intro{max-width:58ch;color:var(--muted);font-size:1.15rem;margin:0 0 3rem}
section{padding:clamp(4rem,9vw,8rem) 0;position:relative}

.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-weight:700;font-size:1rem;text-decoration:none;padding:.95rem 1.5rem;border-radius:999px;border:2px solid var(--pink);background:var(--pink);color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px var(--pink)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.btn.ghost:hover{box-shadow:none;background:color-mix(in srgb,currentColor 10%,transparent)}

/* nav */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--night)}
header.nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:9;color:var(--cream);transition:background .3s,backdrop-filter .3s}
header.nav.solid{background:color-mix(in srgb,var(--night) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:72px}
.logo{font-family:var(--display);font-weight:900;font-size:1.35rem;letter-spacing:-.02em;text-decoration:none}
.logo b{color:var(--pink);font-weight:900}
.nav ul{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;font-weight:500;font-size:.95rem;opacity:.85}
.nav ul a:hover{opacity:1;color:var(--peach)}
.nav .btn{padding:.6rem 1.15rem;font-size:.9rem}
@media (max-width:900px){.nav ul{display:none}}

/* hero */
.hero{position:relative;background:var(--night);color:var(--cream);overflow:hidden;padding:calc(72px + 3rem) 0 0;min-height:100svh;display:flex;flex-direction:column;--mx:70%;--my:40%}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle 520px at var(--mx) var(--my),rgba(255,180,140,.30),rgba(255,63,128,.12) 45%,transparent 72%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hero .wrap{position:relative;z-index:1}
.kicker{font-weight:500;color:var(--lilac);margin:0 0 1.5rem;display:flex;align-items:center;gap:.6rem}
.kicker i{width:10px;height:10px;border-radius:50%;background:#FF4A3D;box-shadow:0 0 12px #FF4A3D;animation:blink 1.4s steps(1) infinite}
@keyframes blink{50%{opacity:.15}}
.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2.3rem,6.4vw,5.6rem);line-height:.98;letter-spacing:-.035em;margin:0 0 1.6rem;max-width:13ch}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln span{display:block;transform:translateY(105%);animation:rise .9s cubic-bezier(.2,.8,.2,1) forwards}
.hero h1 .ln:nth-child(2) span{animation-delay:.12s}
.hero h1 .ln:nth-child(3) span{animation-delay:.24s}
@keyframes rise{to{transform:none}}
.rotator{font-size:clamp(1.1rem,2vw,1.35rem);margin:0 0 2.2rem;max-width:40ch;opacity:0;animation:fade .8s .6s forwards}
.rotator .word{display:inline-block;color:var(--peach);font-weight:700;transition:transform .35s,opacity .35s}
.rotator .word.out{transform:translateY(-.6em);opacity:0}
.hero .actions{display:flex;flex-wrap:wrap;gap:.8rem;opacity:0;animation:fade .8s .8s forwards}
@keyframes fade{to{opacity:1}}
.wordmark{position:relative;z-index:1;font-family:var(--display);font-weight:900;font-size:24.5vw;line-height:.8;letter-spacing:-.06em;margin:auto 0 0;padding:4vw 0 0 1vw;white-space:nowrap;user-select:none;color:transparent;-webkit-text-stroke:1.5px rgba(255,241,234,.22);background:radial-gradient(circle 32vw at var(--wx,60%) var(--wy,50%),#FFD2B5 0%,var(--peach) 18%,var(--pink) 42%,transparent 70%);-webkit-background-clip:text;background-clip:text;transform:translateY(8%)}

/* marquee */
.marquee{background:var(--pink);color:#fff;overflow:hidden;padding:1rem 0;transform:rotate(-1.5deg) scale(1.03);margin-top:-1.5rem;position:relative;z-index:2}
.marquee .track{display:flex;width:max-content;animation:slide 32s linear infinite}
.marquee span{font-family:var(--display);font-weight:700;font-size:clamp(1rem,2vw,1.4rem);padding:0 1.4rem;white-space:nowrap;display:flex;align-items:center;gap:2.8rem}
.marquee span::after{content:"";width:.55rem;height:.55rem;background:var(--night);transform:rotate(45deg)}
@keyframes slide{to{transform:translateX(-50%)}}

/* pains */
.pains .head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:3rem}
.pains .head .intro{margin:0}
@media (max-width:800px){.pains .head{grid-template-columns:1fr}}
.stack{padding-bottom:12vh}
.pain{position:sticky;top:calc(100px + var(--i) * 22px);min-height:clamp(260px,38vh,340px);margin-bottom:5vh;border-radius:28px;padding:clamp(1.75rem,4vw,3.25rem);display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem 3rem;align-items:end;transform:rotate(var(--r));box-shadow:0 -8px 40px -20px rgba(27,10,31,.45)}
.pain h3{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,3.6vw,2.9rem);line-height:1.02;letter-spacing:-.03em;margin:0}
.pain p{margin:0;font-size:1.15rem;max-width:40ch}
.pain .tag{grid-column:1/-1;align-self:start;font-weight:700;font-size:.95rem;opacity:.75}
.pain:nth-child(1){background:var(--plum);color:var(--cream);--r:-1deg}
.pain:nth-child(2){background:var(--peach);color:var(--night);--r:.8deg}
.pain:nth-child(3){background:var(--pink);color:#fff;--r:-.6deg}
.pain:nth-child(4){background:var(--lilac);color:var(--night);--r:1deg}
.pain:nth-child(5){background:var(--night);color:var(--cream);--r:-.4deg;border:2px solid var(--pink)}
@media (max-width:700px){.pain{grid-template-columns:1fr;align-items:start}}

/* reality / calendar */
.reality{background:var(--night);color:var(--cream)}
.reality .intro{color:var(--lilac)}
.big-quote{font-family:var(--display);font-weight:900;font-size:clamp(2.4rem,7vw,6rem);line-height:.95;letter-spacing:-.04em;margin:0 0 2rem;max-width:14ch}
.big-quote s{text-decoration-color:var(--pink);text-decoration-thickness:.12em;color:var(--lilac)}
.week-wrap{overflow-x:auto;margin:0 -1.25rem;padding:0 1.25rem 1rem}
.week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:.6rem;min-width:960px}
.day{background:var(--plum);border-radius:16px;padding:1rem .8rem;min-height:250px}
.day h4{margin:0 0 .9rem;font-family:var(--display);font-weight:500;font-size:.95rem;color:var(--lilac)}
.chip{display:block;font-size:.88rem;font-weight:700;padding:.55rem .7rem;border-radius:10px;margin-bottom:.45rem;line-height:1.25;opacity:0;transform:translateY(14px) scale(.96);transition:opacity .45s, transform .45s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d) * 45ms)}
.chip small{display:block;font-weight:500;opacity:.8;font-size:.78rem}
.week.in .chip{opacity:1;transform:none}
.chip.promo{background:var(--pink);color:#fff}
.chip.paid{background:var(--peach);color:var(--night)}
.chip.plan{background:var(--cream);color:var(--night)}
.legend{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.5rem;font-size:.95rem;color:var(--lilac)}
.legend span{display:flex;align-items:center;gap:.5rem}
.legend i{width:14px;height:14px;border-radius:4px;display:block}
.batch{margin-top:3rem;font-size:1.25rem;max-width:46ch}
.batch b{color:var(--peach)}

/* pipeline */
.pipe{position:relative;margin-top:1rem;padding-left:clamp(3.5rem,8vw,6rem)}
.pipe .track{position:absolute;left:clamp(1.1rem,3vw,2rem);top:.5rem;bottom:.5rem;width:4px;background:var(--line);border-radius:4px;overflow:hidden}
.pipe .track b{position:absolute;inset:0;background:linear-gradient(var(--peach),var(--pink));transform-origin:top;transform:scaleY(var(--p,0))}
.stage{position:relative;padding:0 0 clamp(2.5rem,6vw,4.5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:.75rem 3rem}
.stage:last-child{padding-bottom:0}
.stage::before{content:"";position:absolute;left:calc(-1 * clamp(3.5rem,8vw,6rem) + clamp(1.1rem,3vw,2rem) - 9px);top:.35rem;width:22px;height:22px;border-radius:50%;background:var(--paper);border:4px solid var(--line);transition:border-color .3s,background .3s,transform .3s}
.stage.on::before{border-color:var(--pink);background:var(--pink);transform:scale(1.15)}
.stage h3{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:-.03em;line-height:1.05;margin:0}
.stage h3 small{display:block;font-family:var(--sans);font-size:.95rem;font-weight:700;color:var(--pink);letter-spacing:0;margin-bottom:.4rem}
.stage p{margin:0;max-width:50ch;font-size:1.1rem}
@media (max-width:760px){.stage{grid-template-columns:1fr}}

/* deal */
.deal{background:var(--pink);color:#fff;overflow:hidden}
.deal .grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.deal h2{max-width:14ch}
.deal p{max-width:52ch;margin:0 0 1.1rem;font-size:1.12rem}
.ticket{background:var(--cream);color:var(--night);border-radius:24px;padding:2rem;position:relative;transform:rotate(2deg);box-shadow:0 30px 60px -30px rgba(27,10,31,.6)}
.ticket::before,.ticket::after{content:"";position:absolute;top:62%;width:34px;height:34px;border-radius:50%;background:var(--pink)}
.ticket::before{left:-17px}.ticket::after{right:-17px}
.ticket h3{font-family:var(--display);font-weight:700;font-size:1.4rem;margin:0 0 1.2rem}
.ticket dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.2rem}
.ticket dt{font-weight:700}.ticket dd{margin:0;color:#6E4E6A}
.ticket .price{margin-top:1.6rem;padding-top:1.4rem;border-top:2px dashed #E0BFB7;display:flex;justify-content:space-between;align-items:baseline}
.ticket .price strong{font-family:var(--display);font-weight:900;font-size:3rem;color:var(--pink);line-height:1}
@media (max-width:820px){.deal .grid{grid-template-columns:1fr}.ticket{transform:rotate(1deg)}}

/* who */
.who .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.who h3{font-family:var(--display);font-weight:700;font-size:1.45rem;letter-spacing:-.02em;margin:0 0 .7rem;padding-top:1.2rem;border-top:4px solid var(--pink)}
.who .cols div:nth-child(2) h3{border-color:var(--peach)}
.who .cols div:nth-child(3) h3{border-color:var(--lilac)}
.who p{margin:0;color:var(--muted)}
@media (max-width:800px){.who .cols{grid-template-columns:1fr}}

/* start steps */
.start{background:var(--card)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;counter-reset:s}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--night);color:var(--peach);font-family:var(--display);font-weight:900;font-size:1.4rem;margin-bottom:1.1rem}
.steps h3{font-size:1.25rem;margin:0 0 .4rem}
.steps p{margin:0;color:var(--muted)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}

/* safety */
.safety{background:var(--plum);color:var(--cream)}
.safety .intro{color:var(--lilac)}
.safety ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2.25rem 2.5rem}
.safety li b{display:block;font-family:var(--display);font-weight:700;font-size:1.1rem;margin-bottom:.4rem;color:var(--peach)}
.safety li{color:var(--cream);opacity:.92}
@media (max-width:900px){.safety ul{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.safety ul{grid-template-columns:1fr}}

/* faq */
.faq .grid{display:grid;grid-template-columns:1fr 1.6fr;gap:3rem}
@media (max-width:820px){.faq .grid{grid-template-columns:1fr}}
.faq details{border-bottom:1px solid var(--line);padding:1.2rem 0}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:700;font-size:1.12rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:1.5rem;color:var(--pink);transition:transform .25s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:.7rem 0 0;color:var(--muted);max-width:60ch}

/* contact */
.contact{background:var(--night);color:var(--cream);overflow:hidden}
.contact .grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,6vw,5rem)}
.contact .intro{color:var(--lilac)}
.contact .alt{display:flex;flex-wrap:wrap;gap:.7rem}
form{display:grid;gap:1.1rem}
label{font-weight:700;font-size:.95rem;display:grid;gap:.4rem}
input,textarea{font:inherit;color:var(--cream);background:var(--plum);border:2px solid transparent;border-radius:14px;padding:.85rem 1rem;width:100%}
input:focus,textarea:focus{outline:none;border-color:var(--pink)}
textarea{min-height:120px;resize:vertical}
fieldset{border:0;margin:0;padding:0}
legend{font-weight:700;font-size:.95rem;margin-bottom:.5rem}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}
.pills input{position:absolute;opacity:0;width:1px;height:1px}
.pills label{display:inline-block;font-weight:500;padding:.5rem 1rem;border-radius:999px;border:2px solid var(--lilac);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pills input:checked + label{background:var(--peach);border-color:var(--peach);color:var(--night)}
.pills input:focus-visible + label{outline:3px solid var(--pink);outline-offset:2px}
.form-note{font-size:.9rem;color:var(--lilac);margin:0}
@media (max-width:860px){.contact .grid{grid-template-columns:1fr}}

footer{background:var(--night);color:var(--lilac);font-size:.9rem;padding:0 0 2.5rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid #43213F;padding-top:1.75rem}
footer a{text-decoration:none;color:var(--cream)}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}

/* age gate */
.gate{position:fixed;inset:0;z-index:50;background:var(--night);color:var(--cream);display:flex;align-items:center;justify-content:center;padding:1.5rem}
.gate[hidden]{display:none}
.gate-box{max-width:32rem;text-align:center}
.gate-box .logo{font-size:3rem;display:block;margin-bottom:1.5rem}
.gate-box h2{margin:0 auto 1rem;font-size:1.8rem}
.gate-box p{color:var(--lilac);margin:0 0 2rem}
.gate-box .actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
body.locked{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero h1 .ln span{transform:none}
  .rotator,.hero .actions{opacity:1}
  .reveal,.chip{opacity:1;transform:none}
}

/* WordPress extras */
.admin-bar header.nav{top:32px}
@media (max-width:782px){.admin-bar header.nav{top:46px}}
.page-content{padding:calc(72px + 4rem) 0 5rem;min-height:70vh}
.page-content .entry{max-width:70ch}
.page-content h1{font-family:var(--display);font-weight:700;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.03em;line-height:1.05;margin:0 0 2rem}
.page-content a{color:var(--pink)}
body:not(.home) header.nav{background:var(--night)}
