.account-controls{display:flex;align-items:center;gap:18px;font-size:16px}.account-controls>a,.account-controls>button{white-space:nowrap}.account-controls button,.theme-toggle{font:inherit;color:inherit;background:none;border:0;padding:8px 0;cursor:pointer}.theme-toggle{display:flex;align-items:center;gap:7px}.account-name{color:var(--muted);font-size:14px}.header .account-controls{margin-left:auto}.header nav{margin-right:25px}.account-page{max-width:550px;min-height:60vh;padding-top:60px}.account-page h1{font-size:46px;margin:0 0 20px}.account-page form{display:grid;gap:18px;margin:30px 0}.account-page label{display:grid;gap:8px;font-size:16px}.account-page input{width:100%;font:inherit;padding:14px 16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:0}.account-page .button{width:100%;justify-content:space-between}.account-page p{font-size:17px;line-height:1.6}.account-page .quiet-note{font-size:14px}.account-page .form-error:empty{display:none}.demo-payment{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;margin-top:14px}.demo-payment>p{font-size:16px;line-height:1.6}.demo-card-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin:22px 0}.demo-card-fields label{font-size:15px;display:grid;gap:8px}.demo-card-fields input{font:inherit;font-size:17px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:13px;min-width:0;width:100%}.demo-payment .button{background:var(--lime);color:var(--on-lime);border-color:var(--lime)}.chart-checkout:has(.demo-payment){position:static}.demo-payment .button-row{align-items:center}.preview-bar{font-size:12px!important}.demo-boundary{font-weight:600}.auth-prompt{padding:20px 0}.account-links{display:flex;justify-content:space-between;align-items:center;gap:18px}
html[data-theme=dark]{color-scheme:dark;--paper:#171b17;--white:#1f251e;--ink:#f2f3ec;--muted:#b4bcad;--line:#3c4438;--stone:#252d23;--olive:#b4bcad;--green:#b8ff2c;--brand-green:#8ebd4b}html[data-theme=dark] .preview-bar,html[data-theme=dark] .training-chart thead th{background:#242c22}html[data-theme=dark] .training-chart thead th:first-child{background:var(--paper)}html[data-theme=dark] .training-chart .chart-slot:hover{background:#2b3726}html[data-theme=dark] .training-chart .chart-slot:disabled,html[data-theme=dark] .training-chart .no-session{background:#252b23;color:#8e9887}html[data-theme=dark] .training-chart .chart-slot.selected,html[data-theme=dark] .training-chart .chart-slot.selected:hover{background:var(--lime);color:var(--on-lime)}html[data-theme=dark] .chart-key i.unavailable{background:#252b23;border-color:#55614d}html[data-theme=dark] .avatar{background:#2b3427;color:var(--ink)}html[data-theme=dark] .button:not(.outline){background:var(--lime);color:var(--on-lime);border-color:var(--lime)}html[data-theme=dark] .button.outline{background:transparent;color:var(--ink)}html[data-theme=dark] dialog,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--paper);color:var(--ink)}html[data-theme=dark] .form-error{color:#ffb5a8}html[data-theme=dark] .week-event,html[data-theme=dark] .agenda-event,html[data-theme=dark] .training-card{background:var(--white)}html[data-theme=dark] .week-event.class{border-color:var(--brand-green)}html[data-theme=dark] .wordmark{color:var(--ink)}html[data-theme=dark] .profile .avatar{background:var(--stone)}html[data-theme=dark] .toast{background:var(--lime);color:var(--on-lime)}
@media(max-width:700px){.header{gap:18px;flex-wrap:wrap}.header .account-controls{gap:15px;font-size:15px}.header .wordmark>span{font-size:23px}.header .account-name{display:none}.header nav{margin-right:0}.header .mobile-menu{display:none}.header nav{display:none}.account-controls .theme-toggle{font-size:14px}.account-page{padding-top:36px}.account-page h1{font-size:38px}.demo-card-fields{grid-template-columns:1fr 1fr}.demo-card-fields label:first-child{grid-column:1/-1}.demo-payment .button-row{align-items:stretch;flex-direction:column}.preview-bar{gap:10px;padding-left:18px;padding-right:18px}.preview-bar>span:nth-child(2){display:none}}

.account-page label,.demo-card-fields label{margin:0}.account-page input,.demo-card-fields input{margin:0}.account-page form{gap:20px}.account-controls{flex-wrap:wrap;justify-content:flex-end}
html[data-theme=dark] .chart-pay .button,html[data-theme=dark] .chart-pay .button>span{color:var(--on-lime)!important}
.form-error:empty{display:none}
[hidden]{display:none!important}
.form-error{font-size:16px!important}
.recovery-list{max-width:900px}.recovery-list>p{max-width:650px;line-height:1.6}.recovery-list .member-row{display:flex;justify-content:space-between;gap:20px}.recovery-list .member-row h3{font-size:18px}.recovery-list .member-row p{font-size:16px;overflow-wrap:anywhere}

/* Keep text paired with its surface when the theme changes. */
.design-swatches>span{color:#000;font-size:14px;line-height:1.6}
html[data-theme=dark] .contact-note,html[data-theme=dark] .plan-summary,
html[data-theme=dark] .booking-sessions,html[data-theme=dark] .payment-notice,
html[data-theme=dark] .payment-active,html[data-theme=dark] .next-session,
html[data-theme=dark] .radio-option:has(input:checked),html[data-theme=dark] .conflict-box{background:var(--stone)}
html[data-theme=dark] .form-error{background:#3b2522;color:#ffb5a8}
html[data-theme=dark] .success-note{background:#243620;color:#c4e1b5}
html[data-theme=dark] .button.light{color:var(--on-lime)}
::selection{background:var(--lime);color:var(--on-lime)}
.chart-footer{flex-wrap:wrap;gap:12px 24px}
.chart-footer a{font-size:14px}
.skip-link{color:var(--paper)}
.hero-image figcaption{left:0;right:0;bottom:0;padding:12px 16px;background:#191d17;color:#fff;font-size:12px;line-height:1.5;letter-spacing:.1em;text-shadow:none;flex-wrap:wrap;gap:4px 16px}
.hero-image figcaption span{font-size:12px}
/* One logo system: footer and header share proportions at every size. */
.wordmark{--wordmark-size:27px;--fitness-ratio:.2962962963;--logo-gap-ratio:.3333333333;--fitness-size:calc(var(--wordmark-size)*var(--fitness-ratio))}
.header .wordmark{--wordmark-size:35.91px}
.header .wordmark>span,.footer .wordmark>span{font-size:var(--wordmark-size)}
/* Optical edges follow the B/M side bearings in the bundled DM Sans font. */
.wordmark small{display:flex;align-items:baseline;justify-content:space-between;gap:.6em;font-size:calc(var(--fitness-size)*1.5);line-height:1.5;margin:calc(var(--wordmark-size)*var(--logo-gap-ratio)) calc(var(--wordmark-size)*.014) 0 calc(var(--wordmark-size)*.07);padding:0}
.wordmark small>span{letter-spacing:.4em;margin-right:-.44645em;white-space:nowrap}
.wordmark small:before{position:static;flex:0 0 calc(var(--fitness-size)*1.862);box-sizing:border-box;width:calc(var(--fitness-size)*1.862);height:calc(var(--fitness-size)*1.862);transform:translateY(.012em)}
.header nav a{font-size:19.95px;white-space:nowrap}
@media(max-width:700px){
  .wordmark{--wordmark-size:25px;--fitness-ratio:.3043478261;--logo-gap-ratio:.3913043478}
  .header .wordmark{--wordmark-size:30.59px}
}

/* Rate-card actions use the same clear lime treatment in both themes. */
.training-card .card-bottom .training-cta{display:flex;width:100%;min-height:52px;margin-top:12px;padding:14px 20px;justify-content:space-between;background:var(--lime);border:1px solid var(--lime);color:var(--on-lime);font-size:16px}
.training-card .card-bottom .training-cta:hover{background:var(--lime);color:var(--on-lime);border-color:var(--ink)}
