:root{--bg:#f4f6ff;--surface:#ffffff;--surface2:#eef2ff;--ink:#0b1230;--muted:#5b6485;--line:rgba(30,50,140,.13);--brand:#1f4dff;--brand2:#22b8f0;--amber:#f5a623;--red:#e5283c;--green:#12b76a;--glass:rgba(255,255,255,.72);--shadow:0 14px 40px rgba(25,45,140,.13);--r:18px}
[data-theme=dark]{--bg:#050816;--surface:#0e1430;--surface2:#131b3f;--ink:#eef1ff;--muted:#9aa4cf;--line:rgba(140,160,255,.17);--glass:rgba(14,20,48,.72);--shadow:0 14px 44px rgba(0,0,0,.5)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:hidden;transition:background .3s,color .3s;-webkit-font-smoothing:antialiased}
img{max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{font-family:'Sora','Plus Jakarta Sans',sans-serif;line-height:1.18}
.wrap{width:min(1180px,92%);margin:0 auto}
.grad{background:linear-gradient(100deg,var(--brand),var(--brand2) 55%,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}
[hidden]{display:none!important}

/* aurora background */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.38;animation:float 18s ease-in-out infinite}
.aurora i:nth-child(1){width:520px;height:520px;background:var(--brand);top:-140px;left:-120px}
.aurora i:nth-child(2){width:460px;height:460px;background:var(--brand2);top:30%;right:-160px;animation-delay:-6s}
.aurora i:nth-child(3){width:420px;height:420px;background:var(--amber);bottom:-160px;left:25%;opacity:.2;animation-delay:-11s}
[data-theme=dark] .aurora i{opacity:.25}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-50px) scale(1.12)}}

