.courses-hero{background:var(--navy);color:#fff;padding:64px 0 52px}.courses-hero h1{color:#fff;margin-bottom:12px;font-size:clamp(30px,4vw,46px);line-height:1.06}.courses-hero .sub{color:#ffffffb8;max-width:560px;font-size:17.5px}.courses-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 22px;display:flex}.courses-count{color:var(--muted);font-size:15px}.view-toggle{border:1px solid var(--rule);background:var(--surface);border-radius:999px;padding:4px;display:inline-flex}.view-toggle button{font:600 14px/1 var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 18px}.view-toggle button.on{background:var(--navy);color:#fff}.course-list{grid-template-columns:repeat(2,1fr);gap:18px;padding-bottom:72px;display:grid}.course-card{background:var(--surface);border:1px solid var(--rule-soft);border-radius:18px;flex-direction:column;padding:24px;display:flex;box-shadow:0 2px 14px #0e2a470d}.course-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.course-top .when{color:var(--amber-ink);font:600 13px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.06em}.course-top .when small{color:var(--muted);text-transform:none;letter-spacing:0;margin-top:3px;font-weight:500;display:block}.course-card h2{margin:12px 0 6px;font-size:22px;line-height:1.2}.course-card .loc{color:var(--muted);font-size:14px}.course-card p.desc{color:var(--muted);margin-top:10px;font-size:14.5px}.course-card .cap{font:500 13.5px/1 var(--sans);color:var(--muted);align-items:center;gap:8px;margin-top:12px;display:flex}.cap-bar{background:var(--chart);border-radius:999px;flex:1;height:6px;overflow:hidden}.cap-bar i{background:var(--amber);border-radius:999px;height:100%;display:block}.course-card footer{border-top:1px solid var(--rule-soft);justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;display:flex}.course-price{font:600 22px/1 var(--serif);color:var(--navy)}.course-price small{font:500 12.5px/1 var(--sans);color:var(--muted)}.btn-book{background:var(--amber);min-height:44px;color:var(--amber-ink);font:600 15px/1 var(--sans);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;display:inline-flex}.btn-book:hover{background:#f7c355}.btn-book:disabled{background:var(--chart);color:var(--muted);cursor:not-allowed}.pill{font:600 12px/1.2 var(--sans);white-space:nowrap;border-radius:999px;padding:4px 11px;display:inline-block}.pill.open{color:#177a49;background:#177a491f}.pill.full,.pill.closed{color:var(--amber-ink);background:#f2b2302e}.pill.past{color:var(--muted);background:#0e2a4714}.cal{background:var(--surface);border:1px solid var(--rule-soft);border-radius:18px;margin-bottom:72px;padding:22px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cal-head h2{font-size:22px}.cal-nav{gap:8px;display:flex}.cal-nav button{border:1px solid var(--rule);background:var(--surface);min-width:38px;min-height:38px;font:600 15px/1 var(--sans);color:var(--navy);cursor:pointer;border-radius:10px}.cal-nav button:hover{background:var(--ground)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-dow{font:600 12px/1 var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:6px 0}.cal-cell{border:1px solid var(--rule-soft);background:var(--surface);border-radius:10px;min-height:86px;padding:6px}.cal-cell.today{border-color:var(--amber)}.cal-cell.other{opacity:.4;background:var(--ground)}.cal-cell .d{font:600 12.5px/1 var(--sans);color:var(--muted)}.cal-chip{text-align:left;width:100%;color:var(--navy);font:500 11.5px/1.25 var(--sans);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#f2b23038;border:0;border-radius:7px;margin-top:4px;padding:4px 7px;display:block;overflow:hidden}.cal-chip:hover{background:#f2b23061}.cal-chip.continues{background:#0e2a4714}.cal-empty{color:var(--muted);padding:8px 2px;font-size:14.5px}.cb-overlay{z-index:60;background:#0a1e338c;justify-content:center;align-items:flex-start;padding:6vh 20px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}.cb-modal{background:var(--surface);border-radius:20px;width:100%;max-width:560px;margin-bottom:40px;padding:30px;position:relative}.cb-close{border:1px solid var(--rule);background:var(--surface);width:36px;height:36px;font:600 16px/1 var(--sans);color:var(--navy);cursor:pointer;border-radius:10px;position:absolute;top:14px;right:14px}.cb-modal h2{margin-bottom:4px;font-size:24px}.cb-modal .cb-sub{color:var(--muted);margin-bottom:18px;font-size:14.5px}.cb-summary{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.cb-chip{border:1px solid var(--rule);font:500 13px/1 var(--sans);color:var(--navy);background:var(--ground);border-radius:999px;align-items:center;padding:7px 13px;display:inline-flex}.cb-field{margin-bottom:13px}.cb-field label{font:600 13px/1.2 var(--sans);color:var(--navy);margin-bottom:6px;display:block}.cb-field input,.cb-field select{border:1px solid var(--rule);width:100%;font:400 14.5px/1.4 var(--sans);color:var(--ink);background:#fff;border-radius:10px;padding:11px 13px}.cb-field input:focus,.cb-field select:focus{border-color:var(--navy);outline:none}.cb-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cb-field textarea{border:1px solid var(--rule);width:100%;font:400 14.5px/1.4 var(--sans);color:var(--ink);resize:vertical;background:#fff;border-radius:10px;padding:11px 13px}.cb-field textarea:focus{border-color:var(--navy);outline:none}.cb-label{font:600 13px/1.2 var(--sans);color:var(--navy);margin-bottom:6px;display:block}.cb-swim{gap:18px;display:flex}.cb-swim label{font:500 14.5px/1 var(--sans);color:var(--ink);cursor:pointer;align-items:center;gap:7px;display:inline-flex}.cb-swim input{accent-color:var(--navy);cursor:pointer;width:16px;height:16px}.cb-error{color:#b3261e;font:500 14px/1.4 var(--sans);margin:12px 0 0}.cb-note{color:var(--muted);margin:14px 0 0;font-size:13px}.cb-submit{background:var(--navy);color:#fff;width:100%;min-height:48px;font:600 15.5px/1 var(--sans);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:16px;display:inline-flex}.cb-submit:hover{background:var(--navy-deep)}.cb-submit:disabled{opacity:.55;cursor:default}.checkout-mount{border-radius:14px;margin-top:18px}.cb-done{text-align:center;padding:14px 0 6px}.cb-done .check{background:#177a4924;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:14px;display:inline-flex}.cb-done h3{margin-bottom:8px;font-size:21px}.cb-done p{color:var(--muted);max-width:400px;margin:0 auto 8px;font-size:15px}@media (max-width:900px){.course-list{grid-template-columns:1fr}.courses-hero{padding:48px 0 40px}}
