body[data-rk-sport]{--rk-bg:#f4f2ea;--rk-card:#fff;--rk-ink:#121410;--rk-muted:#6f746b;--rk-line:rgba(18,20,16,.16);--rk-accent:#d7ff38}body[data-rk-sport="padel"]{--rk-bg:#0e110f;--rk-card:#171b18;--rk-ink:#f5f7f0;--rk-muted:#abb2a8;--rk-line:rgba(255,255,255,.14);--rk-accent:#caff39}body[data-rk-sport="tennis"]{--rk-bg:#f1eadc;--rk-card:#faf5ea;--rk-ink:#173326;--rk-muted:#66736a;--rk-accent:#de6948}body[data-rk-sport="table-tennis"]{--rk-bg:#efeee7;--rk-card:#faf9f3;--rk-ink:#10100f;--rk-muted:#6d6a62;--rk-line:#161615;--rk-accent:#ffdc28}body[data-rk-sport="badminton"]{--rk-bg:#edf8fc;--rk-card:#fff;--rk-ink:#111a2c;--rk-muted:#68738b;--rk-accent:#41d9ee}body[data-rk-sport="squash"]{--rk-bg:#080b09;--rk-card:#121713;--rk-ink:#f5f2e8;--rk-muted:#9fa79d;--rk-line:rgba(255,255,255,.16);--rk-accent:#ffcb20}body[data-rk-sport="pickleball"]{--rk-bg:#fff2c6;--rk-card:#fffaf0;--rk-ink:#24347d;--rk-muted:#686f8e;--rk-accent:#ff704f}body[data-rk-sport="beach-tennis"]{--rk-bg:#f7dc9b;--rk-card:#fff8e8;--rk-ink:#173f46;--rk-muted:#667a78;--rk-accent:#ff705b}.rk-hub-map-section,.rk-hub-coach-section{display:block!important;position:relative!important;min-height:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:clamp(76px,9vw,132px) clamp(18px,5vw,76px)!important;background:var(--rk-bg)!important;color:var(--rk-ink)!important;font-family:Arial,Helvetica,sans-serif!important;overflow:hidden!important;isolation:isolate}.rk-hub-map-section:before,.rk-hub-map-section:after,.rk-hub-coach-section:before,.rk-hub-coach-section:after{pointer-events:none}.rk-hub-map-section *,.rk-hub-coach-section *{box-sizing:border-box}.rk-hub-head,.rk-hub-map-layout,.rk-hub-coach-head,.rk-hub-coach-grid,.rk-hub-coach-all{max-width:1440px;margin-left:auto;margin-right:auto}.rk-hub-head{display:grid!important;grid-template-columns:1.12fr .88fr;gap:36px;align-items:end;margin-bottom:30px!important}.rk-hub-head>span,.rk-hub-coach-head span{grid-column:1/-1;font:700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.15em;text-transform:uppercase;color:var(--rk-muted)!important}.rk-hub-head h2,.rk-hub-coach-head h2{margin:0!important;color:var(--rk-ink)!important;font:800 clamp(46px,6vw,94px)/.88 Arial,Helvetica,sans-serif!important;letter-spacing:-.065em!important;text-transform:uppercase!important}.rk-hub-head h2 em{color:transparent!important;-webkit-text-stroke:1px var(--rk-ink);font-style:normal!important}.rk-hub-head p,.rk-hub-coach-head p{max-width:520px;margin:0!important;color:var(--rk-muted)!important;font-size:13px!important;line-height:1.65!important}.rk-hub-map-layout{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);min-height:610px;border:1px solid var(--rk-line);background:var(--rk-card)}.rk-hub-map{position:relative;min-height:610px;overflow:hidden;background:color-mix(in srgb,var(--rk-accent) 15%,var(--rk-card))}.rk-hub-map iframe{display:block;width:100%;height:100%;min-height:610px;border:0;filter:saturate(.82) contrast(1.04)}.rk-hub-map>div{position:absolute;left:18px;top:18px;display:flex!important;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--rk-line);background:color-mix(in srgb,var(--rk-card) 92%,transparent);color:var(--rk-ink);backdrop-filter:blur(12px)}.rk-hub-map>div strong{font-size:24px}.rk-hub-map>div span{color:var(--rk-muted);font-size:9px;line-height:1.2;text-transform:uppercase}.rk-hub-club-list{min-width:0;padding:24px;background:var(--rk-card);color:var(--rk-ink)}.rk-hub-club-list header{display:flex!important;justify-content:space-between;align-items:center;padding-bottom:17px;border-bottom:1px solid var(--rk-line)}.rk-hub-club-list header b{font-size:23px}.rk-hub-club-list header span{font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--rk-muted)}.rk-hub-club-list>a:not(.rk-hub-all){display:grid!important;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:12px;min-height:92px;padding:14px 0;border-bottom:1px solid var(--rk-line);color:var(--rk-ink)!important;text-decoration:none!important}.rk-hub-club-list>a>span{font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--rk-muted)}.rk-hub-club-list>a div{min-width:0}.rk-hub-club-list>a strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.rk-hub-club-list>a small{display:block;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--rk-muted);font-size:10px}.rk-hub-club-list>a i{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--rk-line);border-radius:50%;font-style:normal}.rk-hub-club-list>a:hover i{background:var(--rk-accent);color:#111}.rk-hub-all,.rk-hub-coach-all,.rk-market-all{display:flex!important;width:max-content!important;justify-content:space-between;gap:28px;margin-top:25px!important;padding:12px 0!important;border-bottom:1px solid currentColor;color:var(--rk-ink)!important;font:700 11px/1 Arial,Helvetica,sans-serif!important;text-decoration:none!important}.rk-hub-coach-section{border-top:1px solid var(--rk-line)}.rk-hub-coach-head{display:grid!important;grid-template-columns:1.1fr .9fr;gap:36px;align-items:end;margin-bottom:28px}.rk-hub-coach-head>div{display:grid;gap:14px}.rk-hub-coach-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--rk-line);background:var(--rk-line)}.rk-hub-coach-grid>a{display:flex!important;flex-direction:column;min-height:330px;padding:22px!important;background:var(--rk-card)!important;color:var(--rk-ink)!important;text-decoration:none!important}.rk-hub-coach-grid>a i{display:grid;place-items:center;width:82px;height:82px;margin-bottom:40px;border-radius:50%;background:var(--rk-accent);color:#111;font:800 23px Arial,Helvetica,sans-serif;font-style:normal}.rk-hub-coach-grid>a small{color:var(--rk-muted);font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.rk-hub-coach-grid>a strong{min-height:51px;margin-top:8px;font-size:21px;line-height:1.05}.rk-hub-coach-grid>a span{margin:auto 0 18px;color:var(--rk-muted);font-size:10px}.rk-hub-coach-grid>a b{padding-top:13px;border-top:1px solid var(--rk-line);font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.07em}.rk-hub-empty{grid-column:1/-1;min-height:230px;padding:32px!important;background:var(--rk-card)!important;color:var(--rk-ink)!important;display:grid!important;align-content:center}.rk-hub-empty strong{font-size:30px}.rk-hub-empty p{margin:10px 0 0!important;color:var(--rk-muted)!important}.rk-market-all{margin-left:auto!important;margin-right:0!important}.racket-card[data-live-card] h3{overflow-wrap:anywhere}.racket-card[data-live-card] .market-price{display:flex;align-items:baseline;gap:5px}.racket-card[data-live-card] .market-price strong{white-space:nowrap}
@media(max-width:1050px){.rk-hub-head,.rk-hub-coach-head{grid-template-columns:1fr}.rk-hub-map-layout{grid-template-columns:1fr}.rk-hub-map,.rk-hub-map iframe{min-height:480px}.rk-hub-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.rk-hub-map-section,.rk-hub-coach-section{padding:68px 16px!important}.rk-hub-head h2,.rk-hub-coach-head h2{font-size:47px!important}.rk-hub-map-layout{border:0}.rk-hub-map,.rk-hub-map iframe{min-height:400px}.rk-hub-club-list{padding:16px}.rk-hub-club-list>a:not(.rk-hub-all){min-height:82px}.rk-hub-coach-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border:0;background:transparent;gap:10px}.rk-hub-coach-grid::-webkit-scrollbar{display:none}.rk-hub-coach-grid>a{flex:0 0 min(82vw,310px);min-height:310px;border:1px solid var(--rk-line);scroll-snap-align:start}.rk-hub-empty{flex:0 0 100%}.rk-market-all{margin-left:0!important}}
.rk-hub-map iframe{filter:none}
.rk-hub-coach-card{display:flex!important;flex-direction:column;min-width:0;min-height:600px;padding:20px!important;background:var(--rk-card)!important;color:var(--rk-ink)!important}.rk-hub-coach-photo{position:relative;height:280px;margin:0 0 22px;overflow:hidden;background:color-mix(in srgb,var(--rk-accent) 18%,var(--rk-card))}.rk-hub-coach-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%}.rk-hub-coach-photo>i{display:none;place-items:center;width:100%;height:100%;background:var(--rk-accent);color:#111;font:900 52px Arial;font-style:normal}.rk-hub-coach-photo.is-fallback img{display:none}.rk-hub-coach-photo.is-fallback>i{display:grid}.rk-hub-coach-card>small{color:var(--rk-muted);font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}.rk-hub-coach-card>strong{min-height:49px;margin-top:8px;font-size:21px;line-height:1.05}.rk-hub-coach-card>p{min-height:48px;margin:10px 0 20px!important;color:var(--rk-muted)!important;font-size:10px!important;line-height:1.55!important}.rk-hub-coach-card>span{margin-top:auto;color:var(--rk-muted);font-size:10px}.rk-hub-coach-card>b{margin-top:16px;padding-top:13px;border-top:1px solid var(--rk-line);font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.07em}
@media(max-width:640px){.rk-hub-coach-card{flex:0 0 min(82vw,310px);min-height:570px;border:1px solid var(--rk-line);scroll-snap-align:start}.rk-hub-coach-photo{height:260px}}

/* Mobile readability and complete touch areas across every sport hub. */
@media(max-width:640px){
  .rk-story-number,.rk-evidence>span,.rk-rules-summary li span,.rk-rules-summary li p,.rk-hub-head>span,.rk-hub-coach-head span,.rk-hub-map>div span,.rk-hub-club-list header span,.rk-hub-club-list>a>span,.rk-hub-club-list>a small,.rk-hub-coach-card>small,.rk-hub-coach-card>span,.rk-hub-coach-card>b,.rk-hub-coach-cta>span,.rk-hub-gear-cta>span{font-size:12px!important;line-height:1.4!important}
  .rk-hub-all,.rk-hub-coach-all,.rk-market-all,.rk-hub-coach-cta a,.rk-hub-gear-cta a,.rk-evidence a{display:flex!important;align-items:center;min-height:44px!important;font-size:12px!important;line-height:1.35!important}
  .rk-hub-club-list>a i{width:44px;height:44px}
  .rk-hub-club-list>a:not(.rk-hub-all){grid-template-columns:34px minmax(0,1fr) 44px}
  .leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important;font-size:22px!important}
  .leaflet-popup-close-button{width:44px!important;height:44px!important;line-height:44px!important;font-size:24px!important}
  body[data-rk-sport] main h3 a{display:flex!important;align-items:center;min-height:44px!important}
}

