/* LearnLytx, themed light/dark, consistent surfaces */
:root{
  /* Brand accents, same in both modes */
  --brand-pink: 340 82% 62%;
  --brand-coral: 8 88% 64%;
  --brand-orange: 28 92% 60%;
  --brand-gold: 42 95% 58%;
  --brand-teal: 175 70% 44%;
  --brand-blue: 222 78% 58%;
  --brand-purple: 268 70% 62%;
}
/* Light theme (default) */
:root, [data-theme="light"]{
  --bg: 36 60% 98%;
  --bg-2: 36 50% 96%;
  --surface: 0 0% 100%;
  --surface-2: 36 40% 97%;
  --surface-elev: 0 0% 100%;
  --text: 230 30% 12%;
  --text-2: 230 18% 36%;
  --text-3: 230 12% 55%;
  --border: 230 20% 90%;
  --border-strong: 230 20% 80%;
  --shadow: 230 30% 12%;
  --nav-blur: 36 60% 98%;
  --soft-1: 340 60% 97%;
  --soft-2: 222 60% 97%;
  --soft-3: 175 50% 96%;
  --soft-4: 28 65% 97%;
  --soft-5: 268 50% 97%;
  --soft-6: 42 80% 95%;
}
/* Dark theme */
[data-theme="dark"]{
  --bg: 230 30% 7%;
  --bg-2: 230 30% 9%;
  --surface: 230 28% 12%;
  --surface-2: 230 28% 14%;
  --surface-elev: 230 28% 14%;
  --text: 36 30% 96%;
  --text-2: 230 14% 75%;
  --text-3: 230 10% 60%;
  --border: 230 20% 20%;
  --border-strong: 230 20% 28%;
  --shadow: 0 0% 0%;
  --nav-blur: 230 30% 7%;
  --soft-1: 340 40% 14%;
  --soft-2: 222 40% 14%;
  --soft-3: 175 40% 12%;
  --soft-4: 28 40% 14%;
  --soft-5: 268 40% 14%;
  --soft-6: 42 40% 14%;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:hsl(var(--bg)) !important;transition:background .3s}
body{
  font-family:"DM Sans",system-ui,sans-serif;
  color:hsl(var(--text));
  background:hsl(var(--bg)) !important;
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
  transition:background .3s, color .3s;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:"Sora",sans-serif;font-weight:700;letter-spacing:-0.02em;line-height:1.05;margin:0;color:hsl(var(--text))}
p{margin:0}

/* Buttons */
.ll-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:15px;border:1.5px solid transparent;transition:transform .2s, box-shadow .2s, background .2s, border-color .2s;cursor:pointer;white-space:nowrap}
.ll-btn--lg{padding:14px 26px;font-size:16px}
.ll-btn--xl{padding:18px 32px;font-size:17px}
.ll-btn--hero{background:linear-gradient(135deg,hsl(var(--brand-pink)),hsl(var(--brand-coral)));color:#fff;box-shadow:0 10px 30px -8px hsl(var(--brand-pink)/0.5)}
.ll-btn--hero:hover{transform:translateY(-2px);box-shadow:0 16px 36px -8px hsl(var(--brand-pink)/0.6)}
.ll-btn--cta{background:linear-gradient(135deg,hsl(var(--brand-gold)),hsl(var(--brand-orange)));color:hsl(230 30% 12%);box-shadow:0 10px 30px -8px hsl(var(--brand-orange)/0.5)}
.ll-btn--cta:hover{transform:translateY(-2px)}
.ll-btn--outline{background:transparent;color:hsl(var(--text));border-color:hsl(var(--text)/0.2)}
.ll-btn--outline:hover{border-color:hsl(var(--text)/0.5);background:hsl(var(--text)/0.04)}
.ll-btn--outline-light{background:transparent;color:hsl(var(--text));border-color:hsl(var(--text)/0.3)}
.ll-btn--outline-light:hover{background:hsl(var(--text)/0.06);border-color:hsl(var(--text)/0.6)}
.arr{transition:transform .2s}
.ll-btn:hover .arr{transform:translateX(4px)}

/* Tag pills */
.tag-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:0.02em}
.tag-pill--purple{background:hsl(var(--brand-purple)/0.14);color:hsl(var(--brand-purple))}
.tag-pill--coral{background:hsl(var(--brand-coral)/0.14);color:hsl(var(--brand-coral))}
.tag-pill--blue{background:hsl(var(--brand-blue)/0.14);color:hsl(var(--brand-blue))}
.tag-pill--teal{background:hsl(var(--brand-teal)/0.16);color:hsl(var(--brand-teal))}
.tag-pill--gold{background:hsl(var(--brand-gold)/0.20);color:hsl(28 90% 50%)}
[data-theme="dark"] .tag-pill--gold{color:hsl(var(--brand-gold))}
.tag-pill--orange{background:hsl(var(--brand-orange)/0.16);color:hsl(var(--brand-orange))}
.pulse{width:8px;height:8px;border-radius:999px;background:hsl(var(--brand-pink));box-shadow:0 0 0 0 hsl(var(--brand-pink)/0.6);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 hsl(var(--brand-pink)/0.6)}50%{box-shadow:0 0 0 8px hsl(var(--brand-pink)/0)}}

