*,
*::before,
*::after { box-sizing: border-box; }

:root{
  --container: 1200px;
  --plum: #81557F;
  --text: #0f172a;
  --soft: #E7DDE7;
  --border: #000000;
  --icon: 22px;
  --radius: 16px;
  --nav-separation: clamp(56px, 8vw, 240px);
  --video-w-mbl: min(88vw, 340px);
  --video-w-desktop: clamp(320px, 20vw, 360px);
  --overlap-mbl: clamp(72px, 16vw, 160px);
  --overlap-desktop: clamp(80px, 12vw, 160px);
  --img-shadow: none;
}

html, body { height: 100%; }
body{
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Inter, Roboto, Arial, sans-serif;
  line-height: 1.5;
  color: var(--text);
  background: #fff;
}
img{ max-width: 100%; display: block; }
.container{ width: min(100% - 32px, var(--container)); margin-inline: auto; }

.topbar{ background: var(--plum); color:#815E7E; font-size: 14px; }
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; padding-block:16px; min-height:56px; }
.topbar .email{ color:#fff; text-decoration:none; }
.social{ list-style:none; display:flex; align-items:center; gap:18px; margin:0; padding:0; }
.social li{ position: relative; }
.social li + li::before{
  content:""; position:absolute; left:-9px; top:50%; transform:translateY(-50%);
  width:1px; height: calc(var(--icon) + 2px); background: rgba(255,255,255,.6);
}
.social .icon{
  display:inline-flex; align-items:center; justify-content:center;
  width: var(--icon); height: var(--icon);
  color:#fff; text-decoration:none; opacity:.95;
}
.social .icon:hover{ opacity:1; }
.social .icon svg{ width:100%; height:100%; display:block; }

.site-header{ position: sticky; top:0; z-index:1000; background:#fff; border-bottom:1px solid var(--border); }
.header-inner{ display:flex; align-items:center; gap:16px; padding-block:14px; }
.logo-img{ height: clamp(48px, 4vw, 72px); width:auto; }
.nav-toggle{ margin-left:auto; border:1px solid var(--border); background:#fff; border-radius:10px; padding:6px 10px; }
.menu{ display:none; list-style:none; padding:0; margin:0; }
.menu.open{
  display:flex; position:absolute; right:16px; top:64px; flex-direction:column;
  background:#fff; border:1px solid var(--border); border-radius:12px; padding:8px; gap:6px;
}
.menu a{ text-decoration:none; color: var(--text); padding:8px 12px; border-radius:8px; }
.menu a:hover{ background: var(--soft); }

@media (min-width:1100px){
  .nav-toggle{ display:none; }
  .nav{ margin-left: var(--nav-separation); }
  .menu{ display:flex; gap: clamp(12px, 1.4vw, 28px); flex-wrap:nowrap; }
  .menu a{ white-space: nowrap; padding-block:3px; }
  .logo-img{ height: 92px; }
  .header-inner{ padding-block:10px; }
}

@media (max-width:1099px){
  .header-inner{ padding-inline:16px; }
  .menu.open{ right:16px; z-index:1001; }
}

.hero{ position: relative; overflow: visible; color:#fff; }
.hero-bg-img{ display:block; width:100%; height:auto; }
.hero h1{
  color:#fff; line-height:1.05; margin:0 0 8px;
  text-shadow:0 2px 24px rgba(0,0,0,.45);
}
.hero .sub{ color:#fff; text-shadow:0 1px 12px rgba(0,0,0,.35); }

@media (max-width:1023px){
  .hero-inner{
    position:absolute; inset:0 auto auto 0;
    transform:none; width:100%; padding:12px 16px 0; text-align:left; z-index:1;
  }
  .hero-logo{
    position:static; width:clamp(96px, 28vw, 132px); height:auto; margin-bottom:8px; opacity:.95;
  }
  .hero h1{ white-space:normal; font-size: clamp(22px, 6.2vw, 32px); line-height:1.15; }
  .hero .sub{ font-size: clamp(14px, 4.2vw, 18px); margin:0; }
}

@media (min-width:1024px){
  .hero-inner{
    position:absolute; left:50%; transform:translateX(-50%);
    width:min(100% - 32px, var(--container));
    top: clamp(140px, 18vw, 260px);
    text-align:center; z-index:1;
  }
  .hero-logo{
    position:absolute; left:clamp(24px, 4vw, 60px); top:clamp(24px, 4vw, 60px);
    width:clamp(84px, 18vw, 160px); height:auto; opacity:.95;
  }
  .hero h1{ white-space:nowrap; font-size: clamp(40px, 4vw, 64px); }
}

.section{ padding-block: clamp(32px, 6vw, 80px); }
.intro{ position: relative; z-index: 2; background: transparent; }
.intro-grid{ display:grid; gap: clamp(16px, 4vw, 28px); grid-template-areas: "media" "copy"; }
.intro-media{ grid-area: media; display:grid; place-items:center; position: relative; z-index:3; }
.video-frame{
  width: var(--video-w-mbl);
  border-radius:20px; padding:3px;
  background: linear-gradient(180deg, #55b8ff, #7c4aa1);
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
  overflow:hidden;
}
.video-frame > video{ display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:cover; border-radius:16px; }
.video-embed{ aspect-ratio:9/16; }
.intro-copy{ grid-area: copy; }
.intro-copy h2{ margin:0 0 12px; line-height:1.2; font-size: clamp(22px, 3.2vw, 34px); font-weight:800; }
.intro-copy p{ margin:0 0 14px; color:#4b5563; }

@media (max-width:1023px){
  .intro{ padding-top: calc(var(--overlap-mbl) + 20px); }
  .intro-media{ top: calc(var(--overlap-mbl) * -1); }
}

@media (min-width:1024px){
  .intro-grid{
    grid-template-columns: 1.05fr auto;
    grid-template-areas: "copy media";
    align-items:start; gap: clamp(24px, 3vw, 40px);
  }
  .video-frame{ width: var(--video-w-desktop); }
  .intro-media{ transform: translateY(calc(var(--overlap-desktop) * -1)); }
  .intro-copy h2{ font-size: clamp(30px, 2.6vw, 40px); }
}

.learn{ position:relative; }
.learn-grid{ display:grid; gap: clamp(24px, 4vw, 36px); }
.learn-item{
  display:grid;
  gap: clamp(20px, 3vw, 32px);
  align-items:center;
  background: transparent;
  border: 0;
  box-shadow: none;
}

@media (min-width: 960px){
  .learn-item{ grid-template-columns: 1.05fr .95fr; }
  .learn-item--alt{ grid-template-columns: .95fr 1.05fr; }
  .learn-item--alt .learn-copy{ order: 2; }
  .learn-item--alt .learn-media{ order: 1; }
}

.learn-media{ background: transparent; border:0; box-shadow:none; padding:0; }
.learn-img{
  width:100%; height:auto; display:block;
  border-radius: var(--radius);
  object-fit: cover;
  background: transparent !important;
  box-shadow: var(--img-shadow);
}

.learn-copy h3{
  margin:0 0 8px;
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.25;
  font-weight: 800;
  color: var(--text);
}
.learn-copy p{ margin: 0 0 12px; color:#4b5563; }

.learn-social{
  display:flex; gap:12px; align-items:center; margin-top:12px; padding:0; list-style:none;
}
.ls-icon{
  --s: 28px;
  width: var(--s); height: var(--s);
  border-radius: 8px;
  display:inline-block;
  position:relative;
  box-shadow: 0 6px 16px rgba(0,0,0,.15);
}
.ls-icon::before{
  content:""; position:absolute; inset:0; margin:auto;
  width:60%; height:60%; mask-repeat:no-repeat; mask-position:center; mask-size:contain; background:#fff;
}
.ls-icon.yt{ background:#ff0000; }
.ls-icon.yt::before{ mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M22 12s0-3-1-4c-.8-1.1-2-1-4-1H7c-2 0-3.2-.1-4 1-1 1-1 4-1 4s0 3 1 4c.8 1.1 2 1 4 1h10c2 0 3.2.1 4-1 1-1 1-4 1-4Z"/><path fill="%23000" d="M10 9l5 3-5 3z"/></svg>'); }
.ls-icon.sp{ background:#1db954; }
.ls-icon.sp::before{ mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-4.5 7.5c3-.8 7.2-.5 9.7.7 0 0 .7.4.3 1.1-.3.6-1 .3-1 .3-2.3-1.1-6.1-1.3-8.8-.6 0 0-.9.3-1-.6 0-.6.8-.9.8-.9Zm.4 2.7c2.6-.6 6.1-.3 8.2.7 0 0 .6.3.3.9-.2.6-.9.3-.9.3-1.9-.9-4.9-1.1-7.3-.6 0 0-.9.3-1-.6-.1-.6.7-.7.7-.7Zm.5 2.8c2-.5 4.7-.3 6.3.5 0 0 .5.2.2.7-.2.5-.8.3-.8.3-1.4-.6-3.8-.7-5.6-.4 0 0-.7.2-.7-.5 0-.5.6-.6.6-.6Z"/></svg>'); }

.learn-form{ display:flex; gap:8px; margin-top:10px; }
.learn-form input{
  flex:1 1 auto; height:40px; padding:0 12px;
  border:1px solid var(--border); border-radius:10px; background:#fff; font:inherit;
}
.learn-form button{
  flex:0 0 auto; height:40px; padding:0 14px;
  border:0; border-radius:10px; font-weight:700; color:#fff; background: var(--plum); cursor:pointer;
}
.learn-form button:hover{ filter:brightness(1.05); }

.learn-note{ margin:8px 0 0; font-size:14px; line-height:1.5; color:#6b7280; }
.learn-note--strong{ margin-top:12px; font-weight:800; color:#0f172a; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.logo .logo-img,
.header-inner .logo-img{
  height: clamp(64px, 9vw, 86px);
  width: auto;
  max-height: none;
  display: block;
}

@media (min-width:1100px){
  .logo .logo-img,
  .header-inner .logo-img{
    height: clamp(96px, 7vw, 112px);
  }
  .header-inner{
    min-height: 84px;
    padding-block: 8px;
  }
  .nav{ margin-left: var(--nav-separation); }
}

.site-header{ overflow: visible; }
.header-inner{
  padding-block: 8px !important;
  min-height: 58px !important;
}
.menu a{ padding-block: 6px; line-height: 1; }
.site-header .logo-img{
  height: 88px !important;
  width: auto;
  display: block;
  margin-block: -12px;
}

@media (min-width:1100px){
  .header-inner{
    padding-block: 6px !important;
    min-height: 64px !important;
  }
  .nav{ margin-left: var(--nav-separation); }
  .site-header .logo-img{
    height: 104px !important;
    margin-block: -18px;
  }
}

.site-header{ overflow: visible; }
.header-inner{
  padding-block: 6px !important;
  min-height: 58px !important;
}
.site-header .logo{
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
}
.site-header .logo-img{
  height: 120px !important;
  width: auto !important;
  max-height: none !important;
  max-width: none !important;
  display: block !important;
  margin-block: -18px !important;
}

@media (min-width: 1100px){
  .header-inner{
    padding-block: 6px !important;
    min-height: 62px !important;
  }
  .site-header .logo-img{
    height: 132px !important;
    margin-block: -22px !important;
  }
  .nav{ margin-left: var(--nav-separation) !important; }
}

.menu a{ padding-block: 6px !important; line-height: 1 !important; }
:root{
  --logo-h-mbl: clamp(68px, 10vw, 84px);
  --logo-h-desk: clamp(88px, 6vw, 100px);
  --logo-bleed-mbl: -10px;
  --logo-bleed-desk: -12px;
}
.site-header{ overflow: visible; }
.header-inner{
  padding-block: 8px !important;
  min-height: 56px !important;
}
.site-header .logo{
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}
.site-header .logo-img{
  height: var(--logo-h-mbl) !important;
  width: auto !important;
  max-height: none !important;
  display: block !important;
  margin-block: var(--logo-bleed-mbl) !important;
}
.menu a{ padding-block: 6px !important; line-height: 1 !important; }

@media (min-width:1100px){
  .header-inner{
    padding-block: 6px !important;
    min-height: 60px !important;
  }
  .site-header .logo-img{
    height: var(--logo-h-desk) !important;
    margin-block: var(--logo-bleed-desk) !important;
  }
  .nav{ margin-left: var(--nav-separation) !important; }
}

.for-who{
  position: relative;
  padding-block: clamp(32px, 8vw, 72px);
  overflow: visible;
}
.for-who .container{
  text-align: center;
  max-width: 940px;
}
.for-who h2{
  margin: 0 0 14px;
  font-size: clamp(22px, 2.6vw, 32px);
  line-height: 1.2;
  font-weight: 800;
  color: var(--text);
}
.forwho-copy p{
  margin: 10px auto 0;
  max-width: 760px;
  color: #475569;
}
.for-who::before,
.for-who::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(90px, 12vw, 160px);
  aspect-ratio: 2 / 5;
  background: url("assets/img/flower-edge.svg") no-repeat center / contain;
  opacity: .45;
  pointer-events: none;
  z-index: 0;
}
.for-who::before{ left: 0; }
.for-who::after{
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}
@media (max-width: 768px){
  .for-who::before,
  .for-who::after{
    width: clamp(60px, 18vw, 90px);
    opacity: .3;
  }
}
@media (max-width: 480px){
  .for-who::before,
  .for-who::after{ display: none; }
}

.course-fit{
  padding-block: clamp(28px, 6vw, 64px);
}
.fit-card{
  --fit-pad-x: clamp(18px, 3.2vw, 28px);
  --fit-pad-y: clamp(16px, 3vw, 24px);
  max-width: 980px;
  margin-inline: auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: var(--fit-pad-y) var(--fit-pad-x);
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  overflow: hidden;
}
.fit-card h3{
  margin: 0 0 clamp(14px, 2.2vw, 18px);
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 800;
  color: var(--text);
  line-height: 1.25;
}
.fit-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(8px, 1.6vw, 12px);
  margin-inline: calc(var(--fit-pad-x) * -1);
}
.fit-list li{
  padding: clamp(10px, 2vw, 12px) var(--fit-pad-x);
  line-height: 1.52;
  color: #3b3b3b;
  border-radius: 0 !important;
}
:root{ --fit-row-purple: var(--soft); }
.fit-list li:nth-child(odd){  background: var(--fit-row-purple); }
.fit-list li:nth-child(even){ background: #fff; }

:root{
  --cta-bg: #81557F;
  --cta-radius: 22px;
}
.cta-pricing { padding-block: clamp(32px, 6vw, 72px); }
.price-card{
  background: var(--cta-bg);
  color: #fff;
  border-radius: var(--cta-radius);
  padding: clamp(22px, 4vw, 36px);
  text-align: center;
}
.price-eyebrow{
  margin: 0 0 clamp(14px, 2vw, 18px);
  opacity: .95;
  font-size: clamp(14px, 1.9vw, 18px);
  line-height: 1.5;
}
.price-brand{
  display: block;
  margin: 0 auto clamp(16px, 2.4vw, 20px);
  width: clamp(96px, 14vw, 140px);
  height: auto;
}
.price-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border-radius: 9999px;
  background: #fff;
  color: #111;
  font-weight: 800;
  font-size: clamp(18px, 2.2vw, 22px);
  margin-bottom: clamp(16px, 2.4vw, 20px);
  box-shadow: 0 8px 22px rgba(0,0,0,.15);
}
.price-copy{
  margin: clamp(14px, 2vw, 18px) 0 0;
  max-width: none;
  text-align: left;
  font-size: clamp(14px, 2vw, 17px);
  line-height: 1.7;
  opacity: .98;
}

.who { position: relative; }
.who-inner{
  position: relative;
  padding-block: clamp(36px, 8vw, 80px);
  text-align: center;
}
.who h2{
  margin: 0 0 clamp(14px, 2.2vw, 18px);
  font-size: clamp(22px, 3.2vw, 34px);
  font-weight: 800;
  color: #0f172a;
}
.who p{
  max-width: 820px;
  margin: 0 auto clamp(10px, 1.6vw, 14px);
  color: #374151;
  line-height: 1.7;
}
.who-flower{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(80px, 14vw, 140px);
  height: auto;
  opacity: .5;
  pointer-events: none;
  z-index: 0;
}
.who-flower--left  { left: max(8px, calc((100vw - var(--container)) / 2 - 12px)); }
.who-flower--right { right: max(8px, calc((100vw - var(--container)) / 2 - 12px)); }
.who-inner > *:not(.who-flower){ position: relative; z-index: 1; }
@media (max-width: 640px){
  .who-flower{ width: clamp(64px, 24vw, 96px); opacity: .35; }
}
.price-eyebrow{ font-size: clamp(16px, 2.2vw, 22px); }
.price-pill{    font-size: clamp(20px, 2.6vw, 26px); }
.price-copy{
  font-size: clamp(16px, 2.2vw, 20px);
  line-height: 1.8;
}
.who h2{ font-size: clamp(28px, 3.8vw, 42px); }
.who p{
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.8;
}

.modules {
  padding-block: clamp(28px, 6vw, 80px);
}
.module {
  display: grid;
  align-items: center;
  gap: clamp(20px, 3vw, 40px);
  grid-template-columns: 1.05fr .95fr;
  margin-bottom: clamp(24px, 4vw, 56px);
}
.module.mod--alt {
  grid-template-columns: .95fr 1.05fr;
}
.module.mod--alt .mod-copy  { order: 2; }
.module.mod--alt .mod-media { order: 1; }
.mod-copy h3{
  margin: 0 0 10px;
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.25;
  font-weight: 800;
  color: #0f172a;
}
.mod-copy p{
  margin: 0;
  color: #4b5563;
  max-width: 66ch;
}
.mod-media{
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.mod-media img{
  display: block;
  width: min(420px, 100%);
  height: auto;
  border-radius: 16px;
  box-shadow: none;
  background: transparent !important;
  object-fit: cover;
}
.mod-media, .mod-media figure { margin: 0; }
@media (max-width: 960px){
  .modules .module{
    grid-template-columns: 1fr !important;
  }
  .modules .module .mod-copy{
    order: 1 !important;
  }
  .modules .module .mod-media{
    order: 2 !important;
  }
}
.modules{ padding-block: clamp(40px, 8vw, 96px); }
.module{ gap: clamp(24px, 4vw, 56px); }
.mod-copy h3{ font-size: clamp(22px, 3vw, 28px); }
.mod-copy p{
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.75;
  max-width: none;
}
.mod-media img{ width: min(560px, 100%); }

:root{
  --plum: var(--plum, #81557F);
  --border: var(--border, #e5e7eb);
  --faq-closed: #efe6f3;
  --faq-radius: 10px;
}
.faq{ padding-block: clamp(28px, 6vw, 72px); }
.faq-title{
  text-align:center;
  margin:0 0 clamp(18px,3vw,28px);
  font-weight:800;
  font-size:clamp(22px,3vw,28px);
}
.faq-list {
  display:grid; gap:10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.faq-item { list-style: none; width:100%;}
.faq-q{
  width:100%;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background: var(--faq-closed);
  color:#0f172a;
  border:1px solid var(--border);
  border-radius: var(--faq-radius);
  padding:12px 14px;
  font:inherit; font-weight:700;
  cursor:pointer;
  transition: background .2s, color .2s, border-color .2s;
}
.faq-item.is-open .faq-q{
  background: var(--plum);
  color:#fff;
  border-color: var(--plum);
}
.faq-q .chev{
  width:18px; height:18px;
  transition: transform .2s, opacity .2s;
  opacity:.9;
}
.faq-item.is-open .chev{ transform: rotate(180deg); opacity:1; }
.faq-a{
  display:grid;
  grid-template-rows: 0fr;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--border);
  border-radius: var(--faq-radius);
  margin-top:6px;
  padding:0 14px;
  transition: grid-template-rows .25s ease, padding .25s ease;
}
.faq-a > *{ min-height:0; }
.faq-item.is-open .faq-a{ grid-template-rows: 1fr; padding:12px 14px; }
.faq-a p{ margin:0; color:#374151; font-size:clamp(14px,1.6vw,15px); line-height:1.55; }
.faq-title{
  font-size: clamp(26px, 3.6vw, 36px);
}
.faq-q{
  padding: 14px 16px;
  font-size: clamp(16px, 1.4vw, 20px);
}
.faq-a p{
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.7;
}

:root{
  --plum: #81557F;
  --border: #e5e7eb;
}
.topbar{
  background: var(--plum) !important;
  color: #fff !important;
}
.topbar a{ color:#fff !important; }

.schedule{ padding-block: clamp(28px, 6vw, 72px); }
.schedule-title{
  margin: 0 0 6px;
  font-weight: 800;
  font-size: clamp(22px, 3.2vw, 34px);
  line-height: 1.2;
  color: var(--text);
}
.schedule-lead{
  margin: 0 0 10px;
  font-weight: 800;
  font-size: clamp(14px, 1.9vw, 16px);
  color:#111827;
}
.schedule-text{
  margin: 0 0 clamp(16px, 3vw, 24px);
  color:#4b5563;
  max-width: 78ch;
}
.schedule-figure{ display:block; }
.schedule-img{
  width: 100%;
  height: auto;
  display: block;
}
.schedule-lead,
.schedule-text{
  max-width: none;
  width: 100%;
}
.schedule-title{
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.15;
}
.schedule-lead{
  font-size: clamp(16px, 2.2vw, 20px);
}
.schedule-text{
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.75;
}
.schedule-figure{
  margin-top: clamp(38px, 8vw, 58px);
}
.schedule-figure{ margin-top: clamp(20px, 2vw, 20px); }

:root{
  --container: 1200px;
  --plum: #81557F;
}
.container{ width:min(100% - 32px, var(--container)); margin-inline:auto; }

.invest{
  position: relative;
  background: var(--plum);
  color: #fff;
  padding-block: clamp(32px, 6vw, 72px);
  overflow: hidden;
}
.invest-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .18;
  pointer-events: none;
  z-index: 0;
}
.invest-inner{ position: relative; z-index: 1; max-width: 900px; }
.invest h2{
  margin: 0 0 clamp(12px, 2.4vw, 18px);
  font-weight: 800;
  font-size: clamp(22px, 3.2vw, 32px);
  line-height: 1.2;
}
.invest p{
  margin: 0 0 10px;
  line-height: 1.7;
  opacity: .98;
}
.invest-list{
  list-style: none;
  padding: 0;
  margin: clamp(12px, 2vw, 18px) 0;
  display: grid;
  gap: 8px;
}
.invest-list li{
  display: grid;
  grid-template-columns: 14px 1fr;
  align-items: start;
  gap: 10px;
}
.invest-list .dot{
  width: 10px; height: 10px;
  border-radius: 2px;
  transform: rotate(45deg);
  background: #F7C948;
  margin-top: 7px;
}
.invest-note{
  margin-top: clamp(12px, 2.2vw, 18px);
  display: grid;
  gap: 6px;
}
.note-title{ margin: 0; display: flex; align-items: center; gap: 8px; }
.warn{ font-size: 1.05em; line-height: 1; }
@media (max-width: 640px){
  .invest-inner{ max-width: 100%; }
}
.invest .container{
  max-width: none;
  width: 100%;
  padding-inline: min(6vw, 40px);
}
.invest-inner{ max-width: none; }
.invest h2{
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.15;
}
.invest p,
.invest-list{
  font-size: clamp(18px, 1.25vw, 22px);
  line-height: 1.75;
}
.invest-note,
.warn{ font-size: clamp(18px, 1.2vw, 22px); }
@media (max-width: 640px){
  .invest h2{ font-size: 28px; }
  .invest p,
  .invest-list,
  .invest-note,
  .warn{ font-size: 18px; }
}
.invest .container{
  padding-inline: clamp(35px, 7vw, 78px);
}

:root{
  --plum: #81557F;
  --ink:  #0f172a;
  --muted:#2b2b2b;
  --border:#e5e7eb;
  --container: min(100% - 32px, 1200px);
}
.questions{ padding-block: clamp(24px, 6vw, 56px); }
.questions .container{ width: var(--container); margin-inline:auto; }
.q-title{
  margin:0 0 clamp(12px,2vw,18px);
  font-weight:800; color:var(--ink);
  font-size: clamp(22px,3.2vw,32px);
}
.q-grid{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  grid-template-areas:
    "email   message"
    "help    message"
    ".       button"
    ".       status";
  gap:14px 24px;
  align-items:start;
}
.q-email{ grid-area: email; }
.q-help{ grid-area: help; margin:0; color:var(--muted); line-height:1.55; }
.q-message{ grid-area: message; }
.q-btn{ grid-area: button; justify-self:start; }
.q-status{ grid-area: status; margin:0; font-size:14px; }
.q-status.ok{ color:#116b35; }
.q-status.warn{ color:#9a3412; }
.q-input{
  width:100%;
  padding:12px 16px;
  font:inherit;
  color:var(--ink);
  background:#fff;
  border:1px dotted var(--border);
  outline:none;
}
.q-input::placeholder{ color:#999; letter-spacing:.02em; }
.q-input:focus{
  border-style:solid;
  border-color:var(--plum);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--plum), transparent 85%);
}
.q-email{ height:42px; border-radius:9999px; }
.q-message{ min-height:120px; border-radius:16px; resize:vertical; }
.q-btn{
  appearance:none;
  border:0; border-radius:9999px;
  padding:10px 22px;
  font-weight:700; color:#fff;
  background:#0b0430;
  cursor:pointer;
  transition:transform .06s, filter .2s;
}
.q-btn:hover{ filter:brightness(1.05); }
.q-btn:active{ transform:translateY(1px); }
@media (max-width:720px){
  .q-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "email"
      "help"
      "message"
      "button"
      "status";
    gap:12px;
  }
}
.questions{
  padding-block: clamp(40px, 8vw, 96px);
  min-height: clamp(520px, 60vh, 760px);
}
.q-title{ font-size: clamp(26px, 3.6vw, 38px); }
.q-help{ font-size: clamp(16px, 1.2vw, 18px); }
.q-input{
  font-size: clamp(16px, 1.15vw, 18px);
  padding: 14px 18px;
}
.q-email{ height: 50px; }
.q-message{ min-height: 160px; }
.q-btn{
  padding: 14px 28px;
  font-size: clamp(16px, 1.2vw, 18px);
  border-radius: 9999px;
}
.q-status{ font-size: clamp(14px, 1vw, 16px); }
@media (max-width:720px){
  .q-btn{ width: 100%; justify-self: stretch; }
  .q-message{ min-height: 180px; }
}
.q-input{
  border: 2px dotted color-mix(in srgb, var(--border), var(--ink) 35%);
}
.q-input:focus{
  border-color: var(--plum);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--plum), transparent 82%);
}
.q-input:hover{
  border-color: color-mix(in srgb, var(--border), var(--ink) 50%);
}
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

:root{
  --curve-bleed: 56px;
}
.mentor{
  position: relative;
  background: var(--plum);
  color:#fff;
  padding-block: clamp(28px, 6vw, 64px);
  overflow: visible;
}
.mentor__bg{
  position: absolute;
  left: 0; right: 0;
  top: calc(-1 * var(--curve-bleed));
  height: calc(100% + var(--curve-bleed));
  z-index: 0;
  display: block;
}
.mentor__bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
@media (max-width: 899.98px){
  .mentor__bg{ display:none; }
}
.mentor__overlay{
  position: absolute;
  left: 0; right: 0;
  top: calc(-1 * var(--curve-bleed));
  height: calc(100% + var(--curve-bleed));
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(28,20,29,.55) 0 55%, rgba(28,20,29,0) 100%);
}
.mentor__inner{ position: relative; z-index: 2; }
.mentor{
  background: transparent;
  overflow: visible;
}
.mentor__bg img{
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
.mentor__overlay{
  display: none !important;
  background: none !important;
}
.mentor::before,
.mentor::after{ content: none !important; }
@media (max-width: 900px){
  .mentor{ background: var(--plum); }
  .mentor__bg{ display: none; }
}
.mentor__text,
.mentor h2,
.mentor p,
.mentor ul,
.mentor ol{
  max-width: clamp(730px, 58ch, 820px);
  margin-left: 0;
  margin-right: auto;
}
.mentor__text{
  padding-block: clamp(8px, 1.2vw, 14px);
}
@media (max-width: 680px){
  .mentor__text,
  .mentor h2,
  .mentor p,
  .mentor ul,
  .mentor ol{
    max-width: none;
  }
}
.mentor{
  padding-block: clamp(40px, 8vw, 112px);
  min-height: clamp(460px, 60vh, 780px);
}
.mentor h2{
  font-size: clamp(10px, 3.2vw, 46px);
  line-height: 1.15;
}
.mentor p,
.mentor li{
  font-size: clamp(18px, 1.2vw, 22px);
  line-height: 1.7;
}
@media (max-width: 680px){
  .mentor{
    min-height: 440px;
    padding-block: clamp(28px, 7vw, 56px);
  }
  .mentor h2{ font-size: clamp(24px, 6.2vw, 34px); }
  .mentor p,
  .mentor li{ font-size: 17px; }
}

.site-footer{
  --footer-bg: #1c1833;
  background: var(--footer-bg); color: #fff;
  padding-block: clamp(28px, 6vw, 72px);
}
.site-footer .container{ max-width: 980px; margin-inline: auto; }
.site-footer .price-eyebrow{
  margin: 0 0 clamp(14px, 2vw, 18px);
  text-align: center; opacity: .9; font-size: clamp(14px, 1.9vw, 18px); line-height: 1.5;
}
.site-footer .price-brand{
  display: block; margin: 0 auto clamp(12px, 2.4vw, 18px);
  width: clamp(96px, 14vw, 140px); height: auto;
}
.site-footer .price-pill{
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 22px; border-radius: 9999px; background: #fff; color: #111;
  font-weight: 800; font-size: clamp(18px, 2.2vw, 22px);
  margin: 0 auto clamp(16px, 2.4vw, 20px);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
  position: relative; left: 50%; transform: translateX(-50%);
}
.site-footer .price-copy{
  margin: 0 auto clamp(18px, 3vw, 26px);
  max-width: none; text-align: left;
  font-size: clamp(14px, 2vw, 17px); line-height: 1.7; opacity: .98;
}
.site-footer .container{
  max-width: none;
  width: 100%;
  padding-inline: min(6vw, 40px);
}
.site-footer .footer-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: nowrap;
}
.site-footer .footer-social{
  display: flex;
  align-items: center;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.site-footer .footer-social li{ list-style: none; }
.site-footer .social-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: 2px solid currentColor;
  border-radius: 50%;
  padding: 0;
  background: transparent;
  color: #fff;
  text-decoration: none;
  transition: transform .15s, opacity .15s;
}
.site-footer .social-btn:hover{ transform: translateY(-1px); opacity: .95; }
.site-footer .footer-social .ico{
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.site-footer .footer-social .ico .fill{ fill: currentColor; stroke: none; }
.site-footer .footer-signature{
  display: block;
  height: clamp(70px, 8vw, 100px);
  width: auto;
  opacity: .98;
  flex: 0 0 auto;
  margin-left: auto;
}
.site-footer p{
  font-size: clamp(16px, 1.05vw, 20px);
  line-height: 1.65;
}
.site-footer .price-eyebrow{ font-size: clamp(17px, 1.2vw, 22px); }
.site-footer .price-copy{    font-size: clamp(16px, 1.1vw, 20px); }
.site-footer .price-pill{    font-size: clamp(18px, 1.4vw, 24px); }
@media (max-width: 640px){
  .site-footer .footer-row{
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .site-footer .footer-social{ order: 1; justify-content: flex-start; }
  .site-footer .footer-signature{ order: 2; align-self: flex-end; }
}

.intro-copy h2{ font-size: clamp(28px, 3.6vw, 44px); line-height: 1.15; }
.intro-copy p{ font-size: clamp(16px, 1.6vw, 20px); line-height: 1.8; }
@media (min-width:1024px){
  .intro-copy h2{ font-size: clamp(34px, 2.4vw, 48px); }
}
.learn-copy h3{ font-size: clamp(22px, 2.8vw, 28px); }
.learn-copy p{ font-size: clamp(16px, 1.5vw, 20px); line-height: 1.75; }
.learn-note,
.learn-note--strong{ font-size: clamp(16px, 1.3vw, 18px); }
.for-who h2{ font-size: clamp(28px, 3.6vw, 40px); }
.forwho-copy p{ font-size: clamp(16px, 1.5vw, 20px); line-height: 1.8; }
.fit-card h3{ font-size: clamp(22px, 2.6vw, 28px); }
.fit-list li{ font-size: clamp(16px, 1.4vw, 20px); line-height: 1.75; }
.learn-form input,
.learn-form button{ font-size: clamp(16px, 1.3vw, 18px); }
.price-pill{
  text-decoration: none;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}
.price-pill:hover{ transform: translateY(-1px); filter: brightness(1.02); }
.price-pill:active{ transform: translateY(1px); }
.price-pill:focus-visible{
  outline: 0;
  box-shadow: 0 0 0 4px rgba(255,255,255,.6), 0 8px 22px rgba(0,0,0,.18);
}
.course-parts { padding-block: clamp(28px, 6vw, 72px); }
.course-parts__title{
  margin: 0 0 clamp(16px, 3vw, 24px);
  text-align: center;
  font-weight: 800;
  font-size: clamp(22px, 3.2vw, 32px);
  color: #0f172a;
}
.course-parts__art{ display:block; max-width: 1200px; margin-inline:auto; }
.course-parts__art img{ display:block; width:100%; height:auto; }
.video-frame{
  width: var(--video-w-mbl);
  border-radius:20px;
  padding:3px;
  background: #81557F;
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
  overflow:hidden;
}
.video-frame > video{
  display:block; width:100%; height:auto;
  aspect-ratio:9/16; object-fit:cover; border-radius:16px;
}
@media (min-width:1024px){
  .video-frame{ width: var(--video-w-desktop); }
}
@media (max-width:1023px){
  .hero{
    position: relative;
    overflow: visible;
    z-index: 1;
    padding-bottom: clamp(20px, 6vw, 40px);
  }
  .intro{
    position: relative;
    z-index: 2;
    padding-top: calc(var(--overlap-mbl) + 20px);
  }
  .intro-media{
    position: relative;
    margin-top: calc(var(--overlap-mbl) * -1);
    z-index: 3;
  }
}
@media (max-width: 960px){
  .learn-item,
  .learn-item--alt{
    grid-template-columns: 1fr;
  }
  .learn-item .learn-copy,
  .learn-item--alt .learn-copy{
    order: 1 !important;
  }
  .learn-item .learn-media,
  .learn-item--alt .learn-media{
    order: 2 !important;
  }
}
.site-footer .price-pill{
  left: 50%;
  transform: translate(-50%, 0);
}
.site-footer .price-pill:hover{
  transform: translate(-50%, -1px);
}
.site-footer .price-pill:active{
  transform: translate(-50%, 1px);
}
.learn-status{ margin:8px 0 0; font-size:14px; }
.learn-status.ok{ color:#116b35; }
.learn-status.warn{ color:#9a3412; }
:root{
  --topbar-h: 56px;   
  --header-h: 62px;   
}

.topbar{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 1001;
}

.site-header{
  position: fixed !important;
  top: var(--topbar-h);
  left: 0; right: 0;
  z-index: 1000;
}


body{
  padding-top: calc(var(--topbar-h) + var(--header-h));
}


@media (min-width:1100px){
  :root{ --header-h: 64px; }
}

.site-header .menu a:hover,
.site-header .menu a:focus-visible{
  color: var(--plum) !important;
  background: transparent !important; 
}

.site-header .menu a{ transition: color .15s ease; }


.menu > li:has(> ul) > a::after,
.menu > li.has-sub > a::after{        
  content:"▾";
  margin-left:6px;
  font-size:.85em;
  line-height:1;
  color:currentColor;
}


.menu > li > a:hover,
.menu > li > a:focus-visible{
  color: var(--plum) !important;
  background: transparent !important;
}


.menu > li{ position: relative; }
.menu > li > ul{
  list-style: none;                
  margin: 10px 0 0;
  padding: 8px 0;
  position: absolute;
  left: 0;
  top: calc(100% + 12px);          
  min-width: 260px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow: 0 14px 28px rgba(0,0,0,.12);
  display: none;                   
  z-index: 1002;
}


.menu > li:hover > ul,
.menu > li:focus-within > ul{
  display:block;
}


.menu > li > ul a{
  display:block;
  padding:10px 18px;
  text-decoration:none;
  color: var(--text);
  white-space: nowrap;
}
.menu > li > ul a:hover,
.menu > li > ul a:focus-visible{
  color: var(--plum);
  background: transparent;
}

.menu > li { position: relative; }

.menu > li > ul{
  top: calc(100% - 1px) !important;  
  margin-top: 0 !important;         
}


.menu > li > ul:hover{ display:block; }
html { scroll-behavior: smooth; }  

.to-top{
  position: fixed;
  right: clamp(14px, 2.2vw, 22px);
  bottom: calc(env(safe-area-inset-bottom, 0) + clamp(14px, 2.2vw, 22px));
  z-index: 9999;
  width: clamp(44px, 4.2vw, 52px);
  height: clamp(44px, 4.2vw, 52px);
  display: grid; place-items: center;
  border: 0; border-radius: 9999px;
  background: var(--plum, #81557F);  
  color: #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
  cursor: pointer;
  transition: transform .12s ease, filter .2s ease;
}
.to-top svg{ width: 22px; height: 22px; display:block; }
.to-top:hover{ transform: translateY(-1px); filter: brightness(1.06); }
.to-top:active{ transform: translateY(1px); }

.learn-social{
  list-style:none;
  margin:0;
  padding:0;
}
.learn-social li{ display:inline-block; }
.learn-social li + li{ margin-left:12px; } /* space between icons */
.email-icon{ width:44px; height:44px; }
