:root{--ink:#10143c;--muted:#64677b;--purple:#6724dc;--purple2:#8735f4;--light:#f5f2ff;--line:#e8e7f0;--bg:#fbfaff;--shadow:0 24px 65px rgba(68,39,122,.09);font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}p{line-height:1.65}h1,h2,h3{letter-spacing:-.035em;line-height:1.13}h1{font-size:clamp(2.6rem,5vw,5.3rem);margin:16px 0 20px}h2{font-size:clamp(2rem,3.5vw,3rem);margin:0 0 16px}h3{font-size:1.25rem;margin:0 0 9px}strong{font-weight:750}small{color:var(--muted)}.container{width:min(1180px,calc(100% - 48px));margin:0 auto}.row{display:flex;align-items:center;gap:14px}.between{justify-content:space-between}.align-top{align-items:flex-start}.grow{flex:1}.hide{display:none!important}.dim{color:var(--muted)}.muted{font-size:.9rem;color:var(--muted)}.text-right{text-align:right}.dot{color:var(--purple)}.nav-wrap{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.93);backdrop-filter:blur(20px);border-bottom:1px solid rgba(87,64,137,.075)}.nav{height:78px;display:flex;gap:28px;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;font-size:1.65rem;font-weight:850;letter-spacing:-.07em;color:#17113e;white-space:nowrap}.logo-mark{width:35px;height:35px;flex:0 0 35px;transform:rotate(-9deg);display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,#8127fa,#4e15cd);color:white;font-size:28px;box-shadow:2px 5px 0 #dfceff}.nav-links{display:flex;align-items:center;gap:28px;font-size:.91rem;color:#55526d;font-weight:550}.nav-actions{display:flex;align-items:center;gap:10px}.btn{border:0;border-radius:12px;padding:13px 19px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s,box-shadow .18s;color:var(--ink);background:#f2effa}.btn:hover{transform:translateY(-1px)}.btn.primary{color:white;background:linear-gradient(110deg,#6022d6,#8c36ef);box-shadow:0 9px 22px rgba(100,41,221,.18)}.btn.outline{border:1px solid #ded5f6;background:white;color:var(--purple)}.btn.white{color:#6422d7;background:white}.btn.ghost{background:transparent;padding:11px}.btn.small{font-size:.82rem;padding:9px 12px;border-radius:9px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#5822bb;font-size:.77rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow::before{content:"";width:7px;height:7px;border-radius:100%;background:#8d5af4}.chip{display:inline-flex;align-items:center;border-radius:99px;background:#eee7ff;color:#5e21be;font-size:.75rem;font-weight:750;padding:7px 12px}.chip.green{background:#e5f8eb;color:#237449}.chip.gray{background:#efeff4;color:#626475}.chip.amber{background:#fff1d8;color:#995810}.section{padding:100px 0}.hero{background:radial-gradient(ellipse at 83% 15%,#e6d3ff 0,transparent 42%),linear-gradient(180deg,#faf5ff,#fff 100%);position:relative;overflow:hidden}.hero .container{display:grid;grid-template-columns:1fr .88fr;align-items:center;gap:62px;min-height:620px;padding-top:65px;padding-bottom:75px}.hero-lead{font-size:1.14rem;color:#5e6079;max-width:580px;line-height:1.8}.hero .gradient{background:linear-gradient(90deg,#5e23d9,#9b51ed);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-art{position:relative;max-height:530px;display:flex;align-items:center;justify-content:center}.hero-art::before{content:"";position:absolute;width:110%;height:88%;background:#d4b8ff;filter:blur(80px);opacity:.55;z-index:0}.hero-art img{max-width:100%;height:auto;max-height:510px;object-fit:contain;border-radius:22px;box-shadow:var(--shadow);position:relative}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-35px;position:relative}.metric{background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:18px;padding:25px}.metric .emoji{font-size:27px;display:block;margin-bottom:12px}.metric strong{font-size:1rem;line-height:1.5}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 34px rgba(40,32,70,.035);overflow:hidden}.card-body{padding:24px}.iconbox{font-size:26px;width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:#f1e8ff;margin-bottom:20px}.muted-bg{background:var(--bg)}.section-heading{margin-bottom:34px}.section-heading p{color:var(--muted);max-width:660px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{padding:30px;border-radius:20px;background:white;border:1px solid var(--line)}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.plan{padding:30px;border-radius:20px;border:1px solid var(--line);background:white}.plan.featured{border-color:#9a70f5;box-shadow:0 22px 45px rgba(91,44,193,.12);position:relative}.plan h3{margin:16px 0}.plan .price{font-size:2rem;font-weight:800}.plan ul{padding-left:19px;line-height:2;color:#585c70}.cta{background:linear-gradient(120deg,#4111af,#8230ee);color:white;border-radius:28px;padding:55px}.cta p{color:#e6d8ff}.cta .btn{white-space:nowrap}.footer{background:#11112d;color:#dad6ea;padding:56px 0 30px}.footer .logo{color:white}.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer p{max-width:350px;color:#aba9bc}.footer a{display:block;margin:10px 0;color:#dedbec}.footer .bottom{border-top:1px solid #323049;margin-top:42px;padding-top:20px;color:#87849d;font-size:.82rem}
.academy-hero{background:radial-gradient(circle at 76% 40%,#dac1ff 0,transparent 32%),linear-gradient(145deg,#f8f4ff,#f6f3ff 64%,#ede3ff);padding:95px 0}.academy-hero .container{display:grid;grid-template-columns:1.3fr .75fr;align-items:center;gap:70px}.academy-hero h1{font-size:clamp(2.7rem,5vw,4.9rem)}.academy-hero p{font-size:1.14rem;color:#595875;max-width:600px}.academy-art{height:300px;background:linear-gradient(135deg,#6429e0,#b888fc);border:9px solid white;border-radius:34px;box-shadow:0 25px 55px #7853bc36;transform:rotate(3deg);position:relative;display:flex;align-items:center;justify-content:center;color:#fff;font-size:130px}.academy-art::before{content:"✦ ✧";position:absolute;top:18px;left:20px;font-size:22px}.academy-art::after{content:"LEARN ANYWHERE";position:absolute;bottom:31px;font-size:12px;letter-spacing:.3em;font-weight:800}.catalog-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.pill{background:white;border:1px solid var(--line);border-radius:99px;padding:9px 15px;font-weight:600;color:#53576c}.pill.active{background:#6730d6;border-color:#6730d6;color:white}.course-media{height:174px;background:linear-gradient(125deg,#5420bc,#ad8cfa);display:flex;align-items:center;justify-content:center;color:#fff;font-size:65px;position:relative}.course-media.v2{background:linear-gradient(125deg,#00848f,#63d4d8)}.course-media.v3{background:linear-gradient(125deg,#ca5c77,#ffc18d)}.course-media::after{content:"OpenSchool";position:absolute;right:14px;bottom:12px;font-size:12px;font-weight:800;opacity:.65}.course-card{display:flex;flex-direction:column}.course-card .card-body{display:flex;flex-direction:column;gap:12px;flex:1}.course-card h3{min-height:54px}.course-card .card-body p{margin:0;color:var(--muted);font-size:.89rem}.course-card .row:last-child{margin-top:auto;padding-top:10px}.divider{height:1px;background:var(--line);margin:22px 0}.detail-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:42px}.lessons-list{display:flex;flex-direction:column;gap:10px}.lesson-row{padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}.lesson-row.active{border-color:#ac8af3;background:#f8f4ff}.lesson-row p{margin:9px 0 0}.content{max-width:850px}.form-card{width:min(500px,100%);margin:50px auto 95px;padding:35px;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.form-card h2{font-size:2rem}.field{display:flex;flex-direction:column;gap:7px;margin:15px 0}.field label{font-size:.86rem;font-weight:700}.field input,.field select,.field textarea{border:1px solid #dcd9ea;padding:13px 15px;border-radius:11px;width:100%;background:#fff;outline:none}.field :is(input,select,textarea):focus{border-color:#9a69e8;box-shadow:0 0 0 3px #ede3ff}.field textarea{min-height:100px;resize:vertical}.hint{font-size:.83rem;color:var(--muted);line-height:1.55}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.message{padding:14px 18px;background:#f0e9ff;color:#501bba;border-radius:12px;margin:20px 0}.message.error{background:#fff0ee;color:#ad2538}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:white}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;background:#faf8ff;color:#6d6486;font-size:.78rem}.table th,.table td{padding:15px;border-bottom:1px solid #efedf5}.table tr:last-child td{border:0}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:25px;border:1px solid var(--line);border-radius:17px;background:#fff}.stat .num{font-weight:800;font-size:2rem;margin-top:9px}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.alert{margin:18px 0;background:#fff8e8;border:1px solid #f4dfaa;padding:16px;border-radius:12px;color:#80602e}.boot{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:3rem;font-weight:900;letter-spacing:-.07em}.boot small{font-size:1rem;font-weight:500;letter-spacing:normal}.signed{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{padding:35px;background:white;border:1px dashed #d2c5ed;border-radius:16px;text-align:center;color:#737087}.link{color:#6d2bc6;font-weight:700}.tagline{font-size:1.1rem;font-weight:650;letter-spacing:-.02em;color:#6428d7}.breadcrumbs{font-size:.84rem;color:#756c89;margin-bottom:20px}.code{font:12px ui-monospace,SFMono-Regular,monospace;word-break:break-all;background:#f6f3ff;padding:11px 14px;border-radius:9px;display:block;margin:12px 0}
@media(max-width:1000px){.nav-links{gap:15px}.hero .container{gap:25px;grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.container{width:min(100% - 30px,1180px)}.nav{height:68px;gap:8px}.logo{font-size:1.24rem}.logo-mark{width:29px;height:29px;flex-basis:29px;font-size:23px}.nav-links{display:none}.nav-actions{gap:5px}.nav-actions .btn{padding:9px;font-size:.77rem}.hero .container,.academy-hero .container{display:flex;flex-direction:column;gap:30px;padding-top:60px;padding-bottom:70px}.hero-art img{max-height:420px}.academy-hero{padding:10px 0}.academy-art{width:100%;height:205px;font-size:95px}.metrics{margin-top:-30px}.metric{padding:18px}.grid3,.features,.pricing,.dashboard-grid,.detail-layout,.footer .cols{grid-template-columns:1fr}.section{padding:65px 0}.cta{padding:30px}.form-row{grid-template-columns:1fr}.form-card{padding:25px;margin:30px auto 60px}.stat{padding:17px}.stat .num{font-size:1.6rem}}

.brand-image{display:block;width:218px;height:auto;max-height:52px;object-fit:contain;border-radius:6px}.footer .brand-image{filter:none;border-radius:5px}@media(max-width:720px){.brand-image{width:150px}.nav-actions>.chip{display:none}}

/* --------------------------------------------------------------------------
   OpenSchool official identity layer — based on Brand Kit v1.0 (08 Nov 2026)
   Master artwork stays PNG; no letterform, starburst or lockup redraws.
   -------------------------------------------------------------------------- */
:root{--ink:#040c25;--muted:#626780;--purple:#5817e1;--purple2:#6f27f0;--lavender:#cfb9fb;--light:#f4efff;--line:#e8e3f3;--bg:#f8f7fd;--shadow:0 22px 60px rgba(27,9,68,.09);--radius:22px;scroll-behavior:smooth}
body{background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased}
::selection{background:#dfd0ff;color:#220b52}
:focus-visible{outline:3px solid #7a40ed;outline-offset:3px}
.nav-wrap{background:rgba(255,255,255,.96);border-bottom:1px solid #ebe7f4;box-shadow:0 2px 24px rgba(39,14,79,.035)}
.nav{height:85px;gap:17px}
.logo{flex:none;display:flex;align-items:center;min-height:50px}
.brand-image{width:200px;max-height:none;border-radius:0;display:block;height:auto;object-fit:contain}
.brand-service{white-space:nowrap;border-left:1px solid #dad3ea;padding-left:13px;font-size:.72rem;letter-spacing:.02em;font-weight:800;text-transform:uppercase;color:#6c5c8b}
.nav-links{margin-left:auto;gap:21px;color:#3f4259;font-size:.88rem}
.nav-links a:hover{color:var(--purple)}
.nav-actions{margin-left:0;gap:8px}
.nav-actions .signed{max-width:150px}
.mobile-menu{display:none;border:1px solid var(--line);background:white;color:var(--purple);padding:8px 12px;border-radius:10px;font-size:1.25rem}
.btn{border-radius:13px;padding:14px 21px;min-height:44px;line-height:1.25;white-space:normal;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.btn.primary{background:linear-gradient(115deg,#5817e1,#7028f2);box-shadow:0 11px 27px rgba(88,23,225,.23)}
.btn.outline{border-color:#d8c5ff;color:#5817e1}
.btn.white{color:#5012d1}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline-offset:3px}
h1,h2,h3{letter-spacing:-.045em}
h2{font-size:clamp(2rem,3.7vw,3.4rem)}
.gradient{background:linear-gradient(100deg,#4312b2,#751ff3 65%,#923fff);background-clip:text;-webkit-background-clip:text;color:transparent}
.eyebrow{color:#5e27cd;font-size:.72rem;letter-spacing:.14em}
.eyebrow::before{background:#6b21ef}
.chip{background:#efe8ff;color:#5925ca}
.hero{background:radial-gradient(circle at 80% 30%,#d9c3fa 0,transparent 33%),radial-gradient(circle at 17% 10%,#fcf9ff 0,transparent 43%),linear-gradient(160deg,#faf8ff,#fff);isolation:isolate}
.hero::after{content:"";position:absolute;right:-16%;bottom:-340px;width:670px;height:670px;border-radius:50%;border:120px solid rgba(167,116,239,.08);z-index:-1;pointer-events:none}
.hero .container{grid-template-columns:1fr 1.1fr;gap:48px;min-height:650px;padding-top:70px;padding-bottom:115px}
.hero h1{font-size:clamp(3.1rem,5.4vw,5.8rem);line-height:1.05;margin:23px 0 21px;letter-spacing:-.065em}
.hero-copy{max-width:615px;position:relative;z-index:1}
.hero-ribbon{display:inline-flex;align-items:center;gap:9px;background:rgba(234,222,255,.76);padding:7px 12px 7px 7px;border:1px solid #e6d9ff;border-radius:100px;color:#5622bd;font-size:.69rem;font-weight:850;letter-spacing:.07em}
.hero-ribbon img{height:27px;width:27px;object-fit:contain}
.hero-lead{color:#4e556d;font-weight:450;line-height:1.75;font-size:1.12rem}
.hero-secondary{color:#6e7084;font-size:.94rem;max-width:560px}
.hero-buttons{margin-top:29px;flex-wrap:wrap;gap:13px}
.hero-chips{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}
.hero-chips span{font-size:.76rem;border:1px solid #e4d9fa;background:#fff9;padding:8px 13px;border-radius:99px;color:#64459d;font-weight:700}
.hero-art{max-height:unset;display:block;position:relative}
.hero-art::before{width:85%;height:80%;filter:blur(75px);background:#a86ef0}
.hero-picture{position:relative;transform:rotate(-1deg);overflow:hidden;background:#fff;border:9px solid #fff;box-shadow:0 35px 80px rgba(60,19,115,.18);border-radius:27px;z-index:1}
.hero-art .hero-picture img{max-height:none;max-width:100%;width:100%;aspect-ratio:1672/941;object-fit:cover;border-radius:18px;box-shadow:none;display:block}
.hero-floating{position:absolute;right:-12px;bottom:-18px;z-index:2;padding:14px 18px;border:1px solid #e7dcfb;border-radius:15px;background:#fff;box-shadow:0 20px 40px #2d176f22;font-size:.76rem;color:#242447;font-weight:760}
.pulse-dot{display:inline-block;vertical-align:middle;width:8px;height:8px;margin-right:5px;background:#33b36a;border-radius:50%;box-shadow:0 0 0 4px #e2f7e9}
.metrics{margin-top:-42px;z-index:5;gap:14px}
.metric{border-radius:18px;padding:25px 22px;display:flex;flex-direction:column;gap:9px;min-height:145px}
.metric-count{font-size:.91rem;color:#6734da;font-weight:900;letter-spacing:.03em}
.metric strong{font-size:1.02rem;line-height:1.4}
.section{padding:96px 0}
.section-heading{margin-bottom:36px;max-width:760px}
.section-heading h2{margin-top:9px}
.feature{padding:29px;border-radius:22px;transition:transform .2s,box-shadow .2s}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.feature .iconbox{color:#6318e6;font-size:31px;font-weight:700;background:linear-gradient(140deg,#ebe1ff,#f7f1ff)}
.feature h3{font-size:1.18rem}
.feature p{font-size:.95rem;margin-bottom:0}
.architecture-section{background:white}
.platform-grid{display:grid;grid-template-columns:1fr 130px 1fr;align-items:center;gap:16px}
.platform-tile{padding:36px;border-radius:25px;background:linear-gradient(145deg,#faf8ff,#f0eaff);border:1px solid #e3d9f8;min-height:325px}
.platform-tile .chip{font-size:.71rem}
.platform-tile h3{font-size:1.65rem;margin-top:19px}
.platform-tile p{color:#5e617a;line-height:1.7;max-width:390px}
.platform-tile .link{display:inline-block;margin-top:9px}
.platform-tile.academy-tile{background:linear-gradient(145deg,#281064,#5b1ed2);color:white;border-color:#5b1ed2}
.platform-tile.academy-tile p,.academy-tile .link{color:#eee1ff}
.academy-tile .chip{color:#4215b4;background:#e8d9ff}
.platform-icon{font-size:38px;color:#6c21ea;margin-top:20px}
.academy-tile .platform-icon{color:#fff}
.platform-divider{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:#7024e2;font-size:38px;font-weight:800}
.platform-divider span{font-size:.71rem;border-radius:99px;background:#eee7ff;color:#5e2bbe;padding:8px 11px;font-weight:800;line-height:1.3}
.plan{border-radius:22px;padding:32px}
.plan.featured{border-color:#a783f2;box-shadow:0 25px 55px #7c38e51a}
.plan ul{margin:24px 0 28px;line-height:2.15;padding-left:19px}
.plan ul li::marker{color:#6e2deb}
.cta{background:radial-gradient(circle at 94% 8%,#9e54ff 0,transparent 35%),linear-gradient(120deg,#311086,#6017db);border-radius:29px;padding:55px}
.cta h2{color:white}
.cta .eyebrow:before{background:#e1caff}
.footer{background:#100c25;color:#e6e1f5;padding-top:68px}
.footer .brand-image{width:240px;filter:none;border-radius:0}
.footer p{color:#b6b2cc;line-height:1.8}
.footer a:hover{color:white}
.footer-tag{display:inline-flex;padding:9px 12px;border:1px solid #3c2d62;border-radius:99px;color:#cfc1f7;font-size:.77rem}
.footer .bottom{display:flex;gap:35px;justify-content:space-between;line-height:1.7}
.footer .bottom span{white-space:nowrap;color:#d3c7f2}
/* Academy */
.academy-hero{background:radial-gradient(circle at 65% 20%,#e3c7ff 0,transparent 42%),linear-gradient(145deg,#faf7ff,#f3edff 70%,#fff);padding:0;overflow:hidden}
.academy-hero .container{grid-template-columns:1.02fr 1fr;min-height:595px;gap:46px;padding-top:80px;padding-bottom:82px}
.academy-hero h1{font-size:clamp(2.7rem,4.9vw,5.3rem);line-height:1.07;letter-spacing:-.055em;margin-top:22px}
.academy-hero p{line-height:1.7;font-size:1.06rem}
.academy-hero .demo-hint{font-size:.74rem;margin-top:24px}
.academy-hero-visual{border:8px solid #fff;box-shadow:0 28px 70px #48199538;border-radius:30px;position:relative;transform:rotate(1.5deg);background:white}
.academy-hero-visual>img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover;border-radius:22px}
.academy-stamp{position:absolute;bottom:-23px;left:-20px;display:flex;align-items:center;gap:7px;background:white;border:1px solid #e0d3fa;border-radius:15px;padding:11px 16px;font-size:.81rem;font-weight:760;color:#4f28aa;box-shadow:0 10px 30px #250b641c}
.academy-stamp img{width:31px;height:31px}
.academy-value{background:#fff;border-bottom:1px solid #f0eafa}
.value-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:24px 0}
.value-row>div{text-align:center;color:#7334d8;font-size:1.1rem}
.value-row strong{font-size:.88rem;color:#403c61;margin-left:7px}
.center-link{text-align:center;margin-top:34px}
.course-media{height:195px;overflow:hidden;justify-content:space-between;padding:25px;border-radius:0;background:radial-gradient(circle at 90% 15%,#a16fff,transparent 44%),linear-gradient(125deg,#3b109f,#7022e8)}
.course-media.v2{background:radial-gradient(circle at 85% 20%,#d7c0ff,transparent 50%),linear-gradient(125deg,#341174,#8e54ea)}
.course-media.v3{background:radial-gradient(circle at 82% 12%,#b687ff,transparent 55%),linear-gradient(125deg,#170d4e,#6323e8)}
.course-media>img{width:72px;height:72px;object-fit:contain;position:absolute;right:18px;top:18px;opacity:.75}
.course-media-copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;align-self:flex-end;max-width:78%;font-size:.73rem;letter-spacing:.02em}
.course-media-copy strong{font-size:1.45rem;line-height:1.15;color:white;letter-spacing:-.035em}
.course-symbol{position:absolute;top:30px;left:25px;font-size:64px;color:#ffffff21}
.course-media:after{display:none}
.course-card{border-radius:23px}
.course-card .card-body{padding:25px}
.course-card h3{font-size:1.18rem;min-height:53px}
.course-card .chip{font-size:.69rem}
.academy-cta{display:flex;justify-content:space-between;align-items:center;gap:20px}
.academy-cta>div{max-width:750px}
.academy-cta>img{width:165px;height:165px;object-fit:contain;opacity:.8}
/* Studio & Administration */
.studio-hero{background:radial-gradient(circle at 80% 30%,#dbc7ff 0,transparent 34%),linear-gradient(150deg,#faf8ff,#fff);min-height:75vh;display:flex;align-items:center}
.studio-grid{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:center;padding-top:60px;padding-bottom:80px}
.studio-grid h1{font-size:clamp(2.9rem,5vw,5.4rem)}
.studio-showcase{border-radius:32px;min-height:350px;background:radial-gradient(circle at 78% 12%,#a879ff,transparent 55%),linear-gradient(145deg,#270d76,#5b17df);box-shadow:0 35px 70px #37118e3d;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;color:#fff;padding:35px;text-align:center}
.studio-showcase img{width:140px;max-width:40%;height:auto;filter:drop-shadow(0 20px 22px #13064f80)}
.studio-showcase>div{display:flex;flex-direction:column;gap:6px}
.studio-showcase strong{font-size:1.8rem}
.studio-showcase span{font-size:.77rem;opacity:.77;letter-spacing:.05em}
.stat-grid .stat{border-radius:20px;box-shadow:0 9px 27px #25105b0b}
.stat .num{color:#2b145c;font-weight:830}
.panel-title{padding:18px 0 13px}
.panel-title .eyebrow{margin-bottom:10px}
.dashboard-grid>.card{border-radius:21px}
.table th{background:#f8f5ff}
.form-card{border-radius:24px}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#8655e8}
.boot{background:linear-gradient(160deg,#f6efff,#fff);gap:13px}.boot img{width:105px;height:105px;object-fit:contain}.boot small{color:#574b79}
@media(max-width:1150px){.nav-links{gap:12px}.nav{gap:10px}.brand-image{width:169px}.brand-service{font-size:.66rem;padding-left:9px}.nav-actions .btn{font-size:.77rem;padding:11px}}
@media(max-width:900px){.nav-links{display:none}.mobile-menu{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.nav-wrap.menu-open .nav-links{display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 15px 28px #230c4e20;background:#fff;padding:20px 22px;flex-direction:column;align-items:flex-start;gap:17px}.nav-wrap.menu-open .nav-links a{width:100%}.brand-service{display:none}.hero .container{grid-template-columns:1fr;gap:32px;padding-top:60px}.hero-copy{max-width:730px}.hero-art{width:90%;margin:0 auto}.academy-hero .container,.studio-grid{grid-template-columns:1fr;gap:38px}.academy-hero-visual{width:88%;margin:0 auto}.platform-grid{grid-template-columns:1fr 1fr}.platform-divider{display:none}.value-row{grid-template-columns:1fr;gap:14px;text-align:left}.metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.nav{height:70px;gap:6px}.brand-image{width:151px}.nav-actions .btn.ghost{display:none}.nav-actions .btn.primary{padding:10px}.mobile-menu{margin-left:auto}.hero .container{padding-bottom:86px}.hero h1{font-size:clamp(2.8rem,10vw,4.8rem)}.hero-art{width:100%}.hero-floating{right:0;bottom:-30px;max-width:90%;line-height:1.4}.hero-picture{border-width:5px;border-radius:19px}.hero-art .hero-picture img{border-radius:13px}.metrics{margin-top:-12px}.metric{min-height:118px;padding:19px}.section{padding:65px 0}.platform-grid{grid-template-columns:1fr}.platform-tile{min-height:auto;padding:29px}.hero-chips{gap:6px}.hero-chips span{font-size:.68rem}.academy-hero .container{padding-top:62px;padding-bottom:72px}.academy-hero-visual{width:100%;border-width:5px}.academy-stamp{position:relative;bottom:auto;left:auto;margin:0 auto;width:max-content;max-width:95%;border-radius:12px;transform:translateY(-8px)}.academy-cta>img{display:none}.studio-showcase{min-height:290px}.footer .brand-image{width:210px}.footer .bottom{flex-direction:column;gap:6px}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat{padding:17px}.form-card{margin:35px auto 75px}}
@media(max-width:430px){.nav-actions>.btn.primary{display:none}.brand-image{width:145px}.stat-grid,.metrics{grid-template-columns:1fr 1fr}.hero-buttons .btn{width:100%}.course-media{height:168px}.platform-tile h3{font-size:1.4rem}.cta{padding:29px}.form-card{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* SaaS billing / Academy Builder v2.2 */
.pricing-four{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.pricing-four .plan{display:flex;flex-direction:column;gap:9px;min-width:0;padding:25px}
.pricing-four .plan h3{font-size:1.1rem;min-height:2.6rem;margin:9px 0 0}
.pricing-four .plan ul{padding-left:19px;font-size:.85rem;line-height:1.8;flex:1}
.pricing-four .plan .btn{align-self:stretch;margin-top:auto}
.package-price{font-size:1.9rem;font-weight:850;color:#4013b6;letter-spacing:-.04em;white-space:nowrap}
.package-price small{font-size:.8rem;font-weight:500;white-space:normal}
.subscribe-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;margin:24px 0 70px}
.signup-agree{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;margin:20px 0;color:#61617e}
.signup-agree input{margin:4px 0 0;width:18px;height:18px;flex-shrink:0}
.workspace-card{margin:24px 0;max-width:980px}
.workspace-card h2{font-size:1.65rem;margin:8px 0}
.workspace-payment,.academy-editor{border:1px solid #e9e2f8;border-radius:16px;background:#faf8ff;margin-top:18px;padding:24px}
.workspace-payment h3,.academy-editor h3{margin:0 0 16px}.payment-instructions{background:#fff;border:1px dashed #bda4ed;padding:16px;border-radius:12px}
@media(max-width:1050px){.pricing-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.subscribe-layout{grid-template-columns:1fr}.pricing-four{grid-template-columns:1fr}.package-price{white-space:normal}}

/* OpenSchool SaaS Email-First Registration v2.3 */
.signup-section{padding-top:82px;padding-bottom:106px;background:radial-gradient(circle at 96% 6%,#eee7ff 0,transparent 35%),#f8f7ff}
.signup-intro{max-width:910px;margin-bottom:34px}
.signup-intro h1{font-size:clamp(2.35rem,4vw,3.6rem);margin:14px 0 13px}
.signup-intro>p{color:#64617f;max-width:690px;font-size:1.04rem}
.signup-two-col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(335px,.85fr);gap:28px;align-items:start}
.signup-two-col .card{border:1px solid #ebe5fa;border-radius:24px;box-shadow:0 14px 46px #35117a0b}
.signup-form-card{padding:39px 43px 42px}
.signup-panel-heading{margin-bottom:25px}.signup-panel-heading h2{font-size:1.7rem;margin:10px 0}.signup-panel-heading p{margin:0;color:#77738a}
.signup-step{display:inline-flex;align-items:center;background:#f1eaff;color:#5817e1;font-weight:800;font-size:.77rem;padding:7px 12px;border-radius:999px}
.signup-clean-form .field{margin-bottom:20px}.signup-clean-form .field label{font-size:.89rem;color:#131533}
.signup-clean-form .field input{height:54px;border-radius:12px;padding:14px 16px;background:#fff;border:1px solid #ddd9ef;transition:box-shadow .2s,border-color .2s}
.signup-clean-form .field input:focus{outline:none;border-color:#5817e1;box-shadow:0 0 0 3px #5817e118}
.signup-consent{font-size:.81rem;color:#6d6982;line-height:1.7;margin:20px 0}
.signup-submit{display:flex;width:100%;font-size:1rem;min-height:56px;margin:18px 0 13px}
.signup-plan-card{padding:38px 36px 30px;position:relative;background:linear-gradient(155deg,#fff 50%,#f8f3ff)}
.signup-plan-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.signup-plan-status{font-size:.75rem;color:#6d28c9}
.signup-plan-card h2{font-size:1.5rem;margin:28px 0 13px;line-height:1.3}
.signup-price{font-size:2.5rem;font-weight:850;color:#5817e1;letter-spacing:-.055em;line-height:1.2}.signup-price small{font-size:.87rem;font-weight:500;color:#77738c;letter-spacing:0}
.signup-plan-meta{display:flex;flex-wrap:wrap;gap:12px 18px;margin:24px 0;color:#52506d;font-size:.87rem}.signup-rule{height:1px;background:#e8dff7;margin:22px 0}
.signup-plan-card>strong{display:block;color:#11112d;font-size:.94rem}.signup-plan-card ul{list-style:none;padding:0;margin:18px 0 28px}
.signup-plan-card li{position:relative;padding:0 0 14px 27px;color:#454360;line-height:1.5;font-size:.89rem}.signup-plan-card li:before{content:'✓';font-size:.85rem;color:#5817e1;position:absolute;left:2px;top:1px;font-weight:800}
.signup-plan-bottom{display:flex;gap:12px;background:#eee7ff;border-radius:15px;padding:16px 17px;color:#4d26a9}.signup-plan-bottom>span{font-size:1.3rem}.signup-plan-bottom p{margin:0;line-height:1.55;font-size:.82rem}
.signup-change{display:inline-block;color:#5817e1;font-size:.85rem;font-weight:750;margin-top:19px}
.signup-sent{text-align:center;padding:28px 6px 0}.signup-sent-icon{font-size:3rem;color:#5817e1}.signup-sent h2{margin:12px 0}.signup-sent .btn{margin-top:15px}
.activation-card{max-width:570px}.activation-card .field input{min-height:52px}
@media(max-width:900px){.signup-two-col{grid-template-columns:minmax(0,1fr) minmax(285px,.85fr);gap:18px}.signup-form-card,.signup-plan-card{padding:28px}}
@media(max-width:730px){.signup-section{padding-top:52px;padding-bottom:75px}.signup-two-col{grid-template-columns:1fr}.signup-plan-card{order:2}.signup-form-card{order:1}.signup-intro h1{font-size:2.4rem}}
@media(max-width:430px){.signup-form-card,.signup-plan-card{padding:22px}.signup-intro h1{font-size:2.1rem}.signup-price{font-size:2.25rem}}

/* PRD v2.4 assessment and privacy controls */
.quiz-question{border:0;border-bottom:1px solid #ece7f6;padding:18px 0;margin:0;}
.quiz-option{display:block;padding:10px 12px;margin:7px 0;border-radius:12px;background:#faf8ff;cursor:pointer;}
.quiz-option:focus-within{outline:2px solid #5817E1;}

/* OpenSchool Subscribe CSS Hotfix 2.4.1 — layout, responsive, cache-busted release.
   Scoped to /subscribe markup; leaves API, authentication and other pages intact. */
.signup-section {
  padding-block: clamp(44px, 5.5vw, 78px) clamp(62px, 6.5vw, 100px);
  min-height: calc(100vh - 78px);
  background:
    radial-gradient(circle at 97% 4%, rgba(207,185,251,.36), transparent 33%),
    linear-gradient(160deg, #fbfaff 0%, #f5f2ff 74%, #faf9ff 100%);
}
.signup-section .container {
  width: min(1220px, calc(100% - 48px));
}
.signup-intro {
  max-width: 790px;
  margin-bottom: clamp(24px, 3.2vw, 38px);
}
.signup-intro h1 {
  margin: 12px 0 12px;
  color: #040C25;
  font-size: clamp(2.1rem, 3.65vw, 3.55rem);
  line-height: 1.12;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}
.signup-intro > p {
  max-width: 690px;
  color: #535a76;
  margin: 0;
  line-height: 1.7;
}
.signup-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(16px, 2.4vw, 30px);
  align-items: start;
}
.signup-two-col > .card {
  min-width: 0;
  width: 100%;
  margin: 0;
  border: 1px solid #e9e1fb;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(52,26,103,.075);
}
.signup-form-card {
  padding: clamp(24px, 3vw, 42px);
}
.signup-panel-heading {
  margin-bottom: 24px;
}
.signup-panel-heading h2 {
  color: #040C25;
  margin: 11px 0 9px;
  font-size: clamp(1.45rem, 2.3vw, 1.85rem);
  line-height: 1.22;
}
.signup-panel-heading p { color: #626580; line-height: 1.6; }
.signup-step { background: #f0e9ff; color: #5817E1; }
.signup-clean-form .field {
  margin: 0 0 18px;
  gap: 9px;
  min-width: 0;
}
.signup-clean-form .field label {
  color: #040C25;
  font-weight: 700;
  font-size: .94rem;
}
.signup-clean-form .field input {
  display: block;
  width: 100%;
  min-width: 0;
  height: 54px;
  padding: 13px 16px;
  border: 1px solid #dcd7ed;
  border-radius: 12px;
  color: #040C25;
  background: #fff;
  font-size: 1rem;
  box-shadow: none;
}
.signup-clean-form .field input::placeholder { color: #838399; opacity: 1; }
.signup-clean-form .field input:hover { border-color: #af9cdd; }
.signup-clean-form .field input:focus-visible {
  outline: 2px solid #5817E1;
  outline-offset: 2px;
  border-color: #5817E1;
  box-shadow: 0 0 0 4px rgba(88,23,225,.10);
}
.signup-consent {
  margin: 5px 0 20px;
  color: #626580;
  line-height: 1.65;
  font-size: .83rem;
}
.signup-submit {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  margin: 0 0 14px;
  padding: 13px 16px;
  border-radius: 12px;
  white-space: normal;
  text-align: center;
  font-size: 1rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.signup-clean-form .btn.primary:not(:disabled) {
  background: linear-gradient(112deg, #5817E1, #7B35F1);
  color: #fff;
}
.signup-clean-form .btn.primary:disabled {
  opacity: 1;
  color: #6a568b;
  border: 1px solid #e1d9f0;
  background: #eee9f8;
  box-shadow: none;
  cursor: not-allowed;
}
.signup-clean-form .hint { margin: 8px 0; overflow-wrap: anywhere; }
.signup-clean-form .hint a { color: #5817E1; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.signup-plan-card {
  position: sticky;
  top: 104px;
  align-self: start;
  padding: clamp(24px, 3vw, 38px);
  background: linear-gradient(150deg, #fff 48%, #f8f4ff 100%) !important;
}
.signup-plan-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.signup-plan-top .chip { color: #5817E1; background: #eee7ff; }
.signup-plan-status { color: #6542a8; font-size: .78rem; }
.signup-plan-card h2 {
  margin: 22px 0 14px;
  color: #040C25;
  font-size: clamp(1.32rem, 2.1vw, 1.62rem);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.signup-price {
  color: #5817E1;
  font-size: clamp(2.15rem, 3.4vw, 2.9rem);
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}
.signup-price small { font-size: .93rem; color: #6c6f87; }
.signup-plan-meta {
  margin: 20px 0;
  gap: 12px 18px;
  color: #55516c;
  line-height: 1.5;
}
.signup-plan-card li { color: #40405d; padding-bottom: 12px; }
.signup-plan-card li:before { color: #5817E1; }
.signup-plan-bottom {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  background: #f1eaff;
  border-radius: 14px;
  color: #4d2a9f;
}
.signup-change { color: #5817E1; text-decoration: underline; text-underline-offset: 4px; }
.signup-sent h2 { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .signup-two-col { gap: 16px; }
  .signup-form-card, .signup-plan-card { padding: 25px; }
}
@media (max-width: 800px) {
  .signup-two-col { grid-template-columns: minmax(0,1fr); }
  .signup-form-card { order: 1; }
  .signup-plan-card { position: static; order: 2; }
  .signup-section { min-height: auto; }
}
@media (max-width: 480px) {
  .signup-section .container { width: calc(100% - 32px); }
  .signup-section { padding-top: 38px; padding-bottom: 60px; }
  .signup-intro h1 { font-size: clamp(2rem, 9vw, 2.5rem); }
  .signup-intro > p { font-size: .95rem; }
  .signup-two-col > .card { border-radius: 18px; }
  .signup-form-card, .signup-plan-card { padding: 22px 18px; }
  .signup-plan-top { gap: 8px; }
  .signup-clean-form .field input { font-size: 16px; }
  .signup-submit { min-height: 54px; font-size: .96rem; }
  .signup-price { font-size: 2.25rem; }
}
@media (max-width: 360px) {
  .signup-section .container { width: calc(100% - 24px); }
  .signup-form-card, .signup-plan-card { padding: 20px 16px; }
  .signup-step { font-size: .69rem; }
}

/* OpenSchool Logo + Headline v2.4.3
   Header and footer: +20% vs v2.4 baseline per breakpoint.
   Headline: natural word-wrap, no forced line break. */
.nav-wrap .brand-image {
  display: block;
  width: 240px; /* 200px × 1.2 — desktop */
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.footer .brand-image {
  width: 288px; /* 240px × 1.2 — desktop */
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.hero .hero-copy { min-width: 0; }
.hero .hero-copy h1 {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
.hero .hero-copy h1 .gradient {
  display: inline;
  white-space: normal;
}
@media (max-width: 1150px) {
  .nav-wrap .brand-image { width: 203px; } /* 169 × 1.2, rounded */
}
@media (max-width: 720px) {
  .nav-wrap .brand-image { width: 181px; } /* 151 × 1.2, rounded */
  .footer .brand-image { width: 252px; }   /* 210 × 1.2 */
}
@media (max-width: 430px) {
  .nav-wrap .brand-image { width: 174px; } /* 145 × 1.2 */
}


/* v2.4.6 Academy-only verified learner signup */
.academy-register-section .academy-register-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:25px;align-items:start}
.academy-register-grid>.card{min-width:0;border:1px solid #ebe5fa;border-radius:24px;box-shadow:0 14px 46px #35117a0b}
.academy-register-grid .signup-form-card{padding:38px 42px}
.academy-register-grid .signup-plan-card{padding:34px}
.academy-register-grid .field input{max-width:100%}
.academy-consent{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.6;color:#67657c;margin:19px 0}
.academy-consent input{margin:5px 0 0;flex:0 0 auto;accent-color:#5817E1;width:17px;height:17px}
.academy-consent a{color:#5817E1;font-weight:700;text-decoration:underline}
.academy-register-grid .signup-submit{width:100%}
@media(max-width:760px){.academy-register-section .academy-register-grid{grid-template-columns:1fr}.academy-register-grid .signup-form-card,.academy-register-grid .signup-plan-card{padding:28px}}
@media(max-width:430px){.academy-register-grid .signup-form-card,.academy-register-grid .signup-plan-card{padding:21px}}

/* OPENSCHOOL-LEARNER-DASHBOARD-CSS-v2.6.0-BEGIN */
.osld-wrap{--osld-violet:#5817e1;--osld-ink:#071532;--osld-muted:#6c718a;--osld-border:#e8e6f2;background:#f8f8fd;padding:30px 0 88px;color:var(--osld-ink)}
.osld-wrap .osld-icon{display:inline-block;flex:0 0 auto;width:19px;height:19px;vertical-align:middle}
.osld-container{max-width:1220px}
.osld-breadcrumb{display:flex;align-items:center;gap:10px;color:#8a8da3;font-size:.82rem;margin:0 0 25px}.osld-breadcrumb strong{color:#363854}.osld-breadcrumb a:hover{color:var(--osld-violet)}
.osld-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:center;min-height:300px;padding:48px 56px;border-radius:28px;background:linear-gradient(114deg,#10183c 0%,#25115e 51%,#5d24d7 100%);color:white;box-shadow:0 16px 50px rgba(35,20,92,.14)}
.osld-hero:before{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-150px;top:-360px}.osld-hero:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:160px;bottom:-195px;background:rgba(199,170,255,.16);filter:blur(25px)}
.osld-hero-main{position:relative;z-index:1;max-width:660px}.osld-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#dbcbff;font-size:.73rem;font-weight:850;letter-spacing:.15em}.osld-hero-eyebrow .osld-icon{width:16px;height:16px}
.osld-hero h1{font-size:clamp(2rem,3.45vw,3.25rem);font-weight:800;line-height:1.14;letter-spacing:-.047em;margin:18px 0}.osld-hero h1 span{color:#dbc9ff}.osld-hero p{margin:0;max-width:550px;line-height:1.7;color:#d6d0eb;font-size:.98rem}
.osld-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px;align-items:center}.osld-hero-primary,.osld-hero-secondary,.osld-focus-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.89rem;font-weight:750;border-radius:11px;min-height:45px;padding:11px 19px;transition:transform .16s,background .16s}.osld-hero-primary:hover,.osld-hero-secondary:hover,.osld-focus-btn:hover{transform:translateY(-2px)}.osld-hero-primary{background:white;color:#4819bc}.osld-hero-secondary{color:white;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.09)}.osld-hero-actions .osld-icon{width:17px;height:17px}
.osld-hero-side{position:relative;height:220px;display:grid;place-items:center;z-index:1}.osld-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.osld-orbit-one{width:230px;height:230px}.osld-orbit-two{width:170px;height:170px;border-color:rgba(255,255,255,.29)}.osld-hero-medallion{display:grid;place-items:center;width:118px;height:118px;border-radius:34px;transform:rotate(-9deg);background:linear-gradient(140deg,#8d4dff,#5f26e5);box-shadow:0 16px 40px rgba(7,3,38,.35),inset 0 1px 1px rgba(255,255,255,.45)}.osld-hero-medallion .osld-icon{width:56px;height:56px;stroke-width:1.4}.osld-hero-tag{position:absolute;bottom:6px;right:-10px;display:flex;align-items:center;gap:8px;background:#fff;color:#32205b;border-radius:50px;padding:10px 14px;font-size:.71rem;font-weight:800;box-shadow:0 10px 25px rgba(16,10,53,.22)}.osld-hero-tag .osld-icon{color:#682de8;width:15px;height:15px}
.osld-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:22px 0 36px}.osld-stat{display:flex;align-items:center;gap:16px;background:white;border:1px solid var(--osld-border);padding:22px 20px;border-radius:19px;min-width:0;box-shadow:0 5px 24px rgba(38,35,89,.035)}.osld-stat-icon{flex:0 0 49px;width:49px;height:49px;border-radius:14px;display:grid;place-items:center}.osld-stat-icon .osld-icon{width:23px;height:23px}.osld-stat-icon.purple{background:#f0eaff;color:#6526e4}.osld-stat-icon.blue{background:#eaf3ff;color:#2765dd}.osld-stat-icon.green{background:#e7f8ef;color:#188856}.osld-stat-icon.amber{background:#fff4df;color:#bd7415}.osld-stat-value{font-size:1.8rem;font-weight:850;line-height:1;letter-spacing:-.05em}.osld-stat-name{font-size:.77rem;color:var(--osld-muted);margin-top:7px;line-height:1.3}
.osld-layout{display:grid;grid-template-columns:minmax(0,1fr) 307px;gap:24px;align-items:start}.osld-main{min-width:0}.osld-focus{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #e5ddfc;border-radius:21px;padding:27px 30px;min-height:182px;background:linear-gradient(110deg,#fff,#f1eaff);overflow:hidden;position:relative}.osld-focus-copy{position:relative;z-index:2}.osld-focus-kicker,.osld-overline{font-size:.72rem;letter-spacing:.12em;font-weight:850;color:#6826da}.osld-focus-kicker{display:inline-flex;gap:6px;align-items:center}.osld-focus-kicker .osld-icon{width:15px;height:15px}.osld-focus h2{font-size:1.43rem;line-height:1.28;margin:12px 0 8px;max-width:500px}.osld-focus p{font-size:.85rem;color:#636279;margin:0 0 15px}.osld-focus-btn{background:#5d1ce0;color:white;min-height:41px;padding:8px 15px}.osld-focus-deco{height:120px;width:120px;flex:0 0 120px;display:grid;place-items:center;background:rgba(99,39,217,.1);border-radius:28px;transform:rotate(-9deg);margin-right:25px;color:#6b36dd}.osld-focus-deco .osld-icon{width:64px;height:64px;stroke-width:1.4}
.osld-section-title{display:flex;justify-content:space-between;gap:18px;align-items:end;margin:35px 0 20px}.osld-section-title h2{font-size:1.62rem;margin:7px 0 0;line-height:1.3}.osld-heading-count{font-size:.83rem;color:#6a29de;background:#eee8ff;border-radius:8px;padding:3px 9px;vertical-align:middle;margin-left:6px}.osld-all-courses{color:#5c24d1;font-size:.84rem;font-weight:750;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.osld-all-courses .osld-icon{width:16px;height:16px}
.osld-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.osld-filters{display:flex;gap:5px;flex-wrap:wrap}.osld-filter{border:1px solid transparent;background:transparent;color:#656982;border-radius:10px;font-size:.8rem;font-weight:700;padding:11px 13px;white-space:nowrap}.osld-filter:hover{background:#eee9fc}.osld-filter.active{background:#eee6ff;color:#5b21ce;border-color:#ded2ff}.osld-search{min-width:205px;max-width:230px;display:flex;align-items:center;gap:8px;background:white;border:1px solid #e6e4f0;border-radius:11px;padding:0 12px;height:43px}.osld-search:focus-within{border-color:#7c4ee8;box-shadow:0 0 0 3px rgba(88,23,225,.09)}.osld-search .osld-icon{width:17px;height:17px;color:#8b8fa4}.osld-search input{width:100%;min-width:0;background:transparent;border:0;outline:none;font-size:.81rem}.osld-search input::placeholder{color:#989bab}
.osld-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.osld-course-card{background:#fff;border:1px solid var(--osld-border);border-radius:18px;overflow:hidden;box-shadow:0 6px 23px rgba(18,16,54,.028);transition:transform .17s,box-shadow .17s;min-width:0}.osld-course-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(36,22,82,.085)}.osld-course-card[hidden]{display:none!important}.osld-card-cover{display:block;position:relative;height:144px;overflow:hidden}.osld-card-cover>.course-media{height:100%;border-radius:0;min-height:0}.osld-card-cover>.course-media .course-media-copy{max-width:100%}.osld-cover-chip{position:absolute;top:13px;left:14px;background:rgba(255,255,255,.94);color:#5131a6;font-size:.71rem;line-height:1.2;font-weight:750;padding:7px 10px;border-radius:6px;max-width:calc(100% - 28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.osld-card-content{padding:19px 20px 20px}.osld-card-topline,.osld-progress-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.osld-status{display:inline-flex;align-items:center;gap:6px;font-size:.71rem;font-weight:800}.osld-status-dot{width:7px;height:7px;background:currentColor;border-radius:50%}.osld-status-progress{color:#6936d2}.osld-status-completed{color:#168653}.osld-status-new{color:#7e8398}.osld-lesson-count{font-size:.73rem;color:#81859d;white-space:nowrap}.osld-card-content h3{font-size:1.06rem;line-height:1.36;margin:10px 0 5px;min-height:42px}.osld-card-content h3 a:hover{color:#6023d7}.osld-card-description{font-size:.79rem;color:#83879a;line-height:1.55;margin:0 0 18px;min-height:37px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.osld-progress-label{font-size:.75rem;color:#85889d}.osld-progress-label strong{color:#5d26d7}.osld-progress{height:7px;background:#f0ecf9;border-radius:99px;margin:8px 0 17px;overflow:hidden}.osld-progress span,.osld-side-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5f22de,#a179f5)}.osld-card-action{display:flex;align-items:center;gap:9px;border-top:1px solid #f0eef5;padding-top:15px;color:#5b1dde;font-weight:800;font-size:.82rem}.osld-card-action .osld-icon{width:16px;height:16px}.osld-card-action .osld-arrow{margin-left:auto}
.osld-results{color:#898ca0;font-size:.76rem;margin:16px 0 0}.osld-filter-empty{border:1px dashed #cfc6ee;border-radius:16px;padding:30px;text-align:center;color:#696f86;background:#fff}.osld-empty{background:#fff;border:1px solid var(--osld-border);border-radius:21px;padding:49px 25px;display:flex;flex-direction:column;align-items:center;text-align:center}.osld-empty-symbol{display:grid;place-items:center;border-radius:22px;width:86px;height:86px;background:#efe8ff;color:#6026db}.osld-empty-symbol .osld-icon{height:42px;width:42px}.osld-empty h3{font-size:1.5rem;margin:20px 0 6px}.osld-empty p{color:#70738c;max-width:440px;font-size:.91rem}.osld-empty .osld-hero-primary{background:#5d20d9;color:white;margin-top:8px}
.osld-sidebar{display:flex;flex-direction:column;gap:19px}.osld-side-card{background:#fff;border:1px solid var(--osld-border);border-radius:19px;padding:23px 21px}.osld-side-header{display:flex;align-items:center;gap:10px}.osld-side-header h2{font-size:.98rem;letter-spacing:-.02em;margin:0;line-height:1.4}.osld-side-icon{height:35px;width:35px;background:#f0eaff;color:#6227df;display:grid;place-items:center;border-radius:10px}.osld-side-icon .osld-icon{height:18px;width:18px}.osld-side-icon.amber{color:#bb7417;background:#fff3df}.osld-donut{margin:28px auto 15px;width:170px;height:170px;border-radius:50%;background:conic-gradient(#6e28e8 var(--osld-pct),#eee9f9 0);display:grid;place-items:center;position:relative}.osld-donut:before{content:"";position:absolute;height:142px;width:142px;border-radius:50%;background:#fff}.osld-donut>div{position:relative;display:flex;flex-direction:column;align-items:center}.osld-donut strong{font-size:2.2rem;letter-spacing:-.055em}.osld-donut span{font-size:.76rem;color:#8e90a7}.osld-progress-caption{text-align:center;font-size:.81rem;color:#73778e;font-weight:650;margin:0 0 15px}.osld-side-track{height:7px;border-radius:99px;background:#f0ecf9;overflow:hidden}.osld-side-note{font-size:.74rem;color:#9194aa;line-height:1.6;margin:15px 0 0}.osld-milestone{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #f0eef7}.osld-milestone:last-child{border-bottom:0;padding-bottom:0}.osld-milestone>span{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:50%;background:#f0f0f6;color:#a2a4b5}.osld-milestone>span.reached{background:#e6f8ee;color:#198453}.osld-milestone .osld-icon{width:16px;height:16px}.osld-milestone strong{display:block;font-size:.8rem;line-height:1.4}.osld-milestone small{display:block;margin-top:3px;font-size:.73rem}.osld-side-promo{padding:25px 23px;border-radius:19px;background:#ede7ff;border:1px solid #e4dbff}.osld-side-promo h2{font-size:1.22rem;line-height:1.3;margin:13px 0 9px}.osld-side-promo p{color:#6e668b;font-size:.81rem;line-height:1.65}.osld-side-promo a{display:inline-flex;align-items:center;gap:7px;color:#5421bf;font-weight:800;font-size:.82rem}.osld-side-promo a .osld-icon{width:15px;height:15px}.osld-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.osld-wrap a:focus-visible,.osld-wrap button:focus-visible,.osld-wrap input:focus-visible{outline:3px solid #ac87ff;outline-offset:3px}.osld-wrap a,.osld-wrap button{-webkit-tap-highlight-color:transparent}
@media(max-width:1100px){.osld-layout{grid-template-columns:minmax(0,1fr) 275px;gap:17px}.osld-hero{grid-template-columns:minmax(0,1fr) 270px;padding:39px}.osld-stats{gap:12px}.osld-stat{padding:17px 13px;gap:11px}.osld-stat-icon{width:41px;height:41px;flex-basis:41px}.osld-card-content{padding:18px}}
@media(max-width:930px){.osld-layout{grid-template-columns:1fr}.osld-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.osld-side-promo{grid-column:1/-1}.osld-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.osld-hero{grid-template-columns:minmax(0,1fr) 190px}.osld-hero-side{height:180px}.osld-orbit-one{height:175px;width:175px}.osld-orbit-two{height:130px;width:130px}.osld-hero-medallion{height:100px;width:100px}.osld-hero-tag{display:none}}
@media(max-width:650px){.osld-wrap{padding:22px 0 55px}.osld-wrap .container{width:min(100% - 30px,1220px)}.osld-breadcrumb{margin-bottom:17px}.osld-hero{grid-template-columns:1fr;padding:27px 23px;min-height:auto;border-radius:20px}.osld-hero-side{display:none}.osld-hero h1{font-size:clamp(1.8rem,7.5vw,2.45rem);margin:12px 0}.osld-hero p{font-size:.87rem}.osld-hero-eyebrow{font-size:.65rem}.osld-hero-actions{margin-top:20px}.osld-hero-primary,.osld-hero-secondary{font-size:.8rem;min-height:42px;padding:10px 13px}.osld-stats{gap:10px;margin:14px 0 25px}.osld-stat{padding:15px 11px;border-radius:14px;gap:9px}.osld-stat-value{font-size:1.48rem}.osld-stat-name{font-size:.69rem}.osld-stat-icon{height:35px;width:35px;flex-basis:35px;border-radius:10px}.osld-stat-icon .osld-icon{width:18px;height:18px}.osld-focus{padding:22px 20px;min-height:auto}.osld-focus h2{font-size:1.22rem}.osld-focus-deco{display:none}.osld-section-title{margin-top:26px;align-items:start}.osld-section-title h2{font-size:1.36rem}.osld-all-courses{margin-top:5px;font-size:.75rem}.osld-toolbar{flex-direction:column;align-items:stretch;gap:12px}.osld-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.osld-filter{font-size:.76rem;padding:9px 11px}.osld-search{max-width:none;width:100%}.osld-card-grid{grid-template-columns:1fr}.osld-card-cover{height:158px}.osld-card-content h3{min-height:0}.osld-sidebar{grid-template-columns:1fr}.osld-side-promo{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.osld-wrap *, .osld-wrap *:before,.osld-wrap *:after{scroll-behavior:auto!important;transition:none!important}}
/* OPENSCHOOL-LEARNER-DASHBOARD-CSS-v2.6.0-END */
