@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_ce534d{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_ce534d{--font-montserrat:"Montserrat","Montserrat Fallback"}:root{--violet:#6c25ff;--violet-deep:#4b12d9;--violet-soft:#f1ebff;--lime:#f3ff00;--pine:#00403d;--pine-deep:#002b29;--white:#ffffff;--cream:#fffdcd;--pink:#f5b1fd;--green:#00d06f;--orange:#f59f00;--red:#ff4400;--blue:#205da1;--ink:#120a2a;--muted:#5d5873;--radius:28px;--radius-sm:18px;--gutter:max(16px,5vw);--font:var(--font-montserrat),"Montserrat",system-ui,sans-serif;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}h1,h2,h3{margin:0;font-weight:900;line-height:1.02;letter-spacing:-.02em}h2{font-size:clamp(34px,5.4vw,68px)}h3{font-size:21px;font-weight:800;line-height:1.2;letter-spacing:-.01em}p{margin:0}a{color:inherit}.wrap{padding-inline:var(--gutter);max-width:1440px;margin-inline:auto}.muted{color:var(--muted)}.kicker{margin-bottom:14px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}.kicker-lime{color:var(--lime)}.kicker-violet{color:var(--violet)}.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;border:2px solid transparent;font-weight:800;font-size:16px;text-decoration:none;white-space:nowrap;transition:transform .25s var(--ease-spring),box-shadow .25s ease,background .2s ease}.btn:hover{transform:translateY(-2px) scale(1.03)}.btn:active{transform:scale(.97)}.btn:focus-visible,.nav-links a:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.btn-star{width:18px;height:18px;flex:none;transition:transform .6s var(--ease-spring)}.btn:hover .btn-star{transform:rotate(90deg) scale(1.2)}.btn-lime{background:var(--lime);color:var(--ink);box-shadow:0 10px 30px -10px rgba(243,255,0,.7)}.btn-violet{background:var(--violet);color:var(--white);box-shadow:0 10px 30px -12px rgba(108,37,255,.8)}.btn-violet .btn-star{color:var(--lime)}.btn-ghost{border-color:rgba(255,255,255,.5);color:var(--white)}.btn-ghost:hover{background:rgba(255,255,255,.12)}.nav{position:-webkit-sticky;position:sticky;top:10px;z-index:50;display:flex;align-items:center;gap:24px;margin:10px var(--gutter) 0;padding:10px 10px 10px 22px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 8px 30px -18px rgba(18,10,42,.35)}.nav-logo{display:block;color:var(--violet);width:150px;flex:none}.nav-logo svg{display:block;width:100%;height:auto}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-links a{padding:10px 14px;border-radius:999px;font-size:15px;font-weight:700;text-decoration:none;transition:background .2s ease}.nav-links a:hover{background:var(--violet-soft)}.nav .btn{padding:12px 20px}@media (max-width:900px){.nav-links{display:none}.nav .btn{margin-left:auto}.nav-logo{width:128px}}.hero{padding:18px var(--gutter) 0;max-width:1440px;margin-inline:auto}.hero-panel{position:relative;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;grid-gap:24px;gap:24px;min-height:min(76vh,720px);padding:clamp(28px,5vw,72px);border-radius:calc(var(--radius) + 12px);background:radial-gradient(120% 90% at 85% 20%,#8a4dff 0,transparent 55%),var(--violet);color:var(--white);overflow:hidden}.chip{display:inline-block;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:700}.chip-glass{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}.hero-copy{min-width:0}.hero-copy>*,.hero-facts>*{animation:fade-up .8s var(--ease-out) both}.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.hero-facts>:first-child{animation-delay:.45s}.hero-facts>:nth-child(2){animation-delay:.52s}.hero-facts>:nth-child(3){animation-delay:.59s}.hero-facts>:nth-child(4){animation-delay:.66s}@keyframes fade-up{0%{opacity:0;transform:translateY(28px)}}.hero h1{margin:22px 0;font-size:clamp(40px,8vw,116px);line-height:.95}.hero-lead{max-width:36ch;font-size:clamp(17px,1.5vw,20px);color:rgba(255,255,255,.88)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-art{position:relative;align-self:stretch;display:grid;place-items:center}.rising{width:100%;max-width:560px;height:auto;overflow:visible;transform:translateY(calc(var(--hero-p, 0) * -90px))}.rising-book{fill:var(--white);animation:book-in 1s var(--ease-out) both}.rising-lift{transform:translateY(calc(var(--hero-p, 0) * -160px))}.rising-star{fill:var(--lime);animation:star-rise 1.8s .35s var(--ease-out) both,star-float 5s 2.2s ease-in-out infinite}.rising-glow,.rising-star{transform-origin:500px 390px}.rising-glow{animation:glow-in 1.6s ease .9s both,glow-pulse 4s ease-in-out 2.5s infinite}.spark{fill:var(--white);transform-origin:500px 390px;animation:twinkle 3.4s ease-in-out infinite}@keyframes book-in{0%{transform:translateY(120px);opacity:0}}@keyframes star-rise{0%{transform:translateY(560px) scale(.45) rotate(-45deg)}65%{transform:translateY(-36px) scale(1.06) rotate(4deg)}to{transform:translateY(0) scale(1) rotate(0)}}@keyframes star-float{50%{transform:translateY(-18px) rotate(3deg)}}@keyframes glow-in{0%{opacity:0;transform:scale(.4)}}@keyframes glow-pulse{50%{opacity:.6;transform:scale(.92)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr) 1.6fr;grid-gap:12px;gap:12px;margin-top:12px}.fact{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:108px;padding:20px 22px;border-radius:var(--radius)}.fact b{font-size:19px;font-weight:800}.fact span{font-size:14px;opacity:.8}.fact-lime{background:var(--lime)}.fact-white{background:var(--violet-soft);color:var(--violet-deep)}.fact-pine{background:var(--pine);color:var(--white)}.countdown-empty{min-height:68px}.countdown-kicker{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lime)}.countdown-title{margin-top:2px;font-weight:700;font-size:15px}.countdown-cells{display:flex;gap:16px;margin-top:8px}.countdown-cells span{display:flex;align-items:baseline;gap:4px;font-size:12px;opacity:.75}.countdown-cells b{font-size:26px;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:1;color:var(--white)}@media (max-width:960px){.hero-panel{grid-template-columns:1fr;min-height:0}.hero-art{order:-1;max-width:240px;margin:-10px auto -20px}.hero-facts{grid-template-columns:1fr 1fr}.fact-pine,.fact-white{grid-column:1/-1}}@media (max-width:520px){.hero-actions .btn{width:100%;justify-content:center}.fact{min-height:92px;padding:16px 18px}.fact b{font-size:16px}}.oval{position:relative;display:inline-block;padding:0 .22em;white-space:nowrap}.oval:after{content:"";position:absolute;inset:.04em 0 -.02em;border:max(2px,.055em) solid;border-radius:999px;pointer-events:none;-webkit-clip-path:inset(0 100% 0 0 round 999px);clip-path:inset(0 100% 0 0 round 999px);transition:-webkit-clip-path .9s .35s var(--ease-out);transition:clip-path .9s .35s var(--ease-out);transition:clip-path .9s .35s var(--ease-out),-webkit-clip-path .9s .35s var(--ease-out)}.final .oval:after,.hero .oval:after{border-color:var(--lime)}.hero .oval:after{animation:pill-draw .9s .9s var(--ease-out) both}@keyframes pill-draw{to{-webkit-clip-path:inset(0 0 0 0 round 999px);clip-path:inset(0 0 0 0 round 999px)}}.is-in .oval:after,.oval.is-in:after{-webkit-clip-path:inset(0 0 0 0 round 999px);clip-path:inset(0 0 0 0 round 999px)}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}[data-reveal].is-in{opacity:1;transform:none}.about{padding-top:clamp(80px,12vw,160px);padding-bottom:56px}.about-text{max-width:1100px;font-size:clamp(30px,4.6vw,62px);font-weight:800;line-height:1.12;letter-spacing:-.02em}.w{color:#d9d3ea;transition:color .35s ease}.w.on{color:var(--ink)}.faces{display:grid;grid-gap:12px;gap:12px;padding:24px 0 clamp(80px,10vw,140px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.faces-row{display:flex;gap:12px;width:max-content;animation:marquee 70s linear infinite}.faces-row-back{animation-direction:reverse;animation-duration:80s}@media (hover:hover){.faces:hover .faces-row{animation-play-state:paused}}.faces img{width:clamp(88px,10vw,128px);height:clamp(88px,10vw,128px);object-fit:cover;background:var(--violet-soft)}@keyframes marquee{to{transform:translateX(-50%)}}.school{position:relative;padding:clamp(80px,11vw,150px) 0;background:var(--pine);color:var(--white);overflow:hidden;border-radius:calc(var(--radius) + 12px);margin-inline:calc(var(--gutter) / 2)}.deco{position:absolute;pointer-events:none}.deco-book{right:-8%;bottom:-60px;width:min(620px,70vw);color:rgba(255,255,255,.05);animation:drift 18s ease-in-out infinite}.deco-star{right:8%;top:70px;width:min(200px,28vw);color:var(--lime);opacity:.9;animation:spin 40s linear infinite}@keyframes drift{50%{transform:translate(-30px,-20px) rotate(-4deg)}}@keyframes spin{to{transform:rotate(1turn)}}.school-title{font-size:clamp(48px,9vw,130px);color:var(--lime);max-width:8ch}.school-lead{max-width:52ch;margin-top:26px;font-size:clamp(17px,1.5vw,20px);color:rgba(255,255,255,.85)}.steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:56px 0 0;padding:0;list-style:none;position:relative}.step{padding:26px 24px 28px;border-radius:var(--radius);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),background .25s ease}.step:hover{background:rgba(255,255,255,.12)}.step-n{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:26px;border-radius:50%;background:var(--lime);color:var(--ink);font-weight:900;font-size:18px}.step h3{margin-bottom:8px}.step p{font-size:15px;color:rgba(255,255,255,.78)}.coins{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:28px;gap:28px;align-items:center;margin-top:14px;padding:28px;border-radius:var(--radius);background:var(--lime);color:var(--ink)}.coins-head{display:flex;gap:18px;align-items:flex-start}.coins-star{width:56px;height:56px;flex:none;color:var(--violet);animation:spin 12s linear infinite}.coins-head h3{font-size:24px;margin-bottom:6px}.coins-head p{font-size:15px;color:#3c3a1a}.coins-list{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.coins-list li{display:flex;flex-direction:column;padding:14px 16px;border-radius:var(--radius-sm);background:rgba(255,255,255,.6);font-size:13px;font-weight:600;line-height:1.3}.coins-list b{font-size:26px;font-weight:900;color:var(--violet)}@media (max-width:1100px){.steps{grid-template-columns:1fr 1fr}.coins{grid-template-columns:1fr}}@media (max-width:560px){.steps{grid-template-columns:1fr}.step-n{margin-bottom:14px}.coins-list{grid-template-columns:1fr 1fr}}.semester{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:clamp(32px,6vw,96px);gap:clamp(32px,6vw,96px);padding-top:clamp(80px,11vw,150px);padding-bottom:clamp(80px,11vw,150px)}.semester-side{position:-webkit-sticky;position:sticky;top:110px;align-self:start}.semester-side h2{margin-bottom:18px;color:var(--violet)}.semester-next{display:inline-block;margin-top:26px;padding:10px 16px;border-radius:999px;background:var(--violet-soft);color:var(--violet-deep);font-weight:700;font-size:15px}.timeline{--p:0;position:relative;display:grid;grid-gap:18px;gap:18px;padding-left:56px}.timeline-line{position:absolute;left:18px;top:12px;bottom:12px;width:4px;border-radius:4px;background:var(--violet-soft)}.timeline-fill{position:absolute;inset:0 0 auto;height:calc(var(--p) * 100%);border-radius:inherit;background:var(--violet)}.timeline-star{position:absolute;left:50%;top:calc(var(--p) * 100%);width:34px;height:34px;color:var(--violet);transform:translate(-50%,-50%) rotate(calc(var(--p) * 1turn));filter:drop-shadow(0 0 10px rgba(108,37,255,.5))}.course{position:relative;padding:28px;border-radius:var(--radius);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),box-shadow .3s ease}.course:hover{box-shadow:0 24px 50px -28px rgba(18,10,42,.45)}.course-when{font-size:14px;font-weight:700;letter-spacing:.02em;opacity:.8}.course h3{margin:10px 0 18px;font-size:clamp(24px,2.6vw,34px);font-weight:900;line-height:1.08}.course-teacher{display:flex;align-items:center;gap:12px;font-weight:700}.course-avatar,.course-teacher img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}.course-avatar{display:grid;place-items:center;font-weight:900;font-size:16px;background:rgba(255,255,255,.25)}.course-note{margin-top:16px;font-size:14px;opacity:.75}.course-violet{background:var(--violet);color:var(--white)}.course-lime{background:var(--lime)}.course-lime .course-avatar{background:var(--ink);color:var(--lime)}.course-pink{background:var(--pink)}.course-pink .course-avatar{background:var(--ink);color:var(--pink)}@media (max-width:900px){.semester{grid-template-columns:1fr}.semester-side{position:static}.timeline{padding-left:40px}.timeline-line{left:10px}}@media (max-width:560px){.course{padding:22px}}.code{padding:clamp(80px,11vw,150px) 0;margin-inline:calc(var(--gutter) / 2);border-radius:calc(var(--radius) + 12px);background:var(--violet);color:var(--white)}.code-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:clamp(32px,5vw,80px);gap:clamp(32px,5vw,80px);align-items:start}.cert{padding:clamp(28px,3vw,40px);border-radius:var(--radius);background:var(--white);color:var(--ink);position:relative;overflow:hidden}.cert:after{content:"";position:absolute;right:-46px;top:-46px;width:120px;height:120px;border-radius:50%;background:var(--lime)}.cert h2{font-size:clamp(30px,3.4vw,44px);margin-bottom:24px}.cert ol{display:grid;grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none;counter-reset:c;position:relative;z-index:1}.cert li{display:flex;gap:14px;font-weight:600}.cert li:before{counter-increment:c;content:counter(c);display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--violet);color:var(--white);font-weight:900;font-size:15px}.codex h2{font-size:clamp(30px,4vw,54px);margin-bottom:28px}.codex-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.codex-list li{display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:var(--radius-sm);background:rgba(255,255,255,.1);font-weight:700;line-height:1.3;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),background .25s ease}.codex-list li:hover{background:rgba(255,255,255,.18)}.codex-star{width:22px;height:22px;flex:none;color:var(--lime);transition:transform .5s var(--ease-spring)}.codex-list li:hover .codex-star{transform:rotate(90deg) scale(1.25)}.rules{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:48px;align-items:start}.rule{border-radius:var(--radius-sm);background:rgba(0,0,0,.14)}.faq-item summary,.rule summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-weight:800;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker,.rule summary::-webkit-details-marker{display:none}.faq-item summary:after,.rule summary:after{content:"+";display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:22px;font-weight:500;transition:transform .3s var(--ease-spring)}details[open]>summary:after{transform:rotate(45deg)}.rule ul{margin:0;padding:0 20px 20px 38px;display:grid;grid-gap:6px;gap:6px;font-size:15px;color:rgba(255,255,255,.85)}@media (max-width:960px){.code-grid,.rules{grid-template-columns:1fr}}@media (max-width:560px){.codex-list{grid-template-columns:1fr}}.join{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,5vw,80px);gap:clamp(32px,5vw,80px);padding-top:clamp(80px,11vw,150px);padding-bottom:clamp(80px,11vw,150px)}.join h2{margin-bottom:28px}.checks{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.checks li{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius-sm);background:var(--violet-soft);font-weight:700}.checks li:before{content:"✓";display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--violet);color:var(--white);font-weight:900;font-size:15px}.join-steps ol{display:grid;grid-gap:22px;gap:22px;margin:0 0 32px;padding:0;list-style:none}.join-steps li{display:flex;gap:18px}.join-steps .step-n{margin:0;background:var(--violet);color:var(--white);flex:none}.join-steps h3{margin-bottom:4px}.join-steps p{color:var(--muted)}@media (max-width:900px){.join{grid-template-columns:1fr}}.directions{padding:clamp(80px,11vw,150px) 0;margin-inline:calc(var(--gutter) / 2);border-radius:calc(var(--radius) + 12px);background:var(--ink);color:var(--white)}.directions h2{max-width:14ch;margin-bottom:44px}.dir-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.dir{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:150px;padding:20px;border-radius:var(--radius);color:var(--ink);overflow:hidden;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.dir:hover{transform:translateY(-6px) rotate(-1deg);transition-duration:.35s;transition-delay:0s!important}.dir b{font-size:19px;font-weight:800;line-height:1.15;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.dir span{font-size:14px;font-weight:600;opacity:.75}.dir-star{position:absolute;top:16px;right:16px;width:30px;height:30px;opacity:.85;transition:transform .6s var(--ease-spring)}.dir:hover .dir-star{transform:rotate(180deg) scale(1.5)}.dir-0{background:var(--pink)}.dir-1{background:var(--cream)}.dir-2{background:var(--green)}.dir-3{background:var(--orange)}.dir-4{background:var(--blue);color:var(--white)}.dir-5{background:#efeaff}.dir-main{grid-column:span 2;grid-row:span 2;min-height:312px;background:var(--lime)}.dir-main b{font-size:clamp(28px,3vw,40px);font-weight:900}.dir-main .dir-star{width:88px;height:88px;color:var(--violet);opacity:1}@media (max-width:960px){.dir-grid{grid-template-columns:repeat(2,1fr)}.dir-main{min-height:220px;grid-row:span 1}}@media (max-width:520px){.dir{min-height:132px;padding:56px 16px 16px}.dir b{font-size:16px}.dir span{font-size:13px}.dir-star{width:24px;height:24px}.dir-main{min-height:200px;padding:20px}.dir-main .dir-star{width:64px;height:64px}}.faq{padding-top:clamp(80px,11vw,150px);padding-bottom:clamp(60px,8vw,110px)}.faq h2{margin-bottom:36px}.faq-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;align-items:start}.faq-item{border-radius:var(--radius-sm);background:var(--pine);color:var(--white)}.faq-item[open]{background:var(--violet)}.faq-item summary{font-size:18px;padding:22px}.faq-item p{padding:0 22px 22px;color:rgba(255,255,255,.88)}@media (max-width:800px){.faq-list{grid-template-columns:1fr}}.final{padding:0 var(--gutter) clamp(40px,6vw,80px);max-width:1440px;margin-inline:auto}.final-panel{position:relative;padding:clamp(48px,8vw,110px) clamp(24px,5vw,72px);border-radius:calc(var(--radius) + 12px);background:var(--violet);color:var(--white);text-align:center;overflow:hidden}.final-star{position:absolute;left:50%;bottom:-140px;width:360px;color:rgba(255,255,255,.08);transform:translateX(-50%);animation:spin 50s linear infinite}.final h2{position:relative;max-width:16ch;margin:0 auto 20px;font-size:clamp(34px,5.6vw,76px)}.final p{margin-bottom:32px;font-size:18px;color:rgba(255,255,255,.85)}.final .btn,.final p{position:relative}.footer{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:20px var(--gutter) 48px;text-align:center;font-size:15px}.footer-logo{width:170px;color:var(--violet);margin-bottom:8px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}.oval:after{-webkit-clip-path:none;clip-path:none}}.face{position:relative;flex:none;margin:0;border-radius:24px;overflow:hidden;transition:transform .35s var(--ease-spring)}.faces-row .face:nth-child(4n+1){border-radius:24px 24px 24px 64px}.faces-row .face:nth-child(4n+3){border-radius:64px 24px 24px 24px}.face:hover{transform:scale(1.08) rotate(-2deg);z-index:1}.face figcaption{position:absolute;inset:0;display:grid;place-content:center;grid-gap:2px;gap:2px;padding:8px;background:rgba(75,18,217,.82);color:var(--white);text-align:center;font-size:12px;font-weight:600;line-height:1.2;overflow-wrap:anywhere;opacity:0;transition:opacity .25s ease}.face figcaption b{font-size:clamp(13px,1.2vw,16px);font-weight:800;color:var(--lime)}.face:hover figcaption{opacity:1}.secret{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--radius-sm);background:var(--ink);color:var(--white);font-size:15px}.secret b{color:var(--lime)}.secret-lock{font-size:26px;flex:none;animation:wiggle 3s ease-in-out infinite}@keyframes wiggle{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-14deg)}90%{transform:rotate(12deg)}95%{transform:rotate(-6deg)}}.course-lessons{display:grid;grid-gap:8px;gap:8px;margin:20px 0 0;padding:0;list-style:none}.course-lessons details,.lesson-static{border-radius:16px;background:rgba(255,255,255,.55);transition:background .2s ease}.course-lessons details:hover,.course-lessons details[open]{background:rgba(255,255,255,.85)}.course-lessons summary,.lesson-static{display:flex;align-items:center;gap:14px;padding:12px 16px}.course-lessons summary{cursor:pointer;list-style:none}.course-lessons summary::-webkit-details-marker{display:none}.course-lessons summary:after{content:"+";display:grid;place-items:center;flex:none;width:30px;height:30px;margin-left:auto;border-radius:50%;border:2px solid;font-size:20px;font-weight:500;line-height:1;transition:transform .3s var(--ease-spring)}.course-lessons details[open]>summary:after{transform:rotate(45deg)}.lesson-n{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--white);font-size:15px;font-weight:900}.lesson-head{display:grid;grid-gap:2px;gap:2px}.lesson-head b{font-size:17px;font-weight:800;line-height:1.2}.lesson-head span{font-size:14px;font-weight:600;line-height:1.3;opacity:.8}.course-lessons details p{padding:0 16px 16px 64px;font-size:15px;line-height:1.5}.course-violet .course-lessons details{background:rgba(255,255,255,.1)}.course-violet .course-lessons details:hover,.course-violet .course-lessons details[open]{background:rgba(255,255,255,.18)}.course-violet .lesson-n{background:var(--lime);color:var(--ink)}.course-lime .lesson-n{color:var(--lime)}.course-pink .lesson-n{color:var(--pink)}@media (max-width:560px){.course-lessons summary,.lesson-static{gap:10px;padding:12px}.lesson-head b{font-size:16px}.course-lessons details p,.lesson-points{padding:0 12px 14px}}.lesson-points{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0 16px 16px 64px;list-style:none}.lesson-points li{position:relative;padding-left:16px;font-size:15px;font-weight:600;line-height:1.35;opacity:.8}.lesson-points li:before{content:"✦";position:absolute;left:0;top:0;font-size:11px;line-height:1.7}.rising{cursor:pointer;-webkit-tap-highlight-color:transparent}.rising:focus-visible{outline:3px solid var(--lime);outline-offset:6px;border-radius:24px}.rising .rising-star path{transition:filter .3s ease}.rising:hover .rising-star path{filter:drop-shadow(0 0 24px rgba(243,255,0,.6))}.footer-link{color:var(--muted);font-size:14px;text-underline-offset:3px}.footer-link:hover{color:var(--violet)}.privacy-back{margin-left:auto}.privacy{max-width:820px;padding-top:clamp(48px,8vw,96px);padding-bottom:clamp(48px,8vw,96px)}.privacy h1{font-size:clamp(36px,6vw,64px);color:var(--violet)}.privacy-intro{margin:24px 0 40px;font-size:19px;color:var(--muted)}.privacy-section{padding:24px 0;border-top:1px solid var(--violet-soft)}.privacy-section h2{display:flex;align-items:center;gap:14px;margin-bottom:12px;font-size:clamp(22px,2.6vw,28px)}.privacy-section .step-n{margin:0;width:36px;height:36px;font-size:15px;background:var(--violet);color:var(--white)}.privacy-section p+p{margin-top:10px}.privacy-section a{color:var(--violet);font-weight:700}