html[data-theme="light"] .iso .f-l,html[data-theme="light"] .iso .l{fill:#D9D2C2}html[data-theme="light"] .iso .f-r,html[data-theme="light"] .iso .r{fill:#BEB6A4}html[data-theme="light"] .iso .f-t,html[data-theme="light"] .iso .t{fill:#ECE6D8}
html[data-theme="light"] .iso .g-t{fill:#CDAE70}html[data-theme="light"] .iso .g-l{fill:#AB8644}html[data-theme="light"] .iso .g-r{fill:#80632F}
html[data-theme="light"] .iso .p-t{fill:rgba(23,27,32,.045)}html[data-theme="light"] .iso text{fill:rgba(23,27,32,.6)}
/* ───────── CONTACT — five doors ───────── */
.iso polygon{stroke:rgba(197,160,89,.42);stroke-width:.8;stroke-linejoin:round}
.iso .f-l,.iso .l{fill:#161c25}.iso .f-r,.iso .r{fill:#0d1218}.iso .f-t,.iso .t{fill:#252d3a}
.iso .p-t{fill:rgba(255,255,255,.028)}.iso .p-l{fill:rgba(255,255,255,.012)}.iso .p-r{fill:rgba(0,0,0,.28)}
.iso .p-t,.iso .p-l,.iso .p-r{stroke:rgba(197,160,89,.18)}
.iso .wn{fill:rgba(150,180,210,.15);stroke:none}.iso .wl{fill:#ffd98a;opacity:.92;stroke:none}
.iso .shd{fill:rgba(0,0,0,.5);stroke:none;filter:url(#bl)}
.iso .rim{fill:none;stroke:rgba(255,236,190,.4);stroke-width:.9}
.iso .rl{fill:#2a323d}.iso .rr{fill:#161c24}.iso .rt{fill:#3b4553}
.iso .g-t{fill:#d8b26c}.iso .g-l{fill:#a07d3b}.iso .g-r{fill:#6b5223}.iso .g-t,.iso .g-l,.iso .g-r{stroke:rgba(255,236,190,.5)}
html[data-theme=light] .iso .wn{fill:rgba(40,70,100,.22)}html[data-theme=light] .iso .wl{fill:#e0a53c}
html[data-theme=light] .iso .shd{fill:rgba(60,45,20,.28)}
html[data-theme=light] .iso .rl{fill:#C9C1AE}html[data-theme=light] .iso .rr{fill:#B1A892}html[data-theme=light] .iso .rt{fill:#DDD6C5}
@keyframes exRise{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
.sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(150px,22.5vw,360px);z-index:1}
.sky .rise{animation:none;opacity:0}.sky.go .rise{animation:exRise 1s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i)*.03s)}

.ct-sec{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border-bottom:1px solid var(--ln)}
.ct-in{width:100%;max-width:var(--W);margin:0 auto;padding-inline:var(--gut)}
.ct-eye{font-family:var(--fm);font-size:.64rem;letter-spacing:.14em;color:var(--w45);display:flex;align-items:center;gap:12px;text-transform:uppercase;margin-bottom:1.25rem}
.ct-eye::before{content:'';width:28px;height:1px;background:var(--gd)}
.ct-eye.g{color:var(--gold)}
.ct-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--ln) 1px,transparent 1px),linear-gradient(90deg,var(--ln) 1px,transparent 1px);background-size:72px 72px;opacity:.55;-webkit-mask-image:radial-gradient(70% 80% at 70% 50%,#000,transparent 80%);mask-image:radial-gradient(70% 80% at 70% 50%,#000,transparent 80%)}
.ct-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(48% 55% at 72% 62%,rgba(var(--gold-rgb),.13),transparent 70%)}

/* headline: outline → fill */
.ct-h1,.ct-h2{font-family:var(--fd);font-weight:700;letter-spacing:-.045em;line-height:.98;color:var(--ink)}
.ct-h1{font-size:clamp(2.7rem,min(7.6vw,14vh),7.4rem)}
.ct-h2{font-size:clamp(2.2rem,min(5.6vw,10vh),5.2rem)}
.fw{display:block;white-space:nowrap;position:relative;color:transparent;-webkit-text-stroke:1.5px var(--ink);padding-bottom:.06em}
.fw.g{-webkit-text-stroke-color:var(--gold)}
.fw::after{content:attr(data-t);position:absolute;left:0;top:0;white-space:nowrap;color:var(--ink);-webkit-text-stroke:0;clip-path:inset(-.3em 100% -.3em -.05em)}
.fw.g::after{color:var(--gold)}
.ct-h1 .fw::after{animation:fwIn 1s var(--ease) forwards;animation-delay:calc(.35s + var(--j,0)*.45s)}
.ct-h2.in .fw::after,.ct-h2.in2 .fw::after{animation:fwIn 1s var(--ease) forwards;animation-delay:calc(var(--j,0)*.4s)}
.ct-h1 .fw:nth-child(2),.ct-h2 .fw:nth-child(2){--j:1}.ct-h1 .fw:nth-child(3),.ct-h2 .fw:nth-child(3){--j:2}
@keyframes fwIn{to{clip-path:inset(-.3em -.1em -.3em -.05em)}}


.ct-form{position:relative;background:var(--s1);border:1px solid var(--lm);padding:clamp(1.25rem,3vw,2.5rem);overflow:hidden}
.ct-form::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(var(--gold),transparent)}
.ct-form h2{font-family:var(--fd);font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.035em;color:var(--ink);margin-bottom:clamp(1rem,3vh,1.75rem)}
.ct-fg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.8rem,2vh,1.1rem)}
.ct-fg textarea{resize:vertical;min-height:7.5rem}
.ct-fs{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:clamp(1rem,3vh,1.6rem)}
.ct-fs .form-legal{flex:1 1 15rem}
.ct-wa{font-family:var(--fm);font-size:.66rem;letter-spacing:.08em;color:var(--w70);text-decoration:none;border-bottom:1px solid var(--lm);padding-bottom:1px}
.ct-wa:hover{color:var(--gold);border-color:var(--gold)}
.ct-ok{display:none;margin-top:1rem}
.ct-form.sent .ct-ok{display:block}
/* ───────── TRAINING → PLACEMENT — the climb ───────── */
[data-rv]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-rv].vis{opacity:1;transform:none}
.ct-sub{font-size:clamp(.88rem,1.9vh,1.02rem);color:var(--w70);max-width:52ch;line-height:1.7;margin:clamp(.8rem,2.4vh,1.5rem) 0 clamp(1rem,3vh,1.75rem)}
.ct-act{display:flex;flex-wrap:wrap;gap:.85rem}
.ct-scroll{position:absolute;left:var(--gut);bottom:clamp(.9rem,2.5vh,1.6rem);font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;color:var(--w22);display:flex;align-items:center;gap:.7rem;text-transform:uppercase;text-decoration:none}
.ct-scroll::after{content:'';width:1px;height:26px;background:linear-gradient(var(--gold),transparent);animation:tpDrop 2s ease-in-out infinite}
@keyframes tpDrop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.ct-h1.tp-h1{font-size:clamp(2.4rem,min(5.7vw,10.6vh),5.8rem)}
.ct-h1 .fw:nth-child(3){--j:2}.ct-h1 .fw:nth-child(4){--j:3}
.ct-h2.in .fw::after{animation:fwIn 1s var(--ease) forwards;animation-delay:calc(var(--j,0)*.4s)}
.ct-h2 .fw:nth-child(3){--j:2}
.tp-head{margin-bottom:clamp(1rem,3.5vh,2.25rem)}
.tp-lede{font-size:clamp(.88rem,1.8vh,1rem);color:var(--w70);max-width:60ch;line-height:1.65;margin-top:.9rem}

/* HERO */
.tp-hero{padding:clamp(5.25rem,10vh,7rem) 0 clamp(2rem,5vh,3.5rem)}
.tp-hero__g{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(1rem,2.5vw,3rem);align-items:center}
.tp-copy>*{animation:tpUp .9s var(--ease) both}.tp-copy>:nth-child(1){animation-delay:.05s}.tp-copy>:nth-child(3){animation-delay:1.1s}.tp-copy>:nth-child(4){animation-delay:1.25s}.tp-copy>:nth-child(5){animation-delay:1.4s}
@keyframes tpUp{from{opacity:0;transform:translateY(22px)}}
.tp-coords{position:absolute;top:clamp(5.5rem,11vh,7rem);right:var(--gut);font-family:var(--fm);font-size:.58rem;letter-spacing:.12em;line-height:1.9;color:var(--w22);text-align:right}
.tp-stats{display:flex;flex-wrap:wrap;margin-top:clamp(1.25rem,4vh,2.25rem);border-top:1px solid var(--ln);padding-top:clamp(.8rem,2.5vh,1.4rem)}
.tp-stats>div{padding-right:clamp(.7rem,1.5vw,1.3rem);margin-right:clamp(.7rem,1.5vw,1.3rem);border-right:1px solid var(--ln)}
.tp-stats>div:last-child{border:0;margin:0;padding:0}
.tp-stats dt{font-family:var(--fd);font-weight:600;font-size:clamp(.95rem,1.55vw,1.3rem);white-space:nowrap;letter-spacing:-.03em;color:var(--ink);line-height:1.15}
.tp-stats dd{font-family:var(--fm);font-size:.56rem;letter-spacing:.09em;text-transform:uppercase;color:var(--w45);max-width:11rem}
.tp-stage{position:relative;margin-right:calc(var(--gut)*-.5)}
.climb{display:block;width:100%;height:auto;max-height:68svh;overflow:visible}
.climb .p-t{fill:rgba(255,255,255,.03);stroke:rgba(197,160,89,.18)}
.climb .p-l,.climb .p-r{stroke:rgba(197,160,89,.12)}
.climb .p-l{fill:rgba(255,255,255,.02)}.climb .p-r{fill:rgba(0,0,0,.3)}
.climb .bl{outline:none;cursor:pointer;animation:tpBlock 1.1s var(--ease) both;animation-delay:calc(.25s + var(--i)*.16s)}
@keyframes tpBlock{from{opacity:0;transform:translateY(60px)}}
.climb .bl .f-l,.climb .bl .f-r,.climb .bl .f-t{transition:fill .6s,stroke .6s}
.climb .bl.done .f-l{fill:#1f2835}.climb .bl.done .f-r{fill:#131a22}.climb .bl.done .f-t{fill:#303b4c}
.climb .bl.on .f-l{fill:#a07d3b}.climb .bl.on .f-r{fill:#6b5223}.climb .bl.on .f-t{fill:#d8b26c}
.climb .bl.on polygon{stroke:rgba(255,236,190,.55)}
.climb text{font-family:var(--fm)}
.climb .sn{font-size:21px;font-weight:500;fill:var(--gold-hi);letter-spacing:.05em}
.climb .st{font-size:16px;font-weight:500;fill:#fff;letter-spacing:.02em}
.climb .sm{font-size:9.2px;fill:rgba(255,255,255,.58);letter-spacing:.06em}
.climb .bl.on .sn,.climb .bl.on .st{fill:#120d04}.climb .bl.on .sm{fill:rgba(18,13,4,.75)}
.climb .hl{fill:none;stroke:none}.climb .hit{fill:transparent}
.climb .asc{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-dasharray:3 7;opacity:.7;animation:tpDash 1.6s linear infinite}
@keyframes tpDash{to{stroke-dashoffset:-20}}
.climb .pg{}
.climb .pb{fill:#e9eef5}.climb .ph{fill:var(--gold-hi)}.climb .psh{fill:rgba(0,0,0,.45)}
.climb .flag path{stroke:var(--gold-hi);stroke-width:1.4;fill:none}.climb .flag .fl{fill:var(--gold);stroke:none;animation:tpWave 2.4s ease-in-out infinite;transform-origin:left center;transform-box:fill-box}
@keyframes tpWave{50%{transform:skewY(-6deg)}}
.tp-cap{position:absolute;left:3%;bottom:0;font-family:var(--fm);font-size:.64rem;letter-spacing:.08em;line-height:1.6;color:var(--w70);pointer-events:none;max-width:60%}
.tp-cap b{display:block;color:var(--gold);font-weight:500;letter-spacing:.14em}

/* JOURNEY */
.tp-journey{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,3rem);background:var(--ground)}
.tp-towers{list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end;height:min(54svh,500px)}
.tw{position:relative;height:calc(34% + var(--i)*11%);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(.7rem,1.2vw,1.1rem);border:1px solid var(--lm);background:linear-gradient(180deg,rgba(var(--tint),.05),rgba(var(--tint),.015));overflow:hidden;clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease),border-color .4s,background .4s;transition-delay:calc(var(--i)*.12s)}
.go .tw{clip-path:inset(0 0 0 0)}
.tw::before{content:'';position:absolute;inset:0 0 auto 0;height:100%;background-image:radial-gradient(rgba(var(--gold-rgb),.32) 1.2px,transparent 1.6px);background-size:14px 14px;-webkit-mask-image:linear-gradient(#000,transparent 70%);mask-image:linear-gradient(#000,transparent 70%);opacity:.5}
.tw>*{position:relative}
.tw .n{font-family:var(--fd);font-weight:700;font-size:clamp(1.6rem,2.8vw,2.6rem);letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--gold);margin-bottom:.5rem}
.tw h3{font-family:var(--fd);font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.05;font-size:calc(.86rem + var(--i)*.075rem);margin-bottom:.4rem}
.tw p{font-size:clamp(.7rem,.95vw,.82rem);line-height:1.5;color:var(--w70)}
.tw:hover{border-color:var(--gold);background:linear-gradient(180deg,rgba(var(--gold-rgb),.14),rgba(var(--gold-rgb),.03))}
.tw.gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold));border-color:var(--gold-hi)}
.tw.gold::before{opacity:.25;background-image:radial-gradient(rgba(0,0,0,.4) 1.2px,transparent 1.6px)}
.tw.gold .n{-webkit-text-stroke-color:#120d04}.tw.gold h3,.tw.gold p{color:#120d04}
html[data-theme=light] .tw.gold h3,html[data-theme=light] .tw.gold p{color:#fff}html[data-theme=light] .tw.gold .n{-webkit-text-stroke-color:#fff}

/* STAGES */
.tp-stages{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem)}
.tp-stages__g{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(1.5rem,3.5vw,3.5rem);align-items:center}
.tp-sv .climb{max-height:50svh}
.tp-tabs5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--ln);border:1px solid var(--ln);margin-bottom:1px}
.tp-tabs5 button{background:var(--s1);border:0;text-align:left;padding:.7rem .6rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;border-bottom:2px solid transparent;transition:background .3s,border-color .3s}
.tp-tabs5 button:hover{background:var(--s2)}
.tp-tabs5 button[aria-selected=true]{background:var(--s2);border-bottom-color:var(--gold)}
.tp-tabs5 i{font-style:normal;font-family:var(--fd);font-weight:700;font-size:1.5rem;letter-spacing:-.04em;line-height:1;color:var(--w22)}
.tp-tabs5 button[aria-selected=true] i{color:var(--gold)}
.tp-tabs5 b{font-family:var(--fd);font-weight:600;font-size:.74rem;color:var(--ink);line-height:1.2}
.tp-tabs5 em{font-style:normal;font-family:var(--fm);font-size:.5rem;letter-spacing:.07em;text-transform:uppercase;color:var(--w45);line-height:1.35}
.tp-card{background:var(--s1);border:1px solid var(--ln);border-top:0;padding:clamp(1rem,2.4vw,1.75rem);min-height:clamp(200px,32svh,300px)}
.tp-card .lab{font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:.7rem}
.tp-card .lab::before{content:'';width:18px;height:1px;background:var(--gd)}
.tp-card h3{font-family:var(--fd);font-weight:600;font-size:clamp(1.15rem,2vw,1.55rem);letter-spacing:-.03em;color:var(--ink);line-height:1.2;margin-bottom:.7rem}
.tp-card .tx{font-size:.88rem;line-height:1.7;color:var(--w70)}
.tp-card .note{margin-top:.9rem;font-family:var(--fm);font-size:.62rem;letter-spacing:.04em;line-height:1.6;color:var(--gold);border-left:2px solid var(--gd);padding-left:.75rem}
.tp-card>*{transition:opacity .35s}.tp-card.sw>*{opacity:0}
.tp-disc{margin-top:.9rem;font-size:.76rem;line-height:1.6;color:var(--w45);border-left:2px solid var(--gd);padding-left:.85rem}
.tp-disc a{color:var(--gold)}

/* TRACKS */
.tp-tracks{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem);background:var(--ground)}
.tp-tracks__g{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);gap:clamp(1rem,3vw,3rem);align-items:stretch}
.tp-tnav{display:flex;flex-direction:column;border-top:1px solid var(--lm)}
.tn{display:flex;align-items:center;gap:1rem;text-align:left;background:none;border:0;border-bottom:1px solid var(--ln);padding:clamp(.8rem,2vh,1.3rem) .25rem;cursor:pointer;color:var(--w45);position:relative;transition:color .3s,padding .4s var(--ease)}
.tn::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.tn i{font-style:normal;font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;color:var(--gold)}
.tn span{font-family:var(--fd);font-weight:600;font-size:clamp(.95rem,1.5vw,1.25rem);letter-spacing:-.025em;line-height:1.15}
.tn:hover{color:var(--ink)}.tn.on{color:var(--ink);padding-left:.9rem}.tn.on::before{transform:scaleY(1)}
.tpn{display:none;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1rem,2.5vw,2.5rem);align-items:center;border:1px solid var(--ln);background:var(--void);padding:clamp(.8rem,2vw,1.5rem)}
.tpn.on{display:grid;animation:tpUp .6s var(--ease)}
.dsv{width:100%;height:auto;max-height:44svh;display:block}
.dsv .p-t{fill:rgba(255,255,255,.03);stroke:rgba(197,160,89,.2)}.dsv .p-l,.dsv .p-r{fill:rgba(255,255,255,.015);stroke:rgba(197,160,89,.12)}
.dsv .tg{font-family:var(--fm);font-size:8.4px;letter-spacing:.1em;fill:rgba(255,255,255,.65)}
.dsv .ln,.dsv .dim,.dsv .grd{fill:none;stroke:rgba(197,160,89,.4);stroke-width:1}.dsv .grd{stroke:rgba(255,255,255,.07);stroke-width:.7}.dsv .dim{stroke-dasharray:4 4;stroke:var(--gold)}
.dsv .sheet{fill:rgba(255,255,255,.03);stroke:rgba(197,160,89,.35)}
.dsv .wf,.dsv .wf2{fill:none;stroke:var(--gold-hi);stroke-width:1.3;stroke-linecap:round}.dsv .wf2{stroke:rgba(255,255,255,.6)}.dsv .wfa{fill:rgba(197,160,89,.12);stroke:none}
.dsv .ms{fill:var(--gold-hi);stroke:#fff;stroke-width:.6}
.dsv .cr path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:.9;stroke-linejoin:round}.dsv .cr .cb{fill:var(--gold)}
.dsv .beacon{fill:#ffd98a;animation:ctBeacon 2.4s ease-in-out infinite}@keyframes ctBeacon{50%{opacity:.2}}
.dsv .g-t{fill:#d8b26c}.dsv .g-l{fill:#a07d3b}.dsv .g-r{fill:#6b5223}
.ttx .tk{font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;color:var(--gold);margin-bottom:.7rem}
.ttx h3{font-family:var(--fd);font-weight:700;font-size:clamp(1.35rem,2.4vw,2rem);letter-spacing:-.035em;line-height:1.1;color:var(--ink);margin-bottom:.8rem}
.ttx .td{font-size:.88rem;line-height:1.7;color:var(--w70)}
.tg2{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.1rem}
.tg2 li{font-family:var(--fm);font-size:.6rem;letter-spacing:.06em;color:var(--w70);border:1px solid var(--lm);padding:.3rem .6rem}

/* PROOF */
.tp-proof{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem)}
.tp-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--lm);position:relative}
.tp-steps li{padding:clamp(1rem,2.4vw,2rem) clamp(.8rem,1.8vw,1.6rem) clamp(1rem,2vw,1.5rem);border-right:1px solid var(--ln);position:relative;transition:background .4s}
.tp-steps li:last-child{border-right:0}
.tp-steps li::before{content:'';position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.tp-steps li:hover::before{transform:scaleX(1)}.tp-steps li:hover{background:rgba(var(--gold-rgb),.05)}
.tp-steps svg{width:clamp(80px,9vw,128px);height:auto;margin-bottom:clamp(.6rem,2vh,1.4rem)}
.tp-steps .s0{fill:rgba(var(--tint),.04);stroke:var(--gold);stroke-width:1.2}.tp-steps .s1{fill:none;stroke:var(--w45);stroke-width:1.2;stroke-linecap:round}.tp-steps .s2{fill:rgba(var(--gold-rgb),.25);stroke:var(--gold-hi);stroke-width:1.2;stroke-linejoin:round}.tp-steps .s3{fill:rgba(var(--tint),.07);stroke:var(--gold);stroke-width:1.2;stroke-linejoin:round}
.tp-steps .n{display:block;font-family:var(--fd);font-weight:700;font-size:clamp(2.4rem,4.4vw,4rem);letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--lm);margin-bottom:.5rem;transition:-webkit-text-stroke-color .4s}
.tp-steps li:hover .n{-webkit-text-stroke-color:var(--gold)}
.tp-steps h3{font-family:var(--fd);font-weight:700;font-size:clamp(1.4rem,2.2vw,2rem);letter-spacing:-.04em;color:var(--ink);line-height:1}
.tp-steps h4{font-family:var(--fm);font-weight:500;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:.5rem 0 .75rem}
.tp-steps p{font-size:clamp(.78rem,1vw,.88rem);line-height:1.65;color:var(--w70)}

