:root{--ink:#27243b;--muted:#6f6b82;--paper:#fffdf9;--lavender:#eeeafb;--peach:#f8e6db;--accent:#6e5cb7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 6vw}.brand{font-size:1.4rem;font-weight:700;letter-spacing:-.07em;text-decoration:none;color:var(--ink)}.brand span{color:var(--accent)}nav{display:flex;align-items:center;gap:1rem}a{color:inherit;text-decoration-color:#c4bce5}nav form{margin:0}button{font:inherit;border:0;background:none;cursor:pointer}.button{display:inline-block;background:var(--ink);border-radius:99px;color:white;padding:.7rem 1.15rem;text-decoration:none}.hero,.page{max-width:70rem;margin:auto;padding:10vh 6vw}.hero{min-height:65vh;position:relative;overflow:hidden}.eyebrow{text-transform:uppercase;font-size:.7rem;letter-spacing:.15em;color:var(--accent);font-weight:700}h1{font-size:clamp(2.6rem,9vw,6rem);line-height:1;letter-spacing:-.065em;max-width:10ch;margin:.4rem 0 1.25rem}h1 em{font-family:Georgia,serif;font-weight:400}.lead{font-size:1.15rem;color:var(--muted);max-width:38rem}.orbit{position:absolute;right:7vw;bottom:4rem;width:11rem;height:11rem;border:1px solid #dcd4f6;border-radius:50%;animation:float 7s ease-in-out infinite}.orbit i{position:absolute;inset:1.4rem;border:1px solid var(--peach);border-radius:50%}.orbit i+ i{inset:3rem;border-color:#dcd4f6}.orbit b{position:absolute;top:-.4rem;left:2rem;color:var(--accent);font-size:1.5rem}@keyframes float{50%{transform:translateY(-10px) rotate(7deg)}}.features{display:grid;gap:1rem;padding:2rem 6vw 5rem;background:var(--lavender)}.features article,.course-card,.lessons article{display:block;background:var(--paper);padding:1.4rem;border-radius:1rem;text-decoration:none}.features h2,.course-card h2,.lessons h2{margin:0;font-size:1.15rem}.features p,.course-card p,.lessons p{color:var(--muted);margin:.35rem 0 0}.auth{max-width:30rem;margin:8vh auto;padding:1.5rem}.auth h1{font-size:2.6rem}.auth p{display:grid;gap:.35rem}.auth input{width:100%;padding:.75rem;border:1px solid #d8d3e4;border-radius:.5rem}.lessons{display:grid;gap:.8rem;margin-top:2rem}.lessons article{display:grid;grid-template-columns:3rem 1fr}.lessons article span{color:var(--accent);grid-row:span 2}@media(min-width:700px){.features{grid-template-columns:repeat(3,1fr)}.hero{padding-top:16vh}.orbit{width:18rem;height:18rem}}
 .lesson-video{display:block;width:min(100%,960px);max-height:70vh;background:#151421;border-radius:12px;margin:1rem 0}.course-page{padding-top:1rem}.course-back{display:inline-block;margin-bottom:.9rem;color:var(--accent);font-size:.9rem;font-weight:650;text-decoration:none}.course-back:hover{text-decoration:underline}.course-page h1{margin:.2rem 0 .55rem}.course-page .lead{margin:.2rem 0 .75rem}.course-lessons{margin-top:1rem}.course-lessons>h2{margin:0 0 .8rem;font-size:1.35rem}.course-lessons .lessons{margin-top:0}.lesson-item{border:1px solid #e3dfed;border-radius:1rem;background:#fff;overflow:hidden}.lesson-item summary{display:grid;grid-template-columns:3rem minmax(0,1fr) 1rem;align-items:center;gap:.65rem;padding:1rem 1.1rem;cursor:pointer;list-style:none}.lesson-item summary::-webkit-details-marker{display:none}.lesson-item summary span{color:var(--accent);font-weight:700}.lesson-item summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-item summary i{width:.55rem;height:.55rem;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .15s}.lesson-item[open] summary{border-bottom:1px solid #e3dfed;background:#faf9fd}.lesson-item[open] summary i{transform:rotate(225deg)}.lesson-body{padding:1.1rem}.lesson-body>:first-child{margin-top:0}.lesson-body>:last-child{margin-bottom:0}
.homework{grid-column:2;margin-top:1.25rem;padding:1rem;border-radius:.75rem;background:var(--lavender)}.homework h3{margin:0 0 .6rem}.homework-submit-form{display:grid;gap:.8rem;margin-top:1rem}.homework-submit-form label{display:grid;gap:.35rem}.homework-submit-form textarea,.homework-submit-form input[type=file]{width:100%;padding:.65rem;border:1px solid #d8d3e4;border-radius:.45rem;background:#fff}.homework-submit-form fieldset{display:grid;gap:.35rem;border:1px solid #d8d3e4;border-radius:.5rem}.homework-submit-form fieldset label{display:block}.homework-status{color:var(--muted)}
.course-lessons .lesson-item{display:grid;grid-template-columns:3rem minmax(0,1fr) 1rem;align-items:center;gap:.65rem;padding:1rem 1.1rem;text-decoration:none;transition:background .15s,transform .15s}.course-lessons .lesson-item:hover{background:#eeeafb;transform:translateY(-1px)}.course-lessons .lesson-item span{color:var(--accent);font-weight:700}.course-lessons .lesson-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-lessons .lesson-item i{width:.55rem;height:.55rem;border-top:2px solid var(--accent);border-right:2px solid var(--accent);transform:rotate(45deg)}.lesson-page .homework{max-width:42rem}
.lesson-image-material{display:grid;gap:.6rem;margin:1.25rem 0}.lesson-image-preview{display:block;width:min(100%,42rem);padding:0;overflow:hidden;border-radius:.8rem;background:#eeeafb;cursor:zoom-in}.lesson-image-preview img{display:block;width:100%;max-height:28rem;object-fit:contain}.lesson-image-material>div{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.lesson-image-download{margin-left:auto;color:var(--accent);font-size:.9rem}.image-lightbox[hidden]{display:none}.image-lightbox{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:1rem;background:#27243be6}.image-lightbox__panel{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1rem;width:min(100%,80rem);height:min(100%,calc(100dvh - 2rem));padding:3.25rem 1rem 1rem}.image-lightbox__panel img{display:block;max-width:100%;max-height:100%;margin:auto;object-fit:contain}.image-lightbox__close{position:absolute;top:.75rem;right:.75rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #ffffff80;border-radius:50%;color:#fff;font-size:1.7rem}.image-lightbox__download{justify-self:center}
.lesson-document{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:.8rem;max-width:42rem;margin:1rem 0;padding:.8rem;border:1px solid #e3dfed;border-radius:.8rem;background:#fff;text-decoration:none}.lesson-document:hover{background:#eeeafb}.lesson-document i{width:2.75rem;height:2.75rem;border-radius:.55rem;background:#eeeafb;color:#6e5cb7}.lesson-document i::before{display:block;width:100%;height:100%;background:currentColor;content:"";min-width:0}.lesson-document b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-document small{color:var(--muted);font-size:.78rem}.lesson-document em{color:var(--accent);font-size:.85rem;font-style:normal}
.lesson-image-caption{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;max-width:42rem}.lesson-image-caption b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-image-material .lesson-image-download{margin-left:0}.image-lightbox__close{padding:0;background:#fff;color:var(--ink);box-shadow:0 4px 16px #0004}.image-lightbox__close::before{width:1.2rem;height:1.2rem;background:currentColor;content:"";grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;max-width:60rem;width:100%;margin:auto;color:#fff}.image-lightbox__footer b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-lightbox__download{justify-self:end}
.lesson-image-caption{display:flex!important;width:max-content;max-width:100%;justify-content:flex-start}.lesson-image-caption b{max-width:calc(100% - 2.8rem)}.lesson-image-material .lesson-image-download{display:grid;place-items:center;width:2.15rem;height:2.15rem;flex:none;border:1px solid #d8d3e4;border-radius:50%;background:#fff;color:var(--accent)}.lesson-image-material .lesson-image-download:hover{background:#eeeafb}.lesson-image-material .lesson-image-download::before{width:1rem;height:1rem;background:currentColor;content:"";max-width:none}.lesson-image-caption{max-width:none}.lesson-page .homework{max-width:none}
.lesson-image-material{position:relative}.lesson-image-caption{position:absolute;right:1rem;bottom:1rem;left:1rem;z-index:1;display:flex!important;justify-content:center;width:auto;max-width:none;padding:.45rem .6rem;border-radius:99px;background:#27243bd9;color:#fff;box-shadow:0 3px 12px #0004}.lesson-image-caption b{max-width:min(100%,32rem);color:#fff}.lesson-image-material .lesson-image-download{border-color:#ffffff80;background:#fff;color:var(--ink)}
.lesson-homework-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:1rem 1.1rem;border:1px solid #e3dfed;border-radius:1rem;background:#f5f3f8}.lesson-homework-link h2{margin:0;font-size:1.1rem}.lesson-homework-link p{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}.lesson-homework-link .button{flex:none}.homework-state{display:inline-block;margin:.4rem 0;padding:.3rem .6rem;border-radius:99px;background:#eeeafb;color:#51458c;font-size:.88rem}.homework-state--accepted{background:#e4f5e9;color:#176b39}.homework-state--rejected{background:#fde8eb;color:#a33354}.homework-page .homework{max-width:48rem;margin-top:1rem}.homework-page .homework>h2{margin-top:0}@media(max-width:520px){.lesson-homework-link{align-items:flex-start;flex-direction:column}.lesson-homework-link .button{width:100%;text-align:center}}
.homework-page .homework{display:grid;gap:1rem;padding:0;background:transparent}.homework-task,.homework-answer,.homework-questions,.homework-files{padding:1.1rem;border:1px solid #e3dfed;border-radius:1rem;background:#fff}.homework-task h2,.homework-questions h2{margin:0 0 .7rem;font-size:1.1rem}.homework-task>:last-child{margin-bottom:0}.homework-submit-form{gap:1rem}.homework-submit-form fieldset{margin:0 0 .8rem;padding:1rem;background:#faf9fd}.homework-submit-form fieldset:last-child{margin-bottom:0}.homework-submit-form legend{padding:0 .2rem;font-weight:650}.homework-submit-form .button{justify-self:start}
.question-hint{display:block;margin:-.15rem 0 .55rem;color:var(--muted);font-size:.82rem}
.homework-submit-form .homework-question--error{border-color:#c84b63;background:#fff7f8;box-shadow:0 0 0 2px #f8d9df}.question-required-error{display:block;margin-top:.65rem;color:#a33354;font-size:.84rem;font-weight:650}
.homework-questions{padding:0;border:0;background:transparent}.homework-questions>h2{margin:0 0 .8rem}.homework-submit-form fieldset{display:grid;gap:.8rem;margin:0 0 1rem;padding:1.1rem;border:1px solid #e3dfed;border-radius:1rem;background:#fff}.homework-submit-form legend{max-width:100%;padding:0;font-size:1.05rem;font-weight:650}.homework-file-answer{display:grid;gap:.65rem}.homework-file-picker{display:inline-flex!important;align-items:center;justify-self:start;width:max-content;padding:.55rem .85rem;border-radius:99px;background:var(--ink);color:#fff;cursor:pointer}.homework-file-picker input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.homework-upload-status{color:var(--muted);font-size:.85rem}.homework-draft-files{display:grid;gap:.5rem}.homework-draft-file{display:grid;grid-template-columns:3rem minmax(0,1fr) 2rem;align-items:center;gap:.65rem;padding:.45rem;border:1px solid #e3dfed;border-radius:.65rem;background:#faf9fd}.homework-draft-file img,.homework-draft-file i{display:block;width:3rem;height:3rem;border-radius:.4rem;object-fit:cover;background:#eeeafb}.homework-draft-file i::before{display:block;width:100%;height:100%;background:#6e5cb7;content:"";text-overflow:ellipsis;white-space:nowrap}.homework-draft-delete{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #e8c8cf;border-radius:50%;color:#a33354}.homework-draft-delete::before{width:1rem;height:1rem;background:currentColor;content:"";gap:.9rem;margin:0 0 1rem;padding:1.1rem;border:1px solid #e3dfed;border-radius:1rem;background:#fff}.homework-question>header{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.55rem;align-items:start}.homework-question>header>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#eeeafb;color:var(--accent);font-weight:700}.homework-question>header>div>*:first-child{margin-top:0}.homework-question>header>div>*:last-child{margin-bottom:0}.question-options{display:grid;gap:.5rem}.question-options label{display:flex;align-items:center;gap:.55rem;padding:.65rem .75rem;border:1px solid #e3dfed;border-radius:.65rem;cursor:pointer}.question-options label:hover{background:#faf9fd}.question-text-answer{display:grid;gap:.35rem}.question-text-answer textarea{width:100%;min-height:7rem;padding:.7rem;border:1px solid #d8d3e4;border-radius:.65rem;font:inherit}.homework-question--error{border-color:#c84b63!important;background:#fff7f8!important;box-shadow:0 0 0 2px #f8d9df}.homework-question .question-required-error{margin-top:-.25rem}.homework-page .homework-submit-form>.button{position:sticky;bottom:1rem;justify-self:start;box-shadow:0 5px 16px #27243b33}
.homework-page,.homework-page .homework,.homework-task,.homework-question,.homework-question>header>div{min-width:0;max-width:100%}.homework-page .course-content,.homework-page .course-content :is(p,a,li,td,th),.homework-task>a{overflow-wrap:anywhere}.homework-page .course-content :is(img,video,iframe,table){max-width:100%;height:auto}.homework-page .course-content table{display:block;overflow-x:auto}.homework-page .homework-submit-form>.button{position:static;box-shadow:none}.homework-submit-form .homework-file-picker input[type=file]{width:1px;padding:0;border:0}
.homework-submitted{display:grid;gap:1rem;max-width:48rem;margin-top:1rem}.homework-submitted>h2{margin:0;font-size:1.25rem}.homework-submitted-answer,.homework-teacher-comment{padding:1.1rem;border:1px solid #e3dfed;border-radius:1rem;background:#fff}.homework-submitted-answer{display:grid;gap:.8rem}.homework-submitted-answer>header{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.55rem;align-items:start}.homework-submitted-answer>header>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#eeeafb;color:var(--accent);font-weight:700}.homework-submitted-answer>header>div{min-width:0}.homework-teacher-comment{border-color:#d7cfef;background:#faf9fd}.homework-teacher-comment h3{margin:0 0 .45rem;font-size:.95rem}.homework-teacher-comment p{margin:0}.submitted-options{display:grid;gap:.45rem}.submitted-options p{margin:0;padding:.55rem .7rem;border-radius:.55rem;background:#f5f3f8}.submitted-options .submitted-option--selected{background:#e4f5e9;color:#176b39;font-weight:650}.submitted-text{padding:.7rem;border-radius:.65rem;background:#f5f3f8;white-space:pre-wrap}
.nav-login{margin-left:.25rem;background:var(--accent);font-weight:700}.nav-login:hover,.nav-login:focus-visible{background:#58499c;color:#fff}@media(max-width:700px){.site-header{align-items:flex-start;gap:1rem}.site-header nav{justify-content:flex-end;flex-wrap:wrap;gap:.65rem 1rem}.nav-login{margin-left:0}}
.consultations{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:70rem;margin:auto;padding:5rem 6vw;scroll-margin-top:1rem}.consultations h2{max-width:20ch;margin:.35rem 0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;letter-spacing:-.055em}.consultations p:not(.eyebrow){max-width:38rem;margin:0;color:var(--muted)}.consultations .button{flex:none}@media(max-width:700px){.consultations{align-items:flex-start;flex-direction:column;padding-block:3.5rem}}
.school-intro{max-width:42rem;margin:0 0 3rem;color:var(--muted);font-size:1.1rem}.public-courses{margin-top:3rem}.public-courses>h2{margin:0 0 1rem;font-size:1.65rem}.public-courses__list{display:grid;gap:1rem}.public-course-card{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:1.25rem;padding:1.1rem;border:1px solid #e3dfed;border-radius:1rem;background:#fff}.public-course-card>img{width:100%;aspect-ratio:2/1;object-fit:cover;border-radius:.7rem}.public-course-card__date{margin:0;color:var(--accent);font-size:.88rem;font-weight:700}.public-course-card h3{margin:.2rem 0;font-size:1.35rem}.public-course-card h3 a{text-decoration:none}.public-course-card h3 a:hover{text-decoration:underline}.public-course-card div>p:not(.public-course-card__date){margin:.35rem 0;color:var(--muted)}.public-course-card__link{display:inline-block;margin-top:.35rem;color:var(--accent);font-weight:700}.public-course-page__cover{display:block;width:min(100%,50rem);aspect-ratio:2/1;margin:1.5rem 0;border-radius:1rem;object-fit:cover}.public-course-page .course-content{max-width:50rem}.public-course-page .course-content>p:first-child{margin-top:0}@media(max-width:600px){.public-course-card{grid-template-columns:1fr}.public-course-card>img{max-width:100%}}
.school-intro :is(img,video,iframe,table){max-width:100%;height:auto}.school-intro img{display:block;margin:1rem 0;border-radius:.75rem}.school-intro :is(p,h2,h3,ul,ol,blockquote){overflow-wrap:anywhere}
.home-stub-header{position:relative;z-index:1;padding:1.25rem 6vw}.home-stub{position:relative;z-index:1;display:grid;min-height:calc(100dvh - 4.65rem);place-items:center;padding:2rem}.home-stub__button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.65rem;border-radius:99px;background:var(--accent);box-shadow:0 .6rem 1.8rem #6e5cb74d;color:#fff;font-size:clamp(1.2rem,3vw,1.65rem);font-weight:700;text-decoration:none;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.home-stub__button:hover,.home-stub__button:focus-visible{background:#58499c;box-shadow:0 .85rem 2rem #6e5cb766;color:#fff;transform:translateY(-3px)}.home-solar-canvas{position:fixed;z-index:0;inset:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.home-stub__button{transition:none}}
