/* One interaction language: a slow pool of light, soft depth, and a clear action. */
:root{--motion-ease:cubic-bezier(.2,.8,.2,1)}
.header-book:before,.quick-book:before,.button:before,.service-action:before{content:none!important}
.header-book,.quick-book,.button,.service-action,.sport-button,.coach .text-link,.cooperation .text-link,.callback-links .text-link{position:relative;isolation:isolate;overflow:hidden;border-radius:14px;transition:background-color .65s var(--motion-ease),color .65s var(--motion-ease),box-shadow .65s var(--motion-ease),transform .65s var(--motion-ease);cursor:pointer}
.header-book:after,.quick-book:after,.button:after,.service-action:after,.sport-button:after,.coach .text-link:after,.cooperation .text-link:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:0;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,50%),#fff5,transparent 75%);transition:opacity .7s var(--motion-ease)}
.header-book:hover:where(html.has-mouse-hover *):after,.quick-book:hover:where(html.has-mouse-hover *):after,.button:hover:where(html.has-mouse-hover *):after,.service-action:hover:where(html.has-mouse-hover *):after,.sport-button:hover:where(html.has-mouse-hover *):after,.coach .text-link:hover:where(html.has-mouse-hover *):after,.cooperation .text-link:hover:where(html.has-mouse-hover *):after{opacity:1}
.header-book:hover:where(html.has-mouse-hover *),.quick-book:hover:where(html.has-mouse-hover *),.button:hover:where(html.has-mouse-hover *),.service-action:hover:where(html.has-mouse-hover *),.sport-button:hover:where(html.has-mouse-hover *),.coach .text-link:hover:where(html.has-mouse-hover *){transform:translateY(-2px);box-shadow:0 9px 24px #102d4620}
.service-action:hover:where(html.has-mouse-hover *){background:#bddd89;color:var(--navy)}
.header-book:active,.button:active,.service-action:active,.sport-button:active{transform:translateY(0) scale(.985)}
.button span,.service-action span,.sport-button span{transition:transform .65s var(--motion-ease)}
.sport-button{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 22px;max-width:350px;min-height:60px;background:var(--navy);border:0;color:#fff;font-size:12px;font-weight:700;margin-top:28px}
.sport-button:hover:where(html.has-mouse-hover *){background:#285f7c;color:#fff}
.sport-button:hover:where(html.has-mouse-hover *) span{transform:translate(3px,-3px)}
.about{padding-top:70px;padding-bottom:65px}.about-story{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:6%}.about-story h2{font-size:clamp(39px,4.4vw,70px);line-height:1.02;max-width:650px}.about-story .about-copy{padding-top:24px;max-width:520px}.about-story .about-copy p{font-size:15px;line-height:1.75;padding:0;margin:0 0 14px}.about-court{padding:14px 8px;background:linear-gradient(145deg,#28566c,#173a50);border-radius:28px;box-shadow:inset 0 1px #ffffff25,0 24px 55px #12334a12}.about-court .court{display:block;width:100%;height:auto;max-height:650px;margin:0;filter:drop-shadow(0 14px 16px #0002)}
#rules{padding-top:60px;padding-bottom:60px}.rules-left{background:none;box-shadow:none;border:0;padding:0;color:var(--navy)}#rules .rules-grid{grid-template-columns:.8fr 1.2fr;gap:8%}#rules h2{font-size:clamp(38px,4.7vw,68px)}
summary{list-style:none;cursor:pointer;position:relative;transition:background-color .55s var(--motion-ease),color .55s var(--motion-ease),padding .55s var(--motion-ease);border-radius:10px;padding-left:12px!important;padding-right:12px!important}
summary::-webkit-details-marker{display:none}summary:hover:where(html.has-mouse-hover *),summary:focus-visible{background:#bddd891f;color:var(--blue)}.formats summary:hover:where(html.has-mouse-hover *),.formats summary:focus-visible{background:#ffffff12;color:#d9edb8}
summary>span{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#285f7c0c;transition:transform .6s var(--motion-ease),background .6s var(--motion-ease);font-size:20px!important}
details[open]>summary>span{transform:rotate(45deg);background:#bddd8950}details p{padding-left:12px!important;padding-right:12px!important}
.coach .text-link{display:flex;justify-content:space-between;width:100%;max-width:none;padding:15px 20px;background:var(--navy);color:#fff;border:0;min-height:54px;margin-top:18px}.coach details{border-top:1px solid #12334a24}.coach summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;font-weight:650}
.callback{margin-top:40px;border:1px solid #ffffff45;border-radius:16px;background:#ffffff08;overflow:hidden}.callback>details>summary{padding:20px 24px!important;font-size:17px;color:white}.callback>details>summary:hover:where(html.has-mouse-hover *){background:#ffffff12;color:#e2f0c8}.callback p{padding:16px 24px!important}.callback-links{padding:0 24px}.callback-links .text-link{padding:14px 18px;background:#ffffff15;margin:5px 10px 5px 0;border:1px solid #ffffff35;color:#fff}.cooperation .text-link{padding:13px 18px;border:1px solid #ffffff40;color:#fff;min-height:50px}.cooperation .text-link:hover:where(html.has-mouse-hover *){background:#ffffff16}
.gallery-videos{margin-top:30px;border-top:1px solid #12334a25}.gallery-videos>summary{padding:20px 12px;font-size:18px;font-weight:650;display:flex;justify-content:space-between;align-items:center}.gallery-videos .video-grid{margin-top:20px}.gallery-videos video{aspect-ratio:16/9;max-height:300px;width:100%;object-fit:cover}
.price-head{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:end;margin-bottom:34px}.price-head h2{font-size:clamp(45px,6vw,90px)}.price-bookings{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-bookings .button{display:grid;grid-template-columns:1fr auto;padding:18px 20px;gap:5px 12px;font-size:12px}.price-bookings .button small{grid-row:2;font-size:10px}.price-bookings .button span{grid-column:2;grid-row:1/3}.tariff-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tariff-card{background:#fff;border:1px solid #12334a15;padding:30px;border-radius:20px}.tariff-card h3{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.02em;line-height:1.4;margin-bottom:22px}.tariff-card table{width:100%;border-collapse:collapse}.tariff-card caption{display:none}.tariff-card th{text-align:left;font-size:11px;letter-spacing:.07em;padding:0 0 15px;color:#50616b}.tariff-card td{padding:16px 0;border-top:1px solid #12334a15;font-size:17px}.tariff-card th:last-child,.tariff-card td:last-child{text-align:right;font-weight:700}.tariff-card .price-extra{margin-top:25px;padding:18px;background:#edf3e5;border-radius:12px;gap:16px;font-size:13px}.tariff-card .price-extra strong{font-size:24px;white-space:nowrap}#weekday-price,#weekend-price{display:block!important}.prices>.price-note{margin-top:24px;font-size:14px}.address-map{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ffffff55}
.click-ball-layer{position:fixed;inset:0;z-index:10000;pointer-events:none;width:100%;height:100%}.impact-active{animation:button-catch .72s var(--motion-ease)}@keyframes button-catch{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(1px) scale(.976,.96)}70%{transform:translateY(-1px) scale(1.006,1.015)}}
@media(max-width:760px){.about-story{grid-template-columns:1fr;gap:30px}.about-story h2{font-size:42px}.about-story .about-copy{padding-top:22px}.about-court{padding:6px;border-radius:20px}.about-court .court{width:100%;max-height:560px}.about{padding-top:50px;padding-bottom:40px}#rules .rules-grid{grid-template-columns:1fr;gap:25px}#rules{padding-top:45px;padding-bottom:45px}#rules h2{font-size:40px}.price-head{grid-template-columns:1fr;gap:25px}.price-head h2{font-size:52px}.price-bookings{gap:10px}.price-bookings .button{padding:15px 13px;font-size:11px}.tariff-grid{grid-template-columns:1fr;gap:18px}.tariff-card{padding:22px}.tariff-card h3{font-size:19px}.tariff-card td{font-size:16px}.cooperation .text-link{width:100%}.gallery-videos .video-grid{grid-template-columns:1fr}.callback>details>summary{padding:18px!important}}
@media(prefers-reduced-motion:reduce){summary,.button,.service-action,.header-book,.text-link{transition:none!important;animation:none!important}.click-ball-layer{display:none}.impact-active{animation:none}}

/* Final navigation and compact community media. */
.header-rally{overflow:hidden;position:relative;align-self:stretch;display:flex;align-items:center;height:auto!important;max-height:100%}.header-rally svg[hidden]{display:none!important}.header-rally:after{content:'';position:absolute;left:8px;right:8px;bottom:3px;height:1px;background:linear-gradient(90deg,transparent,#285f7c55,transparent)}
summary>.disclosure-icon{width:34px;height:34px;font-size:0!important;color:currentColor}.disclosure-icon svg{width:22px;height:22px}details[open]>summary>.disclosure-icon{transform:rotate(180deg)!important}details[data-closing]>summary>.disclosure-icon{transform:rotate(0deg)!important}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-photo{border-radius:14px;overflow:hidden}.js .gallery-extra{display:none}.js .gallery-grid.expanded .gallery-extra{display:block;animation:gallery-arrival .8s cubic-bezier(.2,.8,.2,1) both}.gallery-grid.expanded .gallery-extra:nth-child(2n){animation-delay:.06s}.gallery-grid.expanded .gallery-extra:nth-child(3n){animation-delay:.12s}
#gallery-more{background:#eaf1e2;border-color:#12334a20;min-width:260px;color:#12334a}#gallery-more:hover:where(html.has-mouse-hover *){background:#d8e8c1;box-shadow:0 10px 26px #12334a18}#gallery-more:hover:where(html.has-mouse-hover *) span{transform:translate(3px,-3px)}
.etiquette{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:center;padding-top:65px;padding-bottom:65px}.etiquette h2{font-size:clamp(42px,4.8vw,70px)}.etiquette>.rules-right{margin:0;max-width:none}.etiquette-scene{width:100%;max-width:550px;display:block;margin-top:12px}.etiquette-ball{animation:etiquette-drift 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.etiquette-intro{min-width:0}
@keyframes etiquette-drift{0%,100%{translate:0 0}50%{translate:0 -3px}}@keyframes gallery-arrival{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.etiquette{grid-template-columns:1fr;gap:20px}.etiquette-scene{max-width:420px;margin:8px auto 0}.etiquette h2{font-size:44px}.racket-stage-caption{right:20px}#gallery-more{width:100%;min-width:0}.header-rally{height:auto!important}}
@media(prefers-reduced-motion:reduce){.etiquette-ball,.gallery-grid.expanded .gallery-extra{animation:none}}