/* Gradient text */
.gradient-text{background:linear-gradient(110deg,hsl(var(--brand-pink)),hsl(var(--brand-purple)) 50%,hsl(var(--brand-blue)));-webkit-background-clip:text;background-clip:text;color:transparent}
.gradient-text--coral{background:linear-gradient(110deg,hsl(var(--brand-coral)),hsl(var(--brand-pink)));-webkit-background-clip:text;background-clip:text;color:transparent}
.gradient-text--orange{background:linear-gradient(110deg,hsl(var(--brand-orange)),hsl(var(--brand-coral)));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Nav */
.ll-nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .25s, box-shadow .25s, border-color .25s;border-bottom:1px solid transparent}
.ll-nav--scrolled{background:hsl(var(--nav-blur)/0.85);backdrop-filter:blur(14px);border-bottom-color:hsl(var(--border));box-shadow:0 4px 20px -10px hsl(var(--shadow)/0.15)}
.ll-nav__inner{max-width:1240px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:24px}
.ll-nav__brand{display:flex;align-items:center;gap:10px}
.ll-nav__logo{width:34px;height:34px;border-radius:8px;object-fit:cover}
.ll-nav__name{font-family:"Sora",sans-serif;font-weight:700;font-size:18px;letter-spacing:-0.01em}
.ll-nav__links{display:flex;gap:6px;margin-left:auto}
.ll-nav__link{padding:8px 14px;border-radius:999px;font-size:14.5px;font-weight:500;color:hsl(var(--text-2));transition:color .2s, background .2s}
.ll-nav__link:hover{color:hsl(var(--text));background:hsl(var(--text)/0.06)}
.ll-nav__cta{margin-left:8px}
.ll-nav__burger{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer}
.ll-nav__burger span{width:22px;height:2px;background:hsl(var(--text));border-radius:2px}
.ll-nav__mobile{display:none;background:hsl(var(--bg));border-top:1px solid hsl(var(--border));padding:18px 28px;flex-direction:column;gap:14px}
.ll-nav__mobile a{padding:8px 0;font-weight:500}
@media(max-width:880px){
  .ll-nav__links,.ll-nav__cta{display:none}
  .ll-nav__burger{display:flex}
  .ll-nav__mobile{display:flex}
}

