:root { --lilac:#cbbbf6; --lilac-deep:#8066be; --cream:#fffaf5; --peach:#ffd9ca; --mint:#ccebdc; --ink:#332d43; --muted:#6f687b; --line:#e9e1f5; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 "DM Sans",sans-serif} button,a{font:inherit} button{cursor:pointer;border:0}.site-header{height:82px;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,245,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(128,102,190,.12)}.brand{font:700 1.45rem "Playfair Display",serif;color:var(--ink);text-decoration:none;letter-spacing:-.06em}.brand span{color:var(--lilac-deep)}nav{display:flex;gap:1.25rem;align-items:center}nav a{color:var(--ink);text-decoration:none;font-weight:500}nav a:hover{color:var(--lilac-deep)}.cart-button{background:var(--lilac);color:var(--ink);border-radius:99px;padding:.6rem .95rem;font-weight:700}.cart-button span{display:inline-grid;place-items:center;background:#fff;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.75rem;margin-left:.25rem}.hero{min-height:590px;padding:clamp(3.5rem,8vw,8rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:3rem;background:linear-gradient(112deg,#ede6ff 0%,#f9eff8 58%,#ffe7dd 100%)}.hero-copy{max-width:620px}.eyebrow{font-size:.72rem;letter-spacing:.18em;color:var(--lilac-deep);font-weight:700;margin:0 0 .8rem}.hero h1,.section-heading h2,.school-copy h2,dialog h2{font:700 clamp(2.5rem,5vw,4.9rem)/1.05 "Playfair Display",serif;letter-spacing:-.055em;margin:0}.hero-copy>p:not(.eyebrow){font-size:1.15rem;max-width:480px;color:var(--muted);margin:1.5rem 0 2rem}.hero-actions{display:flex;gap:1.15rem;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;padding:.82rem 1.25rem;border-radius:99px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(71,48,109,.14)}.primary{background:var(--ink);color:#fff}.secondary{background:#fff;color:var(--ink)}.hero-art{height:360px;position:relative;display:grid;place-items:center}.orb{position:absolute;border-radius:50%}.orb-one{width:280px;height:280px;background:var(--lilac);right:7%;top:0}.orb-two{width:150px;height:150px;background:var(--peach);left:7%;bottom:0}.card-art{width:235px;height:270px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);z-index:1;border-radius:35px;box-shadow:0 26px 50px rgba(86,59,139,.2);display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:5rem;transform:rotate(8deg)}.card-art small{font:500 .85rem "DM Sans";margin-top:1.6rem}.shop-section,.school-section{padding:clamp(4.5rem,8vw,7rem) clamp(1.25rem,8vw,9rem)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.4rem}.section-heading h2,.school-copy h2{font-size:clamp(2.4rem,4vw,3.8rem)}.section-heading>p{max-width:260px;color:var(--muted);margin:0}.products{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.product{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.product-art{height:170px;display:grid;place-items:center;font-size:4rem}.product:nth-child(1) .product-art{background:#e8ddff}.product:nth-child(2) .product-art{background:#ffe3d7}.product:nth-child(3) .product-art{background:#dff3e8}.product:nth-child(4) .product-art{background:#f6e8fa}.product:nth-child(5) .product-art{background:#ffedc9}.product-info{padding:1.1rem}.product-info h3{font-size:1rem;margin:0 0 .25rem}.product-info p{font-size:.85rem;color:var(--muted);min-height:45px;margin:0 0 .8rem}.product-bottom{display:flex;justify-content:space-between;align-items:center}.price{font-weight:700}.add{background:var(--lilac);color:var(--ink);border-radius:12px;width:35px;height:35px;font-size:1.3rem}.school-section{background:var(--mint);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:3rem}.school-copy{max-width:560px}.school-copy>p:not(.eyebrow){font-size:1.08rem;color:#4a6659;margin:1.2rem 0 1.7rem}.lesson-card{background:#fffdf8;border-radius:28px;padding:2.4rem;box-shadow:0 20px 40px rgba(64,103,80,.12);min-height:260px}.lesson-card span{font:700 3.5rem "Playfair Display";color:var(--lilac)}.lesson-card p{font-size:.72rem;letter-spacing:.14em;color:var(--lilac-deep);font-weight:700}.lesson-card h3{font:700 1.6rem "Playfair Display";margin:.5rem 0}.lesson-line{height:7px;background:var(--peach);border-radius:99px;width:70%;margin:2rem 0}.lesson-card small{color:var(--muted)}footer{padding:2rem clamp(1.25rem,8vw,9rem);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.9rem}.cart-drawer{position:fixed;right:0;top:0;height:100dvh;width:min(410px,90vw);background:#fff;z-index:30;padding:1.5rem;transform:translateX(105%);transition:transform .28s ease;display:flex;flex-direction:column;box-shadow:-10px 0 35px rgba(45,28,70,.13)}.cart-drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:1rem}.drawer-head h2{font:700 1.75rem "Playfair Display";margin:0}.icon-button{background:transparent;color:var(--ink);font-size:2rem;line-height:1}.cart-items{flex:1;overflow:auto;padding:.5rem 0}.empty{color:var(--muted);text-align:center;margin-top:3rem}.cart-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line)}.cart-icon{width:44px;height:44px;display:grid;place-items:center;background:var(--lilac);border-radius:12px;font-size:1.35rem}.cart-item h3{font-size:.93rem;margin:0}.cart-item p{font-size:.85rem;color:var(--muted);margin:.1rem 0}.remove{color:var(--lilac-deep);background:transparent;font-size:.8rem;text-decoration:underline}.cart-total{display:flex;justify-content:space-between;padding:1.2rem 0;font-size:1.1rem;border-top:1px solid var(--line)}.checkout{width:100%}.overlay{position:fixed;inset:0;background:rgba(34,22,54,.34);z-index:20;opacity:0;visibility:hidden;transition:.2s}.overlay.show{opacity:1;visibility:visible}dialog{border:0;border-radius:25px;padding:2.2rem;width:min(520px,calc(100vw - 2rem));color:var(--ink);box-shadow:0 24px 80px rgba(42,24,66,.25)}dialog::backdrop{background:rgba(34,22,54,.4)}dialog h2{font-size:2.6rem}.dialog-close{position:absolute;right:1rem;top:.8rem}.dialog-intro{color:var(--muted);margin:.6rem 0 1.3rem}.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.payment{background:#f8f4ff;border:2px solid transparent;display:flex;align-items:center;gap:.6rem;padding:.9rem;border-radius:14px;font-weight:700;color:var(--ink);text-align:left}.payment.active{background:#eee7ff;border-color:var(--lilac-deep)}.payment-note{background:#fff4ef;padding:.75rem 1rem;border-radius:12px;font-size:.88rem;margin:1rem 0;color:#795d52}.secure-note{font-size:.78rem;color:var(--muted);text-align:center;margin:1rem 0 0}.toast{position:fixed;bottom:1.5rem;left:50%;z-index:50;transform:translate(-50%,120px);background:var(--ink);color:#fff;padding:.8rem 1.1rem;border-radius:99px;transition:transform .25s;box-shadow:0 10px 24px rgba(0,0,0,.2);white-space:nowrap}.toast.show{transform:translate(-50%,0)}#messageDialog p:not(.eyebrow){color:var(--muted);font-size:1.05rem}@media(max-width:900px){.products{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr}.hero-art{height:250px}.orb-one{width:220px;height:220px}.school-section{grid-template-columns:1fr}}@media(max-width:580px){.site-header{height:70px}nav{gap:.75rem}nav a{display:none}.hero{padding-top:4rem;min-height:auto}.hero-art{height:200px}.card-art{width:160px;height:180px;font-size:3rem}.section-heading{display:block}.section-heading>p{margin-top:.8rem}.products{grid-template-columns:repeat(2,1fr)}.product-art{height:135px}.product-info p{min-height:52px}.school-section{padding-top:4rem;padding-bottom:4rem}.payment-grid{grid-template-columns:1fr}.lesson-card{padding:1.7rem}}
.brand-lockup{display:flex;align-items:center;gap:.45rem;letter-spacing:-.035em}.brand-lockup img{width:32px;height:32px;object-fit:cover;object-position:center 63%;border-radius:50%;background:#352843;box-shadow:0 2px 7px rgba(83,53,116,.16)}.brand-lockup span{color:#b9a3f2;font:400 1.42rem/1 "DM Serif Display",serif;letter-spacing:.015em}.brand-lockup em{font-style:normal}footer .brand-lockup img{width:36px;height:36px}

nav .active,.nav-admin{color:var(--lilac-deep);font-weight:700}.page-hero{min-height:540px}.gateway{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:clamp(3rem,7vw,7rem) clamp(1.25rem,8vw,9rem)}.gateway-card{min-height:260px;padding:2.3rem;border-radius:28px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;transition:transform .2s,box-shadow .2s}.gateway-card:hover{transform:translateY(-5px);box-shadow:0 18px 30px rgba(70,46,105,.15)}.shop-gateway{background:var(--peach)}.school-gateway{background:var(--mint)}.gateway-card h2{font:700 clamp(1.9rem,3vw,3rem)/1.05 "Playfair Display";letter-spacing:-.045em;max-width:440px;margin:.2rem 0 1.7rem}.gateway-card span{font-weight:700}.page-main{padding:clamp(3.5rem,7vw,6.5rem) clamp(1.25rem,8vw,9rem);min-height:calc(100vh - 164px)}.page-title{max-width:650px;margin-bottom:3rem}.page-title h1,.school-intro h1,.admin-main h1{font:700 clamp(2.8rem,5vw,4.7rem)/1.03 "Playfair Display";letter-spacing:-.055em;margin:0}.page-title>p:not(.eyebrow),.school-intro>p:not(.eyebrow),.admin-lead{font-size:1.1rem;color:var(--muted);max-width:570px}.school-page{background:linear-gradient(150deg,#def4e8,#faf7ef);padding:clamp(4rem,8vw,7rem) clamp(1.25rem,8vw,9rem);min-height:calc(100vh - 164px)}.school-intro{max-width:650px}.course-preview{margin-top:3rem;background:#fffdf8;border-radius:30px;padding:clamp(1.7rem,4vw,3rem);display:flex;align-items:end;justify-content:space-between;gap:2rem;box-shadow:0 18px 38px rgba(64,103,80,.12)}.course-preview span,.admin-grid span{font:700 3.4rem "Playfair Display";color:var(--lilac-deep)}.course-preview h2,.admin-note h2{font:700 2rem "Playfair Display";margin:.3rem 0}.course-preview p:not(.eyebrow),.admin-note p{color:var(--muted);max-width:530px}.admin-body{background:#f8f5ff}.admin-main{max-width:1100px;margin:auto;padding:clamp(3rem,7vw,6rem) 1.25rem;min-height:calc(100vh - 82px)}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:3rem 0}.admin-grid article,.admin-note{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.5rem}.admin-grid h2{font:700 1.35rem "Playfair Display";margin:.2rem 0}.admin-grid p{color:var(--muted);font-size:.9rem}.admin-note{background:var(--mint);border:0}@media(max-width:580px){.gateway,.admin-grid{grid-template-columns:1fr}.gateway-card{min-height:210px}.course-preview{display:block}.course-preview .button{margin-top:1rem;width:100%}.nav-admin{display:none}.brand-lockup span{font-size:1.24rem}.site-header{padding-left:1rem;padding-right:1rem}}
.admin-work{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;gap:2rem;margin-top:2.5rem}.admin-work>form,.admin-work>section{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.4rem}.admin-work>form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem}.admin-work label{font-size:.82rem;font-weight:700;color:var(--muted);display:grid;gap:.32rem}.admin-work input,.admin-work textarea,.admin-work select{min-width:0;width:100%;border:1px solid var(--line);border-radius:10px;padding:.68rem;background:#fff;color:var(--ink);font:inherit}.admin-work .wide,.admin-work .form-actions,#formMessage{grid-column:1/-1}.admin-work .check{display:flex;align-items:center;gap:.5rem;grid-column:1/-1}.admin-work .check input{accent-color:var(--lilac-deep)}.form-actions{display:flex;gap:.6rem}.admin-list{display:grid;gap:.55rem;margin-top:1rem}.admin-product{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.8rem;text-align:left;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}.admin-product:hover{background:#f8f4ff}.admin-product span{display:grid;gap:.15rem}.admin-product small{color:var(--muted)}.admin-product em{font-style:normal;font-size:.75rem;color:var(--lilac-deep);font-weight:700}@media(max-width:700px){.admin-work{grid-template-columns:1fr}.admin-work form{grid-template-columns:1fr}}

.cart-quantity{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}.cart-quantity button:not(.remove){width:1.65rem;height:1.65rem;border-radius:50%;background:#f1eaff;color:var(--ink);font-weight:700}.cart-quantity .remove{width:100%;text-align:right}.checkout-field{display:grid;gap:.32rem;font-size:.82rem;font-weight:700;color:var(--muted);margin:.8rem 0}.checkout-field span{font-weight:400}.checkout-field input{border:1px solid var(--line);border-radius:10px;padding:.7rem;background:#fff;color:var(--ink);font:inherit}.checkout-field input:focus{outline:2px solid var(--lilac);border-color:transparent}.checkout:disabled{opacity:.7;cursor:wait}.orders-panel{margin-top:2rem;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.4rem}.orders-panel h2{font:700 1.6rem "Playfair Display";margin:.15rem 0 1rem}.order-list{display:grid;gap:.65rem}.order-card{border:1px solid var(--line);border-radius:14px;padding:1rem;display:grid;grid-template-columns:1fr auto;gap:.45rem}.order-card>div{display:grid;gap:.15rem}.order-card>div:last-of-type{text-align:right}.order-card small{color:var(--muted)}.order-card p{grid-column:1/-1;margin:.25rem 0 0;color:var(--muted);font-size:.9rem}@media(max-width:580px){.order-card{grid-template-columns:1fr}.order-card>div:last-of-type{text-align:left}}

.account-menu{position:relative}.account-button{background:transparent;color:var(--ink);font-weight:600;padding:.45rem .2rem}.account-button:hover{color:var(--lilac-deep)}.account-popover{position:absolute;right:0;top:calc(100% + .45rem);z-index:25;min-width:185px;padding:.7rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;box-shadow:0 12px 26px rgba(51,43,71,.16);display:grid;gap:.45rem}.account-popover[hidden]{display:none}.account-popover span{font-size:.76rem;color:var(--muted);white-space:nowrap}.account-popover button{background:#f5f0fb;color:var(--ink);border-radius:.55rem;padding:.48rem .65rem;font:600 .82rem "DM Sans",sans-serif;text-align:left}.account-popover button:hover{background:#ebe2fa}.account-form{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1rem}.account-form h3{font:700 1.15rem "Playfair Display";margin:0}.form-feedback{min-height:1.5rem;color:var(--lilac-deep);font-size:.9rem;font-weight:600;margin:.8rem 0 0}@media(max-width:580px){.account-button{font-size:.82rem;padding:0}nav{gap:.5rem}}

.forgot-button{background:transparent;color:var(--lilac-deep);font-size:.85rem;text-decoration:underline;margin-top:1rem;padding:0}

.field-hint{display:block;color:var(--muted);font-size:.78rem;line-height:1.35;margin-top:-.4rem}


#accountSignedIn{text-align:center;padding:1rem .15rem .4rem}
.account-success-icon{width:4.4rem;height:4.4rem;display:grid;place-items:center;margin:.15rem auto 1.2rem;border-radius:50%;background:var(--mint);color:#356848;font:700 2.45rem/1 "DM Sans";box-shadow:0 .65rem 1.5rem rgba(80,146,106,.18)}
#accountSignedIn .dialog-intro{max-width:28rem;margin:0 auto 1.45rem;font-size:1.03rem;line-height:1.62}
#pendingResendButton{margin:0 auto}#accountSignedIn .checkout+.checkout{margin-top:.75rem}

.course-catalogue{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin:2rem 0 4rem}.course-card,.course-detail,.lesson-card{background:#fff;border:1px solid #e8def4;border-radius:1.25rem;padding:1.5rem;box-shadow:0 8px 30px #3328440a}.course-card h2,.lesson-card h2{margin:.35rem 0}.course-card strong,.course-detail strong{display:block;margin:1rem 0;color:#6f5bb3;font-size:1.1rem}.course-detail{margin:1.25rem 0 4rem}.lesson-card{margin-top:1rem}.admin-tabs{display:flex;gap:.5rem;margin:1.5rem 0;flex-wrap:wrap}.admin-tabs button{border:1px solid #ded3ef;background:#fff;border-radius:99px;padding:.65rem 1rem;font:inherit}.admin-tabs button.active{background:#332b47;color:#fff}.admin-panel[hidden],#lessonPanel[hidden],#resourcePanel[hidden]{display:none}.admin-panel{margin-bottom:2rem}.admin-panel form{display:grid;gap:.8rem}.admin-panel select{padding:.75rem;border:1px solid #ded3ef;border-radius:.7rem;background:#fff;font:inherit}.admin-list .order-card{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}@media(max-width:600px){.course-catalogue{grid-template-columns:1fr}.course-card,.course-detail{padding:1.15rem}}

.product-art{overflow:hidden}.product-art img{width:100%;height:100%;display:block;object-fit:cover}.admin-image-preview{width:72px;height:72px;object-fit:cover;border-radius:.75rem;border:1px solid #e8def4}

.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;background:#f5f0fb;padding:.35rem;border-radius:.85rem;margin:1.25rem 0}.account-tabs button{border:0;background:transparent;padding:.7rem .45rem;border-radius:.6rem;font:600 .94rem/1 "DM Sans",sans-serif;color:#70677c}.account-tabs button.active{background:#fff;color:#332b47;box-shadow:0 2px 10px #33284416}

.promo-box{margin:.75rem 0 1rem;padding:.15rem 0}.promo-entry{display:flex;gap:.55rem}.promo-entry input{min-width:0;flex:1;text-transform:uppercase}.promo-entry button{flex:0 0 auto;border-radius:10px;background:#eee7ff;color:var(--ink);padding:.7rem .85rem;font-weight:700}.promo-entry button:disabled{opacity:.65}.promo-message{min-height:1.25rem;margin:.1rem 0 0;color:var(--lilac-deep);font-size:.83rem;font-weight:700}.checkout-summary{display:grid;gap:.42rem;margin:1rem 0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.9rem}.checkout-summary>span{display:flex;justify-content:space-between}.checkout-summary #checkoutDiscountRow{color:#6e54a5}.checkout-summary .checkout-final{font-size:1.08rem;color:var(--ink)}
