/* Batch page only */
.stats-sec{padding-top:clamp(56px,8vw,96px);padding-bottom:0}
.mirror-h{max-width:820px;margin-inline:auto}
.statement{font:700 clamp(1.45rem,3.6vw,2.4rem)/1.32 var(--serif);max-width:860px;margin-inline:auto;letter-spacing:-.005em}
.statement+.statement{margin-top:clamp(28px,5vw,52px)}
.statement em{font-style:italic;font-weight:400;color:var(--gold2)}
.tagline{margin-top:clamp(30px,5vw,54px);text-align:center;font:italic 400 clamp(1.15rem,2.6vw,1.6rem)/1.5 var(--serif);color:var(--gold2)}

/* Teacher */
.teacher{display:grid;gap:34px;align-items:center;justify-items:center;text-align:center}
@media(min-width:860px){.teacher{grid-template-columns:auto 1fr;justify-items:start;align-items:start;text-align:left;gap:56px}.teacher .portrait{margin:12px 12px 0}}
.teacher .portrait{--pw:150px}
.air{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:1.6rem;max-width:520px}
.air .card{padding:20px 18px;text-align:left}
.air b{display:block;font:700 clamp(2rem,5vw,3rem)/1 var(--serif);color:var(--gold2)}
.air span{display:block;margin-top:.5rem;font-size:.82rem;color:var(--mute);line-height:1.4}
.creds{list-style:none;margin-top:1.6rem;display:grid;gap:10px;color:var(--mute);text-align:left;max-width:520px}
.creds li{display:flex;gap:12px;align-items:flex-start}
.creds li::before{content:'';flex:none;width:7px;height:7px;margin-top:.62em;background:var(--gold);transform:rotate(45deg)}
.teacher .pull{margin-top:1.8rem;font:700 clamp(1.15rem,2.3vw,1.45rem)/1.4 var(--serif)}

