/* Origins class lander v4: additions on top of site.css + v3.css */

/* hero: darker for contrast (Xenon 7 Nov), copy-led */
.h3ro::before{background:linear-gradient(180deg,rgba(11,10,9,.72) 0%,rgba(11,10,9,.78) 50%,rgba(11,10,9,.6) 82%,rgba(11,10,9,0) 100%),linear-gradient(90deg,rgba(11,10,9,.8) 0%,rgba(11,10,9,.35) 65%,transparent 100%)}
.h3ro h1.v4{font-size:clamp(38px,5.6vw,76px);line-height:1.02;letter-spacing:-.045em;max-width:980px}
.h3ro .kicker{display:block;font:600 clamp(15px,1.4vw,18px)/1.35 var(--font);color:var(--ember-l);margin-top:18px}
.h3ro p.sub{max-width:640px}
.under{margin-top:14px;font-size:14.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.under b{color:#F4F1EC;font-weight:600}
.under .dot{opacity:.4}
.pill-live{display:inline-flex;align-items:center;gap:8px}
.pill-live::before{content:"";width:8px;height:8px;border-radius:50%;background:#F16001;box-shadow:0 0 0 4px rgba(241,96,1,.25)}

/* 3 outcomes strip */
.out3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px;max-width:900px}
.out3>div{border:1px solid rgba(244,241,236,.16);border-radius:16px;padding:16px 18px;background:rgba(11,10,9,.55);backdrop-filter:blur(6px)}
.out3 .t{font:800 13px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--ember-l)}
.out3 p{margin:6px 0 0;font-size:15px;color:#E7E3DD;line-height:1.4}
@media(max-width:760px){.out3{grid-template-columns:1fr}.out3>div{padding:12px 16px}}

/* who it's for */
.who{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left;max-width:1100px;margin:0 auto}
.who .c{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px}
.who .c h3{font-size:21px}
.who .c ul{list-style:none;padding:0;margin:14px 0 0}
.who .c li{padding:6px 0 6px 26px;position:relative;color:var(--muted);font-size:15.5px}
.who .c li::before{content:"✓";position:absolute;left:0;color:var(--ember-l);font-weight:800}
.notfor{max-width:1100px;margin:16px auto 0;text-align:left;border:1px dashed rgba(244,241,236,.18);border-radius:var(--r-lg);padding:18px 24px;color:var(--muted);font-size:15px}
.notfor b{color:#F4F1EC}
@media(max-width:860px){.who{grid-template-columns:1fr}}

/* old way / new way */
.oldnew{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:980px;margin:0 auto;text-align:left}
.oldnew>div{border-radius:var(--r-lg);padding:24px;border:1px solid var(--border)}
.oldnew .old{background:var(--surface);color:var(--muted)}
.oldnew .new{background:radial-gradient(90% 90% at 100% 100%,rgba(241,96,1,.22),transparent 70%),var(--surface);border-color:rgba(241,96,1,.35)}
.oldnew h3{font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.oldnew .old h3{color:var(--subtle)}.oldnew .new h3{color:var(--ember-l)}
.oldnew ul{list-style:none;padding:0;margin:12px 0 0}
.oldnew li{padding:8px 0;border-bottom:1px solid var(--border);font-size:16px}
.oldnew li:last-child{border-bottom:0}
.oldnew .old li{text-decoration:line-through;text-decoration-color:rgba(244,241,236,.25)}
@media(max-width:760px){.oldnew{grid-template-columns:1fr}}

/* teacher feature */
.teacher{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:center;text-align:left;max-width:1100px;margin:0 auto}
.teacher .ph{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/4.6;background:var(--surface2)}
.teacher .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.teacher h3{font-size:clamp(28px,3.2vw,40px);letter-spacing:-.03em;margin-top:10px}
.teacher .role{font:600 11px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--ember-l)}
.teacher .lead{color:var(--muted);margin:14px 0 0;font-size:17px}
.why{list-style:none;padding:0;margin:20px 0 0;counter-reset:w}
.why li{position:relative;padding:12px 0 12px 44px;border-top:1px solid var(--border);font-size:16px}
.why li::before{counter-increment:w;content:counter(w);position:absolute;left:0;top:12px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,162,92,.45);color:var(--ember-l);font:700 13px/28px var(--font);text-align:center}
.why li b{display:block;color:#F4F1EC}
.why li span{color:var(--muted);font-size:15px}
@media(max-width:860px){.teacher{grid-template-columns:1fr;gap:24px}.teacher .ph{aspect-ratio:4/3.6}}
.backed{margin-top:56px}
.backed .hosts{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin:0 auto}
@media(max-width:700px){.backed .hosts{grid-template-columns:1fr}}

/* stats: 4 across */
.stats3.s4{grid-template-columns:repeat(4,1fr)}
@media(max-width:760px){.stats3.s4{grid-template-columns:1fr 1fr}.stats3.s4>div{padding:26px 10px}}

/* outcomes list: 7 items + new tag */
.topic .new{display:inline-block;margin-left:8px;font:700 10px var(--font);letter-spacing:.14em;text-transform:uppercase;color:#0B0A09;background:var(--ember-l);border-radius:999px;padding:3px 8px;vertical-align:3px}

/* day 2 bonus */
.bonus{margin-top:18px;border:1px solid rgba(241,96,1,.4);border-radius:16px;padding:16px 18px;background:radial-gradient(90% 120% at 100% 0%,rgba(241,96,1,.18),transparent 70%),var(--surface)}
.bonus .t{font:800 11px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--ember-l)}
.bonus p{margin:6px 0 0 !important;color:var(--muted);font-size:15px}
.bonus p b{color:#F4F1EC}

/* ticket */
.tix .was{font-size:14px;color:var(--muted);margin-top:6px}
.tix .was b{color:#F4F1EC}
.tix .perday{display:inline-block;margin-top:10px;font:600 12px var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--ember-l)}

/* P.S. close */
.ps{max-width:680px;margin:34px auto 0;text-align:left;font-size:17px;color:#E7E3DD;border-left:2px solid var(--ember);padding:4px 0 4px 20px}
.ps b{color:#F4F1EC}

/* contextual CTA under sections */
.ctx{margin-top:34px;display:flex;justify-content:center}

/* v4.1 lean hero */
.h3ro{min-height:min(88vh,780px)}
.h3ro h1.v4{font-size:clamp(40px,6vw,84px);max-width:900px}
.h3ro p.sub{font-size:clamp(17px,1.7vw,21px);max-width:560px;margin:20px 0 28px}
@media(max-width:600px){.h3ro h1.v4{font-size:42px}.h3ro .eyebrow{font-size:11px;letter-spacing:.14em}.h3ro .wrap{padding-bottom:40px}}
.out3 p{font-size:14.5px}

/* v4.2 under-CTA line: one weight, one colour, tick marks */
.h3ro .under{gap:8px 20px;margin-top:16px;font-size:14px;color:#D9D4CC}
.h3ro .under span{display:inline-flex;align-items:center;gap:7px;font-weight:500}
.h3ro .under span::before{content:"";width:14px;height:14px;flex:none;background:var(--ember-l);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* v4.3 proof band: strip matches the stats width, centred, with room before the stats */
.out3.band{max-width:none;margin:56px 0 44px;gap:18px;text-align:center}
.out3.band>div{padding:22px 20px;background:rgba(11,10,9,.45)}
.out3.band p{font-size:15.5px;margin-top:8px}
@media(max-width:760px){.out3.band{margin:36px 0 32px;gap:10px}.out3.band>div{padding:16px}}

/* v4.4 brand-kit frosted glass (kit v4 .o-glass, literal values for Safari) instead of flat black cards */
.out3.band{margin:8px 0 18px;gap:12px}
.out3.band>div{padding:16px 12px;border-radius:999px;background:rgba(244,241,236,.07);border:1px solid rgba(244,241,236,.16);box-shadow:0 10px 40px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
.out3.band .t{font-size:14px;letter-spacing:.2em}
.h3ro .wrap{padding-bottom:28px}
.stats3,.stats3.s4{border:0 !important;background:none !important}
.stats3>div{border:0 !important}
.who .c,.oldnew>div,.oldnew .old,.oldnew .new,.host,.rcard,.notfor,.bonus,.tix,.faqd details{background:rgba(244,241,236,.07);border:1px solid rgba(244,241,236,.16);box-shadow:0 10px 40px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
.oldnew .new{background:linear-gradient(135deg,rgba(241,96,1,.18),rgba(244,241,236,.06)) !important;border-color:rgba(255,162,92,.4)}
.tix{border-color:rgba(255,162,92,.4)}
.notfor{border-style:solid}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.out3.band>div,.who .c,.oldnew>div,.host,.rcard,.notfor,.bonus,.tix{background:rgba(46,43,40,.92)}}
@media(max-width:760px){.out3.band{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 12px}.out3.band>div{padding:12px 6px}.out3.band .t{font-size:11px;letter-spacing:.12em}}

/* v4.5 pills: no band behind them (site.css .band added lines + a black fill); each card is frosted glass */
.out3.pills{max-width:none;margin:8px 0 18px;gap:14px;text-align:center;background:none;border:0}
.out3.pills>div{padding:20px 18px;border-radius:24px;background:rgba(244,241,236,.07);border:1px solid rgba(244,241,236,.16);box-shadow:0 10px 40px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
.out3.pills .t{font-size:13px;letter-spacing:.18em}
.out3.pills p{font-size:15px;margin-top:8px}
@media(max-width:760px){.out3.pills{grid-template-columns:1fr;gap:10px;margin:4px 0 12px}.out3.pills>div{padding:14px 16px}}

/* v4.6 more room between the hero and the pills */
.out3.pills{margin-top:48px}
@media(max-width:760px){.out3.pills{margin-top:32px}}

/* v4.7 animations: count-up stats + press marquee */
.stats3 .n{font-variant-numeric:tabular-nums}
.marquee{width:min(900px,100%);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee .track{display:flex;width:max-content;animation:origins-marquee 28s linear infinite}
.marquee .track img{height:44px;width:auto;max-width:none;margin-right:64px;opacity:.85}
.marquee:hover .track{animation-play-state:paused}
@keyframes origins-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:600px){.marquee .track img{height:32px;margin-right:40px}.marquee .track{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){.marquee .track{animation:none}}

/* v4.8 header pinned flush to the top on iPhone (cover the status-bar safe area) */
.nav{top:0;z-index:60;padding-top:env(safe-area-inset-top);background:rgba(11,10,9,.88)}
html{scroll-padding-top:calc(68px + env(safe-area-inset-top))}
.h3ro .wrap{padding-top:calc(110px + env(safe-area-inset-top))}

/* facts row always on one line */
.h3ro .facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0 48px;flex-wrap:nowrap}
.h3ro .facts .v{white-space:nowrap}
@media(max-width:600px){
  .h3ro .facts{grid-template-columns:repeat(3,minmax(0,auto));justify-content:space-between;gap:0 14px;margin-top:32px;padding-top:18px}
  .h3ro .facts .k{font-size:10px;letter-spacing:.12em}
  .h3ro .facts .v{font-size:13.5px;letter-spacing:0}
}

/* v4.9 press ticker: separate logos, one equal gap everywhere incl. Bloomberg -> Forbes */
.marquee .track{align-items:center}
.marquee .track img{height:34px;margin:0 28px;opacity:.85}
.marquee .track img[src*="business-insider"],.marquee .track img[src*="press-aw"]{height:30px}
@media(max-width:600px){.marquee .track img{height:24px;margin:0 18px}.marquee .track img[src*="business-insider"],.marquee .track img[src*="press-aw"]{height:21px}}

/* v4.10 iPhone: solid header (iOS 26 Safari tints the status bar from a fixed top element with an opaque colour) + cover the area above it */
.nav{background-color:#0B0A09 !important;-webkit-backdrop-filter:none;backdrop-filter:none}
.nav::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:200px;background:#0B0A09}
/* keep the frosted header (brand kit) now that viewport-fit=cover lets it cover the status bar */
.nav{background-color:rgba(11,10,9,.86) !important;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}

/* v4.11 iOS 26 fix: Safari paints the scrolling document behind the status bar and a fixed header
   can't cover it. Lock the document and scroll an inner container instead (app shell). */
html,body{height:100%;overflow:hidden;overscroll-behavior:none;background-color:#0B0A09}
#scroll-root{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;scroll-padding-top:calc(68px + env(safe-area-inset-top))}
@media(prefers-reduced-motion:reduce){#scroll-root{scroll-behavior:auto}}

/* v4.12 body must stay transparent so the drifting Ember glows (.aurora, z-index:-4) show; html carries the black for the iOS status strip */
html{background-color:#0B0A09}
body{background:transparent !important}

/* v4.13 ticker spans the same width as the pills and stats row */
.press{align-items:stretch}
.press .eyebrow{text-align:center}
.marquee{width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}

/* v4.14 "not for you" : no box, centred, explicit */
.notfor2{max-width:760px;margin:56px auto 0;text-align:center}
.notfor2 h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em}
.notfor2 ul{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;align-items:center;gap:12px}
.notfor2 li{display:inline-flex;align-items:flex-start;gap:12px;font-size:17px;color:#E7E3DD;text-align:left;max-width:640px}
.notfor2 li::before{content:"✕";flex:none;width:24px;height:24px;border-radius:50%;background:rgba(193,8,1,.35);color:#FFA25C;font:800 12px/24px var(--font);text-align:center;margin-top:1px}

/* v4.15 ticker loops seamlessly on mobile: logos load eagerly with fixed sizes, GPU transform */
.marquee .track img{width:auto;flex:none}
.marquee .track{will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation-name:origins-marquee3d}
@keyframes origins-marquee3d{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* v4.16 FAQ: separate rounded glass cards with inner padding (was square boxes, text touching the edge) */
.faqd{display:flex;flex-direction:column;gap:10px;margin:0 auto}
.faqd details{border-radius:18px;padding:0 24px;border-bottom:1px solid rgba(244,241,236,.16)}
.faqd summary{min-height:62px;font-size:17px}
.faqd details p{margin:0 0 20px;font-size:16px}
.faqd details[open]{background:rgba(244,241,236,.1)}
@media(max-width:600px){.faqd details{padding:0 18px}.faqd summary{font-size:16px}}

/* v4.17 mobile type: headings max 2 lines, smaller sizes, no one-word last lines */
h1,h2,h3,.sec-head p,.lead{text-wrap:balance}
p,li,.role,.host p,.why span{text-wrap:pretty}
@media(max-width:600px){
  h2,.sec-head h2,.backed .sec-head h2{font-size:23px !important;line-height:1.15;letter-spacing:-.025em}
  .sec-head p{font-size:15.5px;line-height:1.5}
  .display{font-size:32px !important}
  .teacher h3,.host h3{font-size:24px}
  .host p,.teacher .lead{font-size:15px;line-height:1.5}
  .host .role,.teacher .role{font-size:10px;letter-spacing:.1em}
  .why li{font-size:15px}.why li span{font-size:14px}
  .host .bd{padding:18px 18px 20px}
  .topic h3{font-size:18px}.topic p{font-size:15px}
  .day h3{font-size:24px}
  .who .c h3{font-size:19px}.who .c li{font-size:14.5px}
  .notfor2 h3{font-size:21px}.notfor2 li{font-size:15px}
  .rcard .r{font-size:20px}
}
@media(max-width:600px){.final .display{font-size:27px !important;line-height:1.12}.final .display .aside{font-size:inherit}}
.sub-final{margin:14px 0 0;font-size:18px;color:var(--muted)}
@media(max-width:600px){.h3ro h1.v4{font-size:36px !important;line-height:1.05}}

/* v4.18 outcomes accordion */
.ocl{max-width:760px;margin:0 auto;text-align:left;border-top:1px solid rgba(244,241,236,.12)}
.oc{border-bottom:1px solid rgba(244,241,236,.12);transition:background .25s}
.oc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 22px;align-items:center;gap:14px;padding:22px 8px}
.oc summary::-webkit-details-marker{display:none}
.oc .i{font:600 12px var(--font);letter-spacing:.14em;color:var(--ember-l)}
.oc h3{font-size:clamp(18px,1.9vw,22px);letter-spacing:-.015em;transition:color .2s}
.oc .pm{position:relative;width:16px;height:16px}
.oc .pm::before,.oc .pm::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;border-radius:2px;background:var(--ember-l);transition:transform .25s}
.oc .pm::after{transform:rotate(90deg)}
.oc[open] .pm::after{transform:rotate(0)}
.oc[open]{background:linear-gradient(90deg,rgba(241,96,1,.10),transparent 80%)}
.oc[open] h3,.oc summary:hover h3{color:var(--ember-l)}
.oc-b{padding:0 8px 22px 66px;animation:ocin .3s ease}
.oc-b p{margin:0;color:var(--muted);font-size:16px;line-height:1.6;max-width:600px}
@keyframes ocin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:600px){.oc summary{grid-template-columns:30px 1fr 16px;gap:10px;padding:18px 4px}.oc h3{font-size:17px}.oc-b{padding:0 4px 18px 44px}.oc-b p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.oc-b{animation:none}}

/* v4.19 one accordion style for Outcomes + FAQ: glass cards, smooth height animation, click pins open */
.acc{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px;text-align:left}
.acc-i{border-radius:18px;background:rgba(244,241,236,.07);border:1px solid rgba(244,241,236,.16);box-shadow:0 10px 40px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);transition:background .4s ease,border-color .4s ease}
.acc-i.open{background:rgba(244,241,236,.11);border-color:rgba(255,162,92,.35)}
.acc-q{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:1fr 18px;align-items:center;gap:14px;padding:20px 24px;font:600 17px/1.35 var(--font);color:var(--ink)}
.acc-num .acc-q{grid-template-columns:36px 1fr 18px}
.acc-q:focus-visible{outline:2px solid var(--ember-l);outline-offset:-2px;border-radius:18px}
.acc-q .i{font:600 12px var(--font);letter-spacing:.14em;color:var(--ember-l)}
.acc-q .t{transition:color .3s}
.acc-i.open .acc-q .t{color:var(--ember-l)}
.acc-q .pm{position:relative;width:16px;height:16px}
.acc-q .pm::before,.acc-q .pm::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;border-radius:2px;background:var(--ember-l);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.acc-q .pm::after{transform:rotate(90deg)}
.acc-i.open .pm::after{transform:rotate(0)}
.acc-a{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1),opacity .45s ease .05s}
.acc-i.open .acc-a{grid-template-rows:1fr;opacity:1}
.acc-in{overflow:hidden}
.acc-in p{margin:0;padding:0 24px 22px;color:var(--muted);font-size:16px;line-height:1.6}
.acc-num .acc-in p{padding-left:74px}
@media(max-width:600px){.acc-q{padding:16px 18px;font-size:16px}.acc-num .acc-q{grid-template-columns:28px 1fr 16px}.acc-in p{padding:0 18px 18px;font-size:15px}.acc-num .acc-in p{padding-left:18px}}
@media(prefers-reduced-motion:reduce){.acc-a,.acc-q .pm::after{transition:none}}

/* v4.20 video case studies (from dtclabs.asia/100k-vsl, self-hosted) */
.csgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left}
.cs{border-radius:var(--r-lg);overflow:hidden;background:rgba(244,241,236,.07);border:1px solid rgba(244,241,236,.16);box-shadow:0 10px 40px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
.cs-v{aspect-ratio:16/9;background:#000}
.cs-v video{width:100%;height:100%;display:block;object-fit:cover;background:#000}
.cs .tx{padding:16px 18px 18px}
.cs .r{font:800 21px/1.15 var(--font);letter-spacing:-.02em}
.cs .b{color:var(--muted);font-size:14.5px;margin-top:6px}
@media(max-width:860px){.csgrid{grid-template-columns:1fr}}

/* v4.21 brand logo wall -> borderless ticker scrolling the other way */
.brandwall{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:64px}
.marquee.rev .track{animation:origins-marquee-rev 60s linear infinite;align-items:center}
.marquee.rev .track img{height:auto;max-height:46px;max-width:170px;width:auto;margin:0 34px;opacity:.8;object-fit:contain}
@keyframes origins-marquee-rev{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@media(max-width:600px){.marquee.rev .track img{max-height:32px;max-width:120px;margin:0 20px}.marquee.rev .track{animation-duration:45s}}
@media(prefers-reduced-motion:reduce){.marquee.rev .track{animation:none}}

/* v4.22 pills removed: give the stats row its own breathing room under the hero */
section[aria-label="In numbers"]{padding-top:48px !important}
@media(max-width:600px){section[aria-label="In numbers"]{padding-top:28px !important}}

/* v4.23 reorder: why-now list, named results, quotes, seat quote, Forbes-only press */
.press.solo{align-items:center}
.press.solo img{height:40px;width:auto;opacity:.85}
@media(max-width:600px){.press.solo img{height:30px}}
.whynow{list-style:none;padding:0;margin:0 auto;max-width:720px;display:flex;flex-direction:column;gap:12px;text-align:left}
.whynow li{position:relative;padding:16px 20px 16px 52px;border-radius:18px;font-size:17px;background:rgba(244,241,236,.07);border:1px solid rgba(244,241,236,.16);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
.whynow li::before{content:"";position:absolute;left:22px;top:24px;width:10px;height:10px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 4px rgba(241,96,1,.25)}
.named{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left}
.nr{border-radius:var(--r-lg);overflow:hidden;background:rgba(244,241,236,.07);border:1px solid rgba(244,241,236,.16);box-shadow:0 10px 40px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);display:flex;flex-direction:column}
.nr .cs-v img{width:100%;height:100%;object-fit:cover;display:block}
.nr .tx{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.nr .who-n{font:600 11px var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--ember-l)}
.nr .r{font:800 22px/1.15 var(--font);letter-spacing:-.02em}
.nr p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.nt{margin-top:auto;padding-top:8px;font-size:12px;color:var(--subtle)}
.rcard .cs-v{aspect-ratio:600/340}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;text-align:left}
.quotes blockquote,.seatq{margin:0;padding:22px 24px;border-radius:var(--r-lg);font-size:18px;line-height:1.45;color:#F4F1EC;background:linear-gradient(135deg,rgba(241,96,1,.14),rgba(244,241,236,.05));border:1px solid rgba(255,162,92,.3);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.quotes cite,.seatq cite{display:block;margin-top:12px;font:600 12px var(--font);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--ember-l)}
.seatq{max-width:560px;margin:18px auto 0;text-align:center}
@media(max-width:860px){.named,.quotes{grid-template-columns:1fr}.quotes blockquote,.seatq{font-size:16px}.whynow li{font-size:15.5px}}

/* v4.24 one layout system: every block spans the same content width (1152px desktop); one section rhythm */
:root{--sec-y:72px;--sub-y:64px}
@media(max-width:600px){:root{--sec-y:48px;--sub-y:44px}}
main > .sec,main > section.final{padding:var(--sec-y) 0 !important}
main > .sec:first-of-type{padding-top:calc(var(--sec-y) * .75) !important}
.sec-head{margin-bottom:36px}
.sec .wrap > .sec-head:not(:first-child),.backed{margin-top:var(--sub-y) !important}
.ctx{margin-top:36px}
/* full-width overrides removed (Yixuan, 7 Nov): blocks back to their own widths; spacing rhythm kept */
.notfor2{margin-top:var(--sub-y)}
.quotes{margin-top:16px}
.brandwall{margin-top:var(--sub-y)}
.press{padding-top:28px}
.seatq{margin-top:16px}

/* v4.25 hero CTA = free growth audit */
.h3ro .audit{display:flex;align-items:center;gap:18px;flex-wrap:wrap;max-width:720px}
.h3ro .audit-l{margin:0;max-width:380px;font-size:15px;line-height:1.45;color:#E7E3DD}
@media(max-width:600px){.h3ro .audit{flex-direction:column;align-items:flex-start;gap:12px}.h3ro .audit-l{font-size:14.5px;max-width:none}}

/* v4.26 lighter, smaller subtext across the page (Inter Light 300, Latin subset, OFL) */
@font-face{font-family:Inter;src:url(fonts/Inter-300.woff2) format("woff2");font-weight:300;font-display:swap}
.sec-head p,.sub-final,.h3ro p.sub,.teacher .lead,.audit-l{font-weight:300}
.sec-head p{font-size:16px;line-height:1.55}
.sub-final{font-size:16px}
.h3ro p.sub{font-size:clamp(16px,1.45vw,18px)}
.h3ro .audit-l{font-size:14px}
.teacher .lead{font-size:16px}
@media(max-width:600px){.sec-head p,.sub-final{font-size:14.5px}.h3ro p.sub{font-size:15.5px}.teacher .lead{font-size:14.5px}.h3ro .audit-l{font-size:13.5px}}

.quotes.one{grid-template-columns:1fr;max-width:760px;margin-left:auto;margin-right:auto;text-align:center}

/* v4.27 class interviews: tap to play with sound, full screen */
.lc-v{position:relative;cursor:pointer}
.lc-play{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(244,241,236,.18);border:1px solid rgba(244,241,236,.4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .25s,background .25s}
.lc-play::after{content:"";position:absolute;left:23px;top:18px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #F4F1EC}
.lc-v:hover .lc-play{transform:scale(1.08);background:rgba(241,96,1,.55)}
.lc-ov{position:fixed;inset:0;z-index:200;background:rgba(5,4,3,.94);display:none;align-items:center;justify-content:center}
.lc-ov.on{display:flex}
.lc-ov video{max-width:100vw;max-height:100dvh;width:auto;height:100%;background:#000}
.lc-x{position:absolute;top:calc(env(safe-area-inset-top) + 14px);right:16px;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,241,236,.35);background:rgba(244,241,236,.12);color:#F4F1EC;font-size:26px;line-height:1;cursor:pointer}

/* v4.28 not-for list: one aligned column (block centred, items left-aligned) */
.notfor2 ul{display:inline-flex;align-items:stretch;text-align:left;margin-left:auto;margin-right:auto;max-width:640px}
.notfor2 li{display:flex;width:100%}

/* v4.29 closing headline: 2 lines max */
.final h2.display{font-size:clamp(26px,4.4vw,64px);max-width:1100px;margin-left:auto;margin-right:auto;text-wrap:balance}
@media(max-width:600px){.final h2.display{font-size:clamp(22px,6.4vw,27px);text-wrap:wrap}.final h2 .nb{white-space:nowrap}}
@media(max-width:600px){.final h2.display{font-size:clamp(19px,5.9vw,24px) !important}}

/* v4.30 class interviews: 3 captioned clips with names */
.lastclass.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:900px;margin-left:auto;margin-right:auto}
.lc-f{margin:0;display:flex;flex-direction:column;gap:10px;text-align:left}
.lc-f .lc-v{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:9/16;background:#000}
.lc-f .lc-v video{width:100%;height:100%;object-fit:cover;display:block}
.lc-f figcaption{display:flex;flex-direction:column;gap:2px;padding:0 4px}
.lc-f figcaption b{font:600 15px var(--font);color:#F4F1EC}
.lc-f figcaption span{font:300 13.5px/1.4 var(--font);color:var(--muted)}
@media(max-width:700px){.lastclass.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lc-f figcaption b{font-size:13px}.lc-f figcaption span{font-size:12px}.lc-play{width:44px;height:44px;margin:-22px 0 0 -22px}.lc-play::after{left:17px;top:13px;border-width:9px 0 9px 14px}}
.lc-f figcaption span{text-wrap:balance;hyphens:none}

/* v4.31 price card: same ticks as the hero */
.tix .under.ticks{justify-content:center;gap:8px 18px;margin-top:16px;font-size:13.5px;color:#D9D4CC}
.tix .under.ticks span{display:inline-flex;align-items:center;gap:7px;font-weight:500;white-space:nowrap}
.tix .under.ticks span::before{content:"";width:14px;height:14px;flex:none;background:var(--ember-l);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.tix .under.ticks{flex-direction:column;align-items:center;gap:8px}
.tix .under.ticks{display:flex;flex-direction:column;align-items:flex-start;width:max-content;margin-left:auto;margin-right:auto}
@media(max-width:600px){#watch .sec-head h2{font-size:clamp(18px,5.4vw,22px) !important;text-wrap:balance}}
@media(max-width:600px){#watch .sec-head h2{font-size:clamp(17px,5vw,22px) !important;text-wrap:wrap !important}}

/* v4.32 class interviews carousel + in-page player (no fullscreen) */
.lc-car{position:relative;max-width:900px;margin:0 auto}
.lastclass.three.lc-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:none;padding:2px}
.lc-track::-webkit-scrollbar{display:none}
.lc-track .lc-f{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start}
.lc-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px}
.lc-arr{width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,241,236,.25);background:rgba(244,241,236,.08);color:#F4F1EC;font-size:26px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lc-arr:hover{background:rgba(241,96,1,.5)}
.lc-dots{display:flex;gap:8px}
.lc-dots i{width:8px;height:8px;border-radius:50%;background:rgba(244,241,236,.3);cursor:pointer;transition:all .25s}
.lc-dots i.on{width:22px;border-radius:4px;background:var(--ember)}
@media(max-width:700px){.lc-track .lc-f{flex:0 0 72%}.lc-track{gap:12px}.lc-f figcaption b{font-size:15px}.lc-f figcaption span{font-size:13px}
  .lc-play{width:58px;height:58px;margin:-29px 0 0 -29px}.lc-play::after{left:23px;top:18px;border-width:11px 0 11px 17px}}
.lc-ov{flex-direction:column;gap:16px;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);background:rgba(5,4,3,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lc-box{width:min(420px,100%);max-height:calc(100dvh - 120px);aspect-ratio:9/16;border-radius:var(--r-lg);overflow:hidden;background:#000;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lc-ov video{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;display:block}
.lc-close{min-height:48px;padding:0 24px;border-radius:999px;border:1px solid rgba(244,241,236,.35);background:rgba(244,241,236,.14);color:#F4F1EC;font:600 15px var(--font);cursor:pointer}
.lc-close:hover{background:rgba(241,96,1,.55)}
.vsl .sound.on{background:rgba(241,96,1,.85)}

/* v4.33 class clips: VSL-style sound button */
.lc-v{cursor:default}
.lc-snd{position:absolute;left:10px;bottom:10px;min-height:40px;padding:0 14px;border-radius:999px;border:0;background:rgba(11,10,9,.72);color:#F4F1EC;font:600 13px var(--font);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lc-snd.on{background:rgba(241,96,1,.85)}
@media(max-width:700px){.lc-snd{font-size:12.5px;min-height:38px;padding:0 12px}}

/* v4.34 section jump bar under the header */
.secnav{border-top:1px solid rgba(244,241,236,.08)}
.secnav-in{display:flex;gap:6px;max-width:1200px;margin:0 auto;padding:8px 24px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}
.secnav-in::-webkit-scrollbar{display:none}
.secnav a{flex:none;white-space:nowrap;text-decoration:none;font:500 13.5px var(--font);color:#CFC9C0;padding:7px 14px;border-radius:999px;border:1px solid rgba(244,241,236,.14);background:rgba(244,241,236,.05);transition:background .2s,color .2s,border-color .2s}
.secnav a:hover{color:#F4F1EC;border-color:rgba(244,241,236,.3)}
.secnav a.on{color:#0B0A09;background:var(--ember-l);border-color:var(--ember-l);font-weight:600}
@media(min-width:1000px){.secnav-in{justify-content:center}}
@media(max-width:600px){.secnav-in{padding:7px 16px;gap:6px}.secnav a{font-size:12.5px;padding:6px 12px}}
#scroll-root{scroll-padding-top:calc(116px + env(safe-area-inset-top))}
.h3ro .wrap{padding-top:calc(116px + env(safe-area-inset-top))}
.nav nav.secnav{display:block}

/* v4.35 desktop: section links sit inside the header row (Brand Architect style); phones keep the pill bar */
@media(min-width:1280px){
  .secnav{position:absolute;left:0;right:0;top:env(safe-area-inset-top);height:68px;border-top:0;pointer-events:none}
  .secnav-in{height:100%;width:max-content;max-width:none;margin:0 auto;padding:0;gap:4px;align-items:center;overflow:visible;-webkit-mask-image:none;mask-image:none;pointer-events:auto}
  .secnav a{font:500 11.5px var(--font);letter-spacing:.16em;text-transform:uppercase;color:#A9A39A;background:none;border:0;border-radius:0;padding:8px 10px}
  .secnav a:hover{color:#F4F1EC;background:none}
  .secnav a.on{color:var(--ember-l);background:none;font-weight:500}
  #scroll-root{scroll-padding-top:calc(76px + env(safe-area-inset-top))}
  .h3ro .wrap{padding-top:calc(76px + env(safe-area-inset-top))}
}

/* v4.36 VSL sound button: compact on phones */
.vsl .sound{display:inline-flex;align-items:center;gap:6px}
@media(max-width:600px){
  .vsl .sound{left:8px;bottom:8px;min-height:30px;height:30px;padding:0 10px;font-size:11.5px;gap:5px;background:rgba(11,10,9,.6)}
  .vsl .sound .si{font-size:12px}
  .vsl .sound.on .st{display:none}
  .vsl .sound.on{width:30px;padding:0;justify-content:center}
}

/* v4.37 two ticket tiers: General + VIP */
.tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1000px;margin:0 auto;align-items:stretch}
.tiers .tix{max-width:none;margin:0;display:flex;flex-direction:column}
.tiers .tix .bd{flex:1;display:flex;flex-direction:column}
.tiers .tix ul{flex:1}
.tix.vip{border-color:rgba(255,162,92,.75);box-shadow:0 0 0 1px rgba(255,162,92,.35),0 30px 90px rgba(241,96,1,.22);background:linear-gradient(180deg,rgba(241,96,1,.16),rgba(46,43,40,.92) 45%)}
.tix.vip .cap{margin-top:10px;font:600 12px var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--ember-l)}
.tix.vip li b{color:#F4F1EC;font-weight:600}
.tix.vip li.all{color:var(--ember-l)}
.tix.vip li.all b{color:var(--ember-l)}
@media(max-width:860px){.tiers{grid-template-columns:1fr;max-width:560px}}
@media(min-width:861px){.tiers .tix .bd{display:flex !important;padding:36px 32px 32px}.tiers .tix .bd > *{grid-column:auto}}

/* v4.38 VIP card = same design as General, only an orange highlight border */
.tix.vip{background:rgba(46,43,40,.92);border:2px solid var(--ember);box-shadow:0 0 0 4px rgba(241,96,1,.18),0 10px 40px rgba(0,0,0,.28)}
.tix.vip li{color:inherit;font-weight:inherit}
.tix.vip .cap{margin-top:8px;font:400 14px var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
.tiers .tix.vip{background:rgba(11,10,9,.55) !important}.tiers .tix.vip li{border-bottom:1px solid var(--border)}

/* v5 apply form (7 Nov): one tap per screen */
#apply .apply-price{margin:6px 0 0;font-size:14px;color:var(--muted)}
#apply .prog{margin:16px 0 6px}
#apply .back-link{background:none;border:0;color:var(--muted);font:500 14px var(--font);padding:8px 0;cursor:pointer;min-height:40px}
#apply .q{margin:14px 0}
#apply .q legend{font-size:20px;line-height:1.3;margin-bottom:14px;text-wrap:balance}
#apply .q-sub{font-size:14.5px;color:var(--muted);margin:-6px 0 14px}
#apply .opts label{min-height:54px}
#apply .tier-opts label{padding:12px 14px;align-items:flex-start}
#apply .tier-opts label input{margin-top:3px}
#apply .tier-opts span b{display:block;font-weight:600}
#apply .tier-opts span small{display:block;color:var(--muted);font-size:13.5px;margin-top:3px;line-height:1.4}
#apply .notice{font-size:12.5px;color:var(--muted);margin:14px 0 0;line-height:1.5}
#apply .form-nav .btn{flex:1}
@media(max-width:640px){#apply .sheet{padding:24px 18px}#apply .q legend{font-size:18.5px}}
#apply #calhint{font-size:14.5px;line-height:1.5}

/* v5.1 apply form spacing (7 Nov, Yixuan: centre the sheet, equal space top/bottom, roomier options) */
#apply.modal{padding:16px}
#apply .sheet{margin:auto;padding:28px 22px}
#apply .q{margin:14px 0 0}
#apply .err:empty{display:none}
#apply .err{min-height:0;margin-top:12px}
#apply .opts{gap:10px}
#apply .opts label{min-height:56px;padding:14px 16px;line-height:1.4;gap:14px}
#apply .opts input{flex:0 0 auto}
#apply .notice{margin-bottom:0}
@media(max-width:640px){#apply .sheet{padding:26px 20px}}
#apply .q legend{padding:0}
@media(max-width:640px){#apply .sheet{padding:26px 20px 34px}}
@media(min-width:641px){#apply .sheet{padding:28px 22px 36px}}
#apply .form-nav>span:empty{display:none}
