.bgw-components{--line:rgba(33,35,36,.25);--paper:#fffdf9;--blue:#b6cbe0;--deep:#214c59;--peach:#ffc99d;--green:#2e6547;max-width:1360px;margin-inline:auto}.bgw-components *{box-sizing:border-box}.bgw-components h1,.bgw-components h2,.bgw-components h3,.bgw-components h4{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;text-transform:uppercase}.bgw-review-intro,.bgw-programme,.bgw-section{padding:clamp(3.5rem,7vw,7rem) clamp(1rem,3vw,2.5rem)}.bgw-review-intro{background:var(--blue)}.bgw-review-intro h1{max-width:800px;margin:.15em 0;font-size:clamp(3rem,7vw,5.5rem);line-height:.92}.bgw-eyebrow{margin:0 0 12px;font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.bgw-lead{max-width:760px;font-size:clamp(1.125rem,2vw,1.5rem)}.bgw-programme{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2.5rem,8vw,7.5rem);align-items:end;background:var(--paper)}.bgw-programme h2{margin:.15em 0;font-size:clamp(3rem,7vw,5.5rem);line-height:.92}.bgw-keyfacts{margin:0;border-top:1px solid}.bgw-keyfacts div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.bgw-keyfacts dt{font-size:.75rem;font-weight:800;text-transform:uppercase}.bgw-keyfacts dd{margin:0}.bgw-programme-list{display:grid;grid-template-columns:1fr 1fr;margin:0 clamp(1rem,3vw,2.5rem) 4rem;border-top:2px solid}.bgw-programme-list article{display:grid;grid-template-columns:1fr auto;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.bgw-programme-list article:nth-child(odd){border-right:1px solid var(--line)}.bgw-programme-list p{margin:0;font-size:.75rem;text-transform:uppercase}.bgw-programme-list h3{margin:4px 0;font-size:1.25rem}.bgw-offer,.bgw-stage{margin:4rem clamp(1rem,3vw,2.5rem);border:2px solid;background:#faf7f2;box-shadow:12px 12px 0 var(--blue)}.bgw-offer>header,.bgw-stage>header{display:grid;grid-template-columns:1fr auto;gap:24px;padding:clamp(1.5rem,4vw,3rem);border-bottom:1px solid var(--line)}.bgw-offer h3,.bgw-stage h3{margin:12px 0 6px;font-size:clamp(2.25rem,5vw,4rem);line-height:.95}.bgw-status{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.bgw-status>span{width:10px;height:10px;border:2px solid;border-radius:50%}.bgw-status--success{color:var(--green)}.bgw-status--neutral,.bgw-status--upcoming{color:var(--deep)}.bgw-status--warning{color:#835400}.bgw-status--muted{color:#626667}.bgw-status--error{color:#8b1d1d}.bgw-price-list{margin:0;padding:0;border-top:1px solid;list-style:none}.bgw-price-list li{display:flex;justify-content:space-between;gap:24px;padding:11px 0;border-bottom:1px solid var(--line)}.bgw-price-list strong{text-align:right}.bgw-price-list small{display:block;font-size:.68rem;font-weight:500}.bgw-offer>header>.bgw-price-list{min-width:200px}.bgw-offer__facts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);padding:clamp(1.5rem,4vw,3rem)}.bgw-offer__facts h4{font-size:1.5rem}.bgw-offer__facts dl div{display:grid;grid-template-columns:110px 1fr;padding:9px 0;border-bottom:1px solid var(--line)}.bgw-offer__facts dd{margin:0}.bgw-offer footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px clamp(1.5rem,4vw,3rem);color:#faf7f2;background:#212324}.bgw-button{display:inline-flex;min-height:44px;align-items:center;gap:10px;padding:12px 18px;border:1px solid currentColor;color:inherit;font-weight:800;text-decoration:none}.bgw-button:focus-visible{outline:3px solid var(--deep);outline-offset:4px}.bgw-stage__groups{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.bgw-stage__groups section{padding:24px;border-right:1px solid var(--line)}.bgw-stage__groups h4{font-size:1.5rem}.bgw-section--warm{background:var(--peach)}.bgw-membership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bgw-membership{display:flex;flex-direction:column;padding:26px;border:1px solid;background:rgba(250,247,242,.55)}.bgw-membership h3{font-size:clamp(1.8rem,3vw,2.5rem)}.bgw-membership>.bgw-button{margin-top:auto}.bgw-periods div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.bgw-periods dd{margin:0;text-align:right}.bgw-winter{margin-top:72px;padding:clamp(1.5rem,4vw,2.75rem);border:2px solid;background:var(--paper)}.bgw-winter>header{display:grid;grid-template-columns:1fr 1fr;gap:32px}.bgw-winter h3{font-size:2rem}.bgw-winter__days{display:grid;grid-template-columns:repeat(7,1fr);margin-top:24px;border:1px solid var(--line)}.bgw-winter__days article{min-width:0;padding:14px;border-right:1px solid var(--line)}.bgw-winter__days article:last-child{border:0}.bgw-winter__days h4{font-size:.9rem}.bgw-slot{display:flex;justify-content:space-between;gap:6px;padding:8px 0;border-top:1px solid var(--line)}.bgw-no-slots{font-size:.8rem;color:#626667}.bgw-section--dark{color:#faf7f2;background:#212324}.bgw-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bgw-rule-grid article{padding:24px;border:1px solid rgba(250,247,242,.4)}.bgw-rule-grid h3{font-size:1.75rem}.bgw-rule-grid strong{font-size:1.5rem}.bgw-tariffs{margin-top:64px}.bgw-tariffs table{width:100%;border-collapse:collapse}.bgw-tariffs caption{text-align:left;padding-bottom:12px}.bgw-tariffs th,.bgw-tariffs td{padding:14px;text-align:left;border-bottom:1px solid rgba(250,247,242,.28)}.bgw-tariffs small{display:block}.bgw-alert{margin-top:40px;padding:26px;border:2px solid}.bgw-alert strong{display:block;font-family:"Arial Narrow",Arial,sans-serif;font-size:1.75rem;text-transform:uppercase}.bgw-alert--warning{color:#212324;background:var(--peach)}.bgw-activity{display:grid;grid-template-columns:110px 1fr 240px;gap:28px;padding:28px 8px;border-bottom:1px solid var(--line)}.bgw-activity--featured{grid-template-columns:150px 1fr 230px;margin-bottom:40px;padding:32px;border:2px solid;background:var(--paper);box-shadow:10px 10px 0 var(--peach)}.bgw-activity__date strong,.bgw-activity__date span,.bgw-activity__date small{display:block}.bgw-activity__date strong{font-family:"Arial Narrow",Arial,sans-serif;font-size:2.75rem;line-height:1}.bgw-activity__date.is-range{display:grid;justify-items:start;gap:8px}.bgw-activity__date.is-range strong{font-size:2rem;white-space:nowrap}.bgw-activity__date i{font-size:1.65rem}.bgw-activity h3{font-size:clamp(1.75rem,3vw,2.625rem)}.bgw-activity>div:last-child{display:grid;align-content:start;justify-items:start;gap:18px}.bgw-news{display:grid;grid-template-columns:170px 1fr;gap:40px;padding:30px 0;border-bottom:1px solid var(--line)}.bgw-news header span,.bgw-news time{display:block}.bgw-news header span{font-size:.75rem;font-weight:800;text-transform:uppercase}.bgw-news h3{margin:0 0 12px;font-size:clamp(1.7rem,3vw,2.375rem)}.bgw-news a{color:inherit;font-weight:800}.bgw-news--notice{padding:26px;background:var(--paper)}.bgw-people{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bgw-people article{padding:18px;border:1px solid var(--line)}.bgw-person__media{display:grid;aspect-ratio:4/3;place-items:center;overflow:hidden;color:var(--deep);background:var(--blue);font:700 2.25rem/1 "Arial Narrow",Arial,sans-serif}.bgw-person__media img{width:100%;height:100%;object-fit:cover}.bgw-people h3{font-size:1.1rem}.bgw-partners{margin-top:80px}.bgw-partners>div{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:30px;border:1px solid var(--line)}.bgw-partners>div>*{display:grid;min-height:120px;place-items:center;padding:18px;border-right:1px solid var(--line);color:inherit;text-align:center;font-weight:800}.bgw-partners img{max-width:100%;max-height:80px;object-fit:contain}.bgw-contact-grid{display:grid;grid-template-columns:1fr 2fr;gap:18px;margin-top:64px}.bgw-contact{padding:28px;background:var(--paper)}.bgw-contact address{font-style:normal}.bgw-contact a{display:block;width:max-content;margin-top:10px;color:inherit;font-weight:700}
@media(max-width:1024px){.bgw-membership-grid{grid-template-columns:1fr 1fr}.bgw-membership:last-child{grid-column:1/-1}.bgw-winter__days{grid-template-columns:repeat(4,1fr)}.bgw-winter__days article{border-bottom:1px solid var(--line)}.bgw-rule-grid{grid-template-columns:1fr}.bgw-activity--featured{grid-template-columns:130px 1fr}.bgw-activity--featured>div:last-child{grid-column:2}}
@media(max-width:768px){.bgw-programme,.bgw-offer__facts,.bgw-membership-grid,.bgw-contact-grid{grid-template-columns:1fr}.bgw-membership:last-child{grid-column:auto}.bgw-programme-list{grid-template-columns:1fr}.bgw-programme-list article:nth-child(odd){border-right:0}.bgw-stage__groups{grid-template-columns:1fr}.bgw-winter>header{grid-template-columns:1fr}.bgw-winter__days{grid-template-columns:repeat(2,1fr)}.bgw-activity,.bgw-activity--featured{grid-template-columns:100px 1fr}.bgw-activity>div:last-child{grid-column:2}.bgw-people{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.bgw-offer,.bgw-stage{box-shadow:6px 6px 0 var(--blue)}.bgw-offer>header,.bgw-stage>header{grid-template-columns:1fr}.bgw-offer>header>.bgw-price-list{min-width:0}.bgw-offer footer{align-items:stretch;flex-direction:column}.bgw-button{width:100%;justify-content:center}.bgw-winter__days,.bgw-people,.bgw-partners>div{grid-template-columns:1fr}.bgw-winter__days article{border-right:0}.bgw-activity,.bgw-activity--featured{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:22px 0}.bgw-activity--featured{padding:22px 14px}.bgw-activity__date strong{font-size:2.25rem}.bgw-activity__date.is-range strong{font-size:1.25rem}.bgw-news{grid-template-columns:1fr;gap:16px;padding:24px 0}.bgw-news--notice{padding:22px 18px}.bgw-tariffs table,.bgw-tariffs thead,.bgw-tariffs tbody,.bgw-tariffs tr,.bgw-tariffs td{display:block}.bgw-tariffs thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.bgw-tariffs tr{padding:12px 0;border-bottom:1px solid}.bgw-tariffs td{display:grid;grid-template-columns:110px 1fr;padding:8px 0;border:0}.bgw-tariffs td:before{content:attr(data-label);font-size:.75rem;font-weight:800;text-transform:uppercase}}
@media(max-width:375px){.bgw-programme h2{font-size:2.6rem}.bgw-review-intro h1{font-size:2.8rem}.bgw-keyfacts div,.bgw-offer__facts dl div{grid-template-columns:1fr;gap:4px}.bgw-activity,.bgw-activity--featured{grid-template-columns:64px minmax(0,1fr)}.bgw-activity h3{font-size:1.55rem}.bgw-activity__date.is-range strong{font-size:1.05rem}.bgw-tariffs td{grid-template-columns:1fr;gap:3px}}
@media(prefers-reduced-motion:reduce){.bgw-components *{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.bgw-status>span{forced-color-adjust:none}}
.bgw-review-intro h2{max-width:800px;margin:.15em 0;font-size:clamp(3rem,7vw,5.5rem);line-height:.92}
@media(max-width:375px){.bgw-review-intro h2{font-size:2.8rem}}

/* Slice 4 reconciliation: keep the approved prototype hierarchy. */
.bgw-academy-overview{padding:clamp(3.5rem,7vw,7rem) clamp(1rem,3vw,2.5rem);border-bottom:1px solid var(--line);background:#faf7f2}.bgw-academy-overview>header{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:2rem}.bgw-academy-overview h2{margin:.1em 0;font-size:clamp(2.5rem,5vw,4.25rem);line-height:.95}.bgw-academy-overview>header>p:last-child{max-width:600px}.bgw-academy-overview .bgw-programme-list{margin:0}
.bgw-membership--combi{color:#faf7f2;background:#212324}.bgw-membership--combi .bgw-price-list li,.bgw-membership--combi .bgw-periods div{border-color:rgba(250,247,242,.28)}.bgw-membership--combi .bgw-button:focus-visible{outline-color:#b6cbe0}
.bgw-reservation-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2.5rem,8vw,7.5rem);align-items:end;padding-bottom:4rem}.bgw-reservation-intro h2{margin:.1em 0;font-size:clamp(2.75rem,5vw,4.4rem);line-height:.94}.bgw-reservation-intro h2 em{color:var(--blue);font-style:normal}.bgw-reservation-intro>p{max-width:520px;font-size:1.125rem}.bgw-reservations__heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:2rem;align-items:start;margin:1.5rem 0 1.75rem}.bgw-reservations__heading h3,.bgw-tariffs>header h3,.bgw-reservations__closing h3{margin:0;font-size:clamp(2.1rem,4vw,3.4rem);line-height:1}.bgw-reservations__heading>div>p{max-width:680px}.bgw-rule-grid{gap:16px}.bgw-rule-grid article{padding:24px;color:#212324;border:0;background:#faf7f2}.bgw-rule-label{display:inline-flex;padding:5px 8px;background:var(--blue);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.bgw-rule-grid dl{margin:1.5rem 0 0}.bgw-rule-grid dl>div{padding:14px 0;border-top:1px solid var(--line)}.bgw-rule-grid dt{margin-bottom:7px;font-size:.75rem;font-weight:800;text-transform:uppercase}.bgw-rule-grid dd{display:flex;justify-content:space-between;gap:16px;margin:0}.bgw-rule-grid dd strong{font-family:"Arial Narrow",Arial,sans-serif;font-size:1.75rem;line-height:1}.bgw-rule-grid dd small{max-width:130px;text-align:right}.bgw-tariffs{margin-top:5.5rem}.bgw-tariffs>header{display:grid;grid-template-columns:.7fr 1.3fr;gap:2rem;align-items:end;margin-bottom:1.75rem}.bgw-table-wrap{overflow-x:auto;border:1px solid rgba(250,247,242,.35)}.bgw-tariffs caption{padding:18px}.bgw-tariffs th,.bgw-tariffs td{padding:16px 18px}.bgw-reservations__closing{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-top:5.5rem}.bgw-reservations__closing .bgw-alert{margin:0}.bgw-reservations__closing>div>p:last-child{max-width:540px}.bgw-section--dark .bgw-alert{max-width:620px}.bgw-alert{padding:24px}.bgw-alert strong{font-size:clamp(1.4rem,2.5vw,1.75rem)}
.bgw-news h3 a{text-decoration:none}.bgw-news__cta{text-decoration:underline;text-underline-offset:4px}.bgw-news__cta:hover{text-decoration-thickness:2px}.bgw-news__cta:focus-visible{outline:3px solid var(--deep);outline-offset:4px}
.bgw-person__media.is-placeholder{aspect-ratio:4/3;color:#626667;background:linear-gradient(135deg,#f2f0eb,#e8e5df);font-size:1rem;font-weight:700;letter-spacing:.12em}.bgw-person__media.is-placeholder span{padding:.55rem .7rem;border:1px solid rgba(33,35,36,.25);background:rgba(255,255,255,.55)}
.bgw-partners>div{grid-template-columns:repeat(4,minmax(140px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-left:0;border-right:0}.bgw-partners>div>*{min-height:76px;padding:14px 18px;border-right:1px solid var(--line);background:transparent;font-size:.85rem}.bgw-partners>div>*:last-child{border-right:0}.bgw-partners>div>div:has(span),.bgw-partners>div>a:has(span){justify-items:start;text-align:left}.bgw-partners img{max-height:58px}
.bgw-contact-grid{align-items:start}.bgw-contact{padding:24px}.bgw-contact h3{margin:.5rem 0 1rem}.bgw-contact-grid>.bgw-alert{max-width:620px;margin-top:0}
@media(max-width:900px){.bgw-academy-overview>header,.bgw-reservation-intro,.bgw-reservations__heading,.bgw-tariffs>header{grid-template-columns:1fr}.bgw-reservation-intro{gap:1.5rem}.bgw-reservations__closing{grid-template-columns:1fr}.bgw-partners>div{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.bgw-academy-overview .bgw-programme-list{margin:0}.bgw-reservations__heading,.bgw-tariffs>header{gap:.75rem}.bgw-rule-grid article{padding:20px}.bgw-table-wrap{overflow:visible;border:0}.bgw-reservations__closing{gap:2rem}.bgw-partners>div{grid-template-columns:1fr}.bgw-partners>div>*{min-height:64px;border-right:0;border-bottom:1px solid var(--line)}.bgw-partners>div>*:last-child{border-bottom:0}}

/* Semantic colour roles: sport colour supports meaning without replacing labels. */
.bgw-programme.is-tennis{border-top:8px solid var(--peach)}.bgw-programme.is-padel{border-top:8px solid var(--blue)}.bgw-offer.is-tennis{box-shadow:12px 12px 0 var(--peach)}.bgw-offer.is-padel{box-shadow:12px 12px 0 var(--blue)}.bgw-stage{box-shadow:12px 12px 0 var(--deep)}
.bgw-membership.is-tennis{border-top:8px solid var(--peach)}.bgw-membership.is-padel{border-top:8px solid var(--blue)}.bgw-membership.is-combi{border-top-color:var(--ink)}
.bgw-reservation-intro h2 em{color:#faf7f2}.bgw-rule-label{color:#faf7f2;background:var(--deep)}.bgw-activity--featured{box-shadow:10px 10px 0 var(--deep)}.bgw-person__media{color:var(--deep);background:#f2f0eb}
@media(max-width:620px){.bgw-offer.is-tennis{box-shadow:6px 6px 0 var(--peach)}.bgw-offer.is-padel{box-shadow:6px 6px 0 var(--blue)}.bgw-stage{box-shadow:6px 6px 0 var(--deep)}}