/* Sections */
.section{position:relative;padding:120px 0;overflow:hidden;background:hsl(var(--bg));transition:background .3s}
.section__inner{max-width:1240px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
.section__bg{position:absolute;inset:0;z-index:1;pointer-events:none}
.section__head{max-width:780px;margin:0 auto 64px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.section__title{font-size:clamp(36px,5vw,58px)}
.section__lede{font-size:18px;color:hsl(var(--text-2));max-width:640px;line-height:1.6}

/* Orbs */
.orb{position:absolute;border-radius:999px;filter:blur(50px);opacity:0.5;pointer-events:none}
[data-theme="dark"] .orb{opacity:0.4}
.orb-pink{top:10%;left:8%;width:380px;height:380px;background:hsl(var(--brand-pink)/0.25)}
.orb-blue{top:30%;right:10%;width:340px;height:340px;background:hsl(var(--brand-blue)/0.22)}
.orb-teal{bottom:18%;left:30%;width:300px;height:300px;background:hsl(var(--brand-teal)/0.22)}
.orb-orange{bottom:8%;right:20%;width:280px;height:280px;background:hsl(var(--brand-orange)/0.22)}
.orb-purple{top:40%;left:40%;width:300px;height:300px;background:hsl(var(--brand-purple)/0.20)}
.orb-gold{top:10%;right:20%;width:320px;height:320px;background:hsl(var(--brand-gold)/0.30)}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:140px 28px 100px;overflow:hidden;background:linear-gradient(180deg,hsl(var(--bg)),hsl(var(--bg-2)));transition:background .3s}
.hero__bg{position:absolute;inset:0;pointer-events:none}
.hero__inner{position:relative;z-index:2;max-width:1000px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.hero__title{font-size:clamp(44px,6.5vw,84px);line-height:1.02;max-width:980px}
.hero__lede{font-size:clamp(17px,1.4vw,20px);color:hsl(var(--text-2));max-width:680px;line-height:1.6}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.hero__fade{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,hsl(var(--bg)));z-index:1;pointer-events:none}

/* Soft section backgrounds, both themes use semantic surface tints */
.bg-soft-pink-blue{background:linear-gradient(180deg,hsl(var(--bg)),hsl(var(--soft-1)) 40%,hsl(var(--soft-2)))}
.bg-soft-teal-orange{background:linear-gradient(180deg,hsl(var(--bg)),hsl(var(--soft-3)) 40%,hsl(var(--soft-4)))}
.bg-soft-blue-purple{background:linear-gradient(180deg,hsl(var(--bg)),hsl(var(--soft-2)) 40%,hsl(var(--soft-5)))}
.bg-soft-final{background:linear-gradient(180deg,hsl(var(--bg)),hsl(var(--soft-6)))}

/* Cards3 */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:980px){.cards3{grid-template-columns:1fr}}
.card-grad{position:relative;border-radius:24px;padding:34px 30px;background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:0 4px 24px -10px hsl(var(--shadow)/0.10);transition:transform .25s, box-shadow .25s, border-color .25s, background .3s;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.card-grad:hover{transform:translateY(-4px);box-shadow:0 16px 40px -12px hsl(var(--shadow)/0.20)}
.card-grad::before{content:"";position:absolute;inset:0;opacity:0.10;pointer-events:none}
[data-theme="dark"] .card-grad::before{opacity:0.18}
.card-grad--pink::before{background:linear-gradient(135deg,hsl(var(--brand-pink)),hsl(var(--brand-coral)))}
.card-grad--blue::before{background:linear-gradient(135deg,hsl(var(--brand-blue)),hsl(var(--brand-purple)))}
.card-grad--teal::before{background:linear-gradient(135deg,hsl(var(--brand-teal)),hsl(var(--brand-blue)))}
.card-grad__icon{position:relative;width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:"Sora",sans-serif;font-weight:700;font-size:22px;color:#fff}
.card-grad--pink .card-grad__icon{background:linear-gradient(135deg,hsl(var(--brand-pink)),hsl(var(--brand-coral)))}
.card-grad--blue .card-grad__icon{background:linear-gradient(135deg,hsl(var(--brand-blue)),hsl(var(--brand-purple)))}
.card-grad--teal .card-grad__icon{background:linear-gradient(135deg,hsl(var(--brand-teal)),hsl(var(--brand-blue)))}
.card-grad h3{position:relative;font-size:22px}
.card-grad p{position:relative;color:hsl(var(--text-2));font-size:15.5px;line-height:1.6}

/* Feature cards grid */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards-grid--2{grid-template-columns:repeat(2,1fr);max-width:1000px;margin:0 auto}
@media(max-width:980px){.cards-grid,.cards-grid--2{grid-template-columns:1fr}}
.feature-card{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:20px;padding:28px;display:flex;gap:18px;align-items:flex-start;transition:transform .25s, box-shadow .25s, border-color .25s, background .3s}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px hsl(var(--shadow)/0.20)}
.feature-card[data-color="pink"]:hover{border-color:hsl(var(--brand-pink)/0.5)}
.feature-card[data-color="blue"]:hover{border-color:hsl(var(--brand-blue)/0.5)}
.feature-card[data-color="purple"]:hover{border-color:hsl(var(--brand-purple)/0.5)}
.feature-card[data-color="coral"]:hover{border-color:hsl(var(--brand-coral)/0.5)}
.feature-card[data-color="teal"]:hover{border-color:hsl(var(--brand-teal)/0.5)}
.feature-card[data-color="orange"]:hover{border-color:hsl(var(--brand-orange)/0.5)}
.feature-card__icon{flex-shrink:0;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:"Sora",sans-serif;font-weight:700;font-size:15px;color:#fff;letter-spacing:0.02em}
.feature-card[data-color="pink"] .feature-card__icon{background:linear-gradient(135deg,hsl(var(--brand-pink)),hsl(var(--brand-coral)))}
.feature-card[data-color="blue"] .feature-card__icon{background:linear-gradient(135deg,hsl(var(--brand-blue)),hsl(var(--brand-purple)))}
.feature-card[data-color="purple"] .feature-card__icon{background:linear-gradient(135deg,hsl(var(--brand-purple)),hsl(var(--brand-pink)))}
.feature-card[data-color="coral"] .feature-card__icon{background:linear-gradient(135deg,hsl(var(--brand-coral)),hsl(var(--brand-orange)))}
.feature-card[data-color="teal"] .feature-card__icon{background:linear-gradient(135deg,hsl(var(--brand-teal)),hsl(var(--brand-blue)))}
.feature-card[data-color="orange"] .feature-card__icon{background:linear-gradient(135deg,hsl(var(--brand-orange)),hsl(var(--brand-gold)))}
.feature-card h3{font-size:18px;margin-bottom:6px}
.feature-card p{color:hsl(var(--text-2));font-size:15px;line-height:1.55}

/* Flagship, themed surface, not hardcoded dark anymore */
.flagship{background:linear-gradient(180deg,hsl(var(--bg-2)),hsl(var(--bg)))}
.flagship__card{margin-top:40px;background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:28px;padding:40px;display:flex;flex-direction:column;gap:32px;box-shadow:0 30px 80px -30px hsl(var(--shadow)/0.30);transition:background .3s, border-color .3s}
.flagship__head{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.flagship__logo{width:74px;height:74px;border-radius:18px;object-fit:cover;box-shadow:0 8px 28px -8px hsl(var(--brand-pink)/0.5)}
.flagship__head h3{font-size:30px;margin-bottom:6px;color:hsl(var(--text))}
.flagship__head p{color:hsl(var(--text-2));font-size:16px}
.flagship__head em{color:hsl(var(--brand-orange));font-size:14px;font-style:italic;display:block;margin-top:6px}
.flagship__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:28px 0;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}
@media(max-width:760px){.flagship__stats{grid-template-columns:repeat(2,1fr)}}
.flagship__stat-v{font-family:"Sora",sans-serif;font-weight:800;font-size:34px;background:linear-gradient(110deg,hsl(var(--brand-pink)),hsl(var(--brand-orange)));-webkit-background-clip:text;background-clip:text;color:transparent}
.flagship__stat-lab{color:hsl(var(--text-2));font-size:13.5px;margin-top:4px}
.flagship__features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:760px){.flagship__features{grid-template-columns:1fr}}
.feat{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:hsl(var(--surface-2));border:1px solid hsl(var(--border))}
.feat span{font-size:14px;color:hsl(var(--text))}
.feat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:"Sora",sans-serif;font-weight:700;font-size:12px;color:#fff;letter-spacing:0.04em;flex-shrink:0}
.feat-icon--pink{background:linear-gradient(135deg,hsl(var(--brand-pink)),hsl(var(--brand-coral)))}
.feat-icon--blue{background:linear-gradient(135deg,hsl(var(--brand-blue)),hsl(var(--brand-purple)))}
.feat-icon--teal{background:linear-gradient(135deg,hsl(var(--brand-teal)),hsl(var(--brand-blue)))}
.feat-icon--purple{background:linear-gradient(135deg,hsl(var(--brand-purple)),hsl(var(--brand-pink)))}
.feat-icon--coral{background:linear-gradient(135deg,hsl(var(--brand-coral)),hsl(var(--brand-orange)))}
.feat-icon--orange{background:linear-gradient(135deg,hsl(var(--brand-orange)),hsl(var(--brand-gold)))}
.flagship__cta{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding-top:8px}
@media(max-width:880px){.flagship__cta{grid-template-columns:1fr}}
.flagship__cta p{color:hsl(var(--text-2));font-size:15px;line-height:1.55}
.checks{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap}
.checks span{font-size:13.5px;font-weight:600}
.check-teal{color:hsl(var(--brand-teal))}
.check-pink{color:hsl(var(--brand-pink))}

/* Outcomes, themed, not hardcoded dark */
.outcomes{background:linear-gradient(180deg,hsl(var(--bg)),hsl(var(--bg-2)))}
.outcomes__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:24px}
@media(max-width:880px){.outcomes__grid{grid-template-columns:repeat(2,1fr)}}
.outcomes__stat{padding:28px;border-radius:20px;background:hsl(var(--surface));border:1px solid hsl(var(--border));text-align:center;transition:background .3s, border-color .3s, transform .25s, box-shadow .25s}
.outcomes__stat:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px hsl(var(--shadow)/0.20)}
.outcomes__v{font-family:"Sora",sans-serif;font-weight:800;font-size:48px;line-height:1;background-clip:text;-webkit-background-clip:text;color:transparent}
.outcomes__v--pink{background-image:linear-gradient(110deg,hsl(var(--brand-pink)),hsl(var(--brand-coral)))}
.outcomes__v--blue{background-image:linear-gradient(110deg,hsl(var(--brand-blue)),hsl(var(--brand-purple)))}
.outcomes__v--teal{background-image:linear-gradient(110deg,hsl(var(--brand-teal)),hsl(var(--brand-blue)))}
.outcomes__v--gold{background-image:linear-gradient(110deg,hsl(var(--brand-gold)),hsl(var(--brand-orange)))}
.outcomes__lab{color:hsl(var(--text-2));font-size:14.5px;margin-top:14px;line-height:1.5}

