:root{--ink:#183b3a;--muted:#617471;--line:#dce6df;--surface:#fff;--mint:#edf5ee;--primary:#245b50;--programme:#c2477a;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fafbf7;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--primary)}button,input,select{font:inherit}a,button,input,select{touch-action:manipulation}:focus-visible{outline:3px solid #c97f12;outline-offset:4px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(32px,5vw,52px);line-height:1.12;letter-spacing:-1.5px}h2{font-size:23px}h3{font-size:19px}h4{font-size:18px;margin-bottom:5px}.site-header,.site-main,.site-footer{max-width:1180px;margin:auto;padding:24px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:800;text-decoration:none}.site-header nav{display:flex;align-items:center;gap:20px}.site-header nav>a{text-decoration:none;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:var(--surface);color:var(--ink);font-weight:650;cursor:pointer;white-space:nowrap}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.hero{padding:32px 0 24px;max-width:740px}.hero p:last-child{color:var(--muted);font-size:18px;max-width:640px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:750;letter-spacing:1.7px;color:var(--primary)}.programme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:30px}.programme-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px;border:1px solid var(--line);border-top:5px solid var(--programme);border-radius:14px;text-decoration:none;background:var(--surface);color:var(--ink);overflow-wrap:anywhere}.programme-card h2{color:var(--programme);margin:0}.programme-card p{color:var(--muted);margin:0;flex:1}.programme-card strong{font-size:13px;color:var(--programme)}.programme-card:hover,.programme-card.selected{border-color:var(--programme);box-shadow:0 4px 16px #193e3610}.age-tag{display:inline-block;background:var(--mint);padding:3px 10px;border-radius:20px;font-size:12px}.selected-programme{display:flex;justify-content:space-between;gap:20px;align-items:center}.selected-programme h2{margin-bottom:0}.price-banner{margin:18px 0 28px;padding:22px;background:var(--mint);border:1px solid var(--line);border-radius:14px}.price-banner h2{font-size:18px}.price-options{display:flex;flex-wrap:wrap;gap:16px 32px}.price-options>div{display:grid;gap:3px}.price-options small,.class-action small{color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;background:var(--surface);padding:18px;border:1px solid var(--line);border-radius:14px}.filters label{display:grid;gap:6px;font-size:13px;font-weight:650;flex:1;min-width:140px}.filters input,.filters select{width:100%;min-height:44px;border:1px solid #b9cac1;border-radius:8px;padding:8px;background:#fff;color:var(--ink)}.week-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.muted{color:var(--muted);opacity:.6;cursor:default}.class-day{margin:30px 0}.class-day>h3{margin-bottom:12px}.class-card{display:flex;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-left:5px solid var(--programme);border-radius:12px;padding:20px;margin:10px 0}.class-time{display:grid;min-width:80px}.class-time strong{font-size:20px}.class-time span{font-size:13px;color:var(--muted)}.class-info{flex:1;min-width:0;overflow-wrap:anywhere}.class-info p{color:var(--muted);font-size:14px;margin-bottom:8px}.class-action{display:grid;gap:9px;text-align:center}.notice,.empty{padding:20px;border:1px solid var(--line);border-radius:12px;background:#f6f1e4;margin:18px 0}.empty{text-align:center;background:var(--surface);padding:40px 20px}.empty p{color:var(--muted)}.site-footer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 24px;color:var(--muted);font-size:13px;margin-top:40px}.session-details{margin-top:24px;padding:28px;border:1px solid var(--line);border-top:5px solid var(--programme);border-radius:16px;background:#fff}.intro{white-space:pre-line;color:var(--muted)}dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}dt{font-weight:700}dd{margin:6px 0 0;color:var(--muted)}.skip-link{position:absolute;top:-100px;left:16px;padding:12px;background:#fff;z-index:10}.skip-link:focus{top:10px}@media(max-width:640px){.site-header{align-items:flex-start}.site-header nav{gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.site-header,.site-main,.site-footer{padding:18px}.brand{font-size:21px}.programme-grid{grid-template-columns:1fr 1fr;gap:10px}.programme-card{padding:14px}.programme-card h2{font-size:19px}.programme-card p{font-size:13px}.class-card{flex-wrap:wrap;gap:14px;padding:16px}.class-action{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}.week-navigation{flex-wrap:wrap;justify-content:center}.week-navigation strong{order:-1;flex-basis:100%;text-align:center}.hero{padding-top:22px}}@media(max-width:380px){.programme-grid{grid-template-columns:1fr}}

/* Shared programme logos retain their original proportions. */
.category-logo{display:block;width:auto;height:auto;max-width:min(100%,220px);max-height:64px;object-fit:contain;object-position:left center}
.category-logos{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.class-info .category-logo{max-height:30px;margin-bottom:6px}
.selected-programme .category-logo{max-height:48px}
