/* Both landing pages keep a viewport-sized opening, followed by scrolling content. */
#site.page{height:var(--viewport-height,100dvh);min-height:0;grid-template-rows:90px minmax(0,1fr)}
@media(min-width:701px){#site.page{height:auto;min-height:var(--viewport-height,100dvh);grid-template-rows:90px minmax(min-content,1fr)}}
.preorder-page{max-width:none;padding:0}
.preorder-hero{min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;padding:0 clamp(22px,5vw,80px)}
.preorder-hero>.header{min-height:90px}
.preorder-page .preorder-main{flex:1;padding-block:32px;max-width:1440px;margin-inline:auto}
.preorder-page .legal-heading{margin-bottom:20px}
.preorder-page .preorder-includes{margin-top:18px}
.preorder-page .preorder-price{margin-top:18px}
.preorder-page>.footer,.below-hero>.footer{margin-inline:clamp(22px,5vw,80px);min-height:56px}
.course-preview,.course-benefits{padding:80px clamp(22px,5vw,80px);max-width:1800px;margin-inline:auto;width:100%}
.section-heading{max-width:720px;margin-bottom:36px}
.section-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--plum);margin:0 0 18px}
.section-heading h2{font:400 clamp(38px,5vw,72px)/1.08 Anton,Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:0}
.section-heading>p:last-child:not(.section-kicker){font-size:18px;line-height:1.55;max-width:50ch;margin:22px 0 0}
/* The welcome video keeps its 16:9 frame and never grows taller than the screen,
   so the whole video and its controls are visible at once on any size. */