/* Journey timeline */
.tlwrap{position:relative;max-width:720px;margin:0 auto}
.tl-fill{position:absolute;left:19px;top:8px;width:2px;height:calc(100% - 16px);transform-origin:0 0;transform:scaleY(0);background:linear-gradient(180deg,var(--gold2),var(--gold))}
.tl{position:relative;list-style:none;padding-left:56px}
.tl::before{content:'';position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl li{position:relative;padding:0 0 40px}
.tl li:last-child{padding-bottom:0}
.tl .dot{position:absolute;left:-47px;top:1px;width:24px;height:24px;border-radius:50%;background:var(--bg);border:2px solid var(--line);transition:all .5s var(--ease);display:grid;place-items:center}
.tl .dot svg{width:13px;height:13px;stroke:var(--bg);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .4s}
.tl li.lit .dot{border-color:var(--gold);background:var(--gold);box-shadow:0 0 0 7px rgba(201,168,76,.16)}
.tl li.lit .dot svg{opacity:1}
.tl .when{font:700 clamp(1.05rem,2.2vw,1.3rem)/1.3 var(--serif);color:var(--faint);transition:color .5s}
.tl li.lit .when{color:var(--gold2)}
.tl p{color:var(--mute);margin-top:3px}

/* What is included */
.inc{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:680px){.inc{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.inc{grid-template-columns:repeat(4,1fr)}}
.inc .card{display:flex;flex-direction:column;gap:10px;min-height:210px}
.inc .card p{color:var(--mute);font-size:.95rem}

/* Who it is for */
.qbox{border:1px solid rgba(201,168,76,.42);border-radius:28px;padding:clamp(30px,6vw,64px);text-align:center;background:linear-gradient(180deg,rgba(201,168,76,.08),rgba(201,168,76,.01));position:relative;overflow:hidden}
.qbox p{font:400 clamp(1.15rem,2.5vw,1.55rem)/1.5 var(--serif);max-width:680px;margin:1.2rem auto 0}
.qbox p.gold{font-weight:700}

/* Investment */
.price{display:block;margin-top:1.2rem;font:700 clamp(3.2rem,11vw,6.5rem)/1 var(--serif);background:linear-gradient(100deg,var(--gold) 35%,#fff6d9 50%,var(--gold) 65%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5.5s ease-in-out infinite}
@keyframes shimmer{0%{background-position:220% 0}100%{background-position:-220% 0}}
.rules{list-style:none;display:grid;gap:12px;max-width:600px;margin:2.2rem auto 0;text-align:left}
.rules li{display:flex;gap:14px;align-items:flex-start;font-size:1.02rem}
.rules li::before{content:'';flex:none;width:7px;height:7px;margin-top:.66em;background:var(--gold);transform:rotate(45deg)}
.rules .soft{color:var(--mute);font-size:.94rem}
.fee-notes{max-width:640px;margin:2.4rem auto 0;display:grid;gap:12px;color:var(--mute);font-size:.95rem;text-align:center}
.fee-notes a{color:var(--gold2)}

/* Application wizard */
.wiz{max-width:720px;margin:0 auto;padding:clamp(22px,4vw,44px)}
.steps{display:flex;list-style:none;margin-bottom:30px}
.steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.84rem;color:var(--faint);position:relative;text-align:center;transition:color .3s}
.steps li::before{content:'';position:absolute;top:17px;left:-50%;width:100%;height:2px;background:var(--line);transition:background .5s}
.steps li:first-child::before{display:none}
.steps li>span:first-child{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);background:#0e0e0e;font:700 .95rem var(--serif);transition:all .4s var(--ease)}
.steps li.is-active,.steps li.is-done{color:var(--ink)}
.steps li.is-active>span:first-child{border-color:var(--gold);color:var(--gold2);box-shadow:0 0 0 5px rgba(201,168,76,.14)}
.steps li.is-done>span:first-child{background:var(--gold);border-color:var(--gold);color:#141008}
.steps li.is-active::before,.steps li.is-done::before{background:var(--gold)}
.panel{animation:panelin .5s var(--ease)}
@keyframes panelin{from{opacity:0;transform:translateX(18px)}}
.panel h3{font:700 clamp(1.3rem,3vw,1.7rem)/1.2 var(--serif);outline:none}
.choices{display:grid;gap:14px;margin-top:18px}
#language-e:not(:empty){display:block;margin-top:12px}
@media(min-width:640px){.choices{grid-template-columns:1fr 1fr}}
.choice{display:block;position:relative;cursor:pointer}
.choice input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.cbody{display:block;position:relative;padding:22px 20px;border:1.5px solid var(--line);border-radius:20px;background:rgba(255,255,255,.03);transition:border-color .25s,background .25s,box-shadow .25s}
.choice:hover .cbody{border-color:rgba(201,168,76,.55)}
.choice input:checked+.cbody{border-color:var(--gold);background:rgba(201,168,76,.09);box-shadow:0 0 0 4px rgba(201,168,76,.13)}
.choice input:focus-visible+.cbody{outline:2px solid var(--gold2);outline-offset:3px}
.choice input:disabled+.cbody{opacity:.5}
.choice input:disabled{cursor:not-allowed}
.cbody b{display:block;font:700 1.25rem var(--serif);padding-right:34px}
.cbody .time{display:block;color:var(--mute);font-size:.92rem;margin:3px 0 12px}
.cbody .mk{position:absolute;right:18px;top:20px;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);transition:all .25s}
.choice input:checked+.cbody .mk{background:var(--gold);border-color:var(--gold)}
.choice input:checked+.cbody .mk::after{content:'';position:absolute;left:8px;top:4px;width:6px;height:11px;border:solid #141008;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.wiz-nav{display:flex;gap:12px;margin-top:28px}
.wiz-nav .btn{flex:1}
.wiz-nav .btn-ghost{flex:0 0 auto;min-width:110px}
.review{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:18px}
.review .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line);font-size:.96rem}
.review .row:last-child{border-bottom:0}
.review .row span:first-child{color:var(--mute);flex:none}
.review .row span:last-child{text-align:right;overflow-wrap:anywhere}
.editlink{background:none;border:0;color:var(--gold2);font:500 .86rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-top:10px;padding:6px 0}
.closedbox{max-width:720px;margin:0 auto;text-align:center;padding:clamp(28px,5vw,56px)}

/* Success */
.success{text-align:center;animation:panelin .6s var(--ease)}
.stamp{width:156px;height:156px;margin:4px auto 8px;transform:rotate(-12deg);animation:stamp .7s var(--ease) both}
.stamp circle{fill:none;stroke:var(--gold2)}
.stamp text{fill:var(--gold2);font:700 21px var(--serif);letter-spacing:4px}
@keyframes stamp{0%{transform:scale(2.6) rotate(-28deg);opacity:0}55%{transform:scale(.92) rotate(-10deg);opacity:1}100%{transform:scale(1) rotate(-12deg)}}
.ref{display:inline-flex;align-items:center;gap:14px;margin-top:1rem;padding:12px 12px 12px 22px;border:1.5px dashed rgba(201,168,76,.65);border-radius:16px;font:700 clamp(1.3rem,4vw,1.8rem)/1 var(--serif);letter-spacing:.09em;color:var(--gold2)}
.ref button{min-height:40px;padding:0 16px;font:500 .84rem var(--sans);letter-spacing:.02em}
.next{list-style:none;text-align:left;max-width:460px;margin:2rem auto 0;display:grid;gap:16px;counter-reset:n}
.next li{counter-increment:n;display:flex;gap:14px;align-items:flex-start;color:var(--mute)}
.next li::before{content:counter(n);flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--gold);color:var(--gold2);font:700 .85rem var(--serif)}
#burst{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:150}

/* Sticky apply bar (phones and tablets) */
.sticky{position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:80;transform:translateY(150%);transition:transform .45s var(--ease)}
.sticky.show{transform:none}
.sticky .btn{width:100%;box-shadow:0 18px 40px -10px rgba(0,0,0,.8),0 12px 32px -12px rgba(201,168,76,.7)}
@media(min-width:900px){.sticky{display:none}}
@media(max-width:899px){.foot{padding-bottom:120px}}

/* Beyond the marks: text beside the desk illustration */
.split{display:grid;gap:44px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1.1fr .9fr;gap:64px}}

