.nav .session{display:flex;align-items:center;gap:14px;min-width:90px;justify-content:flex-end}
.session-ph{display:inline-block;width:90px;height:20px}
.session-link{color:#fff;text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:8px}
.session-link img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.session-out{font:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:none;border:0;color:#E9EEF3;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.session-out:hover{color:#fff}
.nav ul a.here{color:#fff;border-bottom:1px solid #D9B36A}

.course-hero{background:radial-gradient(120% 90% at 20% 10%,#FFF6F2 0%,#FAE3DC 50%,#F3D2CB 100%);padding-block:90px 80px}
.course-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);align-items:center}
.course-hero h1{font-size:clamp(42px,5.6vw,72px);font-weight:300;margin-top:14px}
.course-hero h1 .script{font-size:1.25em}
.course-hero .lede{margin-top:20px;font-size:19px;color:var(--muted);max-width:46ch}
.buy{background:#fff;border-radius:var(--r);padding:34px 30px;display:grid;gap:10px;justify-items:start;box-shadow:0 24px 50px -30px rgba(17,49,73,.4);border:1px solid #EBD9C4;min-height:200px;align-content:center}
.buy .btn{margin-top:10px}
.buy-price{font-family:var(--display);font-size:52px;line-height:1;color:var(--ink);font-weight:300}
.buy-ph{width:120px;background:var(--rose-soft);border-radius:8px}
.buy-meta{font-size:14px;color:var(--muted)}
.buy-meta a{color:var(--rose)}
.buy-have{font-family:var(--script);font-size:40px;line-height:1.1;color:var(--rose)}
.buy-note{color:var(--muted)}
.buy-note a{color:var(--rose)}

.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:10px}
.how div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;display:grid;gap:8px;align-content:start}
.how b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--ink)}
.how p{color:var(--muted);font-size:16px}
@media (max-width:860px){.course-hero-grid,.how{grid-template-columns:minmax(0,1fr)}}

.steps-head{text-align:center;display:grid;gap:10px;justify-items:center;margin-bottom:40px}
.steps-head h2{font-size:clamp(34px,4.6vw,54px)}
.steps-head p{color:var(--muted);max-width:56ch}
.course-steps{list-style:none;margin:0 auto;padding:0;max-width:860px;display:grid;gap:12px;counter-reset:s}
.course-steps li{counter-increment:s}
.course-steps a,.course-steps .row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:border-color .3s,transform .3s}
.course-steps a:hover{border-color:var(--rose-mid);transform:translateY(-2px)}
.course-steps .n{font-family:var(--script);font-size:40px;line-height:1;color:var(--rose);text-align:center}
.course-steps .n::before{content:counter(s)}
.course-steps h3{font-size:22px;font-weight:400}
.course-steps small{display:block;font-size:14px;color:var(--muted);margin-top:2px}
.course-steps .tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-deep);white-space:nowrap}
.course-steps .tag.lock::before{content:"";display:inline-block;width:9px;height:11px;margin-right:8px;vertical-align:-1px;border:1.5px solid currentColor;border-radius:2px 2px 1px 1px;box-shadow:inset 0 0 0 2px #fff}
.course-steps .open-tag{display:none}
.unlocked .course-steps .lock-tag{display:none}
.unlocked .course-steps .open-tag{display:inline}
.course-steps .soon{opacity:.72}
@media (max-width:560px){.course-steps a,.course-steps .row{grid-template-columns:44px minmax(0,1fr);padding:16px 18px}.course-steps .tag{grid-column:2}}

.lesson-wrap{padding-block:56px 110px}
.crumbs{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.crumbs a{color:var(--rose);text-decoration:none}
.lesson-head{margin-top:16px;display:grid;gap:10px}
.lesson-head h1{font-size:clamp(38px,5vw,62px);font-weight:300}
.lesson-head h1 .script{font-size:1.2em}
.lesson-head p{color:var(--muted);font-size:19px;max-width:56ch}
.video{margin-top:34px;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:linear-gradient(150deg,#35465C,#113149);display:grid;place-items:center;color:#E9EEF3;text-align:center;padding:20px;position:relative}
.video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video .play{width:76px;height:76px;border-radius:50%;border:2px solid #E9C77B;display:grid;place-items:center;margin:0 auto 14px}
.video .play::after{content:"";border-left:22px solid #E9C77B;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.video p{font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.lesson-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px;margin-top:34px}
.lesson-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px 30px;display:grid;gap:14px;align-content:start}
.lesson-card h2{font-size:30px}
.lesson-card ol{margin:0;padding-left:22px;display:grid;gap:10px}
.lesson-card ol li::marker{color:var(--rose);font-weight:600}
.lesson-card.prompt{background:linear-gradient(140deg,#FFF8EE 0%,#FBE9E3 60%,#F6DDD5 100%);border-color:#E8CFA2}
.lesson-card.prompt blockquote{margin:0;font-family:var(--script);font-size:32px;line-height:1.2;color:var(--rose)}
.lesson-card .small{font-size:15px;color:var(--muted)}
.lesson-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line);align-items:center}
.lesson-nav .next-soon{font-size:14px;color:var(--muted)}
.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
@media (max-width:860px){.lesson-grid{grid-template-columns:minmax(0,1fr)}}

.preview-note{background:var(--gold-soft);border:1px dashed var(--gold);border-radius:10px;padding:10px 16px;font-size:14px;color:var(--ink);margin-bottom:8px}
.gate-card{max-width:640px;margin:20px auto 0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:48px 40px;text-align:center;display:grid;gap:14px;justify-items:center;box-shadow:0 24px 50px -30px rgba(17,49,73,.35)}
.gate-card h2{font-size:clamp(30px,4vw,44px)}
.gate-card p{color:var(--muted)}
.gate-card .ctas{justify-content:center;margin-top:12px}
.gate-ph{min-height:240px;background:var(--rose-soft);box-shadow:none;border:0}

.login-wrap{background:radial-gradient(120% 90% at 20% 10%,#FFF6F2 0%,#FAE3DC 50%,#F3D2CB 100%);padding-block:80px 110px;min-height:70vh}
.login-card{max-width:480px;margin:0 auto;background:#fff;border-radius:var(--r);padding:40px 36px;box-shadow:0 24px 50px -30px rgba(17,49,73,.4);display:grid;gap:16px}
.login-card h1{font-size:clamp(32px,4vw,44px);font-weight:300}
.login-card form{display:grid;gap:14px}
.login-card .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.login-card label{display:grid;gap:4px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.login-card input{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;font-weight:400;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);padding:10px 2px;border-radius:0;width:100%;min-width:0}
.login-card .btn{justify-self:stretch;margin-top:6px}
.login-card .btn[disabled]{opacity:.6;cursor:progress}
.login-card .switch{font-size:15px;color:var(--muted)}
.login-card .switch a{color:var(--rose)}
@media (max-width:520px){.login-card{padding:32px 22px}.login-card .row2{grid-template-columns:1fr}}
.login-card [hidden]{display:none!important}
.course-hero .course-promise{margin-top:14px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-deep);max-width:52ch;line-height:1.7}
.waitlist{gap:12px}
.soon-badge{display:inline-block;background:var(--gold-soft);border:1px solid #E8CFA2;border-radius:999px;padding:6px 14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-deep)}
.wl-title{font-family:var(--display);font-size:24px;line-height:1.3;color:var(--ink)}
.waitlist .wix-form{width:100%}
.waitlist .wf-fields{grid-template-columns:1fr 1fr}
.waitlist .wf-check{grid-column:1/-1}
@media (max-width:520px){.waitlist .wf-fields{grid-template-columns:1fr}}
