:root{color-scheme:light;--ink: #17253f;--ink-soft: #536078;--paper: #f6f7fb;--surface: #ffffff;--navy: #17345f;--blue: #315fbd;--blue-soft: #eaf0ff;--coral: #f26f5b;--coral-soft: #fff0ec;--mint: #dff5ed;--border: #dce2ed;--focus: #8eb0ff;--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: .75rem;--radius: 1.25rem;--radius-lg: 2rem;--shadow: 0 1.5rem 4rem rgb(23 37 63 / 10%);--content: 74rem}*{box-sizing:border-box}html{font-family:var(--font);background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{margin:0;min-width:20rem;min-height:100vh;font-size:1rem;line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-frame{min-height:100vh;overflow:hidden}.site-header{max-width:var(--content);margin:0 auto;min-height:5rem;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;position:relative}.brand{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}.brand picture{display:block}.brand-logo{display:block;width:3rem;height:auto}.menu-button{border:0;background:transparent;color:var(--ink);font-weight:750;padding:.7rem}.site-nav{display:none;position:absolute;z-index:10;top:4.5rem;left:1rem;right:1rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.site-nav.is-open{display:grid}.site-nav a{padding:.75rem 1rem;text-decoration:none;font-weight:650;border-radius:.7rem}.site-nav a.active:not(.button){color:var(--blue);background:var(--blue-soft)}.button{min-height:3.15rem;padding:.78rem 1.25rem;border:1px solid var(--navy);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;text-decoration:none;font-weight:750;line-height:1.2;box-shadow:0 .65rem 1.5rem #17345f29}.button:hover{background:#244a7e}.button-small{min-height:2.65rem;padding:.62rem 1rem!important}.button-wide{width:100%}.text-link{color:var(--blue);font-weight:750;text-decoration:none}.text-button{border:0;background:transparent;color:var(--blue);font-weight:750;padding:.75rem}.eyebrow{margin:0 0 .75rem;color:var(--coral);font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin-top:0;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,10vw,5.8rem)}h2{font-size:clamp(2rem,6vw,3.35rem)}h3{font-size:1.5rem}.hero{max-width:var(--content);margin:0 auto;padding:clamp(3rem,8vw,7.5rem) 1.25rem 4rem;display:grid;gap:3rem;align-items:center}.hero-copy h1{max-width:12ch;margin-bottom:1.4rem}.hero-lead{max-width:38rem;color:var(--ink-soft);font-size:1.15rem}.hero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}.microcopy{color:var(--ink-soft);font-size:.85rem;margin-top:1rem}.section,.page{max-width:var(--content);margin:0 auto;padding:4rem 1.25rem}.section-heading{max-width:42rem;margin-bottom:2rem}.teacher-grid{display:grid;gap:1.25rem}.teacher-card{padding:1.25rem;display:grid;grid-template-columns:5rem 1fr;gap:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.teacher-card h3{margin-bottom:.4rem}.teacher-card p:not(.eyebrow){color:var(--ink-soft)}.portrait,.choice-avatar{display:grid;place-items:center;color:var(--navy);background:linear-gradient(145deg,var(--mint),var(--blue-soft));font-weight:850}.portrait{width:5rem;height:6.5rem;border-radius:1rem;font-size:1.35rem}.compact-section{margin-bottom:4rem;border-radius:var(--radius-lg);background:var(--navy);color:#fff}.compact-section .eyebrow{color:#ff998a}.price-pills{display:grid;gap:.75rem}.price-pills a{padding:1rem 1.2rem;display:flex;justify-content:space-between;border:1px solid rgb(255 255 255 / 20%);border-radius:1rem;background:#ffffff14;color:#fff;text-decoration:none}.page-intro{max-width:52rem;padding:2rem 0 3rem}.page-intro h1{margin-bottom:1.5rem}.lead{max-width:44rem;color:var(--ink-soft);font-size:1.15rem}.split-story{display:grid;gap:2rem;padding:2rem 0 4rem}.split-story p{color:var(--ink-soft)}.principles{padding:1rem 1.5rem;border-left:3px solid var(--coral);background:var(--coral-soft);border-radius:0 var(--radius) var(--radius) 0}.principles p{color:var(--ink);font-weight:750}.principles span{color:var(--coral);margin-right:1rem}.lesson-list{border-top:1px solid var(--border)}.lesson-row{padding:2rem 0;display:grid;grid-template-columns:2.4rem 1fr;gap:1rem;border-bottom:1px solid var(--border)}.lesson-number{color:var(--coral);font-weight:800}.lesson-row h2{font-size:1.8rem;margin-bottom:.5rem}.lesson-row p{color:var(--ink-soft)}.lesson-duration{color:var(--blue);font-weight:750}.lesson-action{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:1rem}.note-panel{margin-top:3rem;padding:1.5rem;border-radius:var(--radius);background:var(--blue-soft)}.note-panel p{margin-bottom:0;color:var(--ink-soft)}.booking-layout{display:grid;gap:1.25rem;align-items:start}.booking-form,.booking-summary,.contact-card,.contact-form,.auth-card,.dashboard-panel,.confirmation-card{padding:clamp(1.25rem,4vw,2rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.progress-label{margin-bottom:2rem;padding-bottom:1rem;display:flex;justify-content:space-between;border-bottom:4px solid var(--blue-soft);font-weight:750}fieldset{margin:0 0 2rem;padding:0;border:0}fieldset:disabled{opacity:.55}legend{margin-bottom:1rem;font-size:1.15rem;font-weight:800}.option-grid,.option-stack,.field-grid{display:grid;gap:.8rem}.choice-card,.choice-row{padding:1rem;display:flex;align-items:center;gap:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.choice-card.selected,.choice-row.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue)}.choice-card input,.choice-row input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.choice-avatar{width:2.8rem;height:2.8rem;border-radius:50%;flex:0 0 auto}.choice-avatar:has(img){width:4rem;height:5rem;overflow:hidden;border-radius:.8rem;background:var(--paper)}.choice-avatar img,.portrait img,.account-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 22%}.choice-avatar img{border-radius:.8rem}.account-photo img{border-radius:.9rem}.choice-card span:last-child,.choice-row span{display:grid}.choice-card small,.choice-row small{color:var(--ink-soft)}.choice-row b{margin-left:auto}.month-heading{margin-bottom:.7rem;display:grid;grid-template-columns:2.7rem 1fr 2.7rem;align-items:center;text-align:center}.month-heading button{width:2.7rem;height:2.7rem;border:1px solid var(--border);border-radius:.7rem;background:#fff;color:var(--navy);font-size:1.2rem}.calendar-legend{margin-bottom:.7rem;display:flex;justify-content:center;gap:1rem;color:var(--ink-soft);font-size:.78rem}.calendar-legend span{display:inline-flex;align-items:center;gap:.35rem}.month-calendar{padding:.6rem;border:1px solid var(--border);border-radius:1rem;background:#fff}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-weekdays span{padding:.3rem 0;text-align:center;color:var(--ink-soft);font-size:.68rem;text-transform:uppercase}.calendar-day{aspect-ratio:1;min-width:0;padding:.2rem;display:grid;place-content:center;justify-items:center;gap:.2rem;border:1px solid transparent;border-radius:.65rem;background:transparent;color:var(--ink)}.calendar-day:not(:disabled):hover{background:var(--paper)}.calendar-day:disabled{opacity:1;color:#9aa3b2}.calendar-day.selected{border-color:var(--coral);background:var(--coral-soft);color:#9c2f22}.calendar-day:has(.status-dot.full){pointer-events:none;cursor:not-allowed}.status-dot{width:.45rem;height:.45rem;display:inline-block;border-radius:50%}.status-dot.available{background:#2aa579}.status-dot.full{background:#db5c55}.timezone-note{margin:1rem 0 .6rem;padding:.65rem .8rem;border-radius:.65rem;background:var(--paper);color:var(--ink-soft);font-size:.82rem}.slot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}.slot-button{padding:.7rem;display:grid;gap:.05rem;text-align:center;border:1px solid var(--border);border-radius:.7rem;background:#fff;color:var(--ink)}.slot-button small{color:var(--ink-soft)}.slot-button.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue)}.empty-slots{margin:0;padding:1rem;border-radius:var(--radius-sm);background:var(--paper);color:var(--ink-soft)}.purchase-fieldset{padding-top:.25rem}.purchase-options{display:grid;gap:.75rem}.purchase-card{padding:1rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.purchase-card:has(input:disabled){cursor:not-allowed;opacity:.62}.purchase-card.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue)}.purchase-card input{width:1.05rem;height:1.05rem;accent-color:var(--blue)}.purchase-card>span{display:grid;gap:.15rem}.purchase-card strong{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.purchase-card strong em{padding:.13rem .42rem;border-radius:999px;background:#dff7eb;color:#126344;font-size:.7rem;font-style:normal;letter-spacing:.02em}.purchase-card small{color:var(--ink-soft);font-weight:500}.purchase-card>b{display:grid;gap:.05rem;text-align:right;white-space:nowrap}.purchase-card s,.booking-summary s{color:var(--ink-soft);font-size:.75rem;font-weight:500}.package-schedule{margin-top:.85rem;padding:1rem;border:1px solid #bdd9cf;border-radius:var(--radius-sm);background:#f4fbf8}.package-schedule>p:first-child{margin-top:0}.package-schedule ol{margin:.7rem 0 1rem;padding:0;display:grid;gap:.55rem;list-style:none}.package-schedule li{display:grid;grid-template-columns:4.5rem 1fr;gap:.05rem .7rem;padding-bottom:.55rem;border-bottom:1px solid #d5e8e1}.package-schedule li>span{grid-row:1 / 3;color:var(--ink-soft);font-size:.78rem}.package-schedule li>small{color:var(--ink-soft)}.acknowledgement{margin-top:1rem;display:grid;grid-template-columns:1.1rem 1fr;align-items:start;gap:.65rem;font-size:.9rem}.acknowledgement input{width:1.1rem;height:1.1rem;margin-top:.18rem;accent-color:var(--blue)}.package-reminder{margin-top:1rem;padding:.9rem 1rem;border-radius:var(--radius-sm);background:var(--blue-soft)}.package-reminder p{margin:.25rem 0 0;color:var(--ink-soft);font-size:.85rem}.summary-schedule{align-items:flex-start}.summary-schedule dd{display:grid;gap:.35rem;font-size:.78rem}.booking-summary dd s,.booking-summary dd small{display:block}.booking-state{min-height:50vh;display:grid;place-items:center;color:var(--ink-soft)}.booking-error{place-items:start;align-content:center}.booking-error h1{font-size:clamp(2.2rem,8vw,4rem);margin-bottom:.5rem}label{display:grid;gap:.45rem;color:var(--ink);font-weight:700}input,select,textarea{width:100%;padding:.8rem .9rem;border:1px solid #bcc6d7;border-radius:.7rem;background:#fff;color:var(--ink);font-size:1rem}textarea{resize:vertical}.field-note,.secure-note{color:var(--ink-soft);font-size:.85rem}.optional{color:var(--ink-soft);font-weight:400}.booking-policy-note{margin:1rem 0 0;color:var(--ink-soft);font-size:.78rem;line-height:1.55}.booking-policy-note a{color:var(--navy);text-underline-offset:.2em}.form-actions{margin-top:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.booking-summary h2{font-size:1.8rem}dl{margin:0}dl div{padding:.85rem 0;display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border)}dt{color:var(--ink-soft)}dd{margin:0;font-weight:750;text-align:right}.narrow-page{max-width:54rem}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{padding:1.35rem 2.5rem 1.35rem 0;cursor:pointer;font-size:1.1rem;font-weight:750}.faq-list details p{margin-top:0;padding:0 1rem 1.4rem 0;color:var(--ink-soft)}.contact-grid{display:grid;gap:1.25rem}.contact-card{background:var(--navy);color:#fff}.contact-card .eyebrow{color:#ff998a}.contact-card h2{font-size:clamp(1.5rem,6vw,2.5rem)}.contact-card p:last-child{color:#d5def0}.contact-form,.auth-card form{display:grid;gap:1rem}.auth-page{min-height:70vh;display:grid;place-items:center}.auth-card{width:min(100%,30rem)}.auth-card h1{font-size:3rem}.auth-card>p:not(.eyebrow){color:var(--ink-soft)}.auth-card .text-link{display:inline-block;margin-top:1.5rem}.form-error{margin:0;padding:.75rem;border-radius:.7rem;background:var(--coral-soft);color:#8a2f24;font-size:.9rem}.confirmation-card{text-align:center}.confirmation-icon{margin:0 auto 1.25rem;width:4rem;height:4rem;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#167153;font-size:1.7rem;font-weight:900}.confirmation-card h1{font-size:clamp(2.5rem,8vw,4rem)}.confirmation-details{margin:2rem auto;max-width:34rem;text-align:left}.cancellation-button{width:100%;margin-bottom:1rem;padding:.85rem 1rem}.email-delivery-status{margin:1rem 0;padding:.9rem 1rem;border:1px solid #b9d9c9;border-radius:.7rem;background:#f2fbf6;color:#1b5b3a}.email-delivery-status.warning{border-color:#ead48c;background:#fff9df;color:#5f4b08}.email-delivery-status.warning p{margin-top:0}.package-confirmation-list,.package-cancellation-list{margin:1.5rem 0;padding:0;display:grid;gap:.65rem;list-style:none;text-align:left}.package-confirmation-list li,.package-cancellation-list li{padding:.9rem 1rem;display:grid;gap:.15rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.package-confirmation-list small,.package-cancellation-list small{color:var(--ink-soft)}.refund-explanation{padding:1rem;border-radius:var(--radius-sm);background:var(--paper);text-align:left}.admin-page{max-width:var(--content);margin:0 auto;padding:3rem 1.25rem 5rem}.admin-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-heading h1{margin-bottom:.4rem;font-size:clamp(2.5rem,8vw,4.5rem)}.admin-heading p:last-child{color:var(--ink-soft)}.admin-notice{padding:.8rem 1rem;border-radius:var(--radius-sm);background:var(--blue-soft);color:var(--navy)}.account-banner{margin:1rem 0;padding:1rem 1.15rem;display:grid;grid-template-columns:4.5rem 1fr;align-items:center;gap:1rem;border:1px solid #a9c8bc;border-radius:var(--radius);background:linear-gradient(135deg,#eaf8f2,#fff)}.account-photo{width:4.5rem;height:5.5rem;display:grid;place-items:center;overflow:hidden;border-radius:.9rem;background:var(--navy);color:#fff;font-weight:850}.account-banner>div:nth-child(2){display:grid;line-height:1.35}.account-banner span,.account-banner small{color:var(--ink-soft)}.account-banner strong{font-size:1.15rem}.photo-upload-button{grid-column:1 / -1;padding:.65rem .9rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--navy);border-radius:999px;background:#fff;color:var(--navy);cursor:pointer;font-weight:750}.photo-upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.admin-booking-list{margin-top:1rem;display:grid;gap:.75rem}.admin-booking{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.admin-booking>div:first-child{display:flex;justify-content:space-between;gap:1rem}.admin-booking h3{margin:.7rem 0 .25rem;font-size:1.15rem}.admin-booking p{margin:.2rem 0;color:var(--ink-soft)}.student-message{padding:.6rem;background:var(--paper);border-radius:.5rem}.admin-booking-actions{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.6rem}.booking-status-actions{display:flex;align-items:center;gap:.45rem}.archive-booking-button{width:2rem;height:2rem;display:inline-grid;place-items:center;border:1px solid #e2a9b1;border-radius:50%;background:#fff;color:#8b3440;font-size:1.25rem;line-height:1;cursor:pointer}.archive-booking-button:hover{border-color:#9c2f3d;background:#fff2f4}.archive-booking-button:focus-visible{outline:3px solid rgba(156,47,61,.2);outline-offset:2px}.danger-button{padding:.6rem .8rem;border:1px solid #d05a4b;border-radius:.6rem;background:#fff;color:#9c2f22;font-weight:700}.empty-admin{color:var(--ink-soft)}.admin-grid{margin-top:1rem;display:grid;gap:1rem}.price-panel{margin-bottom:1rem;display:grid;gap:1rem}.price-panel h2{margin-bottom:.5rem;font-size:1.8rem}.price-form{display:grid;gap:.7rem}.currency-input{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.5rem}.currency-input b{font-size:1.2rem}.availability-group+.availability-group{margin-top:1.5rem}.availability-group h3{margin-bottom:.5rem}.availability-form{margin:1rem 0 1.5rem;padding:.9rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;border-radius:.7rem;background:var(--paper)}.availability-form .button{grid-column:1 / -1}.weekday-picker{grid-column:1 / -1;min-width:0;margin:0;padding:0;border:0}.weekday-picker legend{margin-bottom:.5rem;font-size:.85rem;font-weight:750;color:var(--ink)}.weekday-picker{display:flex;flex-wrap:wrap;gap:.45rem}.weekday-picker legend{flex-basis:100%}.weekday-option{min-width:3rem;min-height:2.55rem;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink-soft);cursor:pointer;font-size:.82rem;font-weight:750}.weekday-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.weekday-option.selected{border-color:#3b8b73;background:var(--mint);color:#125b47}.weekday-option:has(input:focus-visible){outline:3px solid rgba(59,139,115,.2);outline-offset:2px}.availability-row,.blocked-list>div{padding:.65rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border)}.availability-actions{display:flex;align-items:center;gap:.6rem}.availability-row>span{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.schedule-badge{padding:.18rem .45rem;border-radius:999px;font-size:.7rem;text-transform:uppercase}.schedule-badge.trial{background:var(--coral-soft);color:#8a2f24}.schedule-badge.regular{background:var(--blue-soft);color:var(--navy)}.danger-text{color:#9c2f22}.toggle-button{min-width:5rem;padding:.45rem .7rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink-soft)}.toggle-button.active{border-color:#58a68d;background:var(--mint);color:#12634c}.blocked-form{display:grid;gap:.8rem}.zoom-editor{margin-top:.8rem;padding:.8rem;display:grid;gap:.6rem;border-radius:.7rem;background:var(--paper)}.status.hold,.status.pending_payment{color:#765000;background:#fff1bd}.status.cancelled,.status.expired{color:#7d3440;background:#ffe5e9}.status.completed{color:#314d7d;background:var(--blue-soft)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:2rem 0}.stats-grid div{padding:1rem;display:grid;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.stats-grid span{color:var(--ink-soft);font-size:.8rem}.stats-grid strong{font-size:1.8rem}.panel-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}.panel-heading h2{margin:0;font-size:1.6rem}.status{width:fit-content;padding:.25rem .55rem;border-radius:999px;font-size:.8rem;font-weight:800;text-transform:uppercase}.status.paid{color:#12634c;background:var(--mint)}.site-footer{max-width:var(--content);margin:3rem auto 0;padding:3rem 1.25rem;display:grid;gap:1.5rem;border-top:1px solid var(--border);color:var(--ink-soft)}.site-footer strong{color:var(--ink)}.site-footer p{margin:.3rem 0 0}.footer-links{display:flex;flex-wrap:wrap;gap:1rem}.footer-links a{font-weight:650}.policy-intro{padding-bottom:2rem}.policy-effective{margin-top:1.25rem;color:var(--ink-soft);font-size:.9rem;font-weight:650}.policy-page{max-width:58rem}.policy-page section{padding:1.6rem 0;border-top:1px solid var(--border)}.policy-page section h2{margin-bottom:.8rem;font-size:clamp(1.35rem,4vw,1.85rem)}.policy-page section p,.policy-page section li{color:var(--ink-soft);line-height:1.75}.policy-page section li+li{margin-top:.45rem}.policy-page a:not(.button){color:var(--navy);text-decoration:underline;text-decoration-color:#17366652;text-underline-offset:.2em}.policy-table-wrap{margin:1rem 0;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.policy-page table{width:100%;min-width:36rem;border-collapse:collapse;background:#fff;font-size:.92rem}.policy-page th,.policy-page td{padding:.8rem .9rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.policy-page th{background:var(--paper);color:var(--ink)}.policy-page tr:last-child td{border-bottom:0}@media(max-width:37.5rem){.policy-table-wrap{overflow:visible;border:0}.policy-page table{min-width:0;background:transparent}.policy-page thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.policy-page tbody,.policy-page tr,.policy-page td{display:block;width:100%}.policy-page tr{margin-bottom:.75rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.policy-page th,.policy-page td{padding:.35rem 0;border:0}.policy-page td:before{content:attr(data-label);display:block;margin-bottom:.1rem;color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}}@media(min-width:46rem){.brand-logo{width:11.25rem}.menu-button{display:none}.site-nav{display:flex;position:static;align-items:center;gap:.25rem;padding:0;border:0;background:transparent;box-shadow:none}.hero{grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr)}.teacher-grid{grid-template-columns:repeat(2,1fr)}.compact-section{padding:3rem;display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:center}.split-story,.contact-grid{grid-template-columns:repeat(2,1fr)}.lesson-row{grid-template-columns:3rem 1fr auto;align-items:center}.lesson-action{grid-column:auto;min-width:12rem;flex-direction:column;align-items:flex-end}.booking-layout{grid-template-columns:minmax(0,1fr) 20rem}.booking-summary{position:sticky;top:1rem}.option-grid,.field-grid{grid-template-columns:repeat(2,1fr)}.slot-grid{grid-template-columns:repeat(3,1fr)}.site-footer{grid-template-columns:1fr auto;align-items:start}.admin-grid{grid-template-columns:repeat(2,1fr);align-items:start}.price-panel{grid-template-columns:.8fr 1.2fr;align-items:start}.account-banner{grid-template-columns:4.5rem 1fr auto}.photo-upload-button{grid-column:auto}}@media(min-width:70rem){.site-header,.hero,.section,.page,.admin-page,.site-footer{padding-left:0;padding-right:0}.teacher-card{padding:1.5rem;grid-template-columns:7rem 1fr}.portrait{width:7rem;height:9rem}}:root{--ink: #171717;--ink-soft: #595959;--paper: #ffffff;--surface: #ffffff;--navy: #171717;--blue: #1747e8;--blue-soft: #edf2ff;--coral: #171717;--coral-soft: #fff9d7;--mint: #f1f5ff;--border: #dedede;--focus: #1747e8;--radius-sm: .4rem;--radius: .65rem;--radius-lg: .8rem;--shadow: none;--font: Arial, "Helvetica Neue", ui-sans-serif, system-ui, -apple-system, sans-serif;--content: 75rem;--lemon: #ffe34d}html{background:var(--paper)}body{line-height:1.6}h1,h2,h3{color:var(--ink);font-weight:650;letter-spacing:-.045em}p{overflow-wrap:break-word}::selection{background:var(--lemon);color:var(--ink)}.site-frame{overflow:clip}.site-header{min-height:6rem;padding-top:1.3rem;padding-bottom:1.3rem;border-bottom:1px solid var(--border)}.site-nav{border-radius:.4rem}.site-nav a{font-weight:500;font-size:.9rem}.site-nav a.button{font-weight:650}.site-nav a.active:not(.button){background:transparent;text-decoration:underline;text-underline-offset:.35rem}.menu-button{border:1px solid var(--ink);border-radius:.3rem;font-size:.85rem;padding:.5rem .8rem;font-weight:500}.button{border-radius:.4rem;border-color:var(--ink);background:var(--lemon);color:var(--ink);box-shadow:none;font-weight:650;min-height:3.25rem;padding:.9rem 1.4rem}.button:hover{background:#f3d52f;color:var(--ink)}.button-small{border-radius:.35rem;font-size:.9rem}.text-link{color:var(--blue);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35rem}.text-link:hover{color:#1036b8}.eyebrow{color:var(--ink);font-size:.7rem;font-weight:500;letter-spacing:.13em}.hero{padding:3rem 1.25rem 3.5rem;gap:2.5rem}.hero-copy{min-width:0}.hero-copy .eyebrow{margin-bottom:1.75rem;display:flex;align-items:center;gap:.65rem}.hero-copy .eyebrow:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--blue);flex:0 0 auto}.hero-copy h1{max-width:none;margin-bottom:1.5rem;font-size:clamp(2.6rem,6.2vw,5.35rem);line-height:1.02;font-weight:600;letter-spacing:-.065em}.hero-copy h1 span{display:block}.hero-copy h1 .hero-soft-line{font-weight:400}.hero-lead{max-width:27rem;font-size:1.05rem;line-height:1.7;margin-bottom:0}.hero-actions{gap:1.75rem;margin-top:2rem}.hero-copy .eyebrow{margin-bottom:1.5rem}.lesson-format-heading{margin:0 0 .65rem;color:var(--blue);font-family:Arial Rounded MT Bold,Trebuchet MS,Arial,sans-serif;font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:700;line-height:1.4;letter-spacing:-.025em;text-wrap:balance}.lesson-highlights{display:flex;flex-wrap:wrap;gap:.3rem .6rem;margin:1rem 0 0;color:var(--ink);font-size:.75rem;line-height:1.6}.lesson-highlights span{white-space:nowrap}.lesson-highlights span+span:before{content:"·";color:var(--ink-soft);margin-right:.6rem}.lesson-highlights+.microcopy{margin-top:.65rem}.microcopy{font-size:.75rem;margin-top:1.5rem;color:var(--ink-soft)}.team-hero{min-width:0;margin:0;width:100%;background:#fff}.team-hero-photo{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:50% 50%}.team-hero figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;border-top:1px solid var(--border);padding:1rem 0 0;color:var(--ink-soft);font-size:.8rem}.team-hero .team-greeting{color:var(--ink);font-size:1.1rem;font-weight:600;letter-spacing:-.035em}.team-hero .greeting-copy{color:var(--blue)}.studio-note{padding:1.5rem 1.25rem;max-width:var(--content);margin:0 auto;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.studio-note p{margin:0;color:var(--ink-soft);font-size:.85rem}.studio-note .note-title{color:var(--ink);font-size:1rem;letter-spacing:-.02em}.studio-note .note-dot{display:inline-block;margin-right:.65rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--blue)}.section{padding-top:4.5rem;padding-bottom:4.5rem}.section-heading{max-width:none;margin-bottom:2rem}.section-heading h2{max-width:37rem;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.1}.teacher-grid{gap:1.25rem}.teacher-card{padding:1.5rem;border:1px solid var(--border);border-radius:.5rem;background:#fff;grid-template-columns:5rem 1fr;gap:1.5rem;align-items:center}.teacher-card h3{font-size:1.75rem;font-weight:550}.teacher-card p:not(.eyebrow){font-size:.95rem;margin-top:.6rem;margin-bottom:1rem}.teacher-card .eyebrow{font-size:.6rem}.portrait{border-radius:.35rem;background:#f3f3f3;color:var(--ink);width:5rem;height:7rem;font-size:1.5rem;font-weight:500;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}.teacher-card .text-link{font-size:.85rem}.compact-section{margin:1rem 1.25rem 4rem;background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:.5rem;padding:2rem 1.5rem}.compact-section .eyebrow{color:var(--blue)}.compact-section h2{font-size:clamp(2rem,3.3vw,2.85rem);font-weight:500;max-width:18ch;margin-bottom:1.5rem}.price-pills{gap:0}.price-pills a{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--border);border-radius:0;padding:1.15rem 0;gap:1rem;align-items:center}.price-pills a:first-child{border-top:1px solid var(--border)}.price-pills strong{font-size:.8rem;white-space:nowrap;font-weight:500}.price-pills strong span{color:var(--blue)}.price-pills a:hover{background:var(--blue-soft)}.site-footer{padding-top:2.5rem;padding-bottom:2.5rem;margin-top:2rem;font-size:.85rem}.site-footer strong{font-size:1rem;font-weight:600}.footer-links a{font-weight:500}.page-intro h1{font-weight:550}.principles{border-left-color:var(--blue);background:#f7f7f7}.note-panel{background:#f7f7f7}.choice-avatar{background:var(--blue-soft)}.contact-card{background:#fff;color:var(--ink)}.contact-card .eyebrow{color:var(--blue)}.contact-card p:last-child{color:var(--ink-soft)}.calendar-day.selected{background:var(--lemon);border-color:var(--ink);color:var(--ink)}input::placeholder,textarea::placeholder{color:#666;opacity:1}.hero-actions>.button,.site-nav>.button{border-width:1.5px}.hero-copy h1.friend-headline{font-size:clamp(2.15rem,4vw,3.7rem);line-height:1.08;letter-spacing:-.045em}.friend-headline .hero-soft-line{margin-top:.3em}.hero-copy .eyebrow{align-items:flex-start;line-height:1.7}.hero-copy .eyebrow:before{margin-top:.33em}.brand-group{display:flex;align-items:center;min-width:0;gap:.8rem}.welcome-note{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.68rem;line-height:1.45;color:var(--ink-soft)}.welcome-note>span:first-child{font-size:.95rem;flex-shrink:0}.welcome-note{white-space:nowrap;font-size:.7rem}.hero-copy h1 .headline-phrase{display:inline-block;white-space:nowrap}.keep-phrase{white-space:nowrap}.friend-headline,.section-heading h2,.compact-section h2{text-wrap:balance}.hero-lead,.teacher-card p,.lead,.faq-list p{text-wrap:pretty;overflow-wrap:normal;word-break:normal}.team-hero figcaption{display:flex;justify-content:flex-start;gap:.45rem .65rem}.team-hero .greeting-guide{color:#64748b;font-size:.75rem;text-wrap:pretty}.portrait img{object-position:center 28%}.footer-brand strong{font-size:1.15rem;font-weight:750}.footer-brand p{margin:.65rem 0 0;color:var(--ink-soft);line-height:1.75;text-wrap:pretty}.footer-links{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.75rem 1.2rem}.footer-links>*{white-space:nowrap}.footer-bottom{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:1.3rem;margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.3rem .8rem;color:#64748b;font-size:.75rem}.footer-bottom p{margin:0;text-wrap:pretty}@media(max-width:599px){.site-header{display:grid;grid-template-columns:1fr auto;row-gap:.75rem}.brand-group{display:contents}.brand{grid-column:1;grid-row:1;justify-self:start}.menu-button{grid-column:2;grid-row:1}.welcome-note{grid-column:1 / -1;grid-row:2;font-size:.7rem}.footer-divider{display:none}.team-hero .greeting-guide{font-size:.75rem}.teacher-card{grid-template-columns:5.5rem minmax(0,1fr)}.teacher-card .portrait{width:5.5rem;height:7rem}}@media(max-width:1119px){.menu-button{display:inline-block;flex-shrink:0}.site-header{gap:.65rem}.site-nav{display:none;position:absolute;top:100%;left:1rem;right:1rem;padding:.75rem;border:1px solid var(--border);background:#fff}.site-nav.is-open{display:grid}}@media(max-width:359px){.hero-copy h1{font-size:2.55rem}.hero-copy .eyebrow{font-size:.58rem;letter-spacing:.08em}.hero-actions{gap:1.25rem}.team-hero figcaption{font-size:.72rem}.teacher-card{grid-template-columns:1fr;gap:1rem}.teacher-card .portrait{width:6rem;height:7.5rem}}@media(min-width:46rem){.site-header{min-height:6.5rem}.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2.5rem;padding-top:2.5rem;padding-bottom:3rem}.hero-copy h1{font-size:clamp(2.7rem,5.9vw,5.35rem)}.team-hero-photo{aspect-ratio:1 / 1.05}.teacher-card{grid-template-columns:7rem 1fr}.teacher-card .portrait{width:7rem;height:9rem}.compact-section{margin:1rem auto 4rem;width:calc(100% - 2.5rem);padding:3rem;grid-template-columns:1fr 1fr;gap:3rem}.compact-section h2{margin-bottom:0}}@media(min-width:70rem){.hero,.studio-note{padding-left:0;padding-right:0}.hero{gap:3.5rem}.compact-section{width:100%}.teacher-card{grid-template-columns:8rem 1fr;padding:1.6rem}.teacher-card .portrait{width:8rem;height:10rem}}