/* top strip */
.strip{background:linear-gradient(90deg,#0a1b66,#1f4dff 55%,#12a4e8);color:#fff;font-size:13px}
.strip-in{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:10px}
.soc,.strip-r{display:flex;align-items:center;gap:10px}
.soc a{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;transition:.25s}
.soc a:hover{transform:translateY(-3px) scale(1.1);background:#fff}.soc a:hover svg{fill:var(--brand)}
.soc svg{width:15px;height:15px;fill:#fff}
.strip-txt{margin-left:8px;opacity:.9;font-weight:500}
.strip .lnk{color:#fff;font-weight:600;padding:5px 8px}.strip .lnk:hover{text-decoration:underline}
.pill-sm{background:#fff;color:var(--brand);font-weight:700;border-radius:99px;padding:6px 16px;font-size:13px;transition:.25s}
.pill-sm:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.theme{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;color:#fff;transition:.3s}
.theme:hover{background:rgba(255,255,255,.3);transform:rotate(18deg)}
.theme svg{width:18px;height:18px;fill:currentColor;grid-area:1/1}.i-sun{display:none}
[data-theme=dark] .i-sun{display:block}[data-theme=dark] .i-moon{display:none}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:var(--glass);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:22px;min-height:70px}
.brand{display:flex;align-items:center;gap:11px;font-family:'Sora',sans-serif;font-size:20px}
.brand b{font-weight:800;letter-spacing:.2px}.brand b span{color:var(--brand)}
.logo{width:46px;height:46px;border-radius:50%;overflow:hidden;flex:none;box-shadow:0 4px 14px rgba(31,77,255,.35);display:block}
.logo img{width:100%;height:100%;object-fit:cover;display:block}.l-dark{display:none}[data-theme=dark] .l-light{display:none}[data-theme=dark] .l-dark{display:block}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:8px 13px;border-radius:10px;font-weight:600;font-size:14.5px;color:var(--muted);transition:.2s}
.nav a:hover{color:var(--brand);background:var(--surface2)}
.cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--brand),#4f7dff 60%,var(--brand2));color:#fff;font-weight:700;border-radius:12px;padding:11px 22px;font-size:15px;box-shadow:0 8px 22px rgba(31,77,255,.35);transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}
.cta:hover,.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(31,77,255,.45)}
.btn::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover::after{left:130%}
.btn.big{padding:15px 30px;font-size:16.5px;border-radius:14px}
.btn.ghost{background:var(--surface);color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}
.btn.light{background:#fff;color:var(--brand)}
.btn.sm{padding:8px 14px;font-size:13.5px;border-radius:10px}.btn.red{background:linear-gradient(135deg,#e5283c,#ff6a5c)}.btn.green{background:linear-gradient(135deg,#0ea45f,#34d399)}.btn.gray{background:var(--surface2);color:var(--ink);box-shadow:none}
.btn:disabled{opacity:.55;pointer-events:none}
.burger{display:none;flex-direction:column;gap:5px;padding:8px}.burger i{width:24px;height:2.5px;background:var(--ink);border-radius:3px;transition:.3s}

/* hero */
.hero{padding:70px 0 40px;position:relative}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);padding:8px 16px;border-radius:99px;font-size:13.5px;font-weight:700;color:var(--brand);box-shadow:var(--shadow)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(18,183,106,.6);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(18,183,106,0)}100%{box-shadow:0 0 0 0 rgba(18,183,106,0)}}
.hero h1{font-size:clamp(36px,5.4vw,66px);font-weight:800;margin:20px 0 14px;letter-spacing:-1px}
.opt{font-size:clamp(17px,2vw,21px);font-weight:600;margin-bottom:10px}.opt b{color:var(--red)}
.lead{color:var(--muted);font-size:clamp(15.5px,1.6vw,18px);max-width:600px}.lead b{color:var(--ink)}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 22px}
.chips{display:flex;gap:10px;flex-wrap:wrap;list-style:none}
.chips li{background:var(--surface);border:1px solid var(--line);padding:6px 14px;border-radius:99px;font-size:13px;font-weight:600;color:var(--muted)}
.chips li::before{content:'\2713';color:var(--green);margin-right:6px;font-weight:800}

/* 3D scene */
.hero-3d{position:relative;height:520px;display:grid;place-items:center}
.scene{position:relative;width:340px;height:340px;perspective:1100px;transform-style:preserve-3d;transform:rotateX(-14deg) rotateY(18deg);transition:transform .15s ease-out}
.cube{position:absolute;inset:95px;transform-style:preserve-3d;animation:spin 22s linear infinite}
.f{position:absolute;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:22px;background:linear-gradient(145deg,rgba(80,120,255,.55),rgba(34,184,240,.35));border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(6px);color:#fff;box-shadow:inset 0 0 40px rgba(255,255,255,.25),0 0 30px rgba(31,77,255,.35)}
.f b{font-family:'Sora';font-size:40px;font-weight:800;text-shadow:0 4px 18px rgba(0,0,40,.4)}.f small{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;opacity:.9}
.f1{transform:translateZ(75px)}.f2{transform:rotateY(180deg) translateZ(75px)}.f3{transform:rotateY(90deg) translateZ(75px)}.f4{transform:rotateY(-90deg) translateZ(75px)}.f5{transform:rotateX(90deg) translateZ(75px)}.f6{transform:rotateX(-90deg) translateZ(75px)}
@keyframes spin{to{transform:rotateX(360deg) rotateY(720deg) rotateZ(0)}}
.ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--brand);border-bottom-color:var(--brand2);transform-style:preserve-3d;opacity:.85}
.r1{animation:rg1 9s linear infinite}.r2{inset:-30px;border-top-color:var(--amber);border-bottom-color:var(--red);animation:rg2 13s linear infinite}.r3{inset:30px;border-width:2px;animation:rg3 7s linear infinite}
@keyframes rg1{from{transform:rotateX(70deg) rotateZ(0)}to{transform:rotateX(70deg) rotateZ(360deg)}}
@keyframes rg2{from{transform:rotateY(70deg) rotateZ(0)}to{transform:rotateY(70deg) rotateZ(-360deg)}}
@keyframes rg3{from{transform:rotateX(110deg) rotateY(40deg) rotateZ(0)}to{transform:rotateX(110deg) rotateY(40deg) rotateZ(360deg)}}
.orbit{position:absolute;inset:-40px;transform-style:preserve-3d}
.o1{animation:ob1 8s linear infinite}.o2{animation:ob2 11s linear infinite}.o3{animation:ob3 14s linear infinite}
@keyframes ob1{from{transform:rotateX(70deg) rotateZ(0)}to{transform:rotateX(70deg) rotateZ(360deg)}}
@keyframes ob2{from{transform:rotateY(70deg) rotateZ(0)}to{transform:rotateY(70deg) rotateZ(-360deg)}}
@keyframes ob3{from{transform:rotateX(110deg) rotateY(40deg) rotateZ(0)}to{transform:rotateX(110deg) rotateY(40deg) rotateZ(360deg)}}
.ball{position:absolute;top:-17px;left:calc(50% - 17px);width:34px;height:34px;border-radius:50%}
.b-cyan{background:radial-gradient(circle at 30% 28%,#bff0ff,#22b8f0 55%,#0a6c9a);box-shadow:0 0 26px #22b8f0}
.b-amber{background:radial-gradient(circle at 30% 28%,#ffe9b0,#f5a623 55%,#a96400);box-shadow:0 0 26px #f5a623}
.b-red{background:radial-gradient(circle at 30% 28%,#ffc0c6,#e5283c 55%,#8c0f1d);box-shadow:0 0 26px #e5283c}
.glow{position:absolute;inset:60px;border-radius:50%;background:radial-gradient(circle,rgba(31,77,255,.45),transparent 65%);filter:blur(30px);transform:translateZ(-120px)}
.float-card{position:absolute;background:var(--glass);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;padding:12px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;animation:bob 6s ease-in-out infinite}
.float-card b{font-family:'Sora';font-size:22px;color:var(--brand)}.float-card small{font-size:12px;color:var(--muted);font-weight:600}
.fc2{width:176px}.fc2 b{font-size:19px;line-height:1.2}.fc2 small{color:var(--red);font-weight:700}
.fc1{top:40px;left:0}.fc2{top:46%;right:-6px;animation-delay:-2s}.fc3{bottom:34px;left:30px;animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-14px)}}

/* stats */
.stats{padding:20px 0 10px}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:24px;text-align:center;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.stat b{display:block;font-family:'Sora';font-size:40px;font-weight:800;background:linear-gradient(120deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--muted);font-weight:600;font-size:14px}

/* sections */
.sec{padding:84px 0;position:relative}.sec.alt{background:linear-gradient(180deg,transparent,var(--surface2) 12%,var(--surface2) 88%,transparent)}
.head{text-align:center;max-width:720px;margin:0 auto 46px}
.tag{display:inline-block;color:var(--brand);background:var(--surface);border:1px solid var(--line);padding:6px 16px;border-radius:99px;font-weight:700;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}
.head h2,.two h2{font-size:clamp(28px,3.8vw,44px);font-weight:800;letter-spacing:-.5px}
.head p{color:var(--muted);margin-top:12px;font-size:17px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));gap:24px}.grid.g3{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}
.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow);backdrop-filter:blur(10px);transition:box-shadow .3s,border-color .3s}
.card:hover{border-color:rgba(31,77,255,.45)}
.feat .ico{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:linear-gradient(145deg,rgba(31,77,255,.16),rgba(34,184,240,.16));margin-bottom:16px;transform:translateZ(30px)}
.feat h3{font-size:19px;margin-bottom:8px}.feat p{color:var(--muted);font-size:15px}
.tilt{transform-style:preserve-3d;will-change:transform;transition:transform .18s ease-out}

/* course card */
.cc{padding:0;overflow:hidden;display:flex;flex-direction:column}
.cc .thumb{height:170px;position:relative;background:linear-gradient(135deg,#1f4dff,#22b8f0 60%,#f5a623);display:grid;place-items:center;overflow:hidden}
.cc .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.cc:hover .thumb img{transform:scale(1.08)}
.cc .thumb .ph-t{color:#fff;font-family:'Sora';font-size:46px;font-weight:800;opacity:.9;text-shadow:0 6px 20px rgba(0,0,60,.4)}
.cc .bdg{position:absolute;top:12px;left:12px;background:var(--amber);color:#2a1a00;font-size:11.5px;font-weight:800;padding:4px 12px;border-radius:99px;letter-spacing:.4px;text-transform:uppercase}
.cc .free{position:absolute;top:12px;right:12px;background:var(--green);color:#fff;font-size:11.5px;font-weight:800;padding:4px 12px;border-radius:99px}
.cc .bd{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.cc h3{font-size:18px}.cc p{color:var(--muted);font-size:14.5px;flex:1}
.cc .tags{display:flex;gap:8px;flex-wrap:wrap}.cc .tags span{font-size:12px;font-weight:600;background:var(--surface2);padding:4px 10px;border-radius:99px;color:var(--muted)}
.cc .price{display:flex;align-items:baseline;gap:10px}.cc .price b{font-family:'Sora';font-size:24px;color:var(--green)}.cc .price s{color:var(--muted);font-size:14px}.cc .price em{font-style:normal;font-size:12px;font-weight:700;color:var(--red)}
.cc .btn{width:100%}

.ticker{overflow:hidden;position:relative;padding:8px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:18px;width:max-content;animation:tl 42s linear infinite}.track:hover{animation-play-state:paused}.track.t-r{animation-name:tr}.track.slow{animation-duration:36s}
@keyframes tl{to{transform:translateX(-50%)}}@keyframes tr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.ph,.rc{flex:none;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);display:grid;place-items:center}
.ph{width:240px;height:165px}.ph img{width:100%;height:100%;object-fit:contain}
.rc{width:190px;height:100px;padding:12px 16px}.rc img{max-width:100%;max-height:100%;object-fit:contain}
.track{padding:10px 9px}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:22px;counter-reset:s}
.step{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);position:relative}
.step i{font-style:normal;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-family:'Sora';font-weight:800;font-size:20px;margin-bottom:16px;box-shadow:0 8px 20px rgba(31,77,255,.4);transform:translateZ(30px)}
.step h3{font-size:18px;margin-bottom:6px}.step p{color:var(--muted);font-size:14.5px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.para{color:var(--muted);margin:16px 0;font-size:16.5px}
.about-card{background:var(--glass);border:1px solid var(--line);border-radius:22px;padding:14px 26px;box-shadow:var(--shadow)}
.ab-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.ab-row:last-child{border:0}.ab-row b{color:var(--brand);font-family:'Sora'}.ab-row span{color:var(--muted)}
.clist{list-style:none;display:grid;gap:14px;margin-top:18px}.clist li{display:flex;flex-direction:column}.clist b{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--brand)}.clist small{color:var(--muted)}
.form{display:grid;gap:12px}.form h3{margin-bottom:4px}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;transition:.2s;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(31,77,255,.14)}
textarea{resize:vertical}
.cta-band{margin:30px 0 0;background:linear-gradient(120deg,#0a1b66,#1f4dff 50%,#12a4e8);color:#fff;text-align:center;padding:70px 0;position:relative;overflow:hidden}
.cta-band::before,.cta-band::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08);animation:float 14s ease-in-out infinite}
.cta-band::before{top:-120px;left:-60px}.cta-band::after{bottom:-140px;right:-40px;animation-delay:-5s}
.cta-band h2{font-size:clamp(26px,3.6vw,42px);position:relative}.cta-band p{opacity:.9;margin:10px 0 26px;position:relative}.cta-band .btn{position:relative}
.foot{background:var(--surface);border-top:1px solid var(--line);padding-top:50px}
.foot-in{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px;padding-bottom:30px}
.foot p{color:var(--muted);margin-top:12px;max-width:380px}.foot h4{margin-bottom:12px}.foot a{display:block;color:var(--muted);padding:3px 0;font-size:14.5px}.foot a:hover{color:var(--brand)}
.copy{text-align:center;padding:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px}
.loading{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px}

/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.rv.tilt.in{transition:opacity .8s,transform .18s ease-out}

/* modal */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}
.m-bg{position:absolute;inset:0;background:rgba(4,8,30,.66);backdrop-filter:blur(6px);animation:fade .25s}
.m-box{position:relative;background:var(--surface);color:var(--ink);border-radius:24px;width:min(460px,100%);max-height:92vh;overflow:auto;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.45);animation:pop .35s cubic-bezier(.2,.9,.3,1.2);border:1px solid var(--line)}
.m-box.wide{width:min(820px,100%)}
@keyframes fade{from{opacity:0}}@keyframes pop{from{opacity:0;transform:translateY(30px) scale(.93) rotateX(12deg)}}
.m-x{position:absolute;top:14px;right:16px;width:34px;height:34px;border-radius:50%;background:var(--surface2);font-size:18px;display:grid;place-items:center}
.tabs{display:flex;background:var(--surface2);border-radius:14px;padding:4px;margin-bottom:20px}.tabs button{flex:1;padding:10px;border-radius:11px;font-weight:700;color:var(--muted)}.tabs button.on{background:var(--surface);color:var(--brand);box-shadow:0 3px 12px rgba(20,40,120,.15)}
.fld{display:grid;gap:5px;margin-bottom:12px}.fld label{font-size:12.5px;font-weight:700;color:var(--muted)}
.m-box h3{font-size:22px;margin-bottom:4px}.m-sub{color:var(--muted);font-size:14px;margin-bottom:18px}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px;font-weight:700;transition:.2s}.gbtn:hover{border-color:var(--brand);transform:translateY(-2px)}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12.5px;margin:14px 0}.or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
.err{background:rgba(229,40,60,.12);color:var(--red);padding:10px 14px;border-radius:10px;font-size:14px;margin-bottom:12px;font-weight:600}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:#0b1230;color:#fff;padding:13px 22px;border-radius:12px;z-index:300;font-weight:600;box-shadow:0 14px 40px rgba(0,0,0,.4);transition:transform .4s cubic-bezier(.2,.9,.3,1.2);max-width:92vw}
.toast.show{transform:translate(-50%,0)}.toast.bad{background:var(--red)}.toast.good{background:#0ea45f}

/* ================= STUDENT APP ================= */
.app{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;grid-template-columns:260px 1fr;overflow:hidden}
.side{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;overflow:auto}
.side .brand{padding:4px 8px 18px;font-size:18px}
.side nav{display:grid;gap:4px}
.side nav button{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;font-weight:600;color:var(--muted);text-align:left;transition:.2s;position:relative}
.side nav button:hover{background:var(--surface2);color:var(--ink)}
.side nav button.on{background:linear-gradient(135deg,rgba(31,77,255,.16),rgba(34,184,240,.14));color:var(--brand)}
.side nav button em{font-style:normal;margin-left:auto;background:var(--red);color:#fff;font-size:11px;font-weight:800;border-radius:99px;padding:1px 8px}
.side .bottom{margin-top:auto;display:grid;gap:8px;padding-top:16px}
.main{overflow:auto;padding:28px clamp(16px,3vw,40px) 60px}
.topbar{display:none}
.pg-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.pg-h h2{font-size:clamp(22px,3vw,30px)}
.banner{background:linear-gradient(120deg,#fff4dc,#ffe7b0);color:#5a3a00;border:1px solid #f5d27a;padding:16px 20px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;font-weight:600}
[data-theme=dark] .banner{background:linear-gradient(120deg,#3a2c08,#4a3508);color:#ffe3a1;border-color:#7a5a12}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:26px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.kpi b{font-family:'Sora';font-size:30px;color:var(--brand);display:block}.kpi span{color:var(--muted);font-size:13.5px;font-weight:600}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin-bottom:20px}
.panel h3{margin-bottom:14px;font-size:18px}
.bar{height:9px;background:var(--surface2);border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:99px;transition:width .6s}
.mini{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:var(--surface)}
.mini .mt{width:84px;height:58px;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand2));flex:none;overflow:hidden;display:grid;place-items:center;color:#fff;font-weight:800}.mini .mt img{width:100%;height:100%;object-fit:cover}
.mini .mi{flex:1;min-width:0}.mini .mi h4{font-size:15.5px;font-family:'Plus Jakarta Sans';font-weight:700}.mini .mi small{color:var(--muted)}
.pf{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}
.status{display:inline-block;padding:3px 12px;border-radius:99px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}
.st-issued,.st-placed,.st-paid{background:rgba(18,183,106,.16);color:#0a8f52}.st-pending,.st-applied{background:rgba(245,166,35,.2);color:#a96400}.st-revoked,.st-rejected{background:rgba(229,40,60,.15);color:var(--red)}.st-shortlisted{background:rgba(31,77,255,.15);color:var(--brand)}
.player{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.vid{position:relative;padding-top:56.25%;background:#000;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid.empty{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0a1b66,#1f4dff)}
.outline{max-height:calc(100vh - 120px);overflow:auto;position:sticky;top:0}
.ou{margin-bottom:10px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.ou>b{display:block;padding:12px 14px;background:var(--surface2);font-size:14px}
.ls{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:10px 14px;font-size:14px;border-top:1px solid var(--line);transition:.15s}.ls:hover{background:var(--surface2)}.ls.on{background:rgba(31,77,255,.12);color:var(--brand);font-weight:700}
.ls .ck{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:none;display:grid;place-items:center;font-size:11px;color:#fff}.ls.done .ck{background:var(--green);border-color:var(--green)}
.ex-btn{display:block;width:calc(100% - 20px);margin:10px}
.q{padding:18px;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;background:var(--surface)}.q p{font-weight:700;margin-bottom:10px}
.opt-l{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:.15s}.opt-l:hover{border-color:var(--brand)}.opt-l input{width:auto}.opt-l:has(input:checked){border-color:var(--brand);background:rgba(31,77,255,.1)}
.q.ok{border-color:var(--green)}.q.no{border-color:var(--red)}
.result{text-align:center;padding:24px}.result .big{font-family:'Sora';font-size:56px;font-weight:800}.result.pass .big{color:var(--green)}.result.fail .big{color:var(--red)}
.msg{padding:16px 18px;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:var(--surface)}.msg.unread{border-left:5px solid var(--brand);background:rgba(31,77,255,.06)}.msg h4{font-family:'Plus Jakarta Sans';font-size:16px}.msg small{color:var(--muted)}.msg p{margin-top:8px;white-space:pre-wrap}
.certrow{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px;border:1px solid var(--line);border-radius:14px;margin-bottom:12px}
.cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.empty{text-align:center;color:var(--muted);padding:36px 14px}
.spin{width:36px;height:36px;border:4px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:rot .8s linear infinite;margin:40px auto}@keyframes rot{to{transform:rotate(360deg)}}

@media(max-width:980px){
 .hero-in,.two{grid-template-columns:1fr}.hero-3d{height:440px;order:-1}.scene{transform:scale(.8) rotateX(-14deg) rotateY(18deg)}
 .stats-in{grid-template-columns:repeat(2,1fr)}.foot-in{grid-template-columns:1fr 1fr}
 .nav{position:absolute;left:0;right:0;top:100%;background:var(--surface);flex-direction:column;padding:10px 14px 14px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s;margin:0;z-index:40}.nav.open{opacity:1;visibility:visible;transform:none}.nav a{padding:13px}
 .cta{margin-left:auto}.burger{display:flex}
 .player{grid-template-columns:1fr}.outline{position:static;max-height:none}
}
@media(max-width:760px){
 .app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 .side{flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line);order:2;border-top:1px solid var(--line);border-bottom:0;position:fixed;bottom:0;left:0;right:0;z-index:5;gap:4px}
 .side .brand,.side .bottom{display:none}.side nav{display:flex;gap:4px;width:100%;justify-content:space-around}
 .side nav button{flex-direction:column;gap:2px;padding:7px 8px;font-size:11px;text-align:center;min-width:56px}
 .main{padding-bottom:100px}
 .topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
 .strip-txt{display:none}.foot-in{grid-template-columns:1fr}
 .hero{padding-top:30px}.float-card{display:none}.hero-3d{height:360px}
 .ph{width:190px;height:130px}.rc{width:150px;height:84px}
 .m-box{padding:22px}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rv{opacity:1;transform:none}}

/* ================= extra mobile polish ================= */
input,select,textarea{max-width:100%}
.applybox{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.applybox .fld{margin-bottom:0}
.chks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:10px}
code{background:var(--surface2);padding:1px 6px;border-radius:6px;font-size:12px}
@media(max-width:760px){
 input,select,textarea{font-size:16px}
 .strip-in{min-height:40px;gap:6px}.soc{gap:6px}.soc a{width:26px;height:26px}.soc svg{width:13px;height:13px}.strip-r{gap:4px}
 .strip .lnk{padding:4px;font-size:12px}.pill-sm{padding:6px 12px;font-size:12px}.theme{width:30px;height:30px}
 .hdr-in{min-height:60px;gap:10px}.brand{font-size:17px}.logo{width:40px;height:40px}.cta{padding:9px 16px;font-size:14px}
 .hero h1{letter-spacing:-.5px}
 .hero-btns{margin:22px 0 18px}.hero-btns .btn{flex:1 1 100%}
 .hero-3d{height:400px}.scene{transform:scale(.72) rotateX(-14deg) rotateY(18deg)}
 .float-card{display:flex;padding:7px 11px;border-radius:12px}.float-card b{font-size:14px}.float-card small{font-size:10.5px}
 .fc1{top:0;left:0}.fc2{top:auto;bottom:58px;right:0;width:136px}.fc2 b{font-size:14px}.fc3{bottom:0;left:4px}
 .stat{padding:16px 10px}.stat b{font-size:30px}.stat span{font-size:12.5px}
 .sec{padding:56px 0}.head{margin-bottom:30px}.head p{font-size:15.5px}
 .card{padding:20px}.cc{padding:0}.step{padding:22px}
 .modal{padding:10px}.m-box{padding:22px 16px;border-radius:20px;max-height:94vh;max-height:94dvh}
 .toast{bottom:86px}
 .pg-h{margin-bottom:16px}.panel{padding:16px;border-radius:16px}
 .mini{flex-wrap:wrap;gap:10px}.mini .mt{width:70px;height:50px}.mini>.btn,.mini>.row{margin-left:auto}
 .kpis{grid-template-columns:repeat(2,1fr);gap:10px}.kpi{padding:14px}.kpi b{font-size:24px}
 .certrow{flex-direction:column;align-items:flex-start}
 .applybox{grid-template-columns:1fr}.applybox .btn{width:100%}
 .side{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
 .main{padding:18px 14px 110px}
 .banner{padding:12px 14px}.cities{grid-template-columns:1fr}.result .big{font-size:44px}
 .opt-l{padding:12px}.q{padding:14px}
}
@media(max-width:420px){
 .hero h1{font-size:31px}.brand b{font-size:15.5px}
 .scene{transform:scale(.6) rotateX(-14deg) rotateY(18deg)}.hero-3d{height:370px}
 .side nav button{min-width:48px;font-size:10.5px;padding:6px 4px}
 .stats-in{gap:10px}
}

/* ================= v3: hero text, footer address, mobile hero layout ================= */
.kick-m{display:none}
.subline{font-family:'Sora',sans-serif;font-weight:700;color:var(--brand);font-size:clamp(14.5px,1.7vw,19px);margin:0 0 14px;line-height:1.4}
.f b.sm{font-size:27px;white-space:nowrap}
.foot .addr{display:block;color:var(--muted);font-size:14.5px;line-height:1.55;padding:6px 0 0;max-width:340px}
@media(max-width:980px){
 .kick-m{display:flex;justify-content:center;order:-2}
 .kick-m .badge{font-size:11.5px;letter-spacing:.3px;padding:8px 14px;text-align:center;line-height:1.3;max-width:100%}
 .badge-d{display:none}
 .hero-in{gap:18px}
 .hero-txt{text-align:center}.hero-txt .lead{margin-left:auto;margin-right:auto}
 .hero-btns,.chips{justify-content:center}
}
@media(max-width:760px){
 .hero{padding-top:22px}
 .hero h1{font-size:clamp(28px,8.2vw,36px);line-height:1.15;margin:0 0 12px}
 .subline{font-size:14px;margin-bottom:12px}
 .hero-3d{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;place-items:stretch}
 .scene{grid-column:1/-1;grid-row:1;justify-self:center;margin:-48px 0 -38px;transform:scale(.72) rotateX(-14deg) rotateY(18deg)}
 .float-card{position:static;grid-row:2;display:flex;align-items:center;justify-content:center;text-align:center;width:auto;animation:none;padding:9px 6px;border-radius:12px;top:auto;left:auto;right:auto;bottom:auto}
 .fc1,.fc2,.fc3{top:auto;left:auto;right:auto;bottom:auto;width:auto}
 .float-card b{font-size:14px;line-height:1.2}.fc2 b{font-size:12.5px}.float-card small{font-size:10px;line-height:1.25}
 .chips li{font-size:12px;padding:5px 11px}
}
@media(max-width:420px){
 .scene{transform:scale(.6) rotateX(-14deg) rotateY(18deg);margin:-68px 0 -58px}
 .hero h1{font-size:clamp(26px,8vw,31px)}
}
.hero h1{font-size:clamp(30px,4.3vw,54px)}
@media(max-width:760px){.hero h1{font-size:clamp(28px,8.2vw,36px)}}
@media(max-width:420px){.hero h1{font-size:clamp(26px,8vw,31px)}}

/* Mobile dashboard bottom menu: no overlap, swipe to scroll */
@media(max-width:760px){
  .side{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .side::-webkit-scrollbar{display:none}
  .side nav{display:flex;gap:6px;width:max-content;min-width:100%;justify-content:flex-start}
  .side nav button{flex:0 0 auto;min-width:74px;padding:7px 10px;font-size:11px;white-space:nowrap;align-items:center}
}
@media(max-width:420px){
  .side nav button{min-width:72px;padding:6px 8px;font-size:10.5px}
}
