*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#faf8ff;color:#2b2541;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9c64d5;outline-offset:4px}.shell{max-width:1050px;margin:auto;padding:25px 28px 105px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:850;letter-spacing:2px;line-height:1.1}.brand small{display:block;font-size:9px;letter-spacing:4px;margin-top:5px}.logo{font-size:38px;color:#8760cf}.header-account{padding:9px 16px;background:#f0e9fc;border-radius:24px;font-size:12px;font-weight:650}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.12;letter-spacing:-1.4px;margin-bottom:16px}h2{font-size:25px;letter-spacing:-.6px;line-height:1.25}h3{font-size:17px;line-height:1.3;margin-bottom:8px}p{color:#756b84;font-size:14px}.eyebrow{display:block;font-size:10px;letter-spacing:1.8px;font-weight:800;color:#8a769c;margin-bottom:14px}.hero{position:relative;overflow:hidden;background:#eee6ff;padding:38px;border-radius:30px;min-height:340px}.hero h1{max-width:580px;font-size:44px}.hero h1 em{font-style:normal;color:#8054c4}.hero p{max-width:400px}.hero-art{position:absolute;right:45px;top:80px;font-size:115px;transform:rotate(-9deg)}.hero-foot{display:flex;gap:20px;margin-top:28px;color:#82689e;font-size:11px}.primary,.secondary,.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:none;border-radius:13px;min-height:44px;padding:12px 18px;font-size:13px;font-weight:650;background:#8054c4;color:#fff}.secondary{background:#f0e9fa;color:#6f469e}.button{background:#fff;color:#5b456f;border:1px solid #e7dff0}.text-link{color:#7950b3;font-size:13px;font-weight:650}.section{margin-top:32px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-head h2{margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid #ece5f3;padding:22px;border-radius:22px;min-width:0}.compact{display:flex;align-items:center;gap:14px;padding:16px 18px;min-height:88px;transition:transform .15s,border-color .15s}.compact:hover{transform:translateY(-2px);border-color:#b798dd}.compact h3{font-size:15px;margin:0 0 4px}.compact p{margin:0;font-size:11px}.compact .arrow{margin-left:auto;color:#997eb6}.icon{width:48px;height:48px;flex-shrink:0;border-radius:15px;background:#f0e6ff;display:grid;place-items:center;font-size:23px;color:#8154b4}.compact:nth-child(3n+2) .icon{background:#e3f2ed}.compact:nth-child(3n) .icon{background:#fff0d9}.muted{color:#83788f;font-size:12px}.pill{display:inline-flex;align-items:center;padding:5px 11px;border-radius:20px;background:#eee7fa;color:#7950a8;font-size:11px;font-weight:650}.pills,.actions,.tabs,.filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tabs{margin:22px 0}.tabs button,.tabs a{border:1px solid #e6ddf1;border-radius:22px;background:white;color:#776786;padding:9px 16px;font-size:12px}.tabs .active{background:#8054c4;color:white;border-color:#8054c4}.filters{padding:18px;background:white;border:1px solid #ece5f3;border-radius:18px;margin:22px 0;align-items:flex-end}.filters label{flex:1;min-width:120px}.filters .age-field{max-width:130px;min-width:95px}label{display:block;font-size:12px;color:#675975;font-weight:600}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #ddd3e9;background:#fff;border-radius:10px;color:#382e48;margin-top:6px;min-height:44px}input[type=checkbox]{display:inline-block;width:18px;min-height:18px;margin:0 8px 0 0;vertical-align:middle}textarea{min-height:80px}.empty{border:1px dashed #d9cce9;border-radius:20px;padding:30px;text-align:center;background:#f6f1ff}.empty .big{display:block;font-size:38px;margin-bottom:10px}.empty h3{font-size:18px}.empty p{max-width:440px;margin:10px auto 18px}.back{display:inline-block;color:#85728f;font-size:12px;margin-bottom:22px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:33px}.page-heading p{max-width:650px}.program-hero{background:#eee6fb;padding:30px;border-radius:24px;margin-bottom:24px;display:flex;gap:22px;align-items:center}.program-hero .icon{width:75px;height:75px;font-size:36px;background:#ffffffa0}.program-hero h1{font-size:32px;margin:10px 0 0}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px;align-items:start}.stack>*+*{margin-top:16px}.stack h2{font-size:21px}.schedule-row{display:flex;gap:16px;align-items:center;border-bottom:1px solid #eee8f4;padding:15px 0}.schedule-row:last-child{border-bottom:0}.schedule-time{font-size:20px;font-weight:750;min-width:62px;color:#7954ad}.schedule-row h3{font-size:14px;margin:0 0 4px}.schedule-row p{font-size:11px;margin:0}.schedule-info{flex:1}.price-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eee8f4;font-size:13px}.price-row strong{white-space:nowrap}.teacher{display:flex;align-items:flex-start;gap:15px}.avatar{width:52px;height:52px;border-radius:50%;background:#eee1fa;display:grid;place-items:center;color:#875aa8;font-size:23px;font-weight:700;flex-shrink:0}.teacher:nth-child(even) .avatar{background:#dff2ea;color:#438577}.teacher h3{margin-top:5px}.teacher p{font-size:12px}.teacher-bio{font-size:14px;margin-top:20px}.callout{background:#fff1da;padding:24px;border-radius:22px}.callout p:last-child{margin-bottom:0}.account-top{display:flex;align-items:center;gap:15px;margin-bottom:25px}.account-top h1{font-size:28px;margin:0}.account-top p{margin:4px 0 0}.metric{font-size:40px;font-weight:800;color:#8054c4;line-height:1.2}.balance-card{background:#f1e9ff}.balance-card h3{font-size:14px}.balance-bar{height:6px;background:#e0d4ef;border-radius:20px;overflow:hidden;margin:16px 0}.balance-bar span{display:block;height:100%;background:#9670d3}.notice{padding:14px 18px;border-radius:14px;background:#eee8f8;color:#776486;font-size:12px;margin:15px 0}.demo-banner{padding:12px 16px;background:#fff0cc;border:1px solid #f4d894;border-radius:13px;font-size:12px;color:#8e6729;margin-bottom:23px;display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-banner a{font-weight:700;text-decoration:underline}.status{font-size:10px;border-radius:12px;padding:4px 9px;background:#f9ebcc;color:#8e6a2c;display:inline-block}.status.confirmed,.status.attended{background:#e0f1e8;color:#35725a}.status.rejected,.status.cancelled{background:#fbe6ec;color:#9b5368}.row-between{display:flex;align-items:center;justify-content:space-between;gap:15px}.child-name{font-size:16px;font-weight:700;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .wide{grid-column:1/-1}form .actions{margin-top:18px}details{border:1px solid #e8e0f0;border-radius:14px;padding:15px;margin-top:14px}summary{cursor:pointer;font-size:13px;font-weight:650}details form{margin-top:18px}.admin-head{padding:25px;background:#312a42;color:white;border-radius:23px;margin-bottom:20px}.admin-head h1{font-size:27px}.admin-head p{color:#c0afce}.admin-head .eyebrow{color:#c6aadf}.admin-shell .tabs{position:sticky;top:0;background:#faf8fff5;padding:10px 0;z-index:2}.inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-form label{flex:1;min-width:110px}.divider{border:0;border-top:1px solid #e9e0f1;margin:22px 0}footer{display:flex;flex-wrap:wrap;gap:20px;margin-top:55px;color:#93839f;font-size:10px}footer span{margin-right:auto;letter-spacing:1px}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:55px;background:#fffefaf7;border-top:1px solid #eee6f4;padding:10px 16px calc(12px + env(safe-area-inset-bottom));backdrop-filter:blur(15px);z-index:10}nav a{display:grid;text-align:center;min-width:62px;gap:3px;font-size:10px;color:#9988a6}nav a>span{font-size:22px;line-height:1.2}nav a[aria-current]{color:#8054c4;font-weight:750}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;padding:13px 20px;border-radius:14px;background:#342840;color:white;font-size:13px;z-index:100;box-shadow:0 8px 30px #0002}.error{color:#a2405f;background:#fcebf0;border-radius:12px;padding:14px;font-size:13px}[hidden]{display:none!important}.section-link{display:block;border-top:1px solid #e8def1;padding-top:15px;margin-top:16px;color:#7752a6;font-size:12px}.small{font-size:12px}.account-preview{margin-top:25px}.teacher-card{display:block}.teacher-card:hover{border-color:#b998d9}@media(max-width:700px){.shell{padding:20px 17px 110px}header{margin-bottom:25px}.hero{padding:27px 24px;min-height:385px}.hero h1{font-size:33px;max-width:320px}.hero p{max-width:260px;font-size:13px}.hero-art{font-size:75px;top:auto;bottom:34px;right:25px}.hero-foot{font-size:9px;gap:12px;margin-top:68px}.grid,.three,.columns{grid-template-columns:1fr}.three.home-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-shortcuts .card{padding:14px 10px}.home-shortcuts h3{font-size:11px}.home-shortcuts p{font-size:10px}.home-shortcuts .icon{height:34px;width:34px;font-size:18px;margin-bottom:9px}.grid.compact-grid{gap:10px}.compact{min-height:78px;padding:13px 15px}.compact h3{font-size:14px}.page-heading h1{font-size:29px}.program-hero{padding:24px 20px;gap:15px}.program-hero h1{font-size:26px}.program-hero .icon{height:55px;width:55px;font-size:28px}.section-head h2{font-size:23px}nav{gap:15px}.filters{gap:12px;padding:14px}.filters label.search-field{flex-basis:100%}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.card{padding:19px}.schedule-row{gap:10px;flex-wrap:wrap}.schedule-time{font-size:18px}.demo-banner{align-items:flex-start}h1{font-size:31px}.pills .pill{font-size:10px}.tabs{gap:6px}.tabs button,.tabs a{padding:8px 11px;font-size:11px}.account-top h1{font-size:25px}.admin-head{padding:22px}.teacher-bio{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.compact{transition:none}}
.demo-banner>span{flex:1;min-width:0}.demo-banner>a{flex-shrink:0;font-size:11px}.price-row{overflow-wrap:anywhere}.card p:empty{display:none}