.welcome-video{margin:0 auto;width:min(100%,calc((100vh - 112px) * 16 / 9));aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#f6e1e9;border:1px solid #2323231f;box-shadow:0 24px 60px -32px #6b2d4766}
@supports (height:100svh){.welcome-video{width:min(100%,calc((100svh - 112px) * 16 / 9))}}
.welcome-video video{display:block;width:100%;height:100%;object-fit:contain;background:#f6e1e9}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 48px}
.benefit-grid article{border-top:1px solid #23232330;padding-top:22px}
.benefit-grid article>span{font:400 24px/1 Anton,sans-serif;color:var(--plum)}
.benefit-grid h3{font:400 27px/1.2 Anton,sans-serif;text-transform:uppercase;margin:20px 0 14px}
.benefit-grid p{font-size:16px;line-height:1.6;color:#66535d;margin:0}
@media(min-width:701px) and (max-height:900px){
 .preorder-page h1{font-size:clamp(38px,4.5vw,58px)}
 .preorder-page .preorder-intro{font-size:15px;line-height:1.45}
 .preorder-page .legal-kicker{margin-bottom:14px}
 .preorder-page .preorder-includes{margin-top:12px}
 .preorder-page .preorder-includes ul{font-size:14px}
 .preorder-page .preorder-launch{margin-top:12px}
 .preorder-page .preorder-price{font-size:52px;margin-top:12px}
 .preorder-page .preorder-ack{margin-top:12px;font-size:13px}
 .preorder-page .preorder-main{padding-block:20px}
 .preorder-portrait{min-height:0}
 .preorder-portrait img{max-height:72dvh;width:110%;object-fit:contain}
}
@media(max-width:700px){
 #site.page{grid-template-rows:48px minmax(0,1fr)}
 .preorder-hero>.header{min-height:64px}
 .preorder-page .preorder-main{flex:none;padding:20px 0;gap:0;grid-template-rows:auto auto;align-content:start}
 .preorder-page h1{font-size:clamp(30px,8vw,44px)}
 .preorder-page .legal-heading{margin-bottom:14px}
 .preorder-page .legal-kicker{font-size:10px;margin-bottom:14px}
 .preorder-page .preorder-intro{font-size:14px;line-height:1.45}
 .preorder-page .preorder-includes{margin-top:12px}
 .preorder-page .preorder-includes ul{font-size:13px;line-height:1.4}
 .preorder-page .preorder-launch{font-size:13px;margin-top:12px}
 .preorder-page .preorder-price{font-size:44px;margin-top:12px}
 .preorder-page .preorder-ack{font-size:12px;margin-top:8px;gap:8px}
 .preorder-page .preorder-pay{min-height:44px;margin-top:8px}
 .preorder-page .preorder-legal{margin-top:0}
 .preorder-portrait{height:clamp(280px,65vw,360px);margin-bottom:16px}
 .preorder-portrait img{height:120%;width:auto;mask-image:linear-gradient(#000 65%,transparent 88%)}
 .preorder-hero .course-cta{font-size:13px;padding:12px 16px}
 .course-preview,.course-benefits{padding-block:48px}
 .section-heading{margin-bottom:24px}
 .section-heading>p:last-child:not(.section-kicker){font-size:16px}
 .welcome-video{border-radius:16px}
 .benefit-grid{grid-template-columns:1fr;gap:28px}
 .benefit-grid h3{font-size:25px;margin-top:14px}
}

/* Header badge and quieter purchase details. */
.preorder-brand{display:flex;align-items:center;gap:18px;min-width:0}
.preorder-page .preorder-brand .legal-kicker{margin:0;white-space:nowrap;flex-shrink:0}
.preorder-page .preorder-ack{font-size:12px}
.preorder-page .preorder-legal a{text-decoration:none}
.preorder-page .preorder-legal a:hover{text-decoration:underline}
@media(max-width:700px){
 .preorder-brand{gap:10px;flex-wrap:wrap;padding-block:10px}
 .preorder-page .preorder-brand .legal-kicker{font-size:9px;padding:3px 5px}
 .preorder-page .preorder-ack{font-size:11px}
}

/* Center the shared video introduction on both landing pages. */
.course-preview .section-heading{margin-inline:auto;text-align:center}
@media(min-width:701px) and (max-width:1000px){.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Preserve native scrolling while hiding the landing-page scrollbar. */
html.landing-scroll,html.landing-scroll body{scrollbar-width:none}
html.landing-scroll::-webkit-scrollbar,html.landing-scroll body::-webkit-scrollbar{display:none;width:0}
.preorder-page .title-block h1{font-size:clamp(48px,min(8.8vw,11vh),146px);line-height:1;letter-spacing:-.045em;text-align:left}
@media(max-width:700px){
 .preorder-page .title-block h1{font-size:clamp(40px,min(14vw,8.5dvh),80px)}
}

.preorder-page .preorder-launch{display:flex;align-items:baseline;gap:6px;font-size:15px;font-variant-numeric:tabular-nums}
.preorder-launch [data-preorder-unit]{font-family:Arial,Helvetica,sans-serif;font-size:1em;font-weight:600}
.preorder-launch small{font-size:1em;letter-spacing:0;font-weight:400}
.preorder-launch b{font-weight:400;margin-inline:2px}
.course-slide>a.course-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;text-decoration:none}
@media(max-width:700px){.preorder-page .preorder-launch{font-size:13px;gap:4px}}

/* Title gets breathing room before the intro; the acknowledgement reads left to right from its
   checkbox, lined up with the edge of the pay button. */
.preorder-page .title-block{margin-bottom:clamp(18px,3vh,32px)}
.preorder-page .preorder-ack{align-items:flex-start;gap:10px;padding-inline:4px;text-align:left}
.preorder-page .preorder-ack input{width:16px;height:16px;margin:.15em 0 0;flex:none;accent-color:var(--plum)}
.preorder-page .preorder-ack>span{flex:1;text-align:left}

.preorder-page .legal-heading{margin-bottom:0}
.preorder-page .preorder-launch{margin-top:20px;margin-bottom:24px;flex-wrap:wrap}
.preorder-launch-prefix{font-weight:400;margin-right:4px}
.course-benefits .section-heading,.course-benefits .section-heading>p:last-child{max-width:none}
@media(min-width:1001px){
 .course-benefits .section-heading h2{font-size:clamp(38px,4.5vw,72px);white-space:nowrap}
 .course-benefits .section-heading>p:last-child{white-space:nowrap;font-size:clamp(15px,1.55vw,18px)}
}
@media(max-width:700px){.preorder-page .preorder-launch{margin-top:14px;margin-bottom:18px}}

.preorder-page .preorder-pay{gap:.3em}
.preorder-pay s{text-decoration-thickness:2px}

.preorder-actions{display:flex;align-items:center;gap:20px}
.preorder-actions a.course-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:700px){
 .preorder-hero>.header{flex-wrap:wrap;justify-content:center;padding-block:12px;gap:10px}
 .preorder-brand{justify-content:center;padding:0}
 .preorder-actions{justify-content:center;gap:12px;width:100%}
}

.preorder-page .preorder-ack .preorder-legal{display:inline;font:inherit;white-space:nowrap;margin:0}
.preorder-page .preorder-ack .preorder-legal a{display:inline;min-height:0;color:inherit;text-decoration:none}
.preorder-page .preorder-ack .preorder-legal a:hover{text-decoration:underline}
.benefit-grid h3{margin-top:0}
@media(max-width:700px){
 .benefit-grid.accordion-ready{gap:0;border-bottom:1px solid #23232330}
 .accordion-ready article{padding:0}
 .accordion-ready h3{margin:0;font-size:23px}
 .accordion-ready h3 button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:22px 0;border:0;background:none;color:inherit;font:inherit;text-transform:inherit;text-align:left;cursor:pointer}
 .accordion-ready h3 button::after{content:'';width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-right:4px;transition:transform 220ms ease}
 .accordion-ready .is-open h3 button::after{transform:rotate(225deg)}
 .accordion-ready .lesson-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows 250ms ease,visibility 250ms}
 .accordion-ready .lesson-panel>div{min-height:0;overflow:hidden}
 .accordion-ready .lesson-panel p{padding-bottom:22px}
 .accordion-ready .is-open .lesson-panel{grid-template-rows:1fr;visibility:visible}
}
@media(prefers-reduced-motion:reduce){.accordion-ready .lesson-panel,.accordion-ready h3 button::after{transition:none}}

.preorder-menu-toggle{display:none}
@media(max-width:700px){
 .preorder-hero>.header{position:relative;justify-content:space-between;flex-wrap:nowrap;min-height:64px;padding-block:10px}
 .preorder-brand .wordmark{display:none}
 .preorder-page .preorder-brand .legal-kicker{font-size:11px}
 .preorder-menu-toggle:not([hidden]){display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;border:0;background:transparent;color:var(--ink);cursor:pointer}
 .preorder-menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform 200ms,opacity 200ms}
 .navigation-open .preorder-menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
 .navigation-open .preorder-menu-toggle span:nth-child(2){opacity:0}
 .navigation-open .preorder-menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}
 .menu-ready .preorder-actions{position:absolute;top:calc(100% + 8px);right:0;z-index:10;width:min(260px,100%);padding:14px;flex-direction:column;align-items:stretch;background:#fcf4f7;border:1px solid #23232320;border-radius:16px;box-shadow:0 12px 30px #70566220;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity 200ms,transform 200ms,visibility 200ms}
 .menu-ready.navigation-open .preorder-actions{opacity:1;visibility:visible;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){.menu-ready .preorder-actions,.preorder-menu-toggle span{transition:none}}

/* Give the CTA more room above and keep its acknowledgment close. */
.preorder-page .preorder-pay{margin-top:20px}
.preorder-page .preorder-ack{margin-top:10px;padding-top:5px}
.preorder-pay s{position:relative;color:rgb(35 35 35 / 60%);text-decoration:none}
.preorder-pay s::after{content:'';position:absolute;left:-5%;top:50%;width:110%;height:2px;background:#c63765;transform:rotate(-15deg);border-radius:2px}
@media(min-width:701px) and (max-height:900px){.preorder-page .preorder-ack{margin-top:6px}}
@media(max-width:700px){
 .preorder-page .preorder-pay{margin-top:16px}
 .preorder-page .preorder-ack{margin-top:4px}
}

/* Preorder badge matches the waitlist's blush double-border stamp. */
.preorder-page .preorder-brand .legal-kicker{border:3px double var(--pink);outline:0;border-radius:6px;background:#ffe5ee;color:var(--pink);opacity:.95;box-shadow:0 2px 8px #9c335518;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);font-family:inherit;font-weight:800;font-size:clamp(12px,1.155vw,17px);line-height:1;letter-spacing:.04em;padding:4px 7px;margin:0}
@media(max-width:700px){.preorder-page .preorder-brand .legal-kicker{font-size:12px;padding:4px 6px}}