/* Process */
.process__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:24px}
@media(max-width:980px){.process__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.process__grid{grid-template-columns:1fr}}
.process__card{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:20px;padding:28px;position:relative;transition:transform .25s, box-shadow .25s, background .3s, border-color .3s}
.process__card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px hsl(var(--shadow)/0.20)}
.process__num{font-family:"Sora",sans-serif;font-weight:800;font-size:48px;line-height:1;background-clip:text;-webkit-background-clip:text;color:transparent}
.process__card[data-color="pink"] .process__num{background-image:linear-gradient(110deg,hsl(var(--brand-pink)),hsl(var(--brand-coral)))}
.process__card[data-color="coral"] .process__num{background-image:linear-gradient(110deg,hsl(var(--brand-coral)),hsl(var(--brand-orange)))}
.process__card[data-color="blue"] .process__num{background-image:linear-gradient(110deg,hsl(var(--brand-blue)),hsl(var(--brand-purple)))}
.process__card[data-color="teal"] .process__num{background-image:linear-gradient(110deg,hsl(var(--brand-teal)),hsl(var(--brand-blue)))}
.process__card[data-color="purple"] .process__num{background-image:linear-gradient(110deg,hsl(var(--brand-purple)),hsl(var(--brand-pink)))}
.process__bar{height:3px;width:48px;border-radius:3px;margin:14px 0 18px}
.process__card[data-color="pink"] .process__bar{background:linear-gradient(90deg,hsl(var(--brand-pink)),hsl(var(--brand-coral)))}
.process__card[data-color="coral"] .process__bar{background:linear-gradient(90deg,hsl(var(--brand-coral)),hsl(var(--brand-orange)))}
.process__card[data-color="blue"] .process__bar{background:linear-gradient(90deg,hsl(var(--brand-blue)),hsl(var(--brand-purple)))}
.process__card[data-color="teal"] .process__bar{background:linear-gradient(90deg,hsl(var(--brand-teal)),hsl(var(--brand-blue)))}
.process__card[data-color="purple"] .process__bar{background:linear-gradient(90deg,hsl(var(--brand-purple)),hsl(var(--brand-pink)))}
.process__card h3{font-size:20px;margin-bottom:8px}
.process__card p{color:hsl(var(--text-2));font-size:15px;line-height:1.55}

