:root{--ink: #1f2a27;--muted: #59645f;--paper: #faf7f1;--panel: #ffffff;--line: #d0c7ba;--leaf: #3f6b5f;--leaf-soft: #dcece5;--clay: #a9684f;--sun: #d4ad4e;--rose: #a95f72;--shadow: 0 18px 48px rgba(50, 58, 54, .13);--radius: 8px;--max: 1240px}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{background:var(--ink);color:#fff;left:16px;padding:10px 14px;position:fixed;top:-60px;z-index:20}.skip-link:focus{top:16px}.site-header{align-items:center;background:#fbfaf6eb;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;left:0;margin:0 auto;padding:20px clamp(20px,5vw,56px);position:sticky;right:0;top:0;z-index:10}.brand,.footer-brand strong{font-size:1.05rem;font-weight:650;letter-spacing:.08em}.site-nav{align-items:center;display:flex;gap:clamp(18px,3vw,36px);color:var(--muted);font-size:.95rem}.site-nav a{border-bottom:1px solid transparent;padding:4px 0}.site-nav a:hover,.site-nav a:focus-visible{border-color:var(--leaf);color:var(--ink)}.logout-button{background:#fff8f0;border:1px solid #c9b58f;border-radius:999px;color:#6f4f20;cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.06em;min-height:38px;padding:0 16px}.logout-button:hover,.logout-button:focus-visible{background:#f3dfb3;border-color:#a97c2a;color:#3a2b12}.nav-toggle{display:none}.hero,.partner-section,.section-wrap,.studio-cta,.site-footer{margin:0 auto;max-width:var(--max);padding-left:clamp(20px,5vw,56px);padding-right:clamp(20px,5vw,56px)}.hero{align-items:center;display:grid;gap:clamp(34px,5vw,80px);grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);min-height:720px;padding-bottom:clamp(56px,8vw,96px);padding-top:clamp(54px,8vw,96px)}.hero-copy{max-width:660px;position:relative;z-index:2}.section-kicker{color:var(--leaf);font-size:.76rem;font-weight:650;letter-spacing:.12em;margin:0 0 16px}h1,h2{font-weight:560;letter-spacing:0;line-height:1.02;margin:0}h1{font-size:clamp(2.55rem,5.4vw,4.9rem);font-weight:500;max-width:10ch;overflow-wrap:normal}h2{font-size:clamp(1.12rem,1.45vw,1.42rem);font-weight:380;line-height:1.32;max-width:760px}.hero-lede{color:var(--muted);font-size:clamp(1rem,1.35vw,1.16rem);margin:20px 0 32px;max-width:380px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.primary-link,.quiet-link{align-items:center;display:inline-flex;gap:8px;min-height:46px}.primary-link{background:var(--ink);border:1px solid var(--ink);border-radius:999px;color:#fff;font-size:.84rem;font-weight:650;letter-spacing:.04em;padding:0 20px}.primary-link.dark{background:var(--leaf);border-color:var(--leaf)}.primary-link:hover,.primary-link:focus-visible{transform:translateY(-1px)}.hero-media{margin:0;position:relative;z-index:1}.hero-media:before{background:var(--sun);content:"";height:44%;left:-18px;position:absolute;top:36px;width:10px;z-index:1}.hero-media img{aspect-ratio:4 / 5;border-radius:var(--radius);box-shadow:var(--shadow);height:min(620px,70vh);object-fit:cover;width:100%}.partner-section{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:20px;padding-bottom:clamp(24px,4vw,38px);padding-top:clamp(24px,4vw,38px)}.partner-section h2{max-width:440px}.partner-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,220px))}.partner-mark{align-items:center;background:#fffefa;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);display:inline-grid;gap:10px;justify-items:center;min-height:176px;padding:20px;text-decoration:none;text-align:center;transition:transform .18s ease,border-color .18s ease}.partner-mark:hover,.partner-mark:focus-visible{border-color:#24594e6b;transform:translateY(-1px)}.partner-mark span{color:var(--muted);font-size:.72rem;font-weight:650;letter-spacing:.12em}.partner-mark strong{font-size:clamp(1.18rem,2vw,1.58rem);font-weight:560}.partner-icon{align-items:end;background:linear-gradient(180deg,#fffefa,#f2e7db);border:1px solid rgba(36,89,78,.28);border-radius:999px;display:grid;gap:3px;grid-template-columns:repeat(3,8px);height:58px;justify-content:center;padding:11px 12px;width:58px}.partner-icon i{background:var(--ink);border-radius:999px 999px 3px 3px;display:block;height:28px}.partner-icon i:nth-child(2){height:38px}.portal-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:var(--max);padding:0 clamp(20px,5vw,56px) clamp(72px,10vw,118px)}.single-portal-grid{grid-template-columns:minmax(0,520px);justify-content:center}.portal-panel{background:#fffefa;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:16px;padding:clamp(18px,3vw,28px)}.portal-panel h2{color:var(--ink);font-size:clamp(1.16rem,1.8vw,1.6rem)}.section-wrap{padding-bottom:clamp(64px,9vw,112px);padding-top:clamp(64px,9vw,112px)}.form-page{min-height:calc(100vh - 74px)}.request-shell{display:grid;gap:18px;margin:0 auto;max-width:880px;padding:0 clamp(20px,5vw,56px) clamp(72px,10vw,118px)}.consultation-shell{max-width:760px}.consultation-form{background:#fffdf9;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 48px #3b302614;padding:clamp(18px,3vw,28px)}.availability-panel{background:#fffefa;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:18px;padding:clamp(18px,3vw,26px)}.availability-panel h2{color:var(--ink);font-size:clamp(1.05rem,1.5vw,1.28rem);font-weight:480}.availability-list{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.availability-item{background:var(--leaf-soft);border:1px solid rgba(36,89,78,.16);border-radius:var(--radius);display:grid;gap:4px;min-height:94px;padding:14px}.availability-item strong{font-size:.96rem;font-weight:620}.availability-item span,.availability-item small{color:var(--muted)}.request-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(20px,4vw,34px)}.day-picker{border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));margin:0;padding:16px}.day-picker legend{color:var(--muted);font-size:.75rem;padding:0 5px}.day-picker label{align-items:center;background:#fffefa;border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:8px;min-height:42px;padding:8px 10px}.slot-picker{background:#f7f5ef;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:14px;padding:16px}.slot-picker .section-kicker{margin-bottom:6px}.slot-picker span{color:var(--muted);font-size:.9rem}.slot-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.slot-button{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:grid;font:inherit;gap:2px;min-height:58px;padding:9px;text-align:left}.slot-button strong{font-size:.95rem;font-weight:650}.slot-button span{font-size:.78rem}.slot-button:hover,.slot-button:focus-visible,.slot-button.selected{border-color:#24594e9e;box-shadow:0 0 0 3px #24594e17}.slot-button:disabled{background:#eee9e3;color:#8d867c;cursor:not-allowed;opacity:.72}.section-heading{align-items:end;display:flex;gap:32px;justify-content:space-between;margin-bottom:34px}.section-heading.compact{display:block;max-width:720px}.section-heading h2{color:var(--muted);font-size:clamp(1.05rem,1.35vw,1.28rem);font-weight:380;line-height:1.36}.explore-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.explore-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:9px;min-height:210px;padding:24px}.explore-card:hover,.explore-card:focus-visible{border-color:#24594e8c;transform:translateY(-2px)}.card-icon{font-size:1.5rem}.explore-card strong{font-size:1rem;font-weight:650;letter-spacing:.05em}.explore-card span:not(.card-icon){color:var(--muted)}.explore-card em{align-self:end;color:var(--leaf);font-size:.78rem;font-style:normal;font-weight:650;letter-spacing:.04em}.happening-section,.event-list{border-top:1px solid var(--line)}.event-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:72px minmax(0,1fr) 24px;min-height:92px}.event-row:hover,.event-row:focus-visible{background:#24594e0a}.event-row time{color:var(--ink);font-size:1.45rem;line-height:1}.event-row time span{color:var(--muted);display:block;font-size:.72rem;letter-spacing:.09em;margin-bottom:6px}.event-row strong{display:block;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:520}.event-row div span{color:var(--muted)}.quiet-link{color:var(--leaf);font-size:.86rem;font-weight:650;letter-spacing:.05em;margin-top:24px}.page-intro{margin:0 auto;max-width:var(--max);padding:clamp(72px,10vw,128px) clamp(20px,5vw,56px) clamp(44px,7vw,84px)}.page-intro h1{font-size:clamp(2.1rem,4.2vw,4rem);font-weight:480;line-height:1.08;max-width:14ch}.page-intro p:not(.section-kicker){color:var(--muted);font-size:1.02rem;max-width:560px}.cms-row time{color:var(--ink);font-size:1.25rem;line-height:1}.club-list-mark{align-items:center;background:var(--leaf-soft);border:1px solid rgba(36,89,78,.18);border-radius:999px;color:var(--leaf);display:inline-flex;font-size:.78rem;font-weight:650;height:42px;justify-content:center;letter-spacing:.06em;width:42px}.club-list-mark.small{height:34px;width:34px}.cms-row time span{color:var(--muted);display:block;font-size:.7rem;letter-spacing:.09em;margin-bottom:6px}.quiet-button{color:var(--leaf);font-size:.82rem;font-weight:650;letter-spacing:.04em;white-space:nowrap}.empty-state{color:var(--muted);margin:0}.cms-shell{background:linear-gradient(135deg,#dcece5e6,#faf7f1c2 42%,#f4e2d8e6),#faf7f1;min-height:calc(100vh - 74px)}.cms-editor-open{overflow:hidden}.cms-page-head{align-items:end;display:flex;gap:24px;justify-content:space-between;margin:0 auto;max-width:var(--max);padding:42px clamp(20px,5vw,56px) 22px}.cms-page-head h1{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:520;line-height:1.1;max-width:none}.cms-page-head p:not(.section-kicker){color:var(--muted);margin:10px 0 0}.top-token-control{background:#fffffff2;border:1px solid rgba(154,139,121,.46);border-radius:var(--radius);box-shadow:0 12px 32px #3d46421a;min-width:min(360px,42vw);padding:14px}.cms-workspace{margin:0 auto;max-width:var(--max);padding:0 clamp(20px,5vw,56px) 72px}.cms-toolbar,.cms-panel,.cms-editor{background:#fffffff2;border:1px solid rgba(154,139,121,.48);border-radius:var(--radius);box-shadow:0 16px 42px #3d464217}.cms-toolbar{align-items:end;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:16px}.hidden-control{display:none}.teacher-feature-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.teacher-feature-card{background:#fffffff0;border:1px solid rgba(154,139,121,.48);border-radius:var(--radius);color:var(--ink);display:grid;gap:8px;min-height:132px;padding:16px;position:relative;text-align:left;transition:border-color .18s ease,transform .18s ease}.teacher-feature-card.has-new-request:after{background:#d84040;border:2px solid #fffdf9;border-radius:999px;box-shadow:0 0 0 4px #d840401f;content:"";height:13px;position:absolute;right:14px;top:14px;width:13px}.teacher-feature-card:hover,.teacher-feature-card:focus-visible,.teacher-feature-card.active{border-color:#3f6b5fa8;transform:translateY(-1px)}.teacher-feature-card.active{background:linear-gradient(135deg,#dcece5fa,#f6e7dee6);box-shadow:inset 0 0 0 1px #3f6b5f2e,0 12px 30px #3f6b5f1a}.teacher-feature-card span{color:var(--leaf);font-size:.78rem;font-weight:700;letter-spacing:.08em}.teacher-feature-card strong{font-size:1rem;font-weight:650}.teacher-feature-card small{color:var(--muted);font-size:.88rem;line-height:1.4}.request-dot{background:#d84040;border-radius:999px;box-shadow:0 0 0 4px #d840401f;display:inline-block;height:9px;margin-right:8px;vertical-align:middle;width:9px}.reschedule-row.has-new-request{border-color:#d8404057}.cms-token-control,.cms-filter-control,.cms-form label{display:grid;gap:7px}.cms-token-control span,.cms-filter-control span,.cms-form span{color:var(--muted);font-size:.75rem;letter-spacing:.02em}.cms-form input,.cms-form select,.cms-form textarea,.cms-toolbar input,.cms-toolbar select,.top-token-control input{background:#fffdf9;border:1px solid #cfc4b6;border-radius:6px;color:var(--ink);font:inherit;min-height:42px;padding:9px 11px}.token-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.cms-message{color:var(--muted);font-size:.88rem;min-height:22px;margin:10px 0}.cms-message[data-tone=success]{color:var(--leaf)}.cms-message[data-tone=error]{color:#a35d65}.cms-message[data-tone=muted]{color:var(--muted)}.cms-panel{overflow:hidden}.cms-table-head,.cms-row{display:grid;gap:16px;grid-template-columns:minmax(240px,1fr) 128px 110px 104px 240px}.teacher-toolbar{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.download-button{min-height:42px;white-space:nowrap}.teacher-table-head,.teacher-row{grid-template-columns:minmax(240px,1fr) 140px 120px 132px minmax(180px,.8fr)}.teacher-table-head[data-table-type=booking],.teacher-row[data-type=booking],.teacher-row[data-type=override]{grid-template-columns:minmax(220px,1fr) 140px 120px 132px 118px minmax(160px,.8fr)}.teacher-table-head[data-table-type=availability],.teacher-row[data-type=availability]{grid-template-columns:minmax(150px,.9fr) 120px 132px 92px 112px minmax(240px,1fr)}.teacher-table-head[data-table-type=roster],.teacher-row[data-type=roster]{grid-template-columns:minmax(170px,1fr) 140px 130px minmax(190px,1fr) 110px 80px minmax(240px,1.2fr)}.teacher-table-head[data-table-type=monthlyCount],.teacher-row[data-type=monthlyCount]{grid-template-columns:minmax(200px,1fr) 110px 90px 110px minmax(220px,1fr) minmax(280px,1.2fr)}.teacher-row[data-type=availability] .status-pill{justify-self:start}.booking-calendar-shell{display:grid;gap:14px;grid-template-columns:minmax(980px,1fr);padding:14px}.booking-calendar{display:grid;gap:10px;grid-template-columns:repeat(7,minmax(130px,1fr))}.calendar-weekday{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.08em;padding:0 4px 2px;text-transform:uppercase}.calendar-day{background:#fffdf9;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);display:grid;gap:8px;grid-template-rows:auto 1fr;min-height:156px;padding:12px;text-align:left;transition:border-color .18s ease,transform .18s ease}.calendar-day:hover,.calendar-day:focus-visible,.calendar-day.active{border-color:#3f6b5fa3;transform:translateY(-1px)}.calendar-day.active{background:#e8f2ed}.empty-calendar-day{background:transparent;border-style:dashed}.calendar-day strong{font-size:.86rem;font-weight:650}.calendar-day>span{align-self:start;color:var(--muted);font-size:.88rem;line-height:1.45}.calendar-detail-panel{background:#fffefa;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:12px;padding:16px}.calendar-detail-panel>span{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-detail-panel h3{font-size:1rem;margin:0}.calendar-detail-list,.calendar-detail-item{display:grid}.calendar-detail-list{gap:10px}.calendar-detail-item{border-top:1px solid var(--line);gap:3px;padding-top:10px}.calendar-detail-item:first-child{border-top:0;padding-top:0}.calendar-detail-item span{font-size:.9rem;font-weight:620}.calendar-detail-item small{color:var(--muted);font-size:.76rem}.availability-editor,.assignment-editor,.invite-editor,.attendance-editor,.credit-editor{align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:12px;grid-template-columns:minmax(140px,1fr) 130px 130px 130px auto;margin-bottom:14px;padding:16px}.assignment-editor{grid-template-columns:minmax(140px,1.3fr) 150px 150px 130px 130px auto;margin-bottom:14px}.invite-editor{grid-template-columns:minmax(140px,1.1fr) minmax(180px,1.2fr) minmax(180px,1fr) auto}.attendance-editor{grid-template-columns:minmax(140px,1fr) minmax(180px,1.1fr) 150px 120px 130px minmax(160px,1fr) auto}.credit-editor{grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr) 140px minmax(180px,1fr) auto}.availability-editor label,.assignment-editor label,.invite-editor label,.attendance-editor label,.credit-editor label{display:grid;gap:7px}.availability-editor span,.assignment-editor span,.invite-editor span,.attendance-editor span,.credit-editor span{color:var(--muted);font-size:.75rem}.availability-editor input,.availability-editor select,.assignment-editor input,.assignment-editor select,.invite-editor input,.invite-editor select,.attendance-editor input,.attendance-editor select,.credit-editor input,.credit-editor select{background:#fffefa;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;min-height:42px;padding:9px 11px}.credit-result{background:#fffefa;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:4px;margin-top:14px;padding:18px}.credit-result span,.credit-result small{color:var(--muted)}.credit-result strong{font-size:clamp(2rem,6vw,4rem);line-height:1}.student-account-result{display:grid;gap:14px;margin-top:14px;width:100%}.student-portal-shell{max-width:1080px;width:100%}.student-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-section{background:#fffdf9;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px;padding:16px;width:100%}.account-section-head{align-items:center;display:flex;justify-content:space-between}.student-profile-card .account-section-head{justify-self:start;min-width:0;width:fit-content}.account-section-head span{color:var(--muted);font-size:.75rem;letter-spacing:.02em;text-transform:uppercase}.student-profile-grid{width:100%}.student-profile-summary,.student-profile-form{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.student-profile-card{justify-self:stretch}.student-profile-item{background:#dcece56b;border:1px solid rgba(63,107,95,.18);border-radius:var(--radius);display:grid;gap:5px;min-height:96px;padding:12px}.student-profile-item span,.student-view-switch span,.student-selected-lesson span{color:var(--muted);font-size:.74rem;letter-spacing:.02em;text-transform:uppercase}.student-profile-item strong{color:var(--ink);font-size:1rem;font-weight:560;overflow-wrap:anywhere}.student-profile-item input{background:transparent;border:0;border-bottom:1px solid rgba(63,107,95,.28);color:var(--ink);font:inherit;min-height:32px;outline:0;width:100%}.student-profile-item input:focus-visible{border-bottom-color:var(--leaf)}.readonly-profile-item{background:#f6e7dea3}.student-profile-actions{align-items:center;display:flex;grid-column:1 / -1;justify-content:flex-end}.student-view-switch{align-items:center;display:inline-flex;gap:8px}.student-view-switch select{background:#fffdf9;border:1px solid #cfc4b6;border-radius:999px;color:var(--ink);font:inherit;min-height:34px;padding:0 28px 0 10px}.student-schedule,.student-schedule-list,.student-availability-slots{display:grid;gap:8px}.student-lesson-row,.student-slot-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) 130px 90px 120px minmax(220px,auto);padding:12px;text-align:left}.student-lesson-row>span,.student-slot-button>span{align-items:center;align-self:stretch;display:grid;min-height:42px}.student-lesson-row .status-pill,.student-slot-button .status-pill{align-self:center}.student-lesson-status{justify-items:start}.student-lesson-status .status-pill{min-width:96px}.student-slot-button{color:var(--ink);cursor:pointer}.student-slot-button:hover,.student-slot-button:focus-visible{border-color:#3f6b5f9e;box-shadow:0 10px 24px #3f6b5f1a}.student-lesson-row small,.student-slot-button small{color:var(--muted);display:block}.student-slot-button>strong{color:var(--leaf);font-size:.82rem;justify-self:end;text-transform:uppercase}.student-lesson-actions{align-items:center;align-self:stretch;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pending-request-note{color:var(--rose);font-size:.78rem;font-weight:650;text-transform:uppercase}.green-cancelled-pill{background:var(--leaf-soft);border-color:#3f6b5f57;color:var(--leaf);font-weight:700}.student-lesson-actions button:disabled,.student-calendar-day button:disabled{cursor:not-allowed;opacity:.52}.student-calendar{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(110px,1fr))}.student-calendar-month{display:grid;gap:10px}.student-calendar-month h3{font-size:1rem;font-weight:560;margin:6px 0 0}.student-calendar-day{background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:6px;min-height:118px;padding:10px}.student-calendar-day>strong{color:var(--muted);font-size:.78rem}.student-calendar-day button{background:var(--leaf-soft);border:1px solid rgba(63,107,95,.22);border-radius:6px;color:var(--leaf);cursor:pointer;font:inherit;font-size:.8rem;min-height:32px}.student-selected-lesson{background:#f6e7dea3;border:1px solid rgba(169,95,114,.18);border-radius:var(--radius);display:grid;gap:4px;margin-bottom:10px;padding:12px}.student-slot-button{grid-template-columns:minmax(160px,1fr) 130px minmax(160px,1fr) auto}.student-cancel-form{display:grid;gap:12px}.student-cancel-form label{display:grid;gap:8px}.student-cancel-form textarea{background:#fffdf9;border:1px solid #cfc4b6;border-radius:var(--radius);color:var(--ink);font:inherit;min-height:118px;padding:12px;resize:vertical}.account-list{display:grid;gap:8px}.account-row{border-top:1px solid var(--line);display:grid;gap:3px;padding-top:10px}.account-row:first-child{border-top:0;padding-top:0}.account-row span,.compact-empty{color:var(--muted);font-size:.9rem}.cms-panel[data-category=clubs] .cms-table-head,.cms-panel[data-category=clubs] .cms-row{grid-template-columns:minmax(240px,1fr) 128px 104px 240px}.cms-panel[data-category=clubs] .cms-table-head span:nth-child(3),.cms-panel[data-category=clubs] .cms-row>span:nth-child(3){display:none}.cms-table-head{background:#f7f5ef;border-bottom:1px solid var(--line);color:var(--muted);font-size:.74rem;letter-spacing:.04em;padding:12px 18px;text-transform:uppercase}.cms-list{display:grid}.cms-row{align-items:center;border-bottom:1px solid var(--line);min-height:68px;padding:13px 18px}.cms-row:last-child{border-bottom:0}.cms-row:hover{background:#3f6b5f13}.cms-row strong{display:block;font-size:.98rem;font-weight:520}.cms-row span,.cms-row-main span{color:var(--muted);font-size:.88rem}.row-note{display:block;max-width:280px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.availability-note{max-width:none;overflow:visible;text-align:left;text-overflow:clip;white-space:normal;word-break:break-word}.monthly-count-breakdown{max-width:none;text-align:left}.monthly-note-form{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.monthly-note-form input{background:#fffefa;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;min-height:34px;padding:7px 10px;width:100%}.roster-row>strong,.roster-row>span,.roster-lesson-time{overflow:visible;white-space:normal;word-break:break-word}.lesson-time-stack{display:grid;gap:4px}.lesson-time-stack strong{color:var(--ink);font-size:.9rem;font-weight:560;line-height:1.25}.lesson-time-stack small{color:var(--muted);font-size:.82rem}.cms-row-main{min-width:0}.cms-row-main strong,.cms-row-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-row-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.reschedule-actions{flex-wrap:wrap}.status-select{background:var(--leaf-soft);border:1px solid rgba(63,107,95,.34);border-radius:999px;color:var(--leaf);font:inherit;font-size:.8rem;min-height:34px;padding:0 28px 0 11px}.check-in-select{background:#e8f7ef;border-color:#277e507a;color:#256b43;font-weight:650}.check-in-select[data-status=present]{background:#c9f0d7;border-color:#1c8b4694;color:#176b36}.check-in-select[data-status=excused]{background:#dff3c6;border-color:#62912f8a;color:#52732a}.check-in-select[data-status=absent]{background:#cfe5d8;border-color:#3a74568f;color:#315f47}.status-pill{align-self:center;background:#edf3fb;border:1px solid rgba(71,105,164,.32);border-radius:999px;color:#496b9a;display:inline-flex;font-size:.8rem;justify-content:center;line-height:1;min-height:32px;padding:9px 12px;width:fit-content}.status-pill[data-status=pending]{background:#f6efe8;color:#936f5e}.status-pill[data-status=declined]{background:#f7ecee;color:#a35d65}.status-pill[data-status=regular]{background:#d8ecff;border-color:#2d71bc80;color:#245f9f}.status-pill[data-status=rescheduled]{background:#cddfff;border-color:#395cb080;color:#334f9a}.status-pill[data-status=cancelled]{background:#b9d2ee;border-color:#31699e80;color:#285f91}.status-select[data-status=draft]{background:#f6efe8;color:#936f5e}.status-select[data-status=archived]{background:#eee9e3;color:#756b61}.auto-status-note{color:var(--muted);display:block;font-size:.7rem;margin-top:4px}.secondary-button,.icon-button,.quiet-button{align-items:center;background:transparent;border:0;cursor:pointer;display:inline-flex;font:inherit;justify-content:center}.secondary-button{border:1px solid var(--line);border-radius:999px;color:var(--ink);min-height:42px;padding:0 15px}.secondary-button.compact{font-size:.84rem;min-height:34px;padding:0 12px}.quiet-button{color:var(--leaf);font-size:.82rem;font-weight:650;letter-spacing:.04em;min-height:34px;padding:0 4px;white-space:nowrap}.quiet-button.danger{color:#a35d65}.status-select[data-status=cancelled],.status-select[data-status=declined]{background:#f7ecee;color:#a35d65}.status-select[data-status=confirmed]{background:var(--leaf-soft);color:var(--leaf)}.status-select[data-status=completed],.status-select[data-status=inactive]{background:#eee9e3;color:#756b61}.cms-editor-backdrop{background:#18201d52;bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:30}.cms-editor-backdrop[hidden]{display:none}.cms-editor{border-bottom:0;border-radius:0;border-right:0;border-top:0;box-shadow:-18px 0 45px #22272324;display:grid;grid-template-rows:auto minmax(0,1fr);max-width:520px;min-height:100vh;overflow:hidden;width:min(100vw,520px)}.cms-editor-head{align-items:start;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:22px}.cms-editor-head h2{font-size:1.35rem;font-weight:520}.icon-button{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:1.4rem;height:36px;line-height:1;width:36px}.cms-form{align-self:start;display:grid;gap:14px;overflow:auto;padding:22px}.form-pair{display:grid;gap:12px;grid-template-columns:1fr 1fr}.cms-form textarea{resize:vertical}.cms-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding-bottom:10px}.studio-cta{align-items:center;background:var(--leaf-soft);border:1px solid rgba(36,89,78,.18);border-radius:var(--radius);display:grid;gap:32px;grid-template-columns:1fr .82fr;margin-bottom:clamp(64px,9vw,112px);padding-bottom:clamp(34px,5vw,56px);padding-top:clamp(34px,5vw,56px)}.studio-cta h2{font-size:clamp(1.65rem,3vw,3rem)}.studio-cta p{color:var(--muted);font-size:1.08rem;margin:14px 0 24px}.site-footer{border-top:1px solid var(--line);display:grid;gap:44px;grid-template-columns:1fr 1.6fr;padding-bottom:52px;padding-top:52px}.footer-brand{display:grid;gap:8px}.footer-brand span,.site-footer a{color:var(--muted)}.site-footer nav{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer nav div{display:grid;gap:8px}.site-footer nav strong{font-size:.76rem;font-weight:650;letter-spacing:.08em}.site-footer a:hover,.site-footer a:focus-visible{color:var(--ink)}@media(max-width:920px){.hero{grid-template-columns:1fr;min-height:auto}.hero-media{max-width:720px}.hero-media img{aspect-ratio:16 / 10;height:auto}.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-cta,.site-footer{grid-template-columns:1fr}.cms-page-head{align-items:stretch;display:grid}.top-token-control{min-width:0;width:100%}.cms-toolbar,.teacher-toolbar,.teacher-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-editor,.invite-editor,.attendance-editor,.credit-editor,.assignment-editor{grid-template-columns:1fr 1fr}.cms-toolbar .primary-link{justify-self:start}.cms-panel{overflow-x:auto}.cms-table-head,.cms-row{min-width:760px}.teacher-table-head,.teacher-row{min-width:860px}.teacher-table-head[data-table-type=availability],.teacher-row[data-type=availability]{min-width:960px}.teacher-table-head[data-table-type=roster],.teacher-row[data-type=roster]{min-width:1060px}.teacher-table-head[data-table-type=monthlyCount],.teacher-row[data-type=monthlyCount]{min-width:980px}.student-schedule{overflow-x:auto}.student-lesson-row{min-width:720px}.student-slot-button{min-width:680px}.student-calendar{min-width:820px}}@media(max-width:680px){.site-header{padding-bottom:16px;padding-top:16px}.nav-toggle{align-items:center;background:transparent;border:1px solid var(--line);border-radius:999px;display:grid;gap:5px;height:38px;justify-content:center;padding:0;width:44px}.nav-toggle span{background:var(--ink);display:block;height:1px;width:16px}.site-nav{background:var(--paper);border-bottom:1px solid var(--line);display:none;gap:0;left:0;padding:8px 20px 18px;position:absolute;right:0;top:71px}.site-nav.open{display:grid}.site-nav a{padding:12px 0}.hero,.partner-section,.section-wrap{padding-bottom:56px;padding-top:56px}.partner-mark{min-width:0;width:100%}.hero-copy{text-align:left}h1{font-size:clamp(2.45rem,12vw,3.7rem)}.explore-grid,.availability-list,.portal-grid,.student-profile-summary,.student-profile-form,.teacher-feature-grid{grid-template-columns:1fr}.explore-card{min-height:176px}.event-row{grid-template-columns:58px minmax(0,1fr) 20px;min-height:84px}.form-pair{grid-template-columns:1fr}.cms-page-head{align-items:start;display:grid;padding-top:32px}.cms-toolbar{align-items:stretch;grid-template-columns:1fr}.token-row{grid-template-columns:1fr}.cms-editor{max-width:none;width:100vw}.studio-cta{margin-left:20px;margin-right:20px}.site-footer nav{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.primary-link,.explore-card{transition:border-color .18s ease,transform .18s ease}}