/* Two-pane previews on every sport landing */
.rk-hub-coach-layout,.rk-hub-gear-layout{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);gap:16px;width:min(1440px,100%);margin:0 auto}.rk-hub-coach-layout .rk-hub-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr));border:0;gap:12px;background:transparent}.rk-hub-coach-layout .rk-hub-coach-card{min-height:530px;border:1px solid var(--rk-line)}.rk-hub-coach-layout .rk-hub-coach-photo{height:245px}.rk-hub-coach-cta,.rk-hub-gear-cta{display:flex!important;flex-direction:column;min-width:0;padding:clamp(28px,3.5vw,52px)!important;background:var(--rk-accent)!important;color:#111!important}.rk-hub-coach-cta>span,.rk-hub-gear-cta>span{font:800 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase}.rk-hub-coach-cta h3,.rk-hub-gear-cta h3{margin:clamp(70px,9vw,150px) 0 24px!important;color:#111!important;font:900 clamp(34px,3.8vw,60px)/.92 Arial,Helvetica,sans-serif!important;letter-spacing:-.06em!important;text-transform:uppercase!important}.rk-hub-coach-cta p,.rk-hub-gear-cta p{margin:0!important;color:rgba(17,17,17,.68)!important;font-size:12px!important;line-height:1.65!important}.rk-hub-coach-cta a,.rk-hub-gear-cta a{display:flex!important;justify-content:space-between;gap:20px;margin-top:auto!important;padding:17px 0;border-top:1px solid rgba(17,17,17,.35);border-bottom:1px solid rgba(17,17,17,.35);color:#111!important;font:800 11px/1 Arial,Helvetica,sans-serif!important;text-decoration:none!important;text-transform:uppercase}.rk-hub-gear-section{display:block!important;position:relative!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:clamp(76px,9vw,132px) clamp(18px,5vw,76px)!important;background:var(--rk-bg)!important;color:var(--rk-ink)!important;font-family:Arial,Helvetica,sans-serif!important;overflow:hidden!important}.rk-hub-gear-section *{box-sizing:border-box}.rk-hub-gear-head{display:grid!important;grid-template-columns:1.1fr .9fr;align-items:end;gap:34px;width:min(1440px,100%);margin:0 auto 28px}.rk-hub-gear-head>span{grid-column:1/-1;color:var(--rk-muted);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}.rk-hub-gear-head h2{margin:0!important;color:var(--rk-ink)!important;font:900 clamp(52px,7vw,104px)/.82 Arial,Helvetica,sans-serif!important;letter-spacing:-.07em!important;text-transform:uppercase!important}.rk-hub-gear-head p{max-width:520px;margin:0!important;color:var(--rk-muted)!important;font-size:13px!important;line-height:1.65!important}.rk-hub-product-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.rk-hub-product-grid .racket-card{min-height:610px;border:1px solid var(--rk-line)}.rk-hub-product-grid .market-visual{height:235px}.rk-hub-gear-cta ul{display:grid;gap:0;margin:32px 0 0;padding:0;list-style:none}.rk-hub-gear-cta li{padding:13px 0;border-top:1px solid rgba(17,17,17,.25);font-size:11px}.rk-hub-gear-cta h3{margin-top:clamp(60px,8vw,130px)!important}body[data-rk-sport="tennis"] .rk-hub-coach-cta,body[data-rk-sport="tennis"] .rk-hub-gear-cta{background:#dc6a49!important}body[data-rk-sport="table-tennis"] .rk-hub-coach-layout,body[data-rk-sport="table-tennis"] .rk-hub-gear-layout{gap:0;border:2px solid var(--rk-ink)}body[data-rk-sport="table-tennis"] .rk-hub-coach-card,body[data-rk-sport="table-tennis"] .rk-hub-product-grid .racket-card{border-width:2px}body[data-rk-sport="badminton"] .rk-hub-coach-cta,body[data-rk-sport="badminton"] .rk-hub-gear-cta{border-radius:38px;background:linear-gradient(145deg,#6deaff,#ab8fff)!important}body[data-rk-sport="badminton"] .rk-hub-coach-card,body[data-rk-sport="badminton"] .rk-hub-product-grid .racket-card{border-radius:28px;overflow:hidden}body[data-rk-sport="squash"] .rk-hub-coach-cta,body[data-rk-sport="squash"] .rk-hub-gear-cta{background:linear-gradient(145deg,#ffcf20,#e98613)!important}body[data-rk-sport="pickleball"] .rk-hub-coach-cta,body[data-rk-sport="pickleball"] .rk-hub-gear-cta,body[data-rk-sport="pickleball"] .rk-hub-coach-card,body[data-rk-sport="pickleball"] .rk-hub-product-grid .racket-card{border-radius:30px;overflow:hidden}body[data-rk-sport="beach-tennis"] .rk-hub-coach-cta,body[data-rk-sport="beach-tennis"] .rk-hub-gear-cta{border-radius:42px;background:linear-gradient(145deg,#ff705c,#ffb23f)!important}body[data-rk-sport="beach-tennis"] .rk-hub-coach-card,body[data-rk-sport="beach-tennis"] .rk-hub-product-grid .racket-card{border-radius:34px;overflow:hidden}
@media(max-width:1050px){.rk-hub-coach-layout,.rk-hub-gear-layout{grid-template-columns:1fr}.rk-hub-coach-cta,.rk-hub-gear-cta{min-height:470px}.rk-hub-coach-cta h3,.rk-hub-gear-cta h3{max-width:700px;margin-top:70px!important}.rk-hub-gear-head{grid-template-columns:1fr}}
@media(max-width:640px){.rk-hub-coach-layout .rk-hub-coach-grid,.rk-hub-product-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px}.rk-hub-coach-layout .rk-hub-coach-card,.rk-hub-product-grid .racket-card{flex:0 0 min(82vw,310px);scroll-snap-align:start}.rk-hub-coach-layout .rk-hub-coach-card{min-height:560px}.rk-hub-product-grid .racket-card{min-height:600px}.rk-hub-coach-cta,.rk-hub-gear-cta{min-height:500px;padding:28px!important}.rk-hub-coach-cta h3,.rk-hub-gear-cta h3{font-size:42px!important}.rk-hub-gear-section{padding:68px 16px!important}.rk-hub-gear-head h2{font-size:49px!important}.rk-hub-map-layout{display:flex!important;flex-direction:column}.rk-hub-map{order:0}.rk-hub-club-list{order:1}}

