.test-banner{background:#c0392b;color:var(--color-white);padding:var(--space-sm) 0;font-size:14px;font-weight:600;text-align:center}.test-banner p{margin:0}.page{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}h1{margin:0 0 var(--space-sm);font-size:44px;color:var(--color-text-primary)}.book-intro{margin:0 0 var(--space-xl);font-size:15px;color:var(--color-text-secondary);line-height:1.6}.form-field{display:flex;flex-direction:column;gap:var(--space-xs);border:none;padding:0}.form-label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.form-required{color:#c0392b}.form-optional{font-weight:400;color:var(--color-text-secondary)}.form-input{font-family:inherit;font-size:15px;color:var(--color-text-primary);background:var(--color-white);border:1px solid var(--color-border);border-radius:4px;padding:10px 12px;width:100%;box-sizing:border-box;transition:border-color .15s ease}.form-input:focus{outline:none;border-color:var(--color-accent-deep);box-shadow:0 0 0 3px #8f5f5f26}.form-input--error{border-color:#c0392b}.form-error{font-size:12px;color:#c0392b;margin:0;min-height:16px}.form-server-error{font-size:14px;color:#c0392b;margin:0;line-height:1.5}.form-submit{width:100%;justify-content:center;text-align:center}.choice{display:flex;align-items:center;gap:var(--space-sm);font-size:15px;color:var(--color-text-primary);margin-bottom:var(--space-xs);cursor:pointer}.choice input{width:18px;height:18px;accent-color:var(--color-accent-deep);flex-shrink:0}.terms-choice{align-items:flex-start}.terms-choice input{margin-top:3px}.empty{font-size:14px;color:var(--color-text-secondary);margin:0}.form-status{font-size:14px;color:var(--color-text-secondary)}.form-status--error{display:flex;align-items:center;gap:var(--space-md);color:#c0392b}.join-options{display:flex;flex-direction:column;gap:var(--space-md)}@media(min-width:640px){.join-options{flex-direction:row}}.join-option{flex:1;text-align:left;font-family:inherit;cursor:pointer;position:relative;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);transition:border-color .15s ease,box-shadow .15s ease}.join-option:hover{border-color:var(--color-accent)}.join-option h3{margin:0;font-size:20px;color:var(--color-text-primary)}.join-option p{margin:0;font-size:14px;color:var(--color-text-secondary);line-height:1.5}.join-option--membership{border:2px solid var(--color-accent);box-shadow:0 0 0 3px #c89b9b26;padding-top:var(--space-xl)}.join-option__badge{position:absolute;top:-12px;left:var(--space-lg);background:var(--color-accent-deep);color:var(--color-white);font-size:11px;font-weight:700;letter-spacing:.03em;padding:4px 10px;border-radius:999px}.join-option--selected{border-color:var(--color-accent-deep);box-shadow:0 0 0 3px #8f5f5f33}.date-picker{display:flex;flex-direction:column;gap:var(--space-sm)}.date-group-label{margin:var(--space-sm) 0 0;font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.date-pills{display:flex;flex-wrap:wrap;gap:var(--space-sm);overflow-x:auto;padding-bottom:2px}.date-pill{flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;color:var(--color-text-primary);background:var(--color-white);border:1px solid var(--color-border);border-radius:999px;padding:8px 16px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.date-pill:hover:not(:disabled){border-color:var(--color-accent)}.date-pill--selected{border:2px solid var(--color-accent);background:var(--color-white);padding:7px 15px}.date-pill:disabled{color:var(--color-text-secondary);background:var(--color-surface-light);cursor:not-allowed;opacity:.6}.tier-list{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}@media(min-width:640px){.tier-list{grid-template-columns:repeat(3,1fr)}}.tier-card{text-align:left;font-family:inherit;cursor:pointer;background:var(--color-white);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-md);display:flex;flex-direction:column;gap:4px;transition:border-color .15s ease}.tier-card:hover{border-color:var(--color-accent)}.tier-card--selected{border:2px solid var(--color-accent-deep);padding:calc(var(--space-md) - 1px)}.tier-card h3{margin:0;font-size:15px;color:var(--color-text-primary)}.tier-price{margin:0;font-size:20px;font-weight:700;color:var(--color-text-primary)}.tier-price span{font-size:13px;font-weight:400;color:var(--color-text-secondary)}.weekly-heading{margin:var(--space-md) 0 0;font-size:16px;color:var(--color-text-primary)}.weekly-list{display:flex;flex-direction:column;gap:var(--space-sm)}.class-option{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:15px;color:var(--color-text-primary);background:var(--color-white);border:1px solid var(--color-border);border-radius:4px;padding:var(--space-sm) var(--space-md);cursor:pointer}.class-option input{width:18px;height:18px;margin-top:2px;accent-color:var(--color-accent-deep);flex-shrink:0}.class-option--disabled{color:var(--color-text-secondary);background:var(--color-surface-light);cursor:not-allowed}.booking-summary{margin:0;padding:var(--space-md);background:var(--color-white);border:1px solid var(--color-accent);border-radius:4px;font-size:14px;color:var(--color-text-primary);line-height:1.6}.policy-box{background:var(--color-white);border:1px solid var(--color-border);border-radius:4px;padding:var(--space-md)}.policy-box p{margin:0 0 var(--space-sm);font-size:13px;color:var(--color-text-secondary);line-height:1.6}.form-grid-2{display:flex;flex-direction:column;gap:var(--space-sm)}@media(min-width:640px){.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:end}}