/* SKILLS */
.tp-skills{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem);background:var(--ground)}
.tp-skills__g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1rem,3vw,3rem);align-items:center}
.tp-sdet{border:1px solid var(--lm);border-left:2px solid var(--gold);background:var(--s1);padding:1rem 1.2rem;min-height:7.5rem;margin-top:.5rem}
.tp-sdet .nm{font-family:var(--fd);font-weight:600;font-size:1.15rem;letter-spacing:-.025em;color:var(--ink);margin-bottom:.4rem}
.tp-sdet .tx{font-size:.84rem;line-height:1.65;color:var(--w70)}
.cons{display:block;width:100%;height:auto;max-height:66svh;margin:0 auto;overflow:visible}
.cons .rg{fill:none;stroke:var(--ln);stroke-width:1}
.cons .sp{stroke:rgba(var(--gold-rgb),.28);stroke-width:.8;fill:none}
.cons .cring{fill:rgba(var(--gold-rgb),.08);stroke:var(--gold);stroke-width:1}.cons .cdot{fill:var(--gold)}
.cons .ct0{font-family:var(--fm);font-size:6.6px;letter-spacing:.1em;fill:#120d04;font-weight:500}
.cons .nd{cursor:pointer;outline:none}
.cons .halo{fill:none;stroke:transparent;stroke-width:1.5;transition:stroke .3s,r .3s}
.cons .dot{fill:var(--w45);transition:fill .3s}
.cons .nl{font-family:var(--fm);font-size:10px;letter-spacing:.04em;fill:var(--w70);transition:fill .3s}
.cons .hit{fill:transparent}
.cons .nd:hover .dot,.cons .nd.on .dot{fill:var(--gold)}.cons .nd:hover .nl,.cons .nd.on .nl{fill:var(--ink)}
.cons .nd.on .halo{stroke:var(--gold);r:13}.cons .nd:focus-visible .halo{stroke:var(--gold-hi)}
.cons .nd{animation:tpUp .8s var(--ease) both;animation-delay:calc(var(--i,0)*.06s)}

/* SYSTEM */
.tp-system{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem)}
.tp-system__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(1.5rem,5vw,6rem);align-items:center}
.tp-eco{list-style:none;position:relative;padding-left:2.2rem;border-left:0}
.tp-eco::before{content:'';position:absolute;left:7px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--gold),rgba(var(--gold-rgb),.15))}
.tp-eco li{position:relative;padding:clamp(.8rem,2.2vh,1.4rem) 0;font-size:clamp(.88rem,1.3vw,1rem);line-height:1.65;color:var(--w70);border-bottom:1px solid var(--ln)}
.tp-eco li:last-child{border:0}
.tp-eco li::before{content:'';position:absolute;left:-2.2rem;top:calc(clamp(.8rem,2.2vh,1.4rem) + .45rem);width:15px;height:15px;border-radius:50%;background:var(--void);border:1px solid var(--gold)}
.tp-eco li::after{content:'';position:absolute;left:calc(-2.2rem + 4px);top:calc(clamp(.8rem,2.2vh,1.4rem) + .45rem + 4px);width:7px;height:7px;border-radius:50%;background:var(--gold)}
.tp-eco b{display:block;font-family:var(--fd);font-weight:600;font-size:clamp(1.05rem,1.7vw,1.35rem);letter-spacing:-.025em;color:var(--ink)}