/* Self-contained interactive map: visible even when external map providers are blocked */
.rk-hub-map>.rk-map-canvas{--map-scale:1;position:absolute;inset:0!important;display:block!important;padding:0!important;border:0!important;background:linear-gradient(145deg,color-mix(in srgb,var(--rk-accent) 12%,var(--rk-card)),color-mix(in srgb,var(--rk-card) 88%,#829279 12%))!important;color:var(--rk-ink)!important;overflow:hidden!important;backdrop-filter:none!important}.rk-map-canvas svg{position:absolute;inset:-3%;width:106%;height:106%;transform:scale(var(--map-scale));transform-origin:center;transition:transform .3s ease}.rk-map-river{fill:none;stroke:color-mix(in srgb,#58a8bd 46%,var(--rk-card));stroke-width:28;opacity:.65}.rk-map-roads{fill:none;stroke:color-mix(in srgb,var(--rk-ink) 22%,transparent);stroke-width:2}.rk-map-roads circle{stroke-width:3;stroke-dasharray:8 8}.rk-map-districts{fill:var(--rk-muted);font:800 13px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;opacity:.66}.rk-map-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);z-index:3;display:grid;grid-template-columns:38px max-content;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:var(--rk-ink);cursor:pointer;transform:translate(-19px,-19px)}.rk-map-pin i{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--rk-card);border-radius:50% 50% 50% 4px;background:var(--rk-ink);color:var(--rk-card);font:900 11px Arial;font-style:normal;box-shadow:0 8px 20px rgba(0,0,0,.18);transform:rotate(-45deg)}.rk-map-pin i::first-line{transform:rotate(45deg)}.rk-map-pin span{max-width:130px;padding:8px 10px;border:1px solid var(--rk-line);background:color-mix(in srgb,var(--rk-card) 91%,transparent);color:var(--rk-ink);font-size:9px;font-weight:800;line-height:1.2;text-align:left;opacity:0;transform:translateX(-5px);transition:.2s;backdrop-filter:blur(10px)}.rk-map-pin:hover span,.rk-map-pin:focus-visible span,.rk-map-pin.is-active span{opacity:1;transform:none}.rk-map-pin.is-active i{background:var(--rk-accent);color:#111;transform:rotate(-45deg) scale(1.18)}.rk-hub-map>.rk-map-count{position:absolute;left:18px;top:18px;z-index:5;display:flex!important;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--rk-line);background:color-mix(in srgb,var(--rk-card) 92%,transparent);color:var(--rk-ink);backdrop-filter:blur(12px)}.rk-map-count strong{font-size:24px}.rk-map-count span{color:var(--rk-muted);font-size:9px;line-height:1.2;text-transform:uppercase}.rk-hub-map>.rk-map-controls{position:absolute;right:18px;top:18px;z-index:5;display:grid!important;gap:5px;padding:0!important;border:0!important;background:transparent!important;backdrop-filter:none!important}.rk-map-controls button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--rk-line);background:color-mix(in srgb,var(--rk-card) 92%,transparent);color:var(--rk-ink);font-size:20px;cursor:pointer;backdrop-filter:blur(10px)}.rk-map-controls button:hover{background:var(--rk-accent);color:#111}.rk-hub-map>.rk-map-selection{position:absolute;left:18px;right:18px;top:auto;bottom:18px;z-index:5;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px 22px;width:auto;padding:17px 18px;border:1px solid var(--rk-line);background:color-mix(in srgb,var(--rk-card) 94%,transparent);color:var(--rk-ink);backdrop-filter:blur(14px)}.rk-map-selection small{grid-column:1;color:var(--rk-muted);font:800 8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase}.rk-map-selection strong{grid-column:1;font-size:15px}.rk-map-selection span{grid-column:1;color:var(--rk-muted);font-size:9px}.rk-map-selection a{grid-column:2;grid-row:1/4;align-self:center;padding:12px 14px;background:var(--rk-accent);color:#111!important;font-size:9px;font-weight:800;text-decoration:none!important;text-transform:uppercase}.rk-hub-club-list>a.is-active i{background:var(--rk-accent);color:#111}.rk-hub-club-list>a.is-active strong{color:var(--rk-accent)}body[data-rk-sport="table-tennis"] .rk-map-pin i,body[data-rk-sport="table-tennis"] .rk-map-controls button,body[data-rk-sport="table-tennis"] .rk-map-selection{border-radius:0}body[data-rk-sport="badminton"] .rk-map-selection,body[data-rk-sport="pickleball"] .rk-map-selection,body[data-rk-sport="beach-tennis"] .rk-map-selection{border-radius:20px}
@media(max-width:640px){.rk-hub-map>.rk-map-selection{grid-template-columns:1fr;bottom:12px;left:12px;right:12px}.rk-map-selection a{grid-column:1;grid-row:auto;margin-top:5px;text-align:center}.rk-map-pin span{display:none}.rk-hub-map>.rk-map-count{left:12px;top:12px}.rk-hub-map>.rk-map-controls{right:12px;top:12px}}
.rk-map-pin i{border-radius:50%;transform:none}.rk-map-pin.is-active i{transform:scale(1.18)}.rk-hub-map>.rk-map-controls{left:auto!important}
.rk-hub-map>.rk-map-selection[hidden]{display:none!important}

/* Balanced 50/50 previews with compact cards */
.rk-hub-coach-layout,.rk-hub-gear-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rk-hub-coach-layout .rk-hub-coach-card{min-height:390px;padding:14px!important}.rk-hub-coach-layout .rk-hub-coach-photo{height:170px;margin-bottom:14px}.rk-hub-coach-layout .rk-hub-coach-card>strong{min-height:36px;font-size:17px}.rk-hub-coach-layout .rk-hub-coach-card>p{display:-webkit-box;min-height:34px;margin:7px 0 10px!important;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.rk-hub-coach-layout .rk-hub-coach-card>b{margin-top:9px;padding-top:9px}.rk-hub-coach-cta h3,.rk-hub-gear-cta h3{max-width:620px;margin-top:clamp(55px,7vw,105px)!important}.rk-hub-product-grid .racket-card{min-height:465px;padding:15px}.rk-hub-product-grid .market-visual{height:155px;margin-bottom:14px}.rk-hub-product-grid .racket-card h3{min-height:36px;margin:7px 0 10px;font-size:16px}.rk-hub-product-grid .market-description{display:-webkit-box;min-height:31px;margin-bottom:10px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.rk-hub-product-grid .market-specs{margin-bottom:12px}.rk-hub-product-grid .market-specs div{padding:5px 0}.rk-hub-product-grid .market-price strong{font-size:20px}.rk-hub-product-grid .market-status{padding-top:8px}
@media(max-width:1050px){.rk-hub-coach-layout,.rk-hub-gear-layout{grid-template-columns:1fr}.rk-hub-coach-layout .rk-hub-coach-card{min-height:420px}.rk-hub-product-grid .racket-card{min-height:480px}}
@media(max-width:640px){.rk-hub-coach-layout .rk-hub-coach-card{min-height:500px}.rk-hub-coach-layout .rk-hub-coach-photo{height:245px}.rk-hub-product-grid .racket-card{min-height:580px}.rk-hub-product-grid .market-visual{height:220px}}
.rk-leaflet-map{position:absolute;inset:0;z-index:1;background:#e7e5df}.rk-hub-map>.rk-leaflet-map{left:0!important;top:0!important;right:0!important;bottom:0!important;display:block!important;padding:0!important;border:0!important;gap:0!important;background:#e7e5df!important;backdrop-filter:none!important}.rk-leaflet-map .leaflet-top.leaflet-left{right:12px;left:auto}.rk-leaflet-map .leaflet-control-zoom{border:1px solid rgba(0,0,0,.22);box-shadow:0 8px 22px rgba(0,0,0,.14)}.rk-leaflet-map .leaflet-control-zoom a{color:#111!important}.rk-leaflet-map .leaflet-popup-content-wrapper{border-radius:10px;font:12px/1.45 Arial,Helvetica,sans-serif}.rk-leaflet-map .rk-map-pin{background:transparent!important;border:0!important}.rk-leaflet-map .rk-map-pin i{border-color:var(--rk-card);background:var(--rk-accent);color:#111}.rk-map-loading{position:absolute!important;left:50%!important;right:auto!important;top:50%!important;z-index:2!important;width:max-content!important;max-width:80%;padding:12px 16px!important;border:1px solid rgba(0,0,0,.16)!important;background:rgba(255,255,255,.92)!important;color:#222!important;font-size:10px!important;transform:translate(-50%,-50%);backdrop-filter:blur(10px)}.rk-hub-map>.rk-map-count,.rk-hub-map>.rk-map-selection{z-index:4}.rk-hub-map .leaflet-control-attribution{font-size:8px}
.rk-hub-map,.rk-leaflet-map{contain:layout paint}.rk-leaflet-map .leaflet-proxy{display:none!important}.rk-hub-coach-layout>.rk-hub-coach-grid,.rk-hub-coach-layout>.rk-hub-coach-cta{width:100%;min-width:0;max-width:none;margin-left:0;margin-right:0}
.racket-card[data-live-card] h3 a,.racket-card[data-live-card] .market-visual,.racket-card[data-live-card] .market-status a{color:inherit;text-decoration:none}.racket-card[data-live-card] .market-status a{font-weight:800}

/* Verified tournament preview shared by all sport hubs */
.rk-hub-tournament-section{display:block!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:clamp(76px,9vw,132px) clamp(18px,5vw,76px)!important;background:var(--rk-bg)!important;color:var(--rk-ink)!important;font-family:Arial,Helvetica,sans-serif!important;box-sizing:border-box!important;border-top:1px solid var(--rk-line);overflow:hidden!important}.rk-hub-tournament-section *{box-sizing:border-box}.rk-hub-tournament-section>header,.rk-hub-tournament-section>.rk-event-list,.rk-hub-tournament-section>.rk-event-empty,.rk-hub-tournament-section>.rk-events-link{width:min(1440px,100%);margin-left:auto!important;margin-right:auto!important}.rk-hub-tournament-section>header{display:grid!important;grid-template-columns:1.15fr .85fr;align-items:end;gap:34px;margin-bottom:32px!important}.rk-hub-tournament-section>header>span{grid-column:1/-1;color:var(--rk-muted)!important;font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.14em;text-transform:uppercase}.rk-hub-tournament-section>header h2{margin:0!important;color:var(--rk-ink)!important;font:900 clamp(50px,7vw,104px)/.84 Arial,Helvetica,sans-serif!important;letter-spacing:-.07em!important;text-transform:uppercase!important}.rk-hub-tournament-section>header p{max-width:520px;margin:0!important;color:var(--rk-muted)!important;font-size:13px!important;line-height:1.65!important}.rk-event-list{border-top:1px solid var(--rk-line)}.rk-event-list article{display:grid!important;grid-template-columns:160px minmax(0,1fr) 175px;gap:28px;align-items:center;padding:27px 0!important;border-bottom:1px solid var(--rk-line);background:transparent!important;color:var(--rk-ink)!important}.rk-event-date strong{display:block;font-size:18px;line-height:1.1}.rk-event-date span{display:block;margin-top:6px;font-size:28px;font-weight:900}.rk-event-main>span{color:var(--rk-muted);font:800 9px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.rk-event-main h3{margin:8px 0 6px!important;color:var(--rk-ink)!important;font:900 clamp(26px,3vw,46px)/.96 Arial,Helvetica,sans-serif!important;letter-spacing:-.045em!important}.rk-event-main p{margin:0!important;color:var(--rk-muted)!important;font-size:11px!important}.rk-event-status{justify-self:end;padding:10px 12px;border:1px solid var(--rk-line);color:var(--rk-ink);font:800 9px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}.rk-event-status.is-open{border-color:var(--rk-accent);background:var(--rk-accent);color:#111}.rk-event-status.is-closed{opacity:.55}.rk-event-empty{min-height:300px;padding:46px!important;border:1px solid var(--rk-line);background:var(--rk-card)!important;display:grid!important;align-content:center}.rk-event-empty>span{color:var(--rk-muted);font:800 9px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}.rk-event-empty h3{max-width:900px;margin:15px 0!important;color:var(--rk-ink)!important;font:900 clamp(32px,5vw,70px)/.94 Arial,Helvetica,sans-serif!important;letter-spacing:-.055em!important;text-transform:uppercase}.rk-event-empty p{max-width:600px;margin:0!important;color:var(--rk-muted)!important;line-height:1.6!important}.rk-events-link{display:flex!important;justify-content:space-between;gap:25px;margin-top:28px!important;padding:16px 0!important;border-top:1px solid var(--rk-line);border-bottom:1px solid var(--rk-line);color:var(--rk-ink)!important;font:800 11px Arial,Helvetica,sans-serif!important;text-decoration:none!important;text-transform:uppercase}.rk-events-link b{font-size:17px}body[data-rk-sport="badminton"] .rk-event-list,body[data-rk-sport="badminton"] .rk-event-empty,body[data-rk-sport="pickleball"] .rk-event-list,body[data-rk-sport="pickleball"] .rk-event-empty,body[data-rk-sport="beach-tennis"] .rk-event-list,body[data-rk-sport="beach-tennis"] .rk-event-empty{border-radius:28px;overflow:hidden}
@media(max-width:850px){.rk-hub-tournament-section>header{grid-template-columns:1fr}.rk-event-list article{grid-template-columns:120px 1fr}.rk-event-status{grid-column:2;justify-self:start}}
@media(max-width:640px){.rk-hub-tournament-section{padding:68px 16px!important}.rk-hub-tournament-section>header h2{font-size:48px!important}.rk-event-list article{grid-template-columns:1fr;gap:14px;padding:24px 0!important}.rk-event-date{display:flex;align-items:baseline;gap:12px}.rk-event-date span{margin:0}.rk-event-status{grid-column:auto;justify-self:start}.rk-event-empty{padding:28px!important}}
.rk-event-main h3 a{color:inherit!important;text-decoration:none!important}.rk-event-main h3 a:hover{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:5px!important}
.rk-hub-mobile-actions{display:none}
@media(max-width:640px){body[data-rk-sport]{padding-bottom:76px!important;-webkit-text-size-adjust:100%}.rk-hub-mobile-actions{position:fixed;z-index:950;inset:auto 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--rk-line);background:color-mix(in srgb,var(--rk-bg) 97%,transparent);box-shadow:0 -12px 35px rgba(0,0,0,.18);backdrop-filter:blur(16px)}.rk-hub-mobile-actions a{display:grid;place-items:center;min-height:48px;padding:0 5px;border:1px solid var(--rk-line);background:var(--rk-card);color:var(--rk-ink)!important;font:900 11px/1.2 Arial,Helvetica,sans-serif!important;text-align:center;text-decoration:none!important;text-transform:uppercase;touch-action:manipulation}.rk-hub-mobile-actions a:nth-child(2){border-color:transparent;background:var(--rk-accent);color:#111!important}body[data-rk-sport] small,body[data-rk-sport] dt,body[data-rk-sport] dd,body[data-rk-sport] [class*="eyebrow"],body[data-rk-sport] [class*="label"],body[data-rk-sport] .rk-story-heading>span,body[data-rk-sport] .rk-origin>span,body[data-rk-sport] .rk-benefit>span,body[data-rk-sport] .rk-rules-title>span,body[data-rk-sport] .rk-event-main>span,body[data-rk-sport] .rk-event-main p,body[data-rk-sport] .rk-event-status,body[data-rk-sport] .rk-hub-head>span,body[data-rk-sport] .rk-hub-coach-head span,body[data-rk-sport] .rk-hub-gear-head>span{font-size:12px!important;line-height:1.4!important}body[data-rk-sport] main a,body[data-rk-sport] main button,body[data-rk-sport] summary{min-height:44px}.rk-map-controls button,.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}.leaflet-marker-icon{width:44px!important;height:52px!important;margin-left:-22px!important;margin-top:-52px!important;object-fit:contain}}
@media(max-width:640px),(prefers-reduced-motion:reduce){body[data-rk-sport] *{animation:none!important;transition-duration:.15s!important;scroll-behavior:auto!important}body[data-rk-sport] [data-tilt]{transform:none!important}}

/* Keep these overrides last: sport themes above intentionally use compact editorial type. */
@media(max-width:640px){
  .rk-story-number,.rk-evidence>span,.rk-rules-summary li span,.rk-rules-summary li p,.rk-hub-head>span,.rk-hub-coach-head span,.rk-hub-map>div span,.rk-hub-club-list header span,.rk-hub-club-list>a>span,.rk-hub-club-list>a small,.rk-hub-coach-card>small,.rk-hub-coach-card>span,.rk-hub-coach-card>b,.rk-hub-coach-cta>span,.rk-hub-gear-cta>span{font-size:12px!important;line-height:1.4!important}
  .rk-hub-all,.rk-hub-coach-all,.rk-market-all,.rk-hub-coach-cta a,.rk-hub-gear-cta a,.rk-evidence a,.rk-events-link{display:flex!important;align-items:center;min-height:44px!important;font-size:12px!important;line-height:1.35!important}
  .rk-hub-club-list>a i{width:44px;height:44px}
  .rk-hub-club-list>a:not(.rk-hub-all){grid-template-columns:34px minmax(0,1fr) 44px}
  .leaflet-popup-close-button{width:44px!important;height:44px!important;line-height:44px!important;font-size:24px!important}
}
.rk-hub-map-section,.rk-hub-coach-section,.rk-hub-gear-section,.rk-hub-tournament-section{content-visibility:auto;contain-intrinsic-block-size:auto 900px}
.rk-hub-coach-photo img,.market-visual img{max-width:100%}

/* Secondary text remains readable without browser zoom. */
.rk-hub-head p,.rk-hub-coach-head p,.rk-hub-gear-head p,.rk-hub-tournament-section>header p,.rk-hub-coach-cta p,.rk-hub-gear-cta p,.rk-event-empty p{font-size:15px!important;line-height:1.65!important}
.rk-hub-club-list>a small,.rk-hub-coach-card>p,.market-description,.rk-market-description,.rk-market-specs dt,.rk-market-specs dd,.rk-hub-gear-cta li,.rk-event-main p{font-size:13px!important;line-height:1.55!important}
.rk-hub-head>span,.rk-hub-coach-head span,.rk-hub-gear-head>span,.rk-hub-club-list header span,.rk-hub-club-list>a>span,.rk-hub-coach-card>small,.rk-hub-coach-card>span,.rk-hub-coach-cta>span,.rk-hub-gear-cta>span,.rk-map-count span,.rk-map-selection small,.rk-map-selection span,.rk-event-main>span,.rk-event-status{font-size:12px!important;line-height:1.4!important}
.rk-hub-club-list>a strong,.rk-hub-coach-card>strong{font-size:15px!important;line-height:1.35!important}

/* Dense landing maps: every verified venue stays visible without label clutter. */
.rk-leaflet-map .rk-map-pin{width:44px!important;height:44px!important}
.rk-leaflet-map .rk-map-pin i{width:38px!important;height:38px!important;border:2px solid color-mix(in srgb,var(--rk-card) 84%,#111 16%)!important;border-radius:50%!important;background:var(--rk-accent)!important;color:#111!important;font:900 10px/1 Arial,Helvetica,sans-serif!important;box-shadow:0 6px 17px rgba(0,0,0,.25)!important;transform:none!important;transition:transform .16s ease,box-shadow .16s ease!important}
.rk-leaflet-map .rk-map-pin span{position:absolute;left:42px;top:4px;display:block;max-width:190px;padding:8px 10px;border:1px solid var(--rk-line);background:color-mix(in srgb,var(--rk-card) 95%,transparent);color:var(--rk-ink);font-size:12px!important;font-weight:800;line-height:1.3;white-space:normal;opacity:0;visibility:hidden;transform:translateX(-4px);transition:.16s;pointer-events:none;backdrop-filter:blur(10px)}
.rk-leaflet-map .rk-map-pin:hover,.rk-leaflet-map .rk-map-pin:focus-visible,.rk-leaflet-map .rk-map-pin.is-active{z-index:900!important}
.rk-leaflet-map .rk-map-pin:hover i,.rk-leaflet-map .rk-map-pin:focus-visible i,.rk-leaflet-map .rk-map-pin.is-active i{transform:scale(1.15)!important;box-shadow:0 8px 22px rgba(0,0,0,.34)!important}
.rk-leaflet-map .rk-map-pin:hover span,.rk-leaflet-map .rk-map-pin:focus-visible span,.rk-leaflet-map .rk-map-pin.is-active span{opacity:1;visibility:visible;transform:none}
.rk-leaflet-map .leaflet-popup-content{font-size:14px!important;line-height:1.5!important}.rk-leaflet-map .leaflet-popup-content hr{margin:10px 0;border:0;border-top:1px solid #ddd}
@media(max-width:640px){.rk-leaflet-map .rk-map-pin span{display:none}.rk-hub-map>.rk-map-count{max-width:150px}.rk-map-count strong{font-size:24px!important}}

/* Accessible muted text values for each visual theme. */
body[data-rk-sport="tennis"]{--rk-muted:#526158}
body[data-rk-sport="table-tennis"]{--rk-muted:#55544f}
body[data-rk-sport="badminton"]{--rk-muted:#566278}
body[data-rk-sport="pickleball"]{--rk-muted:#535c79}
body[data-rk-sport="beach-tennis"]{--rk-muted:#435858}

/* Product previews: keep the four-card grid and its photography optically centred. */
.rk-hub-product-grid{
  width:100%;
  margin-inline:auto;
  grid-auto-rows:1fr;
  align-content:start;
  justify-items:stretch;
}
.rk-hub-product-grid .racket-card{
  width:100%;
  min-width:0;
  justify-self:stretch;
}
.rk-hub-product-grid .market-visual{
  display:grid;
  place-items:center;
}
.rk-hub-product-grid .market-visual img{
  display:block;
  position:absolute;
  left:50%;
  top:50%;
  width:calc(100% - 28px);
  height:calc(100% - 28px);
  max-width:280px;
  max-height:none;
  margin:0;
  padding:0;
  object-fit:contain;
  object-position:50% 50%;
  transform:translate(-50%,-50%);
}
@media(max-width:1240px){
  .rk-hub-gear-layout{
    grid-template-columns:minmax(0,1fr);
    width:min(980px,100%);
  }
  .rk-hub-gear-cta{
    min-height:470px;
  }
  .rk-hub-gear-cta h3{
    margin-top:70px!important;
  }
}
@media(max-width:640px){
  .rk-hub-product-grid{
    width:100%;
    margin-inline:0;
    justify-content:flex-start;
  }
  .rk-hub-product-grid .market-visual img{
    width:calc(100% - 28px);
    height:calc(100% - 28px);
    max-width:280px;
  }
  .rk-hub-gear-cta h3{
    max-width:100%;
    font-size:clamp(32px,8.4vw,36px)!important;
    overflow-wrap:normal;
    word-break:normal;
  }
}