/* Which class are you in? - a simple two-way chooser, not a third "product" page competing for attention */
.pickgrid{display:grid;gap:18px;margin-top:8px}
@media(min-width:720px){.pickgrid{grid-template-columns:1fr 1fr}}
.pick{display:block;border:1.5px solid var(--line);border-radius:24px;padding:clamp(26px,4vw,38px);background:rgba(255,255,255,.03);text-decoration:none;color:inherit;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s}
.pick:hover,.pick:focus-visible{border-color:var(--gold);background:rgba(201,168,76,.07);transform:translateY(-3px);box-shadow:0 18px 40px -20px rgba(0,0,0,.6)}
.pick .status{display:block;margin-top:18px;font-size:.86rem;color:var(--mute)}
.pick .go{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font:700 1rem var(--serif);color:var(--gold2)}
.pick .go svg{width:16px;height:16px}

/* Fee statement, laid out like a ledger */
.ledger{max-width:640px;margin:2.4rem auto 0;text-align:left;border:1px solid rgba(201,168,76,.4);border-radius:24px;padding:clamp(22px,4vw,38px);background:linear-gradient(180deg,rgba(201,168,76,.07),rgba(255,255,255,.015));position:relative}
.ledger::before{content:'';position:absolute;left:0;right:0;top:0;height:5px;border-radius:24px 24px 0 0;background:repeating-linear-gradient(90deg,var(--gold) 0 10px,transparent 10px 16px);opacity:.7}
.ledger-h{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);padding-bottom:16px;border-bottom:1px solid var(--line)}
.ledger ul{list-style:none;margin-top:8px}
.ledger li,.ledger-t{display:flex;align-items:baseline;gap:8px;padding:11px 0;font-size:.98rem}
.ledger i{flex:1;min-width:16px;border-bottom:2px dotted rgba(245,240,232,.22);transform:translateY(-4px)}
.ledger li b{font:500 .82rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold2);white-space:nowrap}
.ledger-t{margin-top:8px;padding-top:18px;border-top:2px solid rgba(201,168,76,.55);font:700 clamp(1.15rem,3vw,1.4rem) var(--serif)}
.ledger-t b{font:700 clamp(1.5rem,4.4vw,2rem) var(--serif);color:var(--gold2)}
.ledger-f{margin-top:14px;font-size:.9rem;color:var(--mute);text-align:center}