/* APPLY */
.tp-apply{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem);background:var(--ground)}
.tp-apply__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,6rem);align-items:start}
.tp-h2s{font-family:var(--fd);font-weight:700;font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:-.04em;line-height:1.02;color:var(--ink)}
.tp-reqt{font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.tp-req{list-style:none;border-top:1px solid var(--lm)}
.tp-req li{position:relative;padding:.6rem 0 .6rem 1.5rem;font-size:.84rem;line-height:1.55;color:var(--w70);border-bottom:1px solid var(--ln)}
.tp-req li::before{content:'';position:absolute;left:0;top:1.05rem;width:9px;height:1px;background:var(--gold)}
.tp-nr{margin-top:.9rem;font-size:.78rem;color:var(--w45)}.tp-nr a{color:var(--gold)}
.ct-tabs{display:none}

/* FINALE */
.tp-fin h2{font-size:clamp(2.2rem,min(5.8vw,10.5vh),6.4rem)}
.tp-fin .ct-sub{max-width:56ch}

/* light */
html[data-theme=light] .climb .sn{fill:#8A6420}html[data-theme=light] .climb .st{fill:#171b20}html[data-theme=light] .climb .sm{fill:rgba(23,27,32,.6)}
html[data-theme=light] .climb .f-l{fill:#D9D2C2}html[data-theme=light] .climb .f-r{fill:#BEB6A4}html[data-theme=light] .climb .f-t{fill:#ECE6D8}
html[data-theme=light] .climb .bl.done .f-l{fill:#E7E0D0}html[data-theme=light] .climb .bl.done .f-r{fill:#CFC7B4}html[data-theme=light] .climb .bl.done .f-t{fill:#F4EFE3}
html[data-theme=light] .climb .bl.on .f-l{fill:#AB8644}html[data-theme=light] .climb .bl.on .f-r{fill:#80632F}html[data-theme=light] .climb .bl.on .f-t{fill:#CDAE70}
html[data-theme=light] .climb .bl.on .sn,html[data-theme=light] .climb .bl.on .st{fill:#fff}html[data-theme=light] .climb .bl.on .sm{fill:rgba(255,255,255,.85)}
html[data-theme=light] .climb .p-t{fill:rgba(23,27,32,.045)}html[data-theme=light] .climb .p-l{fill:rgba(23,27,32,.03)}html[data-theme=light] .climb .p-r{fill:rgba(23,27,32,.1)}
html[data-theme=light] .climb .pb{fill:#2a3340}html[data-theme=light] .climb .psh{fill:rgba(60,45,20,.3)}
html[data-theme=light] .dsv .tg{fill:rgba(23,27,32,.75)}html[data-theme=light] .dsv .f-l{fill:#D9D2C2}html[data-theme=light] .dsv .f-r{fill:#BEB6A4}html[data-theme=light] .dsv .f-t{fill:#ECE6D8}
html[data-theme=light] .dsv .cr path{stroke:rgba(23,27,32,.6)}html[data-theme=light] .dsv .grd{stroke:rgba(23,27,32,.1)}html[data-theme=light] .dsv .wf2{stroke:rgba(23,27,32,.6)}
html[data-theme=light] .dsv .p-t{fill:rgba(23,27,32,.045)}html[data-theme=light] .dsv .sheet{fill:rgba(255,255,255,.6)}
html[data-theme=light] .tpn{background:var(--s1)}
html[data-theme=light] .cons .ct0{fill:#fff}
html[data-theme=light] .tw::before{opacity:.7}

/* tablet / short desktops */
@media(min-width:901px) and (max-height:820px){
 .tp-hero{padding-top:4.75rem}
 .tp-stats{margin-top:.9rem;padding-top:.7rem}
 .tp-journey,.tp-stages,.tp-tracks,.tp-proof,.tp-skills,.tp-system,.tp-apply{padding-top:4.75rem}
 .tp-towers{height:min(50svh,420px)}
 .tp-card{min-height:0}.tp-card .tx{font-size:.82rem;line-height:1.6}
 .dsv{max-height:38svh}
 .tp-steps svg{width:84px}.tp-steps p{font-size:.76rem}
 .tp-req li{padding:.4rem 0 .4rem 1.5rem;font-size:.78rem}.tp-req li::before{top:.85rem}
 .tp-sdet{min-height:6rem}
}
@media(min-width:901px) and (max-height:700px){.tp-lede{display:none}.tp-towers{height:min(46svh,360px)}.tw p{font-size:.68rem}.tp-steps p{font-size:.7rem;line-height:1.5}.tp-tabs5 em{display:none}.ct-sub{font-size:.82rem;line-height:1.55}.tp-stats dd{display:none}}
@media(max-width:1100px) and (min-width:901px){.tp-tabs5 em{display:none}.tp-tabs5 b{font-size:.68rem}}
@media(max-width:900px){
 .ct-sec{min-height:100svh}
 .tp-coords{display:none}
 .tp-hero{padding:5.25rem 0 1.5rem;justify-content:flex-start}
 .tp-hero .ct-in{flex:1;display:flex}
 .tp-hero__g{flex:1;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:.5rem}
 .tp-stage{margin:0;min-height:0;display:flex;flex-direction:column;justify-content:flex-start}
 .climb{max-height:34svh;width:auto;max-width:100%;margin:0 auto}
 .tp-cap{position:static;max-width:none;margin-top:.5rem}
 .ct-h1.tp-h1{font-size:clamp(2.2rem,11vw,3.6rem)}
 .ct-h1 .fw:nth-child(1),.ct-h1 .fw:nth-child(3){display:inline-block;margin-right:.22em}
 .ct-h2{font-size:clamp(2rem,9.6vw,3.4rem)}
 .ct-scroll{display:none}
 .tp-stats{gap:.4rem 0}.tp-stats dt{font-size:1rem}
 .tp-journey,.tp-stages,.tp-tracks,.tp-proof,.tp-skills,.tp-system,.tp-apply{padding:5.25rem 0 1.5rem;justify-content:flex-start}
 .tp-towers{display:flex;flex-direction:column;height:auto;gap:6px;align-items:flex-start}
 .tw{height:auto;width:calc(46% + var(--i)*9%);min-height:0;display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;align-items:center;padding:.55rem .8rem;flex-direction:row}
 .tw .n{font-size:1.5rem;margin:0;grid-row:1/3}.tw h3{font-size:1rem;margin:0}.tw p{font-size:.7rem;grid-column:2;line-height:1.35}
 .tw::before{display:none}
 .tp-stages__g{grid-template-columns:minmax(0,1fr);gap:.5rem}
 .tp-sv .climb{max-height:25svh}
 .tp-tabs5 em,.tp-tabs5 b{display:none}.tp-tabs5 button{padding:.55rem .5rem;align-items:center}
 .tp-tabs5 i{font-size:1.25rem}
 .tp-card{min-height:0;padding:1rem}.tp-card .tx{font-size:.82rem;line-height:1.55}
 .tp-disc{font-size:.68rem;margin-top:.6rem}
 .tp-tracks__g{grid-template-columns:minmax(0,1fr);gap:.6rem}
 .tp-tnav{flex-direction:row;flex-wrap:wrap;border:0;gap:6px}
 .tn{flex:1 1 44%;border:1px solid var(--ln);padding:.55rem .6rem;gap:.5rem}.tn span{font-size:.78rem}.tn::before{display:none}.tn.on{padding-left:.6rem;border-color:var(--gold);background:rgba(var(--gold-rgb),.08)}
 .tpn.on{grid-template-columns:minmax(0,1fr);gap:.5rem;padding:.6rem}
 .dsv{max-height:24svh}
 .ttx h3{font-size:1.25rem;margin-bottom:.4rem}.ttx .td{font-size:.8rem;line-height:1.55}.tg2{margin-top:.6rem;gap:.3rem}.tg2 li{font-size:.54rem;padding:.2rem .45rem}
 .tp-steps{grid-template-columns:minmax(0,1fr)}
 .tp-steps li{display:grid;grid-template-columns:auto 1fr;column-gap:.9rem;padding:.7rem .2rem;border-right:0;border-bottom:1px solid var(--ln);align-items:center}
 .tp-steps svg{width:58px;grid-row:1/5;margin:0}.tp-steps .n{display:none}.tp-steps h3{font-size:1.15rem}.tp-steps h4{margin:.15rem 0 .25rem;font-size:.54rem}.tp-steps p{font-size:.72rem;line-height:1.45}
 .tp-skills__g{grid-template-columns:minmax(0,1fr);gap:.3rem}
 .cons{max-height:38svh}.cons .nl{display:none}
 .tp-sdet{min-height:0;padding:.8rem 1rem}.tp-sdet .tx{font-size:.78rem;line-height:1.5}
 .tp-system__g{grid-template-columns:minmax(0,1fr);gap:.5rem}
 .tp-eco li{padding:.65rem 0;font-size:.82rem;line-height:1.5}
 .tp-eco li::before{top:calc(.65rem + .3rem)}.tp-eco li::after{top:calc(.65rem + .3rem + 4px)}
 .tp-eco b{font-size:1rem}
 .tp-apply__g{grid-template-columns:minmax(0,1fr)}
 .ct-tabs{display:flex;gap:0;border:1px solid var(--lm);margin-bottom:1.1rem}
 .ct-tabs button{flex:1;font-family:var(--fm);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.8rem .5rem;background:none;border:0;color:var(--w45);cursor:pointer}
 .ct-tabs button[aria-selected=true]{background:var(--gold);color:#05070A;font-weight:500}
 html[data-theme=light] .ct-tabs button[aria-selected=true]{color:#fff}
 .tp-apply .pn{display:none}.tp-apply[data-tab=req] .pn-req,.tp-apply[data-tab=form] .pn-form{display:block}
 .tp-apply .ct-eye{display:none}
 .tp-h2s{font-size:1.7rem}.tp-apply .ct-sub{font-size:.82rem;margin:.6rem 0}
 .tp-req li{padding:.45rem 0 .45rem 1.3rem;font-size:.76rem;line-height:1.45}.tp-req li::before{top:.8rem}
 .ct-form{padding:1rem}.ct-form h2{font-size:1.15rem;margin-bottom:.7rem}.ct-fg{gap:.6rem}.ct-fg textarea{min-height:3.6rem}
 .ct-fg{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .tp-fin{padding:5.25rem 0 max(34vw,150px);justify-content:flex-start}
 .tp-fin h2{font-size:clamp(2.1rem,10.6vw,3.6rem)}
}
@media(max-width:700px){
 .ct-fg{grid-template-columns:minmax(0,1fr)}
 .tp-fin .ct-act .btn-ghost{padding-inline:.2rem}
}
@media(max-width:900px) and (max-height:720px){.tp-cap{display:none}.climb{max-height:28svh}.tp-stats dd{display:none}.ct-sub{font-size:.8rem}.tp-sv .climb{max-height:20svh}.tp-steps p{display:none}.tw p{display:none}}
@media(prefers-reduced-motion:reduce){
 .tp-copy>*,.climb .bl,.cons .nd,.tpn.on{animation:none}.tw{clip-path:none;transition:none}
 .fw::after{clip-path:none!important;animation:none!important}.fw{color:var(--ink);-webkit-text-stroke:0}.fw.g{color:var(--gold)}
 [data-rv]{opacity:1;transform:none}.sky .rise{opacity:1!important;animation:none!important}
 .climb .asc,.climb .flag .fl,.ct-scroll::after{animation:none}.climb .pg{transition:none}
}

.tp-skills .ct-h2,.tp-system .ct-h2{font-size:clamp(1.9rem,min(3.6vw,7.4vh),3.6rem)}
.tp-fin h2{font-size:clamp(2rem,min(5vw,9.4vh),5.4rem)}
.tp-fin .sky{height:clamp(150px,17vw,260px)}
.tp-fin{padding-bottom:clamp(150px,17vw,260px)}
.tp-stages__g{align-items:end}
.tp-sv .tp-head{margin-bottom:.4rem}
@media(max-width:900px){.tp-stages__g{align-items:stretch}.tp-fin .sky{height:max(34vw,150px)}.tp-fin{padding-bottom:max(34vw,150px)}}

.tp-fin{position:relative;justify-content:flex-start;border-bottom:0}
.tp-fin::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 50% at 70% 100%,rgba(var(--gold-rgb),.14),transparent 70%);pointer-events:none}
.ct-fin__in{position:relative;z-index:5}
.tp-fin h2{font-family:var(--fd);font-weight:700;letter-spacing:-.05em;line-height:.98;color:var(--ink)}
.tp-fin h2 .d{color:var(--w22)}.tp-fin h2 .gd{color:var(--gold)}
.tp-stats{flex-wrap:nowrap}.tp-stats dd{white-space:normal;max-width:8.5rem;line-height:1.35}
.tp-stats>div{flex:0 1 auto}
.tp-skills__g{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}
.tp-skills .ct-h2{font-size:clamp(1.8rem,min(2.9vw,6.4vh),3rem)}
.cons .nl{font-size:13.5px}.cons .ct0{font-size:7.4px}
.cons{max-height:72svh}
@media(max-width:900px){.tp-stats{flex-wrap:wrap}.tp-skills__g{grid-template-columns:minmax(0,1fr)}.tp-skills .ct-h2{font-size:clamp(2rem,9.6vw,3.2rem)}}

/* FIT PASS */
@media(min-width:901px) and (max-height:860px){
 .tp-apply .ct-form{padding:1.1rem 1.4rem}.tp-apply .ct-form h2{font-size:1.35rem;margin-bottom:.7rem}
 .tp-apply .ct-fg{gap:.55rem .8rem}
 .tp-apply .ct-fg .field:nth-child(3),.tp-apply .ct-fg .field:nth-child(4){grid-column:auto}
 .tp-apply .ct-fg textarea{min-height:2.6rem}
 .tp-apply .ct-fs{margin-top:.8rem}.tp-apply .form-legal{display:none}
 .tp-apply .field label{margin-bottom:.25rem}
 .tp-apply .ct-sub{margin:.6rem 0}.tp-nr{margin-top:.5rem}
}
@media(min-width:901px) and (max-height:760px){
 .dsv{max-height:31svh}.tp-tracks .ttx .td{font-size:.8rem;line-height:1.5}
 .tp-apply .ct-sub{display:none}.tp-req li{padding:.3rem 0 .3rem 1.4rem;font-size:.74rem}.tp-req li::before{top:.7rem}
 .tp-apply .ct-fg input,.tp-apply .ct-fg select,.tp-apply .ct-fg textarea{padding-top:.5rem;padding-bottom:.5rem}
}
@media(max-width:900px){
 .tp-hero{padding-bottom:1rem}.tp-stats{margin-top:.6rem;padding-top:.5rem}.tp-stats dd{font-size:.5rem}
 .climb{max-height:30svh}.tp-hero .ct-sub,.tp-hero .tp-lede{font-size:.8rem;line-height:1.5;margin-top:.6rem}
 .tp-tracks .tn{padding:.4rem .5rem}.dsv{max-height:20svh}.tpn.on{padding:.5rem}
 .ttx h3{font-size:1.1rem;margin-bottom:.25rem}.ttx .td{font-size:.76rem;line-height:1.45}
 .tp-apply .ct-form{padding:.9rem}.tp-apply .ct-fg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem}
 .tp-apply .ct-fg .field{min-width:0}.tp-apply .form-legal{display:none}
 .tp-apply .ct-fg textarea{min-height:2.6rem}.tp-apply .field label{margin-bottom:.2rem;font-size:.54rem}
 .tp-apply .ct-fg input,.tp-apply .ct-fg select,.tp-apply .ct-fg textarea{padding:.5rem .6rem;font-size:.82rem}
}
@media(max-width:900px) and (max-height:700px){
 .ct-h1.tp-h1{font-size:clamp(1.9rem,9.5vw,2.8rem)}.tp-hero .tp-lede{display:none}.climb{max-height:24svh}
 .tp-tracks .ttx .td{display:none}.tg2{display:none}.dsv{max-height:16svh}
 .tp-skills .ct-sub,.tp-system .ct-sub,.tp-skills p.lede{display:none}
 .tp-eco li{padding:.45rem 0;font-size:.76rem}.tp-sdet .tx{font-size:.72rem}.cons{max-height:30svh}
 .tp-req li{padding:.35rem 0 .35rem 1.2rem;font-size:.72rem}
 .tp-tabs5 button{padding:.4rem}.tp-card{padding:.7rem}
}
@media(min-width:901px) and (max-height:740px){.dsv{max-height:27svh}.tp-tracks{padding-top:4.4rem}}
@media(max-width:900px) and (max-height:700px){
 .tp-hero{padding-top:4.6rem}.climb{max-height:20svh}.tp-stats{margin-top:.4rem}.tp-stats dt{font-size:.9rem}
 .tp-sv .climb{max-height:16svh}.tp-card .tx{font-size:.74rem;line-height:1.45}.tp-disc{display:none}
 .tp-stages .ct-sub,.tp-stages .tp-lede{display:none}.tp-tabs5 i{font-size:1rem}
 .tp-apply .ct-fg{gap:.35rem}.tp-apply .ct-form{padding:.7rem}.tp-apply .ct-form h2{font-size:1rem;margin-bottom:.4rem}
 .tp-apply .ct-fg input,.tp-apply .ct-fg select,.tp-apply .ct-fg textarea{padding:.38rem .5rem}
 .tp-apply .ct-fg textarea{min-height:2rem;height:2.2rem}.tp-apply .ct-fs{margin-top:.5rem}
 .tp-h2s{font-size:1.4rem}.tp-nr{display:none}
}
@media(max-width:900px) and (max-height:700px){.tp-hero .ct-eye{display:none}.ct-h1.tp-h1{font-size:clamp(1.7rem,8.6vw,2.4rem)}.tp-cap{display:none}.climb{max-height:18svh}}

/* PERSON */
.climb .pl,.climb .pa,.climb .ps{fill:none;stroke-linecap:round;stroke-linejoin:round}
.climb .pl{stroke:#8394ac;stroke-width:4}.climb .pa{stroke:#e9eef5;stroke-width:3.4}.climb .ps{stroke:#0d1218;stroke-width:2.4}
.climb .pv{fill:var(--gold)}.climb .pr{stroke:#fff;stroke-width:1;opacity:.85}
.climb .pk{fill:#d9a47a}.climb .ph{fill:var(--gold-hi)}.climb .phb{stroke:var(--gold-hi);stroke-width:1.6;stroke-linecap:round}
.climb .psheet{fill:#f4efe2;stroke:var(--gold);stroke-width:.8}
html[data-theme=light] .climb .pl{stroke:#2a3340}html[data-theme=light] .climb .pa{stroke:#46546a}html[data-theme=light] .climb .psheet{fill:#fff}
.climb .p-leap{display:none}.climb .pj.air .p-leap{display:block}.climb .pj.air .p-stand{display:none}
.climb .pj.air{animation:pHop .95s cubic-bezier(.3,.1,.3,1)}
@keyframes pHop{0%{transform:scale(1.08,.88)}14%{transform:scale(.94,1.1)}50%{transform:translateY(calc(var(--hop,40)*-1px))}86%{transform:translateY(0)}93%{transform:scale(1.07,.9)}100%{transform:none}}
.climb .bub{opacity:0;transition:opacity .35s;pointer-events:none}.climb .bub.on{opacity:1}
.climb .bub rect{fill:var(--void);stroke:var(--gold);stroke-width:1}.climb .bub path{fill:var(--void);stroke:var(--gold);stroke-width:1}
.climb .bub .bk{font-family:var(--fm);font-size:8.5px;letter-spacing:.14em;fill:var(--gold)}
.climb .bub .bt{font-family:var(--fb,inherit);font-size:11.5px;fill:var(--ink)}
@media(max-width:700px){.climb .bub{display:none}}
@media(prefers-reduced-motion:reduce){.climb .pj.air{animation:none}}

/* LADDERING */
.climb .srl{stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;fill:none;opacity:.8}.climb .srg{stroke:var(--gold-hi);stroke-width:1.6;stroke-linecap:round;fill:none;opacity:.7}
.climb .prop{display:none}
.climb .pg[data-s="1"] .pr1,.climb .pg[data-s="2"] .pr2,.climb .pg[data-s="3"] .pr3,.climb .pg[data-s="4"] .pr4,.climb .pg[data-s="5"] .pr5{display:block}
.climb .pln{stroke:var(--gold);stroke-width:.7;fill:none;stroke-linecap:round}
.climb .pok{fill:#4ea06f}.climb .pck{stroke:#fff;stroke-width:1.1;fill:none;stroke-linecap:round;stroke-linejoin:round}
.climb .pfd{fill:#b58a3e;stroke:#7a5a22;stroke-width:.5}
.climb .pseal{fill:var(--gold-hi);stroke:#7a5a22;stroke-width:.5}
.climb .pbag{fill:var(--gold);stroke:#7a5a22;stroke-width:.6}.climb .prs{font:700 5.2px sans-serif;fill:#3a2a0c}
.climb .pcoin{fill:var(--gold-hi);stroke:#7a5a22;stroke-width:.5;animation:coinUp 1.6s ease-in-out infinite}.climb .pcoin:nth-child(2){animation-delay:.6s}
@keyframes coinUp{50%{transform:translateY(-3px)}}
.climb .pg{transition:opacity .4s}.climb .pg.fade{opacity:0}
.climb .pg.walk .lgA{animation:lgw .46s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 0}
.climb .pg.walk .lgB{animation:lgw .46s ease-in-out infinite alternate-reverse;transform-box:fill-box;transform-origin:50% 0}
@keyframes lgw{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}
@media(prefers-reduced-motion:reduce){.climb .pcoin,.climb .pg.walk .lgA,.climb .pg.walk .lgB{animation:none}}

.climb .stair .srl,.climb .stair .srg{opacity:0;transition:opacity .35s calc(var(--j,0)*70ms)}
.climb .stair.built .srl{opacity:.8}.climb .stair.built .srg{opacity:.7}
@media(prefers-reduced-motion:reduce){.climb .stair .srl,.climb .stair .srg{transition:none}}

/* STAIRS (solid) */
.climb .q-t{fill:#d9b46c}.climb .q-l{fill:#8a6c34}.climb .q-r{fill:#5e4a26}
.climb .q-t,.climb .q-l,.climb .q-r{stroke:rgba(18,13,4,.55);stroke-width:.6}
html[data-theme=light] .climb .q-t{fill:#cfa65a}html[data-theme=light] .climb .q-l{fill:#a98338}html[data-theme=light] .climb .q-r{fill:#7e6229}
.climb .stair .srl,.climb .stair .srg{display:none}
.climb .stair .stp{opacity:0;transform:translateY(12px);transition:opacity .3s calc(var(--j,0)*120ms),transform .45s var(--ease) calc(var(--j,0)*120ms)}
.climb .stair.built .stp{opacity:1;transform:none}
.climb .sm{font-size:7.6px}
@media(prefers-reduced-motion:reduce){.climb .stair .stp{transition:none}}

/* TRACKS PANEL — enhanced */
.tpn{position:relative;overflow:hidden;background:
 radial-gradient(60% 70% at 32% 55%,rgba(var(--gold-rgb),.16),transparent 70%),
 linear-gradient(rgba(var(--gold-rgb),.05) 1px,transparent 1px) 0 0/36px 36px,
 linear-gradient(90deg,rgba(var(--gold-rgb),.05) 1px,transparent 1px) 0 0/36px 36px,var(--void);border-color:var(--lm)}
.tpn::before,.tpn::after{content:'';position:absolute;width:22px;height:22px;border:0 solid var(--gold);pointer-events:none;z-index:2}
.tpn::before{left:-1px;top:-1px;border-width:2px 0 0 2px}.tpn::after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.tvz{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}
.tvz .dsv{position:relative;z-index:1;filter:drop-shadow(0 22px 34px rgba(var(--gold-rgb),.22))}
.tbig{position:absolute;left:-.5rem;top:-1.2rem;font-family:var(--fd);font-weight:700;font-size:clamp(5rem,11vw,10rem);line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(var(--gold-rgb),.28);pointer-events:none;z-index:0}
.tcor{position:absolute;left:0;bottom:-.4rem;font-family:var(--fm);font-size:.52rem;letter-spacing:.2em;color:rgba(var(--gold-rgb),.7);z-index:1}
.ttx{position:relative;z-index:1;border-left:1px solid var(--lm);padding-left:clamp(1rem,2vw,2rem)}
.ttx .tk b{font-weight:500;color:var(--w45);margin-left:.6rem;letter-spacing:.14em}
.ttx h3{font-size:clamp(1.5rem,2.5vw,2.3rem)}
.tsk{font-family:var(--fm);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--w45);margin:1rem 0 .5rem}
.tg2{display:grid!important;grid-template-columns:1fr 1fr;gap:.35rem .5rem!important;margin-top:0!important}
.tg2 li{position:relative;border:0!important;background:rgba(var(--gold-rgb),.07)!important;padding:.4rem .6rem .4rem 1.1rem!important;font-size:.62rem!important}
.tg2 li::before{content:'';position:absolute;left:.5rem;top:50%;width:4px;height:4px;background:var(--gold);transform:translateY(-50%) rotate(45deg)}
.dsv .p-t{fill:rgba(255,255,255,.07)!important;stroke:rgba(197,160,89,.4)!important}.dsv .p-l,.dsv .p-r{stroke:rgba(197,160,89,.28)!important}
html[data-theme=light] .tpn{background:radial-gradient(60% 70% at 32% 55%,rgba(var(--gold-rgb),.2),transparent 70%),linear-gradient(rgba(23,27,32,.05) 1px,transparent 1px) 0 0/36px 36px,linear-gradient(90deg,rgba(23,27,32,.05) 1px,transparent 1px) 0 0/36px 36px,var(--s1)}
html[data-theme=light] .tbig{-webkit-text-stroke-color:rgba(138,100,32,.32)}
@media(max-height:760px){.tsk{display:none}.tbig{font-size:5rem}}
@media(max-width:900px){.tbig,.tcor,.tsk{display:none}.ttx{border-left:0;padding-left:0}.tg2{grid-template-columns:1fr 1fr}}
.tg2 li{display:flex;align-items:center;line-height:1.3}
@media(max-height:860px){.tsk{display:none}.tg2{margin-top:.7rem!important}.tg2 li{padding:.3rem .5rem .3rem 1rem!important}.ttx h3{font-size:clamp(1.4rem,2.1vw,1.9rem)}.ttx .td{line-height:1.5}}
@media(max-width:900px){.tg2 li{padding:.25rem .4rem .25rem .9rem!important;font-size:.52rem!important}.tpn{background-size:auto,28px 28px,28px 28px,auto}}
@media(max-width:900px) and (max-height:700px){.tg2{display:none!important}}
@media(min-width:901px) and (max-height:800px){.tg2{grid-template-columns:1fr 1fr 1fr}.tg2 li{font-size:.54rem!important}.dsv{max-height:30svh}}
.climb .stair{display:none}

/* JOURNEY TOWERS — content-safe */
.tw{height:calc(46% + var(--i)*9%)}
@media(min-width:901px) and (max-width:1300px){.tw{padding:.7rem .6rem}.tw .n{font-size:1.4rem;margin-bottom:.3rem}.tw h3{font-size:.84rem;margin-bottom:.25rem}.tw p{font-size:.66rem;line-height:1.38}}
/* TRACKS PANEL — creative layer */
.tvz{perspective:900px;min-height:clamp(220px,34vh,360px)}
.trg{position:absolute;left:50%;top:62%;width:78%;aspect-ratio:1;border:1px dashed rgba(var(--gold-rgb),.45);border-radius:50%;transform:translate(-50%,-50%) rotateX(70deg);animation:trSpin 40s linear infinite;pointer-events:none;z-index:0}
.trg::after{content:'';position:absolute;left:50%;top:-4px;width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 12px var(--gold)}
.trg.r2{width:104%;border-color:rgba(var(--gold-rgb),.22);animation-duration:70s;animation-direction:reverse}.trg.r2::after{width:5px;height:5px;top:-3px;opacity:.7}
@keyframes trSpin{to{transform:translate(-50%,-50%) rotateX(70deg) rotateZ(360deg)}}
.tscan{position:absolute;top:0;bottom:0;width:90px;left:-90px;background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),.2),transparent);border-right:1px solid rgba(var(--gold-rgb),.5);animation:trScan 6s ease-in-out infinite;pointer-events:none;z-index:2;mix-blend-mode:screen}
@keyframes trScan{0%{left:-90px;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
.trl{position:absolute;left:0;right:0;bottom:0;height:9px;background:repeating-linear-gradient(90deg,rgba(var(--gold-rgb),.55) 0 1px,transparent 1px 12px),repeating-linear-gradient(90deg,rgba(var(--gold-rgb),.9) 0 1px,transparent 1px 60px);background-size:100% 4px,100% 9px;background-repeat:no-repeat;background-position:0 100%,0 100%;pointer-events:none;opacity:.8}
.tvz .dsv{transform:translate(calc(var(--mx,0)*14px),calc(var(--my,0)*8px));transition:transform .25s ease-out;max-height:none;width:112%;max-width:none}
.tbig{transform:translate(calc(var(--mx,0)*-10px),calc(var(--my,0)*-6px));transition:transform .25s ease-out}
.tpn.on .tg2 li{animation:tpUp .55s var(--ease) both}
.tpn.on .tg2 li:nth-child(1){animation-delay:.25s}.tpn.on .tg2 li:nth-child(2){animation-delay:.32s}.tpn.on .tg2 li:nth-child(3){animation-delay:.39s}.tpn.on .tg2 li:nth-child(4){animation-delay:.46s}.tpn.on .tg2 li:nth-child(5){animation-delay:.53s}.tpn.on .tg2 li:nth-child(6){animation-delay:.6s}
.tpn.on .ttx h3{animation:tpUp .6s var(--ease) .1s both}
.tpn{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr)}
.ttx{background:linear-gradient(90deg,rgba(var(--gold-rgb),.06),transparent);padding-top:.4rem;padding-bottom:.4rem}
html[data-theme=light] .tscan{mix-blend-mode:multiply}
@media(max-height:800px){.tvz{min-height:0}.tvz .dsv{width:100%}}
@media(max-width:900px){.tvz{min-height:0}.tvz .dsv{width:100%}.trg{top:58%}.tscan{display:none}}
@media(prefers-reduced-motion:reduce){.trg,.tscan,.tpn.on .tg2 li,.tpn.on .ttx h3{animation:none}.tvz .dsv,.tbig{transition:none}}
.tvz{min-height:0}.tvz .dsv{width:104%;max-width:none;max-height:42svh}
@media(max-height:800px){.tvz .dsv{max-height:34svh}}
@media(max-width:900px){.tvz .dsv{max-height:22svh;width:100%}}
@media(max-width:900px) and (max-height:700px){.tvz .dsv{max-height:16svh}}
@media(max-width:900px){.tvz .dsv{max-height:18svh}.tg2 li{padding:.2rem .4rem .2rem .9rem!important}}
@media(max-width:900px) and (max-height:700px){.tvz .dsv{max-height:13svh}.ttx h3{font-size:1rem}}

@media(max-width:700px){.cons{max-height:44svh}.tp-stats{display:grid;grid-template-columns:auto auto;justify-content:start;gap:.5rem 1.4rem;border-top:1px solid var(--ln)}.tp-stats>div{border:0!important;margin:0!important;padding:0!important}.tp-stats dd{display:block!important;font-size:.5rem}}
@media(max-width:700px) and (max-height:700px){.tp-stats{grid-template-columns:auto auto auto auto;gap:.3rem .8rem}.tp-stats dd{display:block!important;font-size:.44rem;max-width:5.5rem}.tp-stats dt{font-size:.8rem}}
