.month-hero{background:var(--cream);padding:72px 0 58px}.month-hero .shell{display:flex;justify-content:space-between;gap:60px;align-items:end}.month-hero h1{margin-bottom:0}.month-hero p{max-width:450px;color:var(--brown-soft);margin:0 0 11px}.month-hero-copy .btn{margin-top:6px}.month-content{padding:72px 0 96px;background:var(--white)}.month-toolbar{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}.month-toolbar h2{margin:6px 0 0;font-size:2.4rem}.filter-controls{display:grid;gap:12px;justify-items:end}.instructor-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.instructor-filter{display:flex;gap:7px;align-items:center;border:1px solid var(--line);background:var(--white);border-radius:999px;padding:8px 11px;color:var(--brown);font-size:.78rem;font-weight:800}.instructor-filter.active,.instructor-filter:hover{background:var(--sand);border-color:var(--taupe)}.tiny-avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.55rem;font-weight:900;color:var(--brown)}.month-key{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;padding:13px 0;color:var(--brown-soft);font-size:.76rem}.month-key i{display:inline-block;width:8px;height:8px;background:var(--taupe);border-radius:50%;margin-right:6px}.month-schedule{margin-top:15px}.schedule-day{display:grid;grid-template-columns:92px 1fr;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.schedule-date{height:88px;border-radius:16px;background:var(--sand);display:grid;place-content:center;text-align:center;line-height:1}.schedule-date span{text-transform:uppercase;letter-spacing:.12em;font-size:.63rem;font-weight:900;color:var(--brown-soft)}.schedule-date strong{font:400 2.3rem Georgia,serif;letter-spacing:-.07em;margin:4px 0}.schedule-date small{font-size:.63rem;text-transform:uppercase;letter-spacing:.11em;color:var(--brown-soft)}.day-sessions h3{font:400 1.5rem Georgia,serif;letter-spacing:-.04em;margin:0 0 10px}.monthly-session{display:grid;grid-template-columns:100px 1fr 145px;gap:15px;align-items:center;border-top:1px solid #eee6df;padding:13px 0}.monthly-session time{font-size:.82rem;font-weight:850;color:var(--brown-soft)}.session-main{display:grid;gap:3px}.session-main strong{font-size:.93rem}.session-main span{font-size:.76rem;color:var(--brown-soft)}.class-info-link{display:inline-block;margin-top:6px;color:var(--brown);font-size:.7rem;font-weight:850;border-bottom:1px solid var(--taupe);text-decoration:none}.session-instructor{display:flex;align-items:center;justify-content:flex-start;gap:7px;font-size:.8rem;font-weight:760}.no-sessions{border:1px dashed var(--line);padding:35px;text-align:center;color:var(--brown-soft);border-radius:16px}.timetable-questionnaire{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#f0e8df;padding:33px;margin-top:48px;border-radius:20px}.timetable-questionnaire h2{font-size:2.1rem;margin:6px 0}.timetable-questionnaire p{margin:0;color:var(--brown-soft);max-width:620px;font-size:.9rem}@media(max-width:700px){.month-hero{padding:45px 0}.month-hero .shell,.month-toolbar,.timetable-questionnaire{display:block}.month-hero p{margin-top:18px}.filter-controls{justify-items:start;margin-top:18px}.instructor-filters{justify-content:flex-start;margin-top:6px}.month-key{display:block;line-height:1.9}.schedule-day{grid-template-columns:58px 1fr;gap:14px}.schedule-date{height:65px;border-radius:12px}.schedule-date strong{font-size:1.7rem}.monthly-session{grid-template-columns:64px 1fr;gap:10px}.session-instructor{grid-column:2}.timetable-questionnaire{padding:25px;margin-top:34px}.timetable-questionnaire .btn{margin-top:18px;width:100%}}.request-class{margin:30px 0 22px;padding:28px;background:#f0e8df;border-radius:20px;display:grid;grid-template-columns:.75fr 1.25fr;gap:28px}.request-class h2{font:400 2.15rem/1 Georgia,serif;letter-spacing:-.055em;margin:7px 0 10px}.request-class p{color:var(--brown-soft);font-size:.84rem}.request-account-note{font-weight:800;font-size:.76rem!important;color:var(--brown)!important}.request-class form{display:grid;gap:10px}.request-details,.request-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.request-options{grid-template-columns:1fr 1fr}.request-class label{display:grid;gap:5px;color:var(--brown-soft);font-size:.72rem;font-weight:850}.request-class input,.request-class select,.request-class textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--white);color:var(--brown);font-size:16px}.request-class textarea{min-height:76px;resize:vertical}.request-class .btn{justify-self:start}.request-success{grid-column:1/-1;background:#e7eee7;border-radius:12px;padding:15px;color:#505238}.request-success strong{display:block;margin-bottom:5px}@media(max-width:850px){.request-class{grid-template-columns:1fr}.request-details{grid-template-columns:1fr 1fr}}@media(max-width:520px){.request-class{padding:21px}.request-details,.request-options{grid-template-columns:1fr}.request-class .btn{width:100%}}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--line);gap:1px}.calendar-weekday{background:#f0e8df;padding:11px;text-align:center;font-size:.71rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--brown-soft)}.calendar-empty,.calendar-day{background:var(--white);min-height:166px;padding:10px}.calendar-day{position:relative}.calendar-date{font:400 1.25rem Georgia,serif;color:var(--brown-soft);margin-bottom:7px}.calendar-sessions{display:grid;gap:6px}.calendar-session{border-left:3px solid var(--taupe);padding:5px 0 5px 7px;line-height:1.2}.calendar-session.is-past{opacity:.68;filter:saturate(.5)}.calendar-session time{display:block;color:var(--brown-soft);font-size:.64rem;font-weight:850}.calendar-session strong{display:block;font-size:.69rem;margin:2px 0}.calendar-session span{display:block;color:var(--brown-soft);font-size:.64rem}.calendar-session .substitution-label{color:var(--brown);font-weight:850}.calendar-session .class-info-link{font-size:.62rem;margin-top:4px}.calendar-day.has-sessions{background:#fffdfb}.calendar-day.is-closed{background:#f2ede8}.calendar-closed-note{display:block;margin:4px 0 8px;padding:5px 6px;border-radius:6px;background:#e9ddd4;color:#583f3b;font-size:.67rem;font-weight:850;line-height:1.35}@media(max-width:850px){.month-schedule{overflow:auto;padding-bottom:8px}.calendar-grid{min-width:924px}}@media(max-width:520px){.calendar-day{min-height:140px;padding:8px}.calendar-weekday{padding:9px 5px}.calendar-session strong{font-size:.64rem}}
/* Movement-first discovery; height-unknown sessions are never labelled height-free. */
.calendar-session .book-now{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;padding:0;background:transparent;color:inherit;border:0;border-radius:0;font-size:.84rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer}.calendar-session .book-now span{text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:3px}.calendar-session .book-now.is-selected{font-weight:900}.calendar-session .book-now[aria-disabled="true"]{opacity:.48;cursor:not-allowed}.booking-selection-status{min-height:1.4em;margin:12px 0;color:var(--brown);font-size:.94rem;font-weight:750}.calendar-session .booking-inline-feedback{display:block;margin:2px 0 6px;color:inherit;font-size:.72rem;line-height:1.35;font-weight:750}.calendar-session .book-now[aria-disabled="true"] span{text-decoration-style:dotted}.booking-cart{margin:30px 0 44px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#F4EDE3}.booking-cart h2{font:400 1.8rem Georgia,serif;margin:0 0 8px}.booking-cart p{margin:0 0 12px;color:var(--brown-soft)}.booking-cart-list{display:grid;gap:8px;margin:15px 0}.booking-cart-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.booking-cart-row button{background:none;border:0;color:var(--brown);font:800 .85rem Inter,sans-serif;text-decoration:underline;cursor:pointer}.booking-cart .btn{margin-top:6px}@media(max-width:600px){.booking-cart-row{align-items:flex-start}.booking-cart-row button{min-height:44px}}.month-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;flex-wrap:wrap}.month-navigation strong{font-size:1.2rem}.month-navigation button{min-height:44px;background:#505238;border:0;border-radius:10px;color:#fff;padding:10px 16px;font:800 .86rem Inter,sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.month-navigation button:hover{background:#3A2928}@media(max-width:600px){.month-navigation strong{order:-1;flex-basis:100%;text-align:center}.month-navigation button{flex:1}}.format-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 38px}.format-card{padding:24px;border-radius:22px;border:1px solid var(--line);background:#F4EDE3}.format-card.dynamic{background:#E7D7C5}.format-card.stretch-feature{background:#D8A6A5}.format-card .eyebrow{font-size:.85rem;letter-spacing:.15em}.format-card h2{font:400 clamp(1.45rem,2.3vw,2.15rem)/1.1 Georgia,serif;letter-spacing:-.04em;margin:7px 0 11px}.format-card p{font-size:1rem;line-height:1.55;margin:0;color:#3A2928}.format-card.classic{border-left:6px solid #505238}.format-card.dynamic{border-left:6px solid #8B7B60}.format-card.stretch-feature{border-left:6px solid #A26768}
.month-toolbar{align-items:start}.month-toolbar>div:first-child{max-width:480px}.filter-intro{font-size:1rem;line-height:1.55;color:var(--brown-soft);margin:10px 0}.filter-controls{justify-items:stretch;max-width:700px;width:100%;gap:12px}.filter-controls fieldset{min-width:0;border:1px solid var(--line);border-radius:16px;margin:0;padding:13px 15px}.filter-controls legend{font-size:.87rem;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:#505238;padding:0 6px}.filter-controls .instructor-filters{justify-content:flex-start}.filter-controls .instructor-filter{font-size:1rem;min-height:46px;padding:10px 16px}.filter-controls .instructor-filter.active{background:#505238;border-color:#505238;color:#fff}.filter-controls .instructor-filter.active .tiny-avatar{color:#fff}.filter-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--brown-soft);font-size:.87rem;line-height:1.4}.filter-clear{border:1px solid #505238;border-radius:999px;background:#505238;color:white;padding:10px 16px;font:800 .83rem Inter,ui-sans-serif,sans-serif;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.filter-status{font-size:.95rem;font-weight:800;color:#505238;margin:16px 0 0}.empty-filter{border:1px dashed var(--line);border-radius:18px;padding:35px;text-align:center;color:var(--brown-soft);font-size:1rem;line-height:1.5}
.calendar-session strong{font-size:.78rem;line-height:1.28}.calendar-session time,.calendar-session>span{font-size:.7rem}.calendar-session .class-info-link{font-size:.7rem}.calendar-grid{grid-template-columns:repeat(7,minmax(150px,1fr))}@media(max-width:850px){.format-guide{grid-template-columns:1fr 1fr}.calendar-grid{min-width:1050px}}@media(max-width:600px){.format-guide{grid-template-columns:1fr}.format-card{padding:21px}.filter-controls{max-width:none}.filter-controls fieldset{padding:12px}.filter-actions{align-items:flex-start}.month-toolbar{display:block}}
/* Client timetable: colour identifies the class format, not recurrence. */
.class-colour-key{display:flex;flex-wrap:wrap;gap:8px 16px;margin:14px 0 18px;color:#3A2928;font-size:.84rem;font-weight:760}.class-colour-key span{display:inline-flex;align-items:center;gap:7px}.class-colour-key i{display:inline-block;width:16px;height:16px;border-radius:5px;border:1px solid rgba(58,41,40,.2)}
.class-colour-key .classic{background:#D8A6A5}.class-colour-key .dynamic{background:#505238}.class-colour-key .glide-boost{background:#654B3F}.class-colour-key .yin{background:#D9CEE7}.class-colour-key .senior{background:#DED0A9}.class-colour-key .sculpt{background:#CB987E}
.calendar-session{padding:11px;border:1px solid rgba(58,41,40,.18);border-radius:11px;background:#E7DED2;color:#3A2928}.calendar-session.class-classic{background:#D8A6A5}.calendar-session.class-dynamic{background:#505238;color:#fff}.calendar-session.class-glide-boost{background:#654B3F;color:#fff}.calendar-session.class-yin{background:#D9CEE7}.calendar-session.class-senior{background:#DED0A9}.calendar-session.class-sculpt{background:#CB987E}
.calendar-session.class-dynamic time,.calendar-session.class-dynamic span,.calendar-session.class-dynamic .class-info-link,.calendar-session.class-glide-boost time,.calendar-session.class-glide-boost span,.calendar-session.class-glide-boost .class-info-link{color:#fff}.calendar-session.class-dynamic .class-info-link,.calendar-session.class-glide-boost .class-info-link{border-color:#fff}
/* The manager's inline preview shows the public month without navigation or booking controls. */
html.planner-preview .notice,html.planner-preview .site-header,html.planner-preview .month-hero,html.planner-preview .format-guide,html.planner-preview .footer,html.planner-preview .request-class,html.planner-preview .booking-cart,html.planner-preview .calendar-session .book-now,html.planner-preview .calendar-session .class-info-link{display:none!important}html.portal-timetable-embed .notice,html.portal-timetable-embed .site-header,html.portal-timetable-embed .month-hero,html.portal-timetable-embed .format-guide,html.portal-timetable-embed .footer,html.portal-timetable-embed .request-class{display:none!important}html.portal-timetable-embed .month-content{padding:12px 0 28px}html.portal-timetable-embed .month-content>.shell{width:min(100%,1120px)}html.portal-timetable-embed .booking-cart{margin-bottom:0}
html.planner-preview .month-content{padding:14px 0}
html.planner-preview .month-content>.shell{width:100%;max-width:none;padding:0 12px}
html.planner-preview .month-toolbar{margin-top:0}
