*{box-sizing:border-box}body{margin:0;background:#e9e4d9;color:#392b37;font:16px/1.55 system-ui,-apple-system,sans-serif}main{max-width:480px;margin:8vh auto 24px;padding:0 20px}.brand{text-align:center;margin-bottom:26px}.mark{font-size:28px;letter-spacing:.16em;font-weight:750;color:#4b2949}.subtitle{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#655467}.card{background:#fffdf8;border:1px solid #d9d0c9;border-radius:20px;padding:30px;box-shadow:0 14px 45px #392b3712}h1{font-size:26px;line-height:1.2;margin:0 0 10px}p{margin:0 0 20px}label{display:block;font-weight:650;margin:16px 0 6px}input{width:100%;font:inherit;border:1px solid #a99ca7;border-radius:9px;padding:12px;background:#fff;color:#30232f}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #a6b64e;outline-offset:3px}button{width:100%;margin-top:20px;padding:13px 16px;border:0;border-radius:9px;background:#4b2949;color:#fff;font:inherit;font-weight:700;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.links{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}a{color:#4b2949;font-weight:650}#notice{border-radius:8px;padding:12px;margin:16px 0;display:none}#notice.error{display:block;background:#ffe6e6;color:#7c2323}#notice.ok{display:block;background:#eef4d9;color:#33430b}.small{font-size:13px;color:#625965;margin-top:18px}@media(max-width:540px){main{margin:36px auto}.card{padding:22px}}.student-shell{max-width:1160px;margin:0 auto;padding:0 24px;color:#221d16}.student-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:26px 0}.student-brand{font-size:23px;font-weight:800;letter-spacing:.12em;color:#4a2a3c}.student-brand span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.student-header nav{display:flex;flex-wrap:wrap;gap:20px}.student-header nav a{text-decoration:none;color:#221d16}.student-header nav a:hover{text-decoration:underline}.student-hero{background:#4a2a3c;color:#faf8f3;padding:70px 48px;border-radius:28px;margin:14px 0 32px}.student-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.08;margin:10px 0 20px}.student-hero p{max-width:550px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:750;color:#c17a5e}.student-cta{display:inline-block;background:#7c7a3b;color:#fff;border-radius:999px;padding:12px 22px;text-decoration:none;margin-top:12px}.student-content{padding:8px 0 45px}.student-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.student-class{background:#faf8f3;border:1px solid #d9d0c9;border-radius:18px;padding:24px}.student-class h3{font-size:23px;margin:8px 0}.student-meta{font-size:14px;color:#635b50}.student-note{font-size:13px;color:#4a2a3c;font-weight:700}.student-footer{border-top:1px solid #c9c0b5;padding:25px 0 40px;font-size:13px}@media(max-width:600px){.student-shell{padding:0 16px}.student-header{justify-content:center;text-align:center}.student-header nav{justify-content:center;gap:12px}.student-hero{padding:44px 24px}}body:has(.student-shell){background:#e8e3d5;color:#221d16}.student-shell{max-width:1120px;margin:0 auto;padding:0 24px}.student-header{justify-content:center;text-align:center;padding:32px 0 18px}.student-brand{font-size:clamp(32px,5vw,48px);letter-spacing:-.055em;color:#221d16;line-height:1.15}.student-brand span{font-size:12px;font-weight:500;letter-spacing:.28em;color:#4a2a3c;margin-top:9px}.student-tabs{display:flex;gap:30px;overflow-x:auto;white-space:nowrap;padding:0 0 2px;margin:0 0 26px;border-bottom:1px solid #d6d0c4;scrollbar-width:thin}.student-tabs a{color:#221d16;text-decoration:none;padding:12px 0;font-weight:500;border-bottom:3px solid transparent}.student-tabs a[aria-current=page]{color:#4a2a3c;border-bottom-color:#4a2a3c;font-weight:750}.student-hero{background:#f3efe5;color:#221d16;padding:42px 38px;border:1px solid #d6d0c4;border-radius:24px}.student-hero h1{font-size:clamp(32px,5vw,52px)}.student-hero .eyebrow{color:#7c7a3b}.student-class{background:#f3efe5;border-color:#d6d0c4;border-radius:24px;box-shadow:none}.student-class h3{color:#221d16}.student-cta{background:#4a2a3c;color:#faf8f3;border-radius:14px;font-weight:750}.student-note{color:#4a2a3c}@media(max-width:600px){.student-shell{padding:0 18px}.student-header{padding-top:24px}.student-tabs{gap:22px}.student-hero{padding:28px 22px}}main.wide{max-width:1180px;margin:clamp(20px,4vw,54px) auto;padding:0 clamp(16px,3vw,32px)}main.wide>.card{padding:clamp(20px,3vw,38px);background:#faf8f3}main.wide h1{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em}main.wide h2{font-size:clamp(22px,2.5vw,29px);margin:24px 0 16px}main.wide h3{font-size:19px;margin:22px 0 10px}main.wide .entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px;margin:16px 0 28px}main.wide .entry{min-width:0;padding:20px;border:1px solid #d9d0c9;border-radius:18px;background:#fffdf8;box-shadow:0 4px 18px #392b3709;overflow-wrap:anywhere}main.wide .entry strong{display:block;font-size:19px;line-height:1.35;color:#4a2a3c;margin-bottom:9px}main.wide .entry small{display:block;color:#635b50;margin-top:10px;font-size:13px;line-height:1.5}main.wide .entry .entry{box-shadow:none;background:#f3efe5;margin-top:12px}main.wide button.compact{width:auto;max-width:100%;margin:12px 8px 0 0;padding:9px 13px;border-radius:10px;font-size:14px;min-height:42px}main.wide button.secondary{background:transparent;border:1px solid #4a2a3c;color:#4a2a3c}main.wide button:disabled{opacity:.58;cursor:not-allowed}main.wide .editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px 22px;padding:20px;border:1px solid #d9d0c9;border-radius:18px;background:#fffdf8;margin-bottom:28px}main.wide .editor label{margin:0;display:flex;flex-direction:column;gap:7px;color:#392b37}main.wide .editor input,main.wide .editor select,main.wide .editor textarea{width:100%;min-width:0;font:inherit;color:#30232f;border:1px solid #a99ca7;border-radius:9px;background:#fff;padding:11px}main.wide .editor button{grid-column:1/-1;max-width:340px;min-height:44px;margin-top:8px}main.wide hr{border:0;border-top:1px solid #d9d0c9;margin:34px 0}main.wide #calendar-notice:not(:empty){display:block;padding:14px 18px;border-radius:12px;margin:16px 0;overflow-wrap:anywhere}main.wide #calendar-notice.error{background:#ffe6e6;color:#7c2323}main.wide #calendar-notice.ok{background:#eef4d9;color:#33430b}main.wide :is(button,input,select,textarea,a):focus-visible{outline:3px solid #7c7a3b;outline-offset:3px}@media(max-width:640px){main.wide>.card{border-radius:16px}main.wide .entries{grid-template-columns:minmax(0,1fr)}main.wide .editor{grid-template-columns:minmax(0,1fr)}main.wide .editor button{max-width:none}main.wide button.compact{width:100%;margin:10px 0 0}}@media(prefers-reduced-motion:reduce){main.wide *,main.wide *:before,main.wide *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.harmony-session-dialog{width:min(660px,calc(100vw - 28px));max-height:min(90vh,900px);overflow:auto;border:1px solid #cfc3bc;border-radius:22px;padding:clamp(18px,4vw,30px);background:#faf8f3;color:#392b37;box-shadow:0 20px 80px #21131b66}.harmony-session-dialog::backdrop{background:#221d16a6}.session-editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.session-editor-form h2,.session-editor-form>p,.session-editor-actions{grid-column:1/-1;margin:0}.session-editor-form h2{font-size:clamp(24px,3vw,30px);line-height:1.2}.session-editor-form label{display:grid;gap:5px;margin:0;font-weight:650}.session-editor-form input,.session-editor-form textarea{width:100%;min-width:0;border:1px solid #a99ca7;border-radius:10px;padding:11px;background:#fff;color:#30232f;font:inherit}.session-editor-form label:has(textarea){grid-column:1/-1}.session-editor-warning{padding:12px;border-radius:10px;background:#f2e4d5;color:#5b3221}.session-editor-status:not(:empty){padding:12px;border-radius:10px;background:#f2e4d5;color:#5b3221}.session-editor-actions{display:flex;gap:12px;justify-content:flex-end}.session-editor-actions button{width:auto;min-width:145px;margin:0;min-height:44px}.session-editor-actions .secondary{background:transparent;color:#4b2949;border:1px solid #4b2949}.harmony-session-dialog :is(button,input,textarea):focus-visible{outline:3px solid #7c7a3b;outline-offset:3px}@media(max-width:540px){.session-editor-form{grid-template-columns:minmax(0,1fr)}.session-editor-actions{flex-direction:column}.session-editor-actions button{width:100%}}.owner-calendar-toolbar{margin:20px 0 26px;padding:clamp(14px,2.5vw,24px);border:1px solid #d6ccbf;border-radius:22px;background:#f3efe5}.owner-calendar-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:18px}.owner-calendar-navigation,.owner-calendar-modes{display:flex;align-items:center;flex-wrap:wrap;gap:7px}main.wide .owner-calendar-toolbar button{width:auto;min-width:42px;min-height:42px;margin:0;padding:7px 12px;border:1px solid #d6ccbf;border-radius:12px;background:#fffdf8;color:#4a2a3c}main.wide .owner-calendar-toolbar button:disabled{cursor:not-allowed}.owner-calendar-heading{font:500 clamp(20px,2.6vw,27px)/1.25 Georgia,serif;margin:0 6px!important;min-width:160px;color:#4a2a3c}main.wide .owner-calendar-modes button[aria-pressed=true],main.wide .owner-calendar-day-button[aria-pressed=true]{background:#4a2a3c;color:#fff;border-color:#4a2a3c}.owner-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.owner-calendar-grid.owner-calendar-day{grid-template-columns:minmax(0,1fr)}.owner-calendar-grid[hidden],main.wide .entry[hidden]{display:none!important}.owner-calendar-weekday{text-align:center;font-size:12px;font-weight:750;color:#685c61;padding:6px 0}main.wide .owner-calendar-grid .owner-calendar-day-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:6px 2px;border-color:transparent;background:transparent;font-size:14px}main.wide .owner-calendar-grid .owner-calendar-day-button.outside-month{opacity:.55}main.wide .owner-calendar-grid .owner-calendar-day-button[aria-current=date]{border-color:#7c7a3b}.owner-calendar-count{font-size:11px;font-weight:750;border-radius:99px;background:#7c7a3b;color:#fff;padding:1px 7px}.owner-calendar-status{margin:14px 0 0;font-size:13px;color:#625965}@media(max-width:640px){.owner-calendar-heading{min-width:0}.owner-calendar-header{align-items:flex-start}.owner-calendar-grid{gap:2px}main.wide .owner-calendar-grid .owner-calendar-day-button{min-height:44px;padding:4px 0}.owner-calendar-count{padding:0 5px}}.owner-calendar-coverage{margin:12px 0 0;padding:10px 12px;border-left:4px solid #7c7a3b;border-radius:7px;background:#fffdf8;color:#4a2a3c;font-size:13px;line-height:1.5}main.wide .owner-calendar-grid .owner-calendar-day-button:disabled{opacity:.28;cursor:not-allowed}main.wide .owner-calendar-grid .owner-calendar-day-button:has(.owner-calendar-previews){justify-content:flex-start;min-height:100px;align-items:stretch;padding:7px 5px}.owner-calendar-previews{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0;text-align:left;font-size:10px;line-height:1.3}.owner-calendar-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 4px;border-radius:5px;background:#e8e3d5;color:#30232f}.owner-calendar-more{font-size:10px;font-weight:700;text-align:center;color:#4a2a3c}main.wide .owner-calendar-day-button[aria-pressed=true] .owner-calendar-preview{background:#fffdf8;color:#30232f}@media(max-width:760px){.owner-calendar-previews{display:none}main.wide .owner-calendar-grid .owner-calendar-day-button:has(.owner-calendar-previews){min-height:50px;align-items:center;justify-content:center;padding:5px 2px}}.account-shell .eyebrow{color:#7c7a3b;margin-bottom:12px}.account-shell .card{background:#faf8f3}.account-shell .links{border-top:1px solid #d9d0c9;padding-top:18px;gap:12px 22px}.account-shell .links a{min-height:44px;display:inline-flex;align-items:center}.account-shell #form[hidden]{display:none}.account-shell input{min-height:44px}.student-booked{display:inline-flex;align-items:center;margin-top:14px;padding:10px 14px;background:#e5ead7;color:#33430b;border:1px solid #7c7a3b;border-radius:12px;font-weight:750}.student-booked a{color:#33430b;text-decoration:underline;text-underline-offset:3px;padding:4px 2px}.harmony-workspace-menu{position:relative;flex:0 0 auto;z-index:30;color:#4a2a3c}.harmony-workspace-menu>summary{list-style:none;cursor:pointer;border:1px solid #bdb19f;border-radius:999px;background:#faf8f3;padding:9px 14px;font-size:13px;font-weight:750;min-height:40px;display:flex;align-items:center;gap:7px}.harmony-workspace-menu>summary::-webkit-details-marker{display:none}.harmony-workspace-menu>summary:after{content:"⌄";font-size:16px}.harmony-workspace-menu[open]>summary{background:#eae4d9}.harmony-workspace-menu>summary:focus-visible{outline:3px solid #7c7a3b;outline-offset:2px}.harmony-workspace-switcher{position:absolute;top:calc(100% + 6px);left:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:200px;max-width:min(280px,calc(100vw - 28px));padding:8px;border:1px solid #c9c0b5;border-radius:14px;background:#fffdf8;box-shadow:0 10px 28px #221d1630}.harmony-workspace-switcher a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #bdb19f;border-radius:999px;background:#faf8f3;color:#4a2a3c;text-decoration:none;font-size:13px;font-weight:700}.harmony-workspace-switcher a[aria-current=page]{background:#4a2a3c;color:#fff;border-color:#4a2a3c}.harmony-workspace-switcher a:focus-visible{outline:3px solid #7c7a3b;outline-offset:2px}.student-header .harmony-workspace-menu{margin-left:auto}.student-subpage .student-content>h2{font-family:Georgia,serif;font-size:clamp(28px,4vw,40px);font-weight:500;margin:0 0 18px}@media(max-width:600px){.harmony-workspace-switcher{left:auto;right:0}.harmony-workspace-switcher a{font-size:12px;padding:8px 10px}}.student-capacity{color:#57551f;font-size:14px;font-weight:700;margin:8px 0 14px}.student-cta:disabled{opacity:.65;cursor:not-allowed;background:#6d6664}.harmony-session-dialog .harmony-creator-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.harmony-session-dialog .harmony-creator-check{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-weight:600}.harmony-session-dialog .harmony-creator-check input{width:20px;height:20px;flex:none;accent-color:#57551f}.harmony-session-dialog .harmony-creator-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.harmony-session-dialog .harmony-creator-actions button{width:auto;min-height:44px;margin:0}.harmony-session-dialog .harmony-creator-actions [data-cancel]{background:#faf8f3;color:#4b2949;border:1px solid #4b2949}.harmony-session-dialog select{width:100%;min-height:44px;padding:9px;border:1px solid #a99ca7;border-radius:10px;background:#fff;color:#30232f;font:inherit}.harmony-session-dialog :is(select,button):focus-visible{outline:3px solid #7c7a3b;outline-offset:3px}@media(max-width:560px){.harmony-session-dialog .harmony-creator-grid{grid-template-columns:minmax(0,1fr)}.harmony-session-dialog .harmony-creator-actions{flex-direction:column}.harmony-session-dialog .harmony-creator-actions button{width:100%}}