/* Final CTA */
.final-cta{padding:120px 0}
.final-cta__inner{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.final-cta__inner h2{font-size:clamp(40px,5.5vw,68px)}
.final-cta__inner p{color:hsl(var(--text-2));font-size:18px}

/* Footer, themed */
.footer{padding:48px 28px;background:hsl(var(--surface-2));color:hsl(var(--text));border-top:1px solid hsl(var(--border));transition:background .3s, color .3s, border-color .3s}
.footer__inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer__brand{display:flex;align-items:center;gap:12px}
.footer__brand img{width:36px;height:36px;border-radius:8px}
.footer__brand p{font-family:"Sora",sans-serif;font-weight:700;font-size:18px}
.footer__copy{color:hsl(var(--text-3));font-size:14px}

/* Reveal */
.fade-up{opacity:1;transform:none;transition:opacity .7s ease, transform .7s ease}
.fade-up.armed{opacity:0;transform:translateY(28px)}
.fade-up.armed.in{opacity:1;transform:none}
.stagger > .fade-up{transition-delay:0ms}
.stagger > .fade-up:nth-child(2){transition-delay:80ms}
.stagger > .fade-up:nth-child(3){transition-delay:160ms}
.stagger > .fade-up:nth-child(4){transition-delay:240ms}
.stagger > .fade-up:nth-child(5){transition-delay:320ms}
.stagger > .fade-up:nth-child(6){transition-delay:400ms}

/* Floating orbs */
@keyframes drift1{0%,100%{transform:translate(0,var(--scroll-y,0px)) scale(1)}50%{transform:translate(30px,calc(-40px + var(--scroll-y,0px))) scale(1.08)}}
@keyframes drift2{0%,100%{transform:translate(0,var(--scroll-y,0px)) scale(1)}50%{transform:translate(-40px,calc(30px + var(--scroll-y,0px))) scale(1.05)}}
@keyframes drift3{0%,100%{transform:translate(0,var(--scroll-y,0px)) scale(1)}50%{transform:translate(20px,calc(40px + var(--scroll-y,0px))) scale(0.95)}}
.orb-pink{animation:drift1 14s ease-in-out infinite}
.orb-blue{animation:drift2 18s ease-in-out infinite}
.orb-teal{animation:drift3 16s ease-in-out infinite}
.orb-orange{animation:drift1 20s ease-in-out infinite}
.orb-purple{animation:drift2 22s ease-in-out infinite}
.orb-gold{animation:drift3 19s ease-in-out infinite}

/* Animated gradient text on hero */
@keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.gradient-text{background-size:200% 200%;animation:gradShift 8s ease-in-out infinite}
.gradient-text--coral,.gradient-text--orange{background-size:200% 200%;animation:gradShift 10s ease-in-out infinite}

/* Card sheen on hover */
.feature-card,.process__card,.outcomes__stat,.card-grad{position:relative;overflow:hidden}
.feature-card::after,.process__card::after,.outcomes__stat::after,.card-grad::after{
  content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;
  background:linear-gradient(120deg,transparent 30%,hsl(var(--text)/0.06) 50%,transparent 70%);
  transform:skewX(-20deg);transition:left .8s ease;pointer-events:none;z-index:1
}
.feature-card:hover::after,.process__card:hover::after,.outcomes__stat:hover::after,.card-grad:hover::after{left:130%}
.feature-card > *,.process__card > *,.outcomes__stat > *,.card-grad > *{position:relative;z-index:2}

/* Big-number count-up shimmer */
@keyframes countShimmer{0%{filter:brightness(1)}50%{filter:brightness(1.3)}100%{filter:brightness(1)}}
.outcomes__stat.in .outcomes__v,.flagship__stat.in .flagship__stat-v{animation:countShimmer 1.6s ease-out}

/* Hero CTA pulse-on-load */
@keyframes ctaPulse{0%{box-shadow:0 10px 30px -8px hsl(var(--brand-pink)/0.5),0 0 0 0 hsl(var(--brand-pink)/0.5)}70%{box-shadow:0 10px 30px -8px hsl(var(--brand-pink)/0.5),0 0 0 18px hsl(var(--brand-pink)/0)}100%{box-shadow:0 10px 30px -8px hsl(var(--brand-pink)/0.5),0 0 0 0 hsl(var(--brand-pink)/0)}}
.hero .ll-btn--hero{animation:ctaPulse 2.6s ease-out 0.6s 2}

/* Tag pill subtle bob */
@keyframes tagBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.hero .tag-pill{animation:tagBob 4s ease-in-out infinite}

/* Underline-grow on nav links */
.ll-nav__link{position:relative}
.ll-nav__link::before{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,hsl(var(--brand-pink)),hsl(var(--brand-orange)));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.ll-nav__link:hover::before{transform:scaleX(1)}

/* Process: connector line that fills on reveal */
.process__grid{position:relative}
.process__card{transform-origin:center bottom}
.process__card.in{animation:cardPop .7s cubic-bezier(.22,1.2,.4,1) backwards}
@keyframes cardPop{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}

/* Feat tile bob on hover */
.feat{transition:transform .25s ease, border-color .25s ease, background .25s ease}
.feat:hover{transform:translateY(-3px);border-color:hsl(var(--brand-pink)/0.4)}

/* Brand logo subtle rotate-glow on nav hover */
.ll-nav__brand:hover .ll-nav__logo{animation:logoSpin .8s ease}
@keyframes logoSpin{0%{transform:rotate(0)}50%{transform:rotate(8deg) scale(1.05)}100%{transform:rotate(0)}}

/* Pulse dot keep */
@media(prefers-reduced-motion: reduce){
  .fade-up{opacity:1 !important;transform:none !important}
  .pulse,.orb-pink,.orb-blue,.orb-teal,.orb-orange,.orb-purple,.orb-gold,.gradient-text,.gradient-text--coral,.gradient-text--orange,.hero .ll-btn--hero,.hero .tag-pill,.process__card.in{animation:none !important}
}
