.legal{max-width:780px}.legal h2{margin:0 0 18px;font-size:clamp(26px,3.4vw,38px)}.legal h3{margin:30px 0 10px;font-size:20px}.legal p,.legal li{color:var(--ink-soft);margin-bottom:10px;font-size:15.5px;line-height:1.7}.legal ul{margin:0 0 16px;padding-left:22px}.legal strong{color:var(--ink);font-weight:600}.legal .note{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);margin:20px 0;padding:18px 20px}.notice{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink-soft);padding:16px 18px;font-size:14.5px}.notice--warn{color:#7a3a2a;background:#fbeeea;border-color:#e7c6bc}.notice--ok{color:#3f5436;background:#eef3ec;border-color:#cbd9c4}.stack{gap:14px;display:grid}.center-narrow{max-width:620px;margin:0 auto}.account-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.account-block{margin-top:48px}.account-block>h2{margin-bottom:20px;font-size:26px}.booking-row{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.booking-row .when{font-family:var(--display);font-size:18px}.booking-row .sub{color:var(--ink-soft);font-size:13.5px}.pass-badge{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;display:flex}.pass-badge b{font-family:var(--display);font-size:18px}.pass-badge small{color:var(--ink-soft);font-size:13.5px;display:block}.login-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:460px;padding:34px}.field{gap:6px;margin-bottom:14px;display:grid}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:12.5px}.field input{border:1px solid var(--line);width:100%;font:inherit;background:var(--white);color:var(--ink);border-radius:8px;padding:12px 14px}.field input:focus{border-color:var(--clay);outline:none}.pass-select{border:1px solid var(--line);width:100%;font:inherit;background:var(--white);color:var(--ink);border-radius:8px;margin-bottom:12px;padding:12px 14px}.muted{color:var(--ink-soft);font-size:14px}.link-clay{color:var(--clay-text);text-decoration:underline}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.events-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.event-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 28px}.event-card h3{margin-bottom:8px;font-size:20px}.event-card p{color:var(--ink-soft);overflow-wrap:break-word;font-size:14.5px}@media (max-width:760px){.events-grid{grid-template-columns:1fr;gap:14px}}.hero p.lead,.section-head p,.class-info h3,.trainer-body p,.price-card li,.faq-item p,.modal-desc,.modal-row,.footer-grid p,.footer-grid a,.brand{overflow-wrap:break-word}@media (max-width:760px){.btn--sm{min-height:44px}.month-nav button{width:44px;height:44px}.full-badge,.site-header .nav-right a{align-items:center;min-height:44px;display:inline-flex}.class-card.clickable{position:relative}}
