:root{color-scheme:dark;--bg:#0e0f2d;--text:#fff;--fog:#babcd9;--accent:#5865f2;--accent-hover:#3442d9;--green:#57f287;--radius:24px;--font-body:-apple-system,BlinkMacSystemFont,'SF Pro Text',system-ui,'Segoe UI',sans-serif;--font-display:-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:105px}body{-webkit-font-smoothing:antialiased;font-optical-sizing:auto;margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--font-body);overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:#5865f240}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #aab1ff;outline-offset:5px}button:disabled{cursor:default}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}h2{font-size:clamp(35px,4vw,52px)}p{text-wrap:pretty}[hidden]{display:none!important}.page-width{width:min(1200px,calc(100% - 80px));margin-inline:auto}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;display:flex;align-items:center;gap:10px;line-height:1.5;color:#d3d5f1}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}.skip-link{position:fixed;top:10px;left:10px;z-index:30;transform:translateY(-180%);background:white;color:#171836;padding:12px 20px;border-radius:12px}.skip-link:focus{transform:none}
.site-header{height:96px;position:relative;z-index:10}.nav-wrap{width:min(1200px,calc(100% - 80px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;gap:10px;align-items:center;flex:none;font-size:30px;line-height:1;font-family:var(--font-display);font-weight:700;letter-spacing:-1.6px}.brand img{border-radius:12px}.brand-x{margin-left:1px}.main-nav{display:flex;gap:32px;align-items:center;font-size:13px;font-weight:500}.main-nav a{color:#e4e4f4;transition:color .2s}.main-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:7px}.nav-actions{display:flex;gap:24px;align-items:center}.language{display:flex;gap:1px}.language button{border:0;background:transparent;color:#b0b2d0;font-size:11px;font-weight:600;min-width:32px;min-height:40px;padding:4px}.language .active{color:#fff}.language button:hover{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:57px;padding:17px 23px;border-radius:12px;font-size:13px;line-height:1.5;font-weight:600;transition:background-color .2s,transform .2s,color .2s;border:0}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-hover)}.button-white{background:#fff;color:#23272a}.button-white:hover{background:#e8e9fa}.button-small{min-height:42px;padding:11px 17px;font-size:11px;border-radius:16px}.button span[aria-hidden]{font-size:18px;line-height:1}.menu-toggle{display:none}
.hero{position:relative;overflow:clip;background:radial-gradient(ellipse at 80% 50%,#29205260 0%,transparent 55%),radial-gradient(ellipse at 17% 0%,#1d216e33,transparent 52%);padding-top:36px}.hero-layout{display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;position:relative;min-height:680px}.hero-copy{min-width:0;width:100%;position:relative;z-index:2;padding-bottom:40px}.hero-copy .eyebrow{margin-bottom:27px}.hero h1{font-size:clamp(52px,5.2vw,73px);line-height:.99;letter-spacing:-.04em}.hero-description{color:var(--fog);max-width:395px;margin-top:27px;font-size:15px;line-height:1.75}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.hero-note{color:#9da0c7;margin-top:20px;font-size:10px}.hero-stage{position:relative;height:640px;min-width:0;isolation:isolate}.stars{pointer-events:none;position:absolute;inset:0;opacity:.6;background-image:radial-gradient(circle at 24% 80%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 84% 19%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 53% 9%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 96% 70%,#868bbd 0 2px,transparent 2.4px),radial-gradient(circle at 63% 94%,#7779a5 0 1px,transparent 1.5px),radial-gradient(circle at 7% 21%,#c3c6ed 0 1px,transparent 1.5px)}.orbit{position:absolute;pointer-events:none;border:1px solid #b7bafa26;border-radius:50%;z-index:-1}.orbit-one{width:600px;height:400px;left:-10px;top:117px;transform:rotate(-31deg)}.orbit-two{width:500px;height:610px;left:78px;top:20px;transform:rotate(37deg);border-color:#969aec12}.demo-caption{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.03em;color:#a0a3c5}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-block:4px 34px;font-size:11px;color:#babcd9}.hero-bottom a{border:1px solid #ffffff30;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:20px}.feature-strip{border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;background:#151633}.feature-strip .page-width{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:26px;font-size:10px;letter-spacing:.11em;font-weight:700;white-space:nowrap}.feature-strip i{font-style:normal;color:#d5cdf4;font-size:17px}
.features{padding-top:105px}.section-intro{text-align:center;max-width:720px;margin:auto auto 60px}.section-intro .eyebrow{justify-content:center;margin-bottom:17px}.section-intro>p:last-child{color:var(--fog);font-size:14px;margin-top:20px}.feature-stage{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;border-radius:var(--radius);min-height:485px;margin-bottom:72px;padding:62px;gap:38px;overflow:hidden}.stage-schedule{background:radial-gradient(at 95% 20%,#4e429457,transparent 60%),linear-gradient(120deg,#262452,#211e4e)}.stage-journal{background:radial-gradient(at 0% 80%,#326f4b57,transparent 62%),linear-gradient(120deg,#163d35,#152f2b)}.stage-materials{background:radial-gradient(at 90% 0%,#a25c8933,transparent 60%),linear-gradient(120deg,#432045,#602751)}.section-number{font-size:10px;font-weight:600;letter-spacing:.1em;color:#d7d9ec}.stage-copy h2{font-size:clamp(32px,3.8vw,48px);margin:23px 0 22px}.stage-copy p{color:#dcdaec;max-width:350px;font-size:13px;line-height:1.8}.feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.feature-tags span{font-size:9px;border:1px solid #ffffff28;border-radius:104px;padding:6px 10px;color:#e6e5f1}.text-link{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:17px}.stage-copy .text-link{margin-top:29px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.team-section{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-block:114px 118px}.team-section h2{font-size:40px;margin-top:20px}.team-details>p{font-size:13px;color:var(--fog);line-height:1.9}.team-facts{display:flex;justify-content:space-between;gap:16px;margin-top:30px}.team-facts strong{font-size:21px;line-height:1.4;font-family:var(--font-display);font-weight:700}.team-facts span{display:block;color:#b2b4d1;font-size:8px;margin-top:6px}.start-section{border-radius:24px;background:linear-gradient(120deg,#212245,#191a39);padding:64px;position:relative}.start-heading{text-align:center;max-width:550px;margin:auto}.start-heading .eyebrow{justify-content:center}.start-heading h2{margin:20px 0}.start-heading>p:last-child{font-size:13px;color:var(--fog)}.start-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:45px 0 0;padding:0}.start-steps li{border-top:1px solid #bdbde42b;padding-top:20px}.step-count{display:inline-block;color:#b4b7ee;font-size:11px;margin-bottom:18px;font-weight:700}.start-steps h3{font-size:15px;line-height:1.5}.start-steps p{font-size:11px;line-height:1.9;color:var(--fog);margin-top:10px}.start-action{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:42px}.start-action .button{font-size:12px}.start-action .text-link{font-size:11px}.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;margin-block:117px 110px}.faq-section h2{font-size:37px;margin-top:20px}.faq-list details{border-bottom:1px solid #ffffff1b}.faq-list details:first-child{border-top:1px solid #ffffff1b}.faq-list summary{position:relative;padding:22px 30px 22px 0;cursor:pointer;font-size:13px;font-weight:600;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:1px;top:17px;color:#b5b8d2;font-size:23px;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list details p{color:var(--fog);font-size:12px;line-height:1.8;padding:0 30px 22px 0}.closing-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#303478,#151633 65%);padding:76px 0 190px;text-align:center}.closing-section .eyebrow{justify-content:center}.closing-section h2{font-size:clamp(42px,5.4vw,68px);margin:20px 0 28px}.closing-section .button{position:relative;z-index:1}.closing-word{position:absolute;left:50%;transform:translateX(-50%);bottom:-75px;font-size:220px;line-height:1;font-family:var(--font-display);font-weight:700;letter-spacing:-12px;color:#ffffff06;pointer-events:none}.site-footer{padding-block:44px 24px}.footer-main{display:flex;align-items:center;gap:25px}.footer-main .brand{font-size:24px}.footer-main p{font-size:10px;color:var(--fog)}.footer-links{display:flex;gap:24px;margin-left:auto;font-size:10px;color:#c8c8dd}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;align-items:center;gap:24px;justify-content:space-between;border-top:1px solid #ffffff14;margin-top:33px;padding-top:22px;color:#9699b8;font-size:9px}
@media(min-width:1500px){.hero h1{font-size:76px}.hero-stage{transform:translateX(10px)}}
@media(max-width:1150px){.main-nav{gap:18px}.nav-actions{gap:12px}.hero h1{font-size:60px}.hero-stage{transform:scale(.88);transform-origin:center right}.hero-layout{min-height:610px;grid-template-columns:1fr 1fr}.phone-front{right:0}.phone-back{left:-20px}.mascot{right:-82px}.feature-stage{padding:44px;gap:28px}.journal-preview{padding:18px}.team-section h2{font-size:35px}.nav-wrap,.page-width{width:calc(100% - 64px)}}
@media(max-width:900px){.nav-wrap,.page-width{width:calc(100% - 48px)}.main-nav{gap:16px;font-size:11px}.nav-actions .button{display:none}.hero{padding-top:15px}.hero-layout{grid-template-columns:1fr;min-height:0}.hero-copy{text-align:center;max-width:600px;margin:auto;padding-bottom:0}.hero-copy .eyebrow,.hero-actions{justify-content:center}.hero h1{font-size:clamp(48px,8vw,70px)}.hero h1 br:nth-of-type(3){display:none}.hero-description{max-width:420px;margin-inline:auto}.hero-stage{width:570px;max-width:100%;margin:40px auto 0;transform:scale(.9);transform-origin:top center;height:610px}.phone-front{right:40px}.phone-back{left:22px}.mascot{right:-40px;bottom:0}.floating-note{right:38px}.hero-bottom{margin-top:-32px}.feature-strip .page-width{flex-wrap:wrap;justify-content:center;gap:14px 25px}.feature-strip i:last-of-type{display:none}.feature-stage{padding:38px;gap:30px;min-height:430px}.stage-copy h2{font-size:34px}.stage-copy p{font-size:12px}.widget-preview{padding:21px}.widget-preview h3{font-size:18px}.journal-row{grid-template-columns:1fr 61px 22px;font-size:8px;gap:3px}.student-name i{display:none}.attendance-button{font-size:7px;padding:5px}.journal-float{padding:10px}.journal-float strong{font-size:8px}.journal-float small{font-size:7px}.materials-preview{padding:17px}.team-section{gap:30px}.team-section h2{font-size:31px}.start-section{padding:42px}.start-steps{gap:22px}.faq-section{gap:32px}.faq-section h2{font-size:30px}.footer-main{flex-wrap:wrap;gap:15px}.footer-links{width:100%;margin-left:0;margin-top:12px}.closing-word{font-size:185px;bottom:-56px}}
@media(max-width:640px){html{scroll-padding-top:25px}.nav-wrap,.page-width{width:calc(100% - 36px)}.site-header{height:77px}.brand{font-size:27px}.brand img{width:35px;height:35px;border-radius:10px}.nav-actions{margin-left:auto}.menu-toggle{display:flex;order:3;align-items:center;justify-content:center;flex-direction:column;width:40px;height:40px;border-radius:10px;border:1px solid #ffffff25;background:transparent;gap:5px;padding:10px}.menu-toggle span{height:1px;width:17px;background:white;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:70px;left:18px;right:18px;padding:18px;background:#262642;border:1px solid #ffffff1c;border-radius:15px;gap:0;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{font-size:14px;padding:12px}.hero{padding-top:31px}.eyebrow{font-size:9px;letter-spacing:.09em}.hero-copy .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(40px,10.9vw,64px);letter-spacing:-.04em;line-height:1.02}.hero h1 br:nth-of-type(3){display:block}.hero-description{font-size:13px;max-width:350px;margin-top:21px}.hero-actions{margin-top:24px;gap:8px}.hero-actions .button{font-size:11px;padding:13px 15px;min-height:49px;gap:9px}.hero-note{font-size:8px;margin-top:16px}.hero-stage{margin-top:32px;width:min(460px,100%);height:515px;transform:none}.phone-front{width:226px;height:476px;right:8%;top:22px}.phone-back{width:194px;height:408px;left:2%;top:65px}.phone-content{padding:11px 9px}.phone-content h2{font-size:21px}.phone-back .phone-content h2{font-size:21px}.phone-back .welcome-card{padding:11px 8px;margin:12px 0}.phone-back .app-announcement{padding:9px}.phone-back .app-announcement p{font-size:7px}.phone-back .week-mini span,.phone-back .week-mini b{width:21px;height:21px;font-size:8px}.phone-back .welcome-card strong{font-size:10px}.phone-back .app-search{font-size:8px}.mascot{width:173px;right:-13px;bottom:-7px}.floating-note{right:0;top:-4px;padding:8px 11px;gap:7px;transform:rotate(4deg)}.floating-note strong{font-size:8px}.floating-note div>span{font-size:7px}.note-symbol{width:22px;height:22px;font-size:11px}.orbit-one{width:380px;height:285px;left:-15px;top:100px}.orbit-two{width:330px;height:430px;left:0;top:10px}.demo-caption{font-size:7px;bottom:1px;left:7px}.hero-bottom{margin-top:12px;font-size:9px;padding-bottom:26px}.hero-bottom a{width:32px;height:32px;font-size:17px}.feature-strip .page-width{padding-block:22px;gap:15px;font-size:8px}.feature-strip i{font-size:11px}.feature-strip i:nth-of-type(2){display:none}.features{padding-top:70px}.section-intro{margin-bottom:38px}.section-intro h2{font-size:37px}.section-intro>p:last-child{font-size:12px;margin-top:16px}.feature-stage{grid-template-columns:1fr;padding:32px 25px;gap:35px;margin-bottom:28px;min-height:0;border-radius:24px}.stage-copy h2{font-size:39px;margin-top:19px}.stage-copy p{font-size:12px;max-width:none}.stage-copy .text-link{margin-top:20px}.feature-tags{margin-top:19px}.stage-schedule .schedule-art{padding:6px 10px 3px;margin-top:0}.widget-preview{max-width:none;padding:24px}.widget-preview h3{font-size:21px}.mini-schedule{margin-left:-5px}.stage-journal .journal-art{order:2;padding:0 8px 5px}.journal-preview{padding:21px}.journal-row{font-size:10px;grid-template-columns:1fr 75px 30px;padding-block:15px}.student-name i{display:grid}.attendance-button{font-size:8px;min-height:34px}.journal-float{padding:13px}.journal-float strong{font-size:10px}.journal-float small{font-size:8px}.materials-art{padding:6px 10px}.materials-preview{padding:22px}.material-card{padding:16px}.material-card h4{font-size:14px}.material-card p{font-size:9px}.material-meta{font-size:7px}.materials-tabs button{font-size:9px;min-height:34px}.materials-preview .app-search{font-size:10px}.file-one{bottom:28px;left:-5px}.file-two{right:-8px}.team-section{grid-template-columns:1fr;gap:22px;margin-block:70px}.team-section h2{font-size:34px}.team-details>p{font-size:12px}.team-facts{margin-top:23px}.team-facts strong{font-size:18px}.team-facts span{font-size:8px}.start-section{padding:35px 25px}.start-heading h2{font-size:38px}.start-heading>p:last-child{font-size:12px}.start-steps{grid-template-columns:1fr;gap:21px;margin-top:33px}.start-steps li{position:relative;padding-top:17px;padding-left:42px}.step-count{position:absolute;left:0;top:19px;margin:0}.start-steps h3{font-size:14px}.start-steps p{font-size:11px;margin-top:5px;line-height:1.8}.start-action{flex-direction:column;gap:23px;margin-top:30px}.start-action .button{font-size:11px;min-height:51px;padding-inline:16px;width:100%}.faq-section{grid-template-columns:1fr;gap:24px;margin-block:70px}.faq-section h2{font-size:36px}.faq-list summary{font-size:12px;padding-block:21px}.faq-list details p{font-size:11px}.closing-section{padding:58px 0 140px}.closing-section h2{font-size:42px}.closing-word{font-size:136px;letter-spacing:-7px;bottom:-31px}.closing-section .button{font-size:12px;min-height:51px}.site-footer{padding-top:31px}.footer-main{gap:13px}.footer-main p{font-size:9px}.footer-links{gap:16px;flex-wrap:wrap;font-size:9px}.footer-bottom{align-items:flex-start;flex-wrap:wrap;font-size:8px;gap:12px 20px;margin-top:25px}.footer-bottom>span:nth-child(2){order:3;width:100%}.footer-bottom a{margin-left:auto}.hero-stage .app-segment{font-size:6px}.lesson-current{padding:11px}.lesson-current h3{font-size:14px}.lesson-count strong{font-size:24px}.lesson-count{margin:3px 0}.days-tabs{margin-block:9px 7px}.days-tabs button{min-height:27px}.lesson-row{padding-block:8px}.schedule-lessons{gap:6px}}
@media(max-width:360px){.hero h1{font-size:clamp(35px,10.9vw,39px)}.hero-actions .button{font-size:10px;padding-inline:12px}.hero-stage{height:475px}.phone-front{width:207px;height:440px;right:5%}.phone-back{width:180px;height:381px}.mascot{width:158px}.phone-content h2{font-size:19px}.phone-status{font-size:8px}.phone-front .app-week{margin:6px 0}.phone-content{padding:10px 8px}.days-tabs{margin-block:6px}.lesson-row strong{font-size:8px}.lesson-row{padding-block:6px}.lesson-current h3{font-size:12px}.feature-stage{padding-inline:21px}.stage-copy h2{font-size:35px}.journal-preview{padding:15px}.journal-row{font-size:9px;grid-template-columns:1fr 65px 24px}.student-name i{display:none}.team-facts{gap:9px}.team-facts strong{font-size:17px}.team-facts span{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}

/* Original screenshots: no cropping, filters, image editing or fake device UI. */
/* Keep the film within the page even if its enhancement stylesheet is unavailable. */
.teaser-player > video { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
.app-shot{display:block;margin:0;border:1px solid #ffffff36;background:#171827;padding:6px;border-radius:8px;box-shadow:0 26px 55px #06071955;cursor:zoom-in;line-height:0;max-width:100%;transition:transform .25s,border-color .25s}.app-shot:hover{border-color:#ffffff82}.app-shot img{display:block;width:100%;height:auto;max-width:100%;border-radius:0;object-fit:contain;filter:none}.hero-stage{height:655px;transform:none}.hero-screen-back,.hero-screen-front{position:absolute}.hero-screen-back{width:235px;left:12px;top:70px;transform:rotate(-5deg)}.hero-screen-front{width:258px;right:32px;top:25px;transform:rotate(5deg)}.screen-art{display:flex;align-items:center;justify-content:center;min-width:0;padding:0}.screen-art .app-shot{width:235px;flex-shrink:1}.feature-stage{min-height:615px;padding-block:44px}.hero h1{font-weight:650;letter-spacing:-.055em;line-height:1.04}.stage-copy h2,.section-intro h2,.start-heading h2,.faq-section h2,.closing-section h2,.team-section h2{font-weight:650;letter-spacing:-.045em;line-height:1.07}.brand{font-weight:700;letter-spacing:-1.3px}.hero-description{font-size:16px}.stage-copy p{font-size:14px}.screen-viewer{margin:auto;padding:0;border:1px solid #ffffff26;border-radius:18px;background:#12132a;color:#fff;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto}.screen-viewer::backdrop{background:#070815e8;backdrop-filter:blur(10px)}.screen-viewer[open]{display:flex;flex-direction:column;align-items:center}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:36px;width:100%;padding:14px 18px}.viewer-toolbar h2{font-size:16px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.viewer-close{border:1px solid #ffffff26;border-radius:10px;color:#fff;background:#ffffff0d;font-size:12px;padding:7px 12px;min-height:36px;white-space:nowrap}.viewer-close span{font-size:19px;margin-left:10px}.viewer-image{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 120px);object-fit:contain}.screen-viewer[open]~*{pointer-events:none}body.viewer-open{overflow:hidden}
@media(max-width:1150px){.hero-screen-back{width:210px;left:-5px;top:95px}.hero-screen-front{width:235px;right:0;top:32px}.hero-stage{height:610px}.feature-stage{min-height:590px}.screen-art .app-shot{width:225px}}
@media(max-width:900px){.hero-stage{width:min(570px,100%);margin-top:45px;height:635px}.hero-screen-back{width:230px;left:15px;top:70px}.hero-screen-front{width:255px;right:12px;top:25px}.hero-bottom{margin-top:0}.feature-stage{min-height:570px;padding:35px 30px;gap:24px}.screen-art .app-shot{width:210px}.stage-copy p{font-size:13px}.team-section h2{font-size:35px}}
@media(max-width:640px){.hero-stage{height:555px;margin-top:34px;width:100%}.hero-screen-back{width:53%;left:-8px;top:70px;transform:rotate(-6deg)}.hero-screen-front{width:66%;right:0;top:20px;transform:rotate(4deg)}.demo-caption{bottom:0;font-size:8px}.hero-bottom{margin-top:15px}.hero h1{font-size:clamp(42px,12.3vw,64px);line-height:1.03}.hero-description{font-size:14px}.feature-stage{min-height:0;padding:34px 25px;gap:30px}.stage-copy h2{font-size:43px}.screen-art,.stage-journal .journal-art,.stage-schedule .schedule-art,.materials-art{padding:0;margin:0}.screen-art .app-shot{width:240px}.stage-copy p{font-size:13px}.section-intro h2{font-size:40px}.team-section h2{font-size:36px}.closing-section h2{font-size:44px}.viewer-toolbar{padding:12px}.viewer-toolbar h2{font-size:14px}}
@media(max-width:360px){.hero-stage{height:455px}.hero-screen-back{top:60px}.hero h1{font-size:39px}.feature-stage{padding-inline:21px}.stage-copy h2{font-size:39px}.screen-art .app-shot{width:220px}}
@media(max-width:640px){.hero-stage{height:calc((100vw - 36px) * 1.13 + 80px)}.hero-screen-back{width:46%;left:0;top:60px;transform:none}.hero-screen-front{width:52%;right:0;top:20px;transform:none}.demo-caption{bottom:8px}}

:root{--motion-fast:120ms;--motion-state:220ms;--motion-scene:700ms;--motion-ease:cubic-bezier(.16,1,.3,1)}
html{scroll-padding-top:112px;scroll-behavior:auto}.site-header{position:sticky;top:0;background:#0e0f2d66;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:background var(--motion-state),border-color var(--motion-state)}.site-header.is-scrolled{background:#0e0f2de8;border-bottom-color:#ffffff12}.reading-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:40;pointer-events:none;background:transparent}.reading-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:#d9ddff;opacity:.8}
.motion-link{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:500;color:#c6c8e8;margin-top:21px;padding:6px 0}.motion-link>span:first-child{width:25px;height:25px;border:1px solid #ffffff35;border-radius:50%;display:grid;place-items:center;font-size:8px}.motion-link:hover{color:#fff}.hero-note{margin-top:9px}.hero-stage{perspective:1200px}.hero-stage .app-shot{translate:var(--camera-x,0px) var(--camera-y,0px);rotate:y var(--camera-rotate,0deg);transform-origin:center center;transition:border-color var(--motion-fast)}.hero-screen-back{--camera-factor:.65}.hero-screen-front{--camera-factor:1}.hero::after{content:'';position:absolute;width:700px;height:700px;right:-70px;top:70px;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#6962e316,transparent 67%)}.hero{isolation:isolate}.hero .stars{translate:0 var(--star-drift,0px)}body.motion-on .hero::after{animation:ambient-breath 12s ease-in-out infinite alternate}body.motion-on .online-dot{animation:status-breath 3s ease-in-out infinite}body.motion-on .hero-bottom a span{animation:scroll-cue 2.4s ease-in-out infinite}.orbit-one{rotate:var(--orbit-turn,0deg)}.orbit-two{rotate:calc(var(--orbit-turn,0deg) * -.65)}
.reveal-pending{opacity:0;transform:translateY(26px)}body:not(.motion-on) .reveal-pending{opacity:1;transform:none}.feature-stage{isolation:isolate}.feature-stage::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at var(--light-x,80%) var(--light-y,20%),#ffffff0e,transparent 58%);opacity:.8}.screen-art{perspective:1000px}.screen-art .app-shot{transform:translateY(var(--screen-drift,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:center;transition:border-color var(--motion-fast),transform var(--motion-state) var(--motion-ease)}.screen-art .app-shot.is-tracking{transition:border-color var(--motion-fast)}.button{transition:background-color var(--motion-fast),transform var(--motion-fast) var(--motion-ease)}.button:active{transform:scale(.975)}.text-link span[aria-hidden]{transition:translate var(--motion-fast)}.text-link:hover span[aria-hidden]{translate:3px 0}.faq-list summary::after{transition:rotate var(--motion-state)}.faq-list details[open] summary::after{rotate:180deg}body.motion-on .screen-viewer[open]{animation:viewer-enter 280ms var(--motion-ease)}body.motion-on .screen-viewer[open]::backdrop{animation:backdrop-enter 220ms ease-out}.motion-toggle{position:fixed;z-index:15;right:22px;bottom:20px;padding:11px 16px;border-radius:100px;background:#1c1e3edb;border:1px solid #ffffff27;color:#d5d9f2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:10px;display:flex;gap:8px;align-items:center;transition:background var(--motion-fast),opacity var(--motion-fast);box-shadow:0 5px 20px #00000025}.motion-toggle:hover{background:#2a2e54}.motion-status-dot{width:5px;height:5px;border-radius:50%;background:#8290a8}.motion-toggle[aria-pressed=true] .motion-status-dot{background:#88d3b0}body.viewer-open .motion-toggle{visibility:hidden}body:not(.motion-on) .hero-stage .app-shot{translate:0;rotate:none}body:not(.motion-on) .screen-art .app-shot{transform:none}body:not(.motion-on) .hero .stars{translate:0}body:not(.motion-on) .orbit{rotate:none}
@keyframes ambient-breath{from{translate:-25px 10px;scale:.94;opacity:.5}to{translate:20px -18px;scale:1.08;opacity:1}}@keyframes status-breath{0%,100%{opacity:1}50%{opacity:.55}}@keyframes scroll-cue{0%,70%,100%{translate:0 0}35%{translate:0 4px}}@keyframes viewer-enter{from{opacity:0;translate:0 12px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:640px){html{scroll-padding-top:92px}.site-header{background:#0e0f2dce}.motion-link{font-size:10px;margin-top:16px}.motion-toggle{right:14px;bottom:14px;padding:9px 12px;font-size:9px}.hero-stage .app-shot{rotate:none}.motion-link+ .hero-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.hero-stage .app-shot{translate:0!important;rotate:none!important}.screen-art .app-shot{transform:none!important}.hero .stars{translate:0!important}.orbit{rotate:none!important}.motion-toggle{display:none}body.motion-on .hero::after,body.motion-on .online-dot,body.motion-on .hero-bottom a span{animation:none}}
.hero-stage .app-shot{translate:var(--camera-x,0px) calc(var(--camera-y,0px) + var(--hero-scroll,0px) + var(--intro-y,0px));scale:var(--intro-scale,1);transition:border-color var(--motion-fast),translate 400ms var(--motion-ease),rotate 400ms var(--motion-ease)}body.motion-on .hero:not(.in-view)::after{animation-play-state:paused}
/* Entrance motion uses separate properties, preserving the scene's transforms. */
.hero-copy > *{translate:0 var(--intro-y,0px)}
.hero-host{translate:0 var(--intro-y,0px);scale:var(--intro-scale,1)}
.hero[data-intro="running"] .app-shot{transition:border-color var(--motion-fast)}

:root{--brand-blue:#0a84ff;--brand-indigo:#5e5ce6;--brand-purple:#bf5af2;--velaris-deep:#19163c}
.hero{background:var(--bg);isolation:isolate}
.velaris-background{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 75% 35%,#5e5ce68f,transparent 65%),radial-gradient(ellipse at 25% 65%,#bf5af24a,transparent 65%),linear-gradient(135deg,#11132b,#132d50 45%,#291b4a)}
.velaris-canvas{display:block;width:100%;height:100%;opacity:0;pointer-events:none}
.velaris-canvas[data-ready=true]{opacity:1}
.velaris-background::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0e0f2dc9 0%,#0e0f2d4d 49%,#0e0f2d0d 80%),linear-gradient(180deg,#0e0f2d54 0%,transparent 20%,transparent 67%,#0e0f2d 100%)}
.hero::after{display:none}.hero>.stars{opacity:.25}.hero-bottom{position:relative;z-index:1}
.hero-description{color:#d5d5eb}.hero-note{color:#bec0db}.hero .motion-link{color:#dcddf6}
@media(max-width:900px){.velaris-background::after{background:linear-gradient(180deg,#0e0f2dc9 0%,#0e0f2d70 36%,#0e0f2d26 64%,#0e0f2d 100%)} }
@media(prefers-reduced-motion:reduce){.velaris-canvas{transition:none}}

/* Portal entry uses the existing brand and native navigation. */
.main-nav .mobile-portal-entry{display:none}
.portal-hint{display:flex;align-items:center;gap:7px;margin-top:12px;color:#c1c4e2;font-size:11px;line-height:1.5}
.portal-hint::before{content:'';width:5px;height:5px;flex:none;border-radius:50%;background:#b4bdff}
.hero .portal-hint+.motion-link{margin-top:23px}
@media(max-width:900px){.portal-hint{justify-content:center}}
@media(max-width:640px){
  .main-nav .mobile-portal-entry{display:flex;justify-content:space-between;align-items:center;color:white;border-top:1px solid #ffffff24;margin-top:7px;padding-top:18px;font-weight:600}
  .hero-actions .button{min-height:49px;font-size:12px}
  .portal-hint{font-size:10px}
}

/* Decorative wordmark: saturated color and reflective gloss, without a halo. */
.closing-section{isolation:isolate;padding-bottom:240px}
.closing-section .page-width>:not(.closing-word){position:relative;z-index:1}
.closing-word{
  --neon-gradient:linear-gradient(105deg,#0a84ff 0%,#3b60ff 20%,#963cff 40%,#ee39cc 50%,#7647ff 68%,#09c9ff 100%);
  bottom:-.1em;
  z-index:0;
  font-size:clamp(180px,20vw,280px);
  letter-spacing:-.055em;
  white-space:nowrap;
  color:#a6bbff;
  opacity:1;
  background-image:var(--neon-gradient);
  background-size:300% 100%;
  background-position:0% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:bilimx-neon-sweep 6s ease-in-out infinite alternate paused;
}
.closing-word::after{
  content:'BilimX';
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(105deg,transparent 42%,#ffffff08 46%,#ffffffc9 49%,#fffffff2 50%,#ffffff40 52%,transparent 57%),
    linear-gradient(180deg,#ffffff70 0%,#ffffff26 27%,transparent 44%,#ffffff05 46%,#ffffff57 48%,#ffffff14 58%,transparent 78%);
  background-size:250% 100%,100% 100%;
  background-position:0% 50%,50% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:bilimx-gloss-sweep 5.5s ease-in-out infinite paused;
}
body.motion-on .closing-section.in-view .closing-word,
body.motion-on .closing-section.in-view .closing-word::after{animation-play-state:running}
@keyframes bilimx-neon-sweep{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes bilimx-gloss-sweep{0%{background-position:0% 50%,50% 50%}80%,100%{background-position:100% 50%,50% 50%}}
@media(max-width:640px){
  .closing-section{padding-bottom:165px}
  .closing-word{font-size:clamp(108px,35vw,190px);bottom:-.09em}
}
@media(prefers-reduced-motion:reduce){.closing-word,.closing-word::after{animation:none}}

/* The supplied BilimX graduate robot, in close-up behind the wordmark. */
.closing-section{
  padding-top:104px;
  padding-bottom:330px;
  background:radial-gradient(ellipse at 75% 55%,#352052 0%,#1b1b3b 46%,#12132c 85%);
}
.closing-copy{width:52%;max-width:620px;text-align:left}
.closing-section .closing-copy .eyebrow{justify-content:flex-start}
.closing-section .closing-copy h2{font-size:clamp(42px,4.5vw,64px)}
.closing-word{left:max(40px,calc((100vw - 1200px)/2));transform:none}
.closing-art{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,#0004 92%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 72%,#0004 92%,transparent 100%);
}
.closing-art img{
  position:absolute;
  width:min(730px,58vw);
  height:auto;
  max-width:none;
  top:-42px;
  right:max(-35px,calc((100vw - 1200px)/2 - 85px));
  opacity:.92;
  mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 55% 37%,#000 52%,#000e 71%,transparent 100%);
  mask-image:radial-gradient(ellipse 70% 60% at 55% 37%,#000 52%,#000e 71%,transparent 100%);
  animation:bilimx-mascot-drift 12s ease-in-out infinite alternate paused;
}
body.motion-on .closing-section.in-view .closing-art img{animation-play-state:running}
@keyframes bilimx-mascot-drift{from{translate:0 0}to{translate:0 -10px}}
@media(max-width:1150px){.closing-word{left:32px}}
@media(max-width:1100px) and (min-width:901px){
  .closing-section{padding-top:96px;padding-bottom:290px}
  .closing-art img{width:610px;right:-80px;top:0}
}
@media(max-width:900px){
  .closing-word{left:24px}
  .closing-section{padding-top:72px;padding-bottom:440px}
  .closing-copy{width:100%;max-width:620px;margin-inline:auto;text-align:center}
  .closing-section .closing-copy .eyebrow{justify-content:center}
  .closing-section .closing-copy h2{font-size:clamp(42px,6.6vw,58px)}
  .closing-art img{width:550px;top:275px;right:50%;transform:translateX(50%);opacity:.88}
}
@media(max-width:640px){
  .closing-word{left:18px;font-size:clamp(98px,31vw,190px)}
  .closing-section{padding-top:58px;padding-bottom:440px}
  .closing-section .closing-copy h2{font-size:44px}
  .closing-art img{width:430px;top:274px;opacity:.92}
}
@media(max-width:360px){
  .closing-section{padding-bottom:425px}
  .closing-section .closing-copy h2{font-size:39px}
  .closing-art img{width:400px;top:295px}
}
@media(prefers-reduced-motion:reduce){.closing-art img{animation:none;translate:none}}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.aspect-\[3\/4\]{aspect-ratio:3/4}.h-64{height:calc(var(--spacing) * 64)}.h-80{height:calc(var(--spacing) * 80)}.h-96{height:calc(var(--spacing) * 96)}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-10{gap:calc(var(--spacing) * 10)}.rounded{border-radius:.25rem}.bg-background{background-color:var(--bg)}.p-8{padding:calc(var(--spacing) * 8)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.spotlight-card{--border-size:calc(var(--border,3) * 1px);--spotlight-size:calc(var(--size,200) * 1px);--hue:calc(var(--base,220) + var(--xp,.5) * var(--spread,200));--spotlight-active:0;isolation:isolate;border:var(--border-size) solid #ffffff20;border-radius:calc(var(--radius,16) * 1px);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);touch-action:auto;background:#ffffff08;padding:16px;display:grid;position:relative;box-shadow:0 16px 32px -16px #0006}.spotlight-card[data-spotlight-active=true]{--spotlight-active:1}.spotlight-card:before,.spotlight-card:after,.spotlight-card__halo{content:"";pointer-events:none;opacity:var(--spotlight-active);border-radius:inherit;transition:opacity .12s ease-out;position:absolute}.spotlight-card:before{background:radial-gradient(var(--spotlight-size) circle at calc(var(--x,0) * 1px) calc(var(--y,0) * 1px), hsl(var(--hue) 100% 70% / .12), transparent 100%);inset:0}.spotlight-card:after,.spotlight-card__halo{inset:calc(var(--border-size) * -1);padding:var(--border-size);background:radial-gradient(calc(var(--spotlight-size) * .75) circle at calc(var(--x,0) * 1px) calc(var(--y,0) * 1px), hsl(var(--hue) 100% 75%), transparent 100%);-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.spotlight-card__halo{filter:blur(12px);z-index:-1}.spotlight-card__content{min-width:0;position:relative}.spotlight-card:focus-within{border-color:#bf5af2a6}.motion-off .spotlight-card,.viewer-open .spotlight-card,body[data-shiny-motion=managed]:not(.motion-on) .spotlight-card{--spotlight-active:0}body[data-shiny-motion=managed]:not(.motion-on) .spotlight-card:before,body[data-shiny-motion=managed]:not(.motion-on) .spotlight-card:after,body[data-shiny-motion=managed]:not(.motion-on) .spotlight-card__halo{transition:none}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.spotlight-card{--spotlight-active:0}.spotlight-card:before,.spotlight-card:after,.spotlight-card__halo{transition:none}}.start-steps li[data-spotlight-ready=true]{border:0;min-width:0;padding:0}.start-steps .start-step-card{height:100%;padding:24px}.start-steps .start-step-card .step-count{color:#cf9cfa;margin:0 0 22px;position:static}.start-steps .start-step-card h3{font-size:16px}.start-steps .start-step-card p{font-size:12px;line-height:1.8}@media (max-width:900px){.start-steps .start-step-card{padding:20px}}@media (max-width:640px){.start-steps .start-step-card{padding:22px}.start-steps .start-step-card .step-count{margin-bottom:14px}}.hero-title-wrap{isolation:isolate;position:relative}#hero-title .hero-brand-emphasis{letter-spacing:-.04em;color:#bf5af2;font-size:1.1em}.hero-liquid-layer{pointer-events:none;opacity:0;position:absolute;inset:-8px}.hero-title-wrap[data-liquid-ready=true] .hero-liquid-layer{opacity:1}.hero-title-wrap[data-liquid-ready=true] #hero-title,.hero-title-wrap[data-liquid-ready=true] #hero-title .hero-brand-emphasis{color:#0000}.hero-brand-tint{mix-blend-mode:color;pointer-events:none;background:#bf5af2;position:absolute;inset:0}#hero-title::selection{color:#fff;background:#5e5ce6}@media (prefers-reduced-motion:reduce){.hero-liquid-layer{display:none}.hero-title-wrap[data-liquid-ready=true] #hero-title{color:#fff}.hero-title-wrap[data-liquid-ready=true] #hero-title .hero-brand-emphasis{color:#bf5af2}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
/* Characters share the product's physical display space and its real actions. */
.character-scene{--buddy-turn:0deg;--buddy-lean:0deg;--buddy-x:0px;--buddy-focus-lean:0deg;--buddy-scale:1;--scene-accent:#bf93ff;position:relative}
.buddy{display:block;position:relative;flex:none;aspect-ratio:1;width:320px;max-width:100%;padding:0;border:0;background:none;color:#eee9ff;font:inherit;text-decoration:none;cursor:pointer;user-select:none;isolation:isolate;z-index:3;outline-offset:0!important;border-radius:20px;touch-action:manipulation}
.buddy img{display:block;width:100%;height:auto;object-fit:contain;transform-origin:50% 96%;transition:transform 280ms cubic-bezier(.2,.7,.2,1);transform:translateX(var(--buddy-x)) rotateY(var(--buddy-turn)) rotate(var(--buddy-lean));pointer-events:none}
.buddy::before{content:'';position:absolute;left:28%;right:24%;bottom:1.4%;height:5%;background:radial-gradient(ellipse,#03051a70,transparent 72%);z-index:-1;pointer-events:none}
.buddy-cue{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);display:flex;align-items:center;gap:9px;width:max-content;max-width:110%;font-size:10px;line-height:1.4;color:#d7d5ee;border-bottom:1px solid #ffffff30;padding:5px 0;transition:color 150ms,border-color 150ms;white-space:nowrap}
.buddy-cue::after{content:'↗';font-size:14px;color:var(--scene-accent)}
.buddy:hover .buddy-cue,.buddy:focus-visible .buddy-cue{color:white;border-color:var(--scene-accent)}
body.motion-on .character-scene.is-engaged .buddy img{transform:translateX(var(--buddy-x)) rotateY(var(--buddy-turn)) rotate(calc(var(--buddy-lean) - 1.5deg)) scale(1.025)}
/* Anime.js handles easing once; no competing CSS transform transition. */
body.motion-on .character-scene[data-anime-buddy] .buddy img{transition:none;transform:translateX(var(--buddy-x)) rotateY(var(--buddy-turn)) rotate(calc(var(--buddy-lean) + var(--buddy-focus-lean))) scale(var(--buddy-scale))}
.scene-ledge{position:absolute;left:-8px;right:-8px;bottom:-8px;height:22px;border:1px solid #ffffff2a;border-top-color:#cec5ff80;border-radius:50%;background:linear-gradient(180deg,#a99aff19,#080d202e);transform:perspective(600px) rotateX(52deg);box-shadow:0 14px 24px #03041635;pointer-events:none;z-index:0;transition:border-color 180ms,background 180ms}
.character-scene.is-engaged .scene-ledge,.character-scene.has-answer .scene-ledge{border-top-color:var(--scene-accent);background:linear-gradient(180deg,#b99aff2b,#080d202e)}
.character-scene.is-engaged .app-shot{border-color:var(--scene-accent)}
/* A three-object scene: the host stands beside the original screen pair. */
.hero-stage{height:655px}
.hero-host{position:absolute;width:340px;max-width:none;left:-150px;bottom:78px}
.hero-stage .scene-ledge{left:-95px;right:-16px;bottom:75px;height:34px}
.hero-screen-back{width:205px;left:168px;top:auto;bottom:100px}
.hero-screen-front{width:230px;right:-4px;top:auto;bottom:100px}
.hero-stage .demo-caption{left:170px;right:0;bottom:27px;text-align:center}
/* A laptop / reading companion sits on the same shelf as the product screen. */
.screen-art.character-scene{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:0;padding:0 0 18px;min-width:0}
.screen-art.character-scene .app-shot{width:min(205px,100%);justify-self:center;z-index:1}
.feature-buddy{--buddy-size:clamp(210px,27vw,330px);width:100%;height:var(--buddy-size);aspect-ratio:auto;justify-self:center;margin:0}
.feature-buddy img{position:absolute;bottom:0;left:50%;margin-left:calc(var(--buddy-size) / -2);width:var(--buddy-size);max-width:none}
.screen-art.character-scene .scene-ledge{bottom:14px;left:-16px;right:-16px;height:25px}
.feature-buddy .buddy-cue{top:calc(100% + 20px)}
.stage-journal{--scene-accent:#7cd5ff}
.stage-materials{--scene-accent:#b8e5c4}
/* The assistant and the question list respond to each other. */
.helper-scene{position:relative;width:340px;max-width:100%;margin-top:28px;margin-left:auto}
.faq-buddy{width:340px;max-width:100%}
.helper-scene .scene-ledge{left:15%;right:12%;bottom:0}
.faq-section{--scene-accent:#ffd0a0;align-items:center}
.faq-section .faq-list details{transition:border-color 180ms,background-color 180ms}
.faq-section.has-answer .faq-list details[open]{border-color:#ffd0a060}
/* The closing host stands above the wordmark on a connected display ledge. */
.closing-section{padding-bottom:190px}
.closing-section>.page-width{display:grid;grid-template-columns:minmax(0,1fr) min(490px,38vw);gap:25px;align-items:center}
.closing-copy{width:100%}
.closing-art{position:relative;inset:auto;overflow:visible;width:100%;aspect-ratio:1;pointer-events:auto;-webkit-mask-image:none;mask-image:none}
.closing-buddy{width:100%;max-width:none}
.closing-art .buddy img{position:static;width:100%;max-width:100%;height:auto;opacity:1;mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none;animation:none}
.closing-art .scene-ledge{left:20%;right:15%;bottom:0;height:28px}
.closing-art .buddy-cue{top:calc(100% + 16px)}
/* Auxiliary pages use the same scene language. */
.portal-art{height:555px;--scene-accent:#7cd5ff}
.portal-buddy{width:480px;max-width:100%;margin-bottom:45px}
.portal-art .scene-ledge{left:12%;right:7%;bottom:55px;height:36px}
.portal-art-label{bottom:-34px}
.portal-buddy .buddy-cue{top:calc(100% + 18px)}
.portal-ring{opacity:.55}
.document-intro{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:18px;align-items:center;margin-bottom:40px}
.document-intro-copy{min-width:0}
.document-intro-copy h1{overflow-wrap:anywhere;hyphens:auto}
.document-intro-copy p:last-child{margin-bottom:0}
.document-scene{position:relative}
.document-buddy{width:275px}
.document-scene .scene-ledge{left:15%;right:10%;bottom:0}
.document-buddy .buddy-cue{font-size:11px;top:calc(100% + 10px)}
#contact{scroll-margin-top:30px}
@media(max-width:1150px) and (min-width:901px){.hero-host{width:300px;left:-140px;bottom:72px}.hero-stage{height:610px}.hero-screen-back{width:170px;left:118px;bottom:100px}.hero-screen-front{width:195px;right:-8px;bottom:100px}.hero-stage .scene-ledge{left:-85px;bottom:70px}.hero-stage .demo-caption{left:100px}.hero-stage .buddy-cue{font-size:9px}}
@media(max-width:900px){.hero-layout{grid-template-columns:1fr}.hero-stage{height:650px;width:min(650px,100%);margin-top:20px}.hero-host{width:330px;left:-65px;bottom:66px}.hero-screen-back{width:185px;left:230px;bottom:90px}.hero-screen-front{width:210px;right:-10px;bottom:90px}.hero-stage .scene-ledge{left:10px;right:0;bottom:62px}.hero-stage .demo-caption{left:220px;bottom:15px}.closing-section>.page-width{grid-template-columns:1fr;gap:35px}.closing-art{width:390px;max-width:100%;justify-self:center}.closing-section{padding-bottom:175px}.portal-buddy{width:440px}}
@media(max-width:760px){.portal-art{height:440px;margin-top:25px}.portal-buddy{width:370px;margin-bottom:35px}.portal-art .scene-ledge{bottom:53px;left:14%;right:12%}.portal-art-label{bottom:-30px}.document-intro{grid-template-columns:minmax(0,1fr) 230px;gap:8px}.document-buddy{width:230px}}
@media(max-width:640px){
 .hero-stage{height:calc((100vw - 36px)*1.13 + 340px);margin-top:35px;width:100%}
 .hero-screen-back{width:44%;left:0;top:20px;bottom:auto;transform:none}
 .hero-screen-front{width:48%;right:0;top:0;bottom:auto;transform:none}
 .hero-host{width:300px;left:-40px;bottom:60px}
 .hero-stage .scene-ledge{left:10px;right:0;bottom:55px}
 .hero-stage .demo-caption{left:auto;right:0;bottom:85px;width:40%;font-size:9px;line-height:1.6;text-align:right}
 .hero-host .buddy-cue{left:50%;font-size:10px;top:calc(100% + 10px)}
 .screen-art.character-scene{padding-bottom:30px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .screen-art.character-scene .app-shot{width:100%}
 .feature-buddy{--buddy-size:clamp(200px,61vw,285px);margin-bottom:-2px}
 .screen-art.character-scene .scene-ledge{left:-6px;right:-6px;bottom:24px;height:24px}
 .feature-buddy .buddy-cue{top:calc(100% + 15px);font-size:9px}
 .feature-stage{gap:40px;padding-bottom:55px}
 .helper-scene{width:285px;margin:20px auto 40px}
 .faq-buddy{width:285px}
 .faq-section{gap:30px}
 .closing-art{width:330px}
 .closing-section{padding-bottom:150px}
 .closing-art .buddy-cue{top:calc(100% + 12px)}
 .portal-art{height:380px;margin-top:25px}
 .portal-buddy{width:330px;margin-bottom:30px}
 .portal-art .scene-ledge{bottom:44px;height:30px}
 .portal-art-label{bottom:-27px}
 .portal-college{margin-top:50px}
 .document-intro{grid-template-columns:1fr;gap:15px;margin-bottom:58px}
 .document-scene{width:250px;max-width:100%;justify-self:center}
 .document-buddy{width:250px;max-width:100%}
}
@media(max-width:360px){.hero-host{width:265px;left:-40px}.hero-stage{height:calc((100vw - 36px)*1.13 + 340px)}.hero-stage .demo-caption{font-size:8px}.closing-art{width:285px}.portal-buddy{width:285px}.portal-art{height:345px}.document-scene{width:230px}}
body:not(.motion-on) .buddy img,body.viewer-open .buddy img,body.mascots-hidden .buddy img{transform:none!important;transition:none}
@media(prefers-reduced-motion:reduce){.buddy img{transform:none!important;transition:none!important}.scene-ledge,.buddy-cue{transition:none!important}}
@media(min-width:1101px) and (max-width:1250px){.hero-screen-back{width:190px;left:148px;bottom:100px}.hero-screen-front{width:215px;right:-4px;bottom:100px}.hero-host{width:320px;left:-148px;bottom:78px}.hero-stage{height:655px}.hero-stage .scene-ledge{bottom:75px}}
@media(min-width:901px) and (max-width:1100px){.hero-layout{grid-template-columns:1fr}.hero-stage{height:650px;width:min(650px,100%);margin:20px auto 0}.hero-host{width:330px;left:-65px;bottom:66px}.hero-screen-back{width:185px;left:230px;bottom:90px}.hero-screen-front{width:210px;right:-10px;bottom:90px}.hero-stage .scene-ledge{left:10px;right:0;bottom:62px}.hero-stage .demo-caption{left:220px;bottom:15px}}
/* Keep the action cue and the portal caption in separate, flowing rows. */
.portal-art{height:auto;min-height:555px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.portal-character{width:480px;max-width:100%;position:relative;margin-bottom:70px}
.portal-buddy{width:100%;margin-bottom:0}
.portal-character .scene-ledge{top:auto;bottom:0;left:16%;right:10%;height:30px}
.portal-art-label{position:static;margin:0}
@media(max-width:900px){.portal-character{width:440px}}
@media(max-width:760px){.portal-art{min-height:0}.portal-character{width:370px;margin-bottom:65px}.portal-college{margin-top:30px}}
@media(max-width:640px){.portal-character{width:330px}.portal-college{margin-top:30px}}
@media(max-width:360px){.portal-character{width:285px}}
@media(min-width:641px) and (max-width:760px){.hero-host{width:300px;left:-65px}.hero-screen-back{width:160px;left:205px}.hero-screen-front{width:180px;right:0}.hero-stage .demo-caption{left:200px}}

/* Supplied ShinyButton: local Apple font, BilimX purple, shared by HTML and React. */
@property --shiny-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
@property --shiny-offset { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
@property --shiny-percent { syntax: "<percentage>"; initial-value: 5%; inherits: false; }
@property --shiny-shine { syntax: "<color>"; initial-value: #ffffff; inherits: false; }

.shiny-cta { display: inline-flex; }
.shiny-cta:is(a, button) {
  --shiny-bg: #070711;
  --shiny-edge: #292437;
  --shiny-highlight: #bf5af2;
  --shiny-highlight-soft: #dfbdff;
  --shiny-duration: 3s;
  --shiny-transition: 800ms cubic-bezier(.25, 1, .5, 1);
  isolation: isolate;
  position: relative;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 57px;
  padding: 18px 26px;
  border: 1px solid transparent;
  border-radius: 360px;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  cursor: pointer;
  outline-offset: 4px;
  background: linear-gradient(var(--shiny-bg), var(--shiny-bg)) padding-box,
    conic-gradient(from calc(var(--shiny-angle) - var(--shiny-offset)),
      transparent, var(--shiny-highlight) var(--shiny-percent),
      var(--shiny-shine) calc(var(--shiny-percent) * 2),
      var(--shiny-highlight) calc(var(--shiny-percent) * 3),
      transparent calc(var(--shiny-percent) * 4)) border-box;
  box-shadow: inset 0 0 0 1px var(--shiny-edge);
  transform: none;
  transition: --shiny-offset var(--shiny-transition), --shiny-percent var(--shiny-transition),
    --shiny-shine var(--shiny-transition);
  animation: shiny-angle var(--shiny-duration) linear infinite;
}
.shiny-cta:is(a, button):hover { transform: none; text-decoration: none; }
.shiny-cta:is(a, button):active { transform: none; translate: 0 1px; }
.shiny-cta:focus-visible { outline: 2px solid #dfbdff; }
.shiny-cta:disabled { opacity: .5; cursor: not-allowed; }
.shiny-cta.shiny-cta--secondary { --shiny-highlight: #9c83d8; --shiny-highlight-soft: #d5c5ff; }
.shiny-cta:is(a, button).shiny-cta--small { min-height: 44px; padding: 12px 19px; font-size: 11px; }

.shiny-cta::before, .shiny-cta::after, .shiny-label::before {
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  pointer-events: none;
  z-index: -1;
}
/* A travelling band reveals the fine dotted texture. */
.shiny-cta::before {
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border-radius: inherit;
  background: radial-gradient(circle at 2px 2px, white .5px, transparent 0) padding-box;
  background-size: 4px 4px;
  background-repeat: space;
  mask-image: conic-gradient(from calc(var(--shiny-angle) + 45deg), black, transparent 10% 90%, black);
  opacity: .4;
  animation: shiny-angle var(--shiny-duration) linear infinite;
}
/* Reflection stays inside the pill, behind the label. */
.shiny-cta::after {
  width: 100%;
  aspect-ratio: 1;
  background: linear-gradient(-50deg, transparent, var(--shiny-highlight), transparent);
  mask-image: radial-gradient(circle at bottom, transparent 40%, black);
  opacity: .6;
  animation: shiny-shimmer var(--shiny-duration) linear infinite;
}
.shiny-cta > .shiny-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  z-index: 1;
  font: inherit;
  line-height: inherit;
}
.shiny-label::before {
  width: calc(100% + 1rem);
  height: calc(100% + 1rem);
  border-radius: inherit;
  box-shadow: inset 0 -1ex 2rem 4px var(--shiny-highlight);
  opacity: 0;
  transition: opacity var(--shiny-transition);
  animation: shiny-breathe calc(var(--shiny-duration) * 1.5) linear infinite;
}
.shiny-label > [aria-hidden="true"] { font-size: 19px; line-height: 1; flex: none; }
.shiny-cta--small .shiny-label { gap: 11px; }
.shiny-cta:is(:hover, :focus-visible):not(:disabled) {
  --shiny-percent: 20%;
  --shiny-offset: 95deg;
  --shiny-shine: var(--shiny-highlight-soft);
}
.shiny-cta:is(:hover, :focus-visible):not(:disabled) > .shiny-label::before { opacity: 1; }

/* JS marks visible controls; the site's existing motion switch governs the effect. */
body[data-shiny-motion="managed"] .shiny-cta,
body[data-shiny-motion="managed"] .shiny-cta::before,
body[data-shiny-motion="managed"] .shiny-cta::after,
body[data-shiny-motion="managed"] .shiny-label::before { animation-play-state: paused; }
body.motion-on .shiny-cta.shiny-in-view,
body.motion-on .shiny-cta.shiny-in-view::before,
body.motion-on .shiny-cta.shiny-in-view::after,
body.motion-on .shiny-cta.shiny-in-view > .shiny-label::before { animation-play-state: running; }
body.viewer-open .shiny-cta, body.viewer-open .shiny-cta::before,
body.viewer-open .shiny-cta::after, body.viewer-open .shiny-label::before,
html[data-shiny-hidden="true"] .shiny-cta,
html[data-shiny-hidden="true"] .shiny-cta::before,
html[data-shiny-hidden="true"] .shiny-cta::after,
html[data-shiny-hidden="true"] .shiny-label::before { animation-play-state: paused !important; }

.start-action { gap: 18px; }
.portal-actions { gap: 14px; }
@media (max-width: 640px) {
  .hero-actions .shiny-cta { font-size: 11px; min-height: 49px; padding: 14px 17px; }
  .hero-actions .shiny-label { gap: 9px; }
  .start-action { gap: 12px; }
  .start-action .shiny-cta { width: 100%; font-size: 11px; min-height: 51px; padding-inline: 15px; }
  .portal-actions { gap: 12px; }
  .portal-actions .shiny-cta { font-size: 12px; min-height: 51px; }
  .main-nav .mobile-portal-entry.shiny-cta { justify-content: center; margin-top: 12px; padding: 15px 20px; }
}
@media (max-width: 360px) {
  .hero-actions .shiny-cta { font-size: 10px; padding-inline: 13px; }
  .hero-actions .shiny-label { gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .shiny-cta, .shiny-cta::before, .shiny-cta::after, .shiny-label::before { animation: none !important; transition: none !important; }
  .shiny-cta:is(a, button):active { translate: none; }
}
@keyframes shiny-angle { to { --shiny-angle: 360deg; } }
@keyframes shiny-shimmer { to { rotate: 360deg; } }
@keyframes shiny-breathe { 0%, 100% { scale: 1; } 50% { scale: 1.2; } }

.teaser-section { padding-block: 90px 86px; scroll-margin-top: 112px; }
.teaser-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; margin-bottom: 34px; }
.teaser-heading .eyebrow { margin-bottom: 23px; }
.teaser-heading h2 { font-size: clamp(42px, 4.8vw, 66px); line-height: 1.04; font-weight: 650; letter-spacing: -.045em; }
.teaser-heading h2 span { color: #bf5af2; }
.teaser-intro { width: 370px; flex: none; padding-bottom: 5px; }
.teaser-intro > p { color: #bec1da; font-size: 14px; line-height: 1.75; margin-bottom: 22px; }
.teaser-toggle.shiny-cta { font-size: 12px; min-height: 51px; padding: 15px 23px; }
.teaser-toggle .shiny-label > span[aria-hidden] { font-size: 14px; }
.teaser-player { position: relative; isolation: isolate; width: 100%; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 28px; background: #ffffff; box-shadow: 0 28px 70px #05061538; }
.teaser-player video { display: block; width: 100%; max-width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; background: #ffffff; }
.teaser-meta { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 20px; }
.teaser-chapters { display: flex; align-items: center; gap: 23px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.teaser-chapters::-webkit-scrollbar { display: none; }
.teaser-chapters button { color: #a7abc7; background: transparent; border: 0; border-bottom: 1px solid transparent; padding: 13px 0; font-size: 11px; line-height: 1.5; font-weight: 500; min-height: 44px; white-space: nowrap; cursor: pointer; transition: color .15s, border-color .15s; }
.teaser-chapters button:hover { color: #fff; }
.teaser-chapters button[aria-pressed="true"] { color: #fff; border-bottom-color: #bf5af2; }
.teaser-chapters button:focus-visible { outline: 2px solid #dfbdff; outline-offset: 3px; border-radius: 4px; }
.teaser-duration { flex: none; color: #a4a8c2; font-size: 11px; white-space: nowrap; }
.teaser-note { font-size: 10px; color: #969bb8; line-height: 1.6; margin-top: 12px; }
.teaser-error { padding: 20px; font-size: 13px; line-height: 1.6; color: #1d1d1f; }
.teaser-error a { color: #6834a4; text-decoration: underline; }
body.motion-on .teaser-player { transition: opacity .65s ease-out, transform .65s cubic-bezier(.16,1,.3,1); }
body.motion-on .teaser-section[data-teaser-reveal="pending"] .teaser-player { opacity: .25; transform: translateY(24px); }
@media (max-width: 900px) {
  .teaser-heading { gap: 30px; }
  .teaser-intro { width: 285px; }
  .teaser-meta { gap: 15px; }
  .teaser-chapters { gap: 18px; }
}
@media (max-width: 640px) {
  .teaser-section { padding-block: 58px; scroll-margin-top: 90px; }
  .teaser-heading { display: block; margin-bottom: 26px; }
  .teaser-heading .eyebrow { margin-bottom: 19px; }
  .teaser-heading h2 { font-size: clamp(37px, 10vw, 49px); }
  .teaser-intro { width: auto; margin-top: 24px; }
  .teaser-intro > p { font-size: 13px; margin-bottom: 19px; max-width: 360px; }
  .teaser-toggle.shiny-cta { min-height: 49px; padding: 14px 21px; font-size: 11px; }
  .teaser-player { border-radius: 23px; aspect-ratio: 9 / 16; }
  .teaser-meta { display: block; margin-top: 10px; }
  .teaser-chapters { gap: 22px; padding-inline: 2px; }
  .teaser-duration { display: block; margin-top: 12px; font-size: 10px; }
  .teaser-note { margin-top: 6px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .teaser-player, .teaser-chapters button { transition: none !important; transform: none !important; opacity: 1 !important; }
}

.app-install {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-top: 38px;
}
.app-install-copy { min-width: 0; }
.app-install .start-action { margin-top: 0; justify-content: flex-start; gap: 16px; flex-wrap: wrap; }
.install-requirements { margin-top: 18px; color: var(--theme-muted); font-size: 12px; line-height: 1.6; }
.install-help { display: inline-block; margin-top: 8px; color: var(--theme-muted); font-size: 11px; line-height: 1.7; }
.install-help:hover { color: var(--theme-accent); }
.app-install-qr {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 188px;
  padding: 18px 14px;
  border: 1px solid var(--theme-line);
  border-radius: 20px;
  background: var(--bg);
  color: var(--text);
  text-decoration: none;
}
.app-install-qr img { display: block; width: 116px; height: 116px; border-radius: 6px; }
.app-install-qr > span { margin-top: 12px; font-size: 12px; font-weight: 600; }
.app-install-qr > small { margin-top: 5px; font-size: 10px; line-height: 1.5; text-align: center; color: var(--theme-muted); }
.app-install-qr:hover { border-color: var(--theme-accent); }
@media (max-width: 900px) { .app-install { gap: 24px; } }
@media (max-width: 640px) {
  .hero-actions { flex-wrap: wrap; }
  .app-install { flex-direction: column; gap: 26px; margin-top: 30px; }
  .app-install-copy { width: 100%; text-align: center; }
  .app-install .start-action { gap: 14px; }
  .app-install .start-action > a { width: 100%; }
  .install-requirements { font-size: 10px; }
  .install-help { font-size: 10px; }
}

/* Theme roles: preserve the existing night scene; give daylight its own neutrals. */
:root {
  --theme-text: #ffffff;
  --theme-muted: #babcd9;
  --theme-subtle: #a5a8c5;
  --theme-line: #ffffff22;
  --theme-surface: #1b1d3c;
  --theme-accent: #c895f5;
  --velaris-color-1: #0a84ff;
  --velaris-color-2: #5e5ce6;
  --velaris-color-3: #bf5af2;
  --velaris-color-4: #19163c;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #ffffff;
  --text: #232333;
  --fog: #5c5e73;
  --card: #f7f7fc;
  --muted: #5c5e73;
  --accent: #772dc5;
  --accent-hover: #61219f;
  --green: #23834b;
  --line: #dfdeea;
  --theme-text: #232333;
  --theme-muted: #5c5e73;
  --theme-subtle: #67697b;
  --theme-line: #dfdeea;
  --theme-surface: #f7f7fc;
  --theme-accent: #772dc5;
  --velaris-color-1: #e6efff;
  --velaris-color-2: #eee7ff;
  --velaris-color-3: #f5eaff;
  --velaris-color-4: #f9f8ff;
}
:root[data-theme="dark"] { color-scheme: dark; }

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--theme-line);
  border-radius: 50%;
  color: var(--theme-text);
  background: #ffffff08;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color 140ms, border-color 140ms;
}
.theme-toggle:hover { background: #ffffff12; border-color: var(--theme-accent); }
.theme-toggle:focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 3px; }
.theme-toggle svg { width: 20px; height: 20px; pointer-events: none; }
.theme-icon-moon { display: none; }
[data-theme="light"] .theme-icon-sun { display: none; }
[data-theme="light"] .theme-icon-moon { display: block; }
[data-theme="light"] .theme-toggle { background: #f5f3fc; }
[data-theme="light"] .theme-toggle:hover { background: #eae2f8; }
.document-header-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.document-header-row .brand { min-width: 0; }

/* Shared navigation, text and controls. */
[data-theme="light"] .site-header { background: #ffffffe6; border-bottom-color: #e9e7f1; }
[data-theme="light"] .site-header.is-scrolled { background: #fffffff2; }
[data-theme="light"] .main-nav a { color: #4f5063; }
[data-theme="light"] .main-nav a:hover,
[data-theme="light"] .language .active,
[data-theme="light"] .language button:hover { color: var(--theme-text); }
[data-theme="light"] .language button { color: #69697e; }
[data-theme="light"] .eyebrow,
[data-theme="light"] .section-number { color: #565368; }
[data-theme="light"] .hero-description,
[data-theme="light"] .hero-note,
[data-theme="light"] .hero .motion-link,
[data-theme="light"] .portal-hint,
[data-theme="light"] .hero-bottom,
[data-theme="light"] .demo-caption { color: var(--theme-muted); }
[data-theme="light"] .portal-hint::before { background: var(--theme-accent); }
[data-theme="light"] .motion-link > span:first-child,
[data-theme="light"] .hero-bottom a { border-color: #77718c60; }
[data-theme="light"] .hero-bottom a { color: var(--theme-text); }
[data-theme="light"] .motion-link:hover { color: var(--theme-accent); }
[data-theme="light"] .motion-toggle {
  color: #4f4d63; background: #fffffff0; border-color: #d8d4e4;
  box-shadow: 0 4px 18px #28203c12;
}
[data-theme="light"] .motion-toggle:hover { background: #f2ecfb; }
[data-theme="light"] .motion-toggle[aria-pressed="true"] .motion-status-dot { background: #26734f; }
[data-theme="light"] .reading-progress span { background: var(--theme-accent); }
[data-theme="light"] :focus-visible { outline-color: var(--theme-accent); }

/* Daylight version of the same moving backdrop, with clean white edges. */
[data-theme="light"] .velaris-background {
  background: radial-gradient(ellipse at 75% 35%,#e9e0fc,transparent 65%),
    radial-gradient(ellipse at 25% 65%,#edf0fc,transparent 65%),#ffffff;
}
[data-theme="light"] .velaris-background::after {
  background: linear-gradient(90deg,#fffffff0 0%,#ffffff66 49%,#ffffff1a 80%),
    linear-gradient(180deg,#ffffff4d 0%,transparent 20%,transparent 67%,#ffffff 100%);
}
[data-theme="light"] .hero > .stars { opacity: .12; }
[data-theme="light"] .menu-toggle { border-color: #d8d1e5; }
[data-theme="light"] .menu-toggle span { background: var(--theme-text); }
[data-theme="light"] #hero-title .hero-brand-emphasis { color: #8b2bd1; }
[data-theme="light"] .hero-title-wrap[data-liquid-ready="true"] #hero-title .hero-brand-emphasis { color: transparent; }
[data-theme="light"] .hero-brand-tint { background: #982ce1; }

/* Color belongs to the same sections in both themes. */
[data-theme="light"] .feature-strip { background: #f8f6fd; border-color: #e8e4f1; color: #575169; }
[data-theme="light"] .feature-strip i { color: #8c5bc2; }
[data-theme="light"] .stage-schedule { background: radial-gradient(at 95% 20%,#e6ddfb,transparent 60%),#f1eef9; }
[data-theme="light"] .stage-journal { background: radial-gradient(at 0% 80%,#d4eadc,transparent 62%),#edf5f0; }
[data-theme="light"] .stage-materials { background: radial-gradient(at 90% 0%,#f1dfef,transparent 60%),#faf0f6; }
[data-theme="light"] .stage-copy p { color: #58586c; }
[data-theme="light"] .feature-tags span { color: #505164; border-color: #73738b40; }
[data-theme="light"] .team-details > p,
[data-theme="light"] .team-facts span { color: var(--theme-muted); }
[data-theme="light"] .start-section { background: linear-gradient(120deg,#f4f0fb,#f8f7fc); }
[data-theme="light"] .start-heading > p:last-child,
[data-theme="light"] .start-steps p { color: var(--theme-muted); }
[data-theme="light"] .step-count,
[data-theme="light"] .start-step-card .step-count { color: var(--theme-accent); }
[data-theme="light"] .spotlight-card {
  background: #ffffffb3; border-color: #dfd8ec;
  box-shadow: 0 16px 32px -16px #4c366726;
}
[data-theme="light"] .faq-list details { border-color: var(--theme-line); }
[data-theme="light"] .faq-list summary::after { color: #6b657c; }
[data-theme="light"] .closing-section {
  background: radial-gradient(ellipse at 75% 55%,#eee1fc 0%,#f5f3fc 46%,#ffffff 85%);
}
[data-theme="light"] .closing-word {
  --neon-gradient: linear-gradient(105deg,#772dc5 0%,#6853d5 20%,#9135d5 40%,#c039ac 50%,#7541cf 68%,#236ac8 100%);
}
[data-theme="light"] .footer-main p,
[data-theme="light"] .footer-links,
[data-theme="light"] .footer-bottom { color: var(--theme-muted); }
[data-theme="light"] .footer-links a:hover { color: var(--theme-accent); }
[data-theme="light"] .footer-bottom { border-color: var(--theme-line); }

/* The real app pixels and the film stay untouched. */
[data-theme="light"] .app-shot { box-shadow: 0 24px 48px #24213d22; }
[data-theme="light"] .character-scene { --scene-accent: #8f4fd2; }
[data-theme="light"] .character-scene.is-engaged .app-shot { border-color: var(--scene-accent); }
[data-theme="light"] .buddy-cue { color: #5b566b; border-color: #77718c50; }
[data-theme="light"] .buddy:hover .buddy-cue,
[data-theme="light"] .buddy:focus-visible .buddy-cue { color: #752cb9; border-color: #8f4fd2; }
[data-theme="light"] .scene-ledge {
  border-color: #9c8caf44; border-top-color: #8d74ad80;
  background: linear-gradient(180deg,#aa85d31f,#8a739812);
  box-shadow: 0 14px 24px #4533571a;
}
[data-theme="light"] .character-scene.is-engaged .scene-ledge,
[data-theme="light"] .character-scene.has-answer .scene-ledge { border-top-color: #8f4fd2; }
[data-theme="light"] .screen-viewer { background: #f8f7fc; color: var(--theme-text); border-color: #dcd8e7; }
[data-theme="light"] .screen-viewer::backdrop { background: #eeedf3e8; }
[data-theme="light"] .viewer-close { background: #eeebf5; color: var(--theme-text); border-color: #d8d1e5; }
[data-theme="light"] .teaser-heading h2 span { color: #8b2bd1; }
[data-theme="light"] .teaser-intro > p,
[data-theme="light"] .teaser-duration,
[data-theme="light"] .teaser-note { color: var(--theme-muted); }
[data-theme="light"] .teaser-chapters button { color: #676276; }
[data-theme="light"] .teaser-chapters button:hover,
[data-theme="light"] .teaser-chapters button[aria-pressed="true"] { color: #7428b9; }
[data-theme="light"] .teaser-player { box-shadow: 0 24px 60px #3e30531a; border: 1px solid #ece9f1; }

/* The supplied gloss effect follows the theme's surface and text roles. */
[data-theme="light"] .shiny-cta:is(a,button) {
  --shiny-bg: #752bc1; --shiny-edge: #8d4ed0;
  --shiny-highlight: #c894f1; --shiny-highlight-soft: #e5ceff;
  color: #ffffff;
}
[data-theme="light"] .shiny-cta.shiny-cta--secondary {
  --shiny-bg: #ffffff; --shiny-edge: #d9cfe8;
  --shiny-highlight: #ad78dd; --shiny-highlight-soft: #cba5ed;
  color: #372348;
}

/* Portal and document pages share the same theme state. */
[data-theme="light"] .portal-copy .eyebrow,
[data-theme="light"] .portal-description,
[data-theme="light"] .portal-actions .text-link,
[data-theme="light"] .portal-art-label > span:last-child,
[data-theme="light"] .portal-college,
[data-theme="light"] .portal-footer { color: var(--theme-muted); }
[data-theme="light"] .portal-status { color: #6d2aae; border-color: #c3a5e466; background: #f1e9fb; }
[data-theme="light"] .portal-art::before { background: radial-gradient(circle,#d8baff66,transparent 68%); }
[data-theme="light"] .portal-ring { border-color: #9779bd2b; }
[data-theme="light"] .portal-motion { color: var(--theme-muted); border-color: var(--theme-line); }
[data-theme="light"] .portal-motion:hover { background: #f3ecfb; }
[data-theme="light"] .portal-footer { border-color: var(--theme-line); }

@media (max-width: 640px) {
  .nav-wrap { gap: 12px; }
  .nav-actions { gap: 6px; }
  .portal-header-actions { gap: 10px; }
  .portal-about { display: none; }
  .document-header-row { gap: 12px; align-items: flex-start; }
  [data-theme="light"] .main-nav { background: #fffffff5; border-color: #e4ddec; box-shadow: 0 12px 32px #44305216; }
  [data-theme="light"] .main-nav .mobile-portal-entry { border-top-color: #e4ddec; }
}
@media (max-width: 360px) {
  .nav-wrap { gap: 8px; }
  .nav-wrap .brand { font-size: 24px; gap: 8px; }
  .nav-wrap .brand img { width: 32px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-toggle { transition: none; }
  [data-theme="light"] .hero-title-wrap[data-liquid-ready="true"] #hero-title { color: var(--theme-text); }
  [data-theme="light"] .hero-title-wrap[data-liquid-ready="true"] #hero-title .hero-brand-emphasis { color: #8b2bd1; }
}

/* Same access-card geometry before React loads, including the mobile CSS-only view. */
.start-steps > li:not([data-spotlight-ready="true"]) {
  min-width: 0; padding: 24px; border: 1px solid #ffffff20; border-radius: 20px;
  background: #ffffff08; box-shadow: 0 16px 32px -16px #0006;
}
.start-steps > li:not([data-spotlight-ready="true"]) .step-count { position: static; margin: 0 0 22px; color: #cf9cfa; }
.start-steps > li:not([data-spotlight-ready="true"]) h3 { font-size: 16px; }
.start-steps > li:not([data-spotlight-ready="true"]) p { font-size: 12px; line-height: 1.8; }
[data-theme="light"] .start-steps > li:not([data-spotlight-ready="true"]) {
  border-color: var(--theme-line); background: #ffffffb3; box-shadow: 0 16px 32px -16px #23233325;
}
[data-theme="light"] .start-steps > li:not([data-spotlight-ready="true"]) .step-count { color: var(--theme-accent); }
@media (max-width: 900px) { .start-steps > li:not([data-spotlight-ready="true"]) { padding: 20px; } }
@media (max-width: 640px) {
  .start-steps > li:not([data-spotlight-ready="true"]) { padding: 22px; }
  .start-steps > li:not([data-spotlight-ready="true"]) .step-count { margin-bottom: 14px; }
}
/* A small text-only sheen replaces two continuous WebGL surfaces on limited devices. */
[data-effects-mode="lite"] .hero-liquid-layer { display: none; }
[data-effects-mode="lite"] #hero-title {
  color: transparent;
  background: linear-gradient(110deg, #8b9cc7 10%, #edf0ff 33%, #a8bce8 43%, #fff 50%, #b6c5ee 58%, #8b9cc7 76%);
  background-size: 230% 100%; background-clip: text; -webkit-background-clip: text;
  animation: light-title-sheen 6s ease-in-out infinite alternate; animation-play-state: paused;
}
[data-effects-mode="lite"] #hero-title .hero-brand-emphasis {
  color: transparent;
  background: linear-gradient(110deg, #b246ee 18%, #e8b8ff 47%, #bf5af2 64%, #942ce3 82%);
  background-size: 230% 100%; background-clip: text; -webkit-background-clip: text;
  animation: light-title-sheen 6s ease-in-out infinite alternate; animation-play-state: paused;
}
[data-effects-mode="lite"][data-theme="light"] #hero-title {
  background-image: linear-gradient(110deg, #353549 15%, #70718c 40%, #a899bb 50%, #5c5d74 62%, #353549 82%);
}
[data-effects-mode="lite"] body.motion-on .hero.in-view #hero-title,
[data-effects-mode="lite"] body.motion-on .hero.in-view #hero-title .hero-brand-emphasis { animation-play-state: running; }
[data-effects-mode="lite"][data-shiny-hidden="true"] #hero-title,
[data-effects-mode="lite"][data-shiny-hidden="true"] #hero-title .hero-brand-emphasis,
[data-effects-mode="lite"] body.viewer-open #hero-title,
[data-effects-mode="lite"] body.viewer-open #hero-title .hero-brand-emphasis { animation-play-state: paused; }
@keyframes light-title-sheen { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@media (prefers-reduced-motion: reduce) {
  [data-effects-mode="lite"] #hero-title,
  [data-effects-mode="lite"] #hero-title .hero-brand-emphasis { animation: none; }
}
