@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--lime:#d4f44a;--dark:#111512;--muted:#a5afa5;--paper:#f2f3eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--dark);color:var(--paper);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #75bfff;outline-offset:5px}.demo{padding:9px 20px;background:var(--lime);color:var(--dark);text-align:center;font-size:11px;letter-spacing:.08em;font-weight:700}.demo span{font-weight:400;letter-spacing:0}header{max-width:1400px;margin:auto;padding:28px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff1a}.brand{display:flex;align-items:center;gap:8px;font-style:italic;font-size:22px;font-weight:800;line-height:.8;letter-spacing:-1px}.brand-bottom{display:block;font-size:37px}.ball{color:var(--lime);font-size:46px}.speed{color:var(--lime)}nav{display:flex;align-items:center;gap:32px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 25px;background:var(--lime);color:var(--dark);font-weight:700;border:0;border-radius:3px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#e3ff77;transform:translateY(-2px)}.small{padding:13px 18px}.hero{max-width:1400px;margin:auto;padding:45px 6% 55px;display:grid;grid-template-columns:1fr 1fr;gap:6%;min-height:660px}.hero-copy{padding:25px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.8}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:6px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',sans-serif}h1{font-size:clamp(70px,7.7vw,112px);line-height:.9;text-transform:uppercase;letter-spacing:-.025em;margin:25px 0}em{color:var(--lime);font-style:normal}.intro{color:#c5cbc4;font-size:17px;line-height:1.7;margin:25px 0}.micro{font-size:11px;line-height:1.7;color:var(--muted);margin:16px 0 0}.hero-image{position:relative;min-height:550px;background:linear-gradient(180deg,#10171010 25%,#101710df),url('assets/club.png') center 39%/cover;border-radius:160px 4px 4px 4px;overflow:hidden}.photo-label{position:absolute;top:35px;right:25px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.18em}.photo-caption{position:absolute;bottom:30px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:end;font-size:28px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:1.1}.round-arrow{border:1px solid #ffffff80;border-radius:50%;padding:10px 17px;font-family:sans-serif}.ticker{background:var(--lime);color:var(--dark);padding:17px 0;white-space:nowrap;overflow:hidden;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:24px;letter-spacing:.04em;display:flex;gap:50px;justify-content:center}.ticker span{font-size:25px}.section{padding:90px 6%;max-width:1400px;margin:auto}h2{font-size:clamp(42px,5vw,65px);line-height:1.02;letter-spacing:-.015em;font-weight:700}h3{font-size:30px;line-height:1.1}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.section-heading>p{max-width:330px;font-size:13px;line-height:1.8;color:var(--muted)}.section-heading strong{font-weight:500;color:#d7ddd5}.booking-grid{display:grid;grid-template-columns:1.5fr 1fr;border:1px solid #ffffff20;border-radius:5px;overflow:hidden}.picker{padding:30px}.step-title{display:flex;align-items:center;gap:12px;margin:0 0 20px}.step-title h3{margin:0;font-size:25px}.step-title>span{border:1px solid #ffffff40;border-radius:50%;padding:3px 9px;color:var(--lime);font-size:12px}.days{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:35px}.day{padding:13px 4px;border:1px solid #ffffff25;background:transparent;color:white;border-radius:4px;cursor:pointer;font-size:11px}.day strong{font-size:25px;display:block;margin:5px}.day.active,.time.active{background:var(--lime);color:var(--dark);border-color:var(--lime)}label{display:block;font-size:12px;margin-bottom:10px;color:var(--muted)}select{width:100%;padding:13px;border:1px solid #ffffff30;background:#1b211c;color:white;border-radius:3px}.times{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.time{padding:12px 4px;border:1px solid #ffffff30;background:transparent;color:white;border-radius:3px;cursor:pointer}.time:disabled{opacity:.3;text-decoration:line-through;cursor:not-allowed}.summary{padding:35px;background:#20271e}.summary h3{font-size:35px}.summary dl{margin:30px 0}.summary dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff15;padding:15px 0;font-size:12px}.summary dt{color:var(--muted)}.summary dd{margin:0;text-align:right}.notice{font-size:12px;color:#c0c9b9;line-height:1.7;border-left:2px solid var(--lime);padding-left:12px}.summary .button{width:100%;margin:15px 0}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.text-link{display:block;font-size:12px;text-decoration:underline;text-underline-offset:5px;line-height:1.8}.club{border-top:1px solid #ffffff20}.features{display:grid;grid-template-columns:repeat(3,1fr);margin:40px 0}.features article{border-top:1px solid #ffffff30;padding:25px 30px 10px 0;margin-right:30px}.features span{color:var(--lime);font-size:10px;letter-spacing:.1em}.features h3{margin:22px 0 14px;font-size:36px}.features p{font-size:13px;color:var(--muted);line-height:1.8;max-width:260px}.location{max-width:none;background:var(--paper);color:var(--dark);display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-left:max(6%,calc((100vw - 1232px)/2));padding-right:max(6%,calc((100vw - 1232px)/2))}.address{font-size:20px;line-height:1.7}.address span{font-size:14px;color:#65705f}.contact-card{background:#e4e8dc;padding:35px;align-self:center;border-radius:4px}.contact-card h3{font-size:58px;margin:20px 0}.contact-card p{font-size:13px;line-height:1.8;max-width:290px}.contact-card .text-link{margin-top:20px}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 6%;gap:30px}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}footer p{margin:0}.mobile-reserve{display:none}dialog{max-width:500px;width:calc(100% - 32px);background:#20271e;color:white;border:1px solid #ffffff30;border-radius:8px;padding:35px}dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}dialog h2{font-size:44px}dialog>p{font-size:14px;line-height:1.7}.close{position:absolute;right:12px;top:10px;background:none;border:0;color:white;font-size:30px;cursor:pointer}
@media(max-width:700px){.demo{font-size:9px;padding:8px 10px}.demo span{display:block;margin-top:3px}header{padding:20px 6%}nav>a:not(.button){display:none}nav .small{font-size:11px;padding:12px}.brand{font-size:16px}.brand-bottom{font-size:28px}.ball{font-size:35px}.hero{grid-template-columns:1fr;gap:28px;padding-top:15px;padding-bottom:35px;min-height:0}.hero-copy{padding:15px 0 0}h1{font-size:76px;margin:22px 0}.intro{font-size:15px;margin:20px 0}.hero-image{min-height:300px;border-radius:90px 3px 3px 3px;background-position:center 38%}.photo-caption{font-size:25px;bottom:22px}.hero .button{width:100%}.ticker{font-size:19px;padding:12px;gap:25px}.section{padding:55px 6%}.section-heading{display:block}.section-heading>p{margin-bottom:28px}h2{font-size:43px;margin-bottom:22px}.booking-grid{grid-template-columns:1fr}.picker,.summary{padding:22px}.days{gap:6px}.day{font-size:10px}.day strong{font-size:24px}.times{gap:8px}.features{grid-template-columns:1fr;margin:25px 0}.features article{margin:0;padding:24px 0;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.features span{grid-column:1/-1}.features h3{font-size:30px;margin:18px 0 0}.features p{margin:18px 0 0}.location{grid-template-columns:1fr;gap:35px}.contact-card{padding:26px}.contact-card h3{font-size:46px}footer{padding:35px 6% 100px;flex-wrap:wrap}footer .brand{font-size:22px}footer p{width:100%;order:3}.mobile-reserve{display:flex;position:fixed;bottom:12px;left:6%;right:6%;z-index:5;box-shadow:0 4px 30px #0006;padding:16px 20px}dialog{max-height:85dvh;overflow:auto;padding:28px}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Official brand artwork supplied by the club. */
.brand-logo{display:block;width:190px;height:auto;object-fit:contain;border-radius:3px}footer .brand-logo{width:165px}@media(max-width:700px){.brand-logo{width:145px}footer .brand-logo{width:165px}}@media(max-width:360px){header{gap:12px}.brand-logo{width:120px}nav .small{padding:11px 10px;white-space:nowrap}}
/* Clip only the Instagram avatar rim; preserve the brand's own circle. */
.brand-logo{border-radius:0;clip-path:polygon(6% 4%,94% 4%,98% 50%,98% 68%,94% 90.7%,4.7% 90.7%,4.7% 27%)}

/* Transparent PNG replaces the Instagram screenshot. */
.brand-logo{clip-path:none;border-radius:0}

/* Full-screen video cover; keep the supplied source at its original quality. */
header{position:absolute;top:48px;left:0;right:0;z-index:4;border:0;width:100%;max-width:none;background:linear-gradient(#0008,transparent)}
.demo{position:absolute;top:0;left:0;right:0;z-index:5;min-height:32px}
.hero.cinema{position:relative;isolation:isolate;display:flex;align-items:flex-end;max-width:none;width:100%;height:100svh;min-height:620px;margin:0;padding:0 6% 60px;overflow:hidden;background:#101512 url('assets/portada-padel-poster.png') 53% center/cover no-repeat}
.cinema-video,.cinema-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:53% center}
.cinema-shade{z-index:-1;background:linear-gradient(180deg,#0003 0%,transparent 30%,#0005 58%,#000c 100%)}
.cinema .hero-copy{padding:0;position:relative;max-width:850px}.cinema h1{font-size:clamp(70px,8.5vw,120px);text-shadow:0 2px 25px #0006;margin:20px 0 26px}.cinema .button{min-width:235px}.cinema .micro{color:#d8dfd2}
.cinema-controls{position:absolute;right:6%;top:155px;display:flex;gap:8px;z-index:3}.cinema-controls button{background:#0c140dd9;color:white;border:1px solid #ffffff70;padding:11px 14px;border-radius:30px;font-size:11px;cursor:pointer}
.next-turn{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 6%;background:var(--lime);color:var(--dark)}.next-turn>span:first-child{font-size:10px;letter-spacing:.12em;font-weight:700}.next-turn strong{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:32px}.next-turn>span:last-child{font-size:30px}.impact-wave{position:absolute;top:40%;left:50%;height:80px;width:80px;border:2px solid #e8ffd3;border-radius:50%;opacity:0;pointer-events:none;transform:translate(-50%,-50%)}
.cinema.is-playing:not(.has-impact) h1{opacity:0;transform:translateY(20px)}.cinema h1{transition:opacity .45s,transform .45s}.cinema.has-impact .impact-wave{animation:impact-ring .6s ease-out forwards}.cinema.has-impact .cinema-video{animation:screen-impact .18s linear}.cinema.has-impact .button{box-shadow:0 0 28px #d4f44555}
@keyframes impact-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(14)}}@keyframes screen-impact{25%{transform:translate(3px,-2px) scale(1.012)}50%{transform:translate(-3px,2px) scale(1.012)}75%{transform:translate(1px,-1px) scale(1.006)}100%{transform:none}}
@media(max-width:700px){header{top:44px;padding:15px 6%}.hero.cinema{height:100svh;min-height:600px;padding:0 6% 48px}.cinema h1{font-size:clamp(62px,15vw,88px);margin:16px 0 24px}.cinema .hero-copy{width:100%}.cinema-controls{top:125px;left:6%;right:auto}.cinema .button{width:auto}.next-turn{padding:22px 6%;gap:12px}.next-turn>span:first-child{display:none}.next-turn strong{font-size:28px}.mobile-reserve{display:none}body.past-cover .mobile-reserve{display:flex}}
@media(prefers-reduced-motion:reduce){.cinema h1{opacity:1!important;transform:none!important;transition:none}.impact-wave{display:none}.cinema.has-impact .cinema-video{animation:none}}

/* Show the entire supplied shot, including the glass and its embedded title. */
.hero.cinema{background-image:url('assets/portada-golpe-poster.png');background-size:contain;background-color:#080c09}
.cinema-video{object-fit:contain;object-position:center}
.cinema.video-ready h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.cinema.video-ready .eyebrow{display:none}.cinema.video-ready .cinema-shade{background:linear-gradient(transparent 65%,#000b 100%)}
.cinema.has-impact .impact-wave{display:none}.cinema.has-impact .cinema-video{animation:none}
/* A larger mobile frame with a modest crop, without tall empty bands. */
.demo{position:relative}.demo span{line-height:1.5}
header{position:relative;top:auto;left:auto;right:auto;background:var(--dark)}
.hero.cinema{height:auto;min-height:0;aspect-ratio:16/9;padding:0 6% 28px;background-size:cover;background-position:center}
.cinema-video{object-fit:cover;object-position:center}
.cinema-controls{top:18px;right:6%;left:auto}
.cinema h1{font-size:clamp(44px,7vw,92px)}
@media(max-width:700px){
 header{top:auto;padding:14px 6%}
 .hero.cinema{height:auto;min-height:0;aspect-ratio:4/3;padding:0 5% 16px}
 .cinema-controls{top:10px;right:4%;left:auto;gap:6px}
 .cinema-controls button{padding:8px 10px;font-size:10px}
 .cinema .hero-copy{width:100%}
 .cinema h1{font-size:clamp(30px,8vw,48px);margin:6px 0 14px}
 .cinema .hero-copy>.eyebrow,.cinema .micro{display:none}
 .cinema .button{min-width:0;padding:12px 17px;font-size:13px;gap:22px}
 .next-turn{padding:18px 6%}
}

/* Single reservation action directly below the cover. */
.next-turn:focus-visible{outline-offset:-5px}.next-turn:hover{background:#e3ff77}.next-turn{min-height:76px}/* Visually hidden, still present in the accessibility tree when the video supplies the title. */
.cinema.video-ready .hero-copy{display:block!important;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* Compact navigation on the upper right, on mobile and desktop. */
.menu-toggle{display:flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;margin-left:auto;background:transparent;border:1px solid #ffffff45;border-radius:6px;color:var(--lime);font-size:26px;cursor:pointer;line-height:1}
.menu-toggle:hover{background:#ffffff0a}.compact-menu[hidden]{display:none}
header .compact-menu{position:absolute;right:6%;top:calc(100% - 4px);width:min(270px,88vw);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:#182017;border:1px solid #ffffff25;border-radius:7px;box-shadow:0 14px 40px #0008;z-index:10}
header .compact-menu>a{display:block!important;padding:14px 16px;font-size:14px;border-radius:4px}
header .compact-menu>a:first-child{color:var(--lime);font-weight:700}header .compact-menu>a:hover{background:#ffffff0a}
header .compact-menu[hidden]{display:none}

/* Real venue photography and sourced club story, before reservations. */
.club-story{background:#eceee9;color:#192219;padding:76px 6%;overflow:hidden}
.story-inner{max-width:1232px;margin:0 auto}.story-heading{margin-bottom:35px}
.story-heading .eyebrow{display:flex;align-items:center;gap:12px;color:#485344}.story-heading .eyebrow::before{content:"";width:28px;height:4px;background:#bddf19}
.story-heading h2{font-size:clamp(46px,5.5vw,74px);line-height:1.02;margin:14px 0 0}.story-heading h2 span{display:inline;background:var(--lime);padding:0 8px 3px;margin-left:-8px;box-decoration-break:clone}
.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,68px);align-items:start}
.club-story figure{margin:0}.club-story img{display:block;width:100%;height:auto;border-radius:3px}.club-story figcaption{font-size:11px;color:#596450;margin-top:11px;line-height:1.6}
.story-main{position:relative}.story-copy{padding-top:3px}.story-copy p{font-size:15px;line-height:1.85;max-width:480px;color:#45503f}.story-copy .story-lead{font-size:clamp(22px,2.4vw,30px);line-height:1.4;letter-spacing:-.025em;color:#192219;font-weight:600;margin-bottom:20px}
.story-facts{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}.story-facts span{font-size:11px;border:1px solid #abb5a2;padding:8px 11px;border-radius:20px}
.story-copy .story-bar{max-width:255px;margin-left:auto}.story-foot{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #bec8b4;margin-top:35px;padding-top:24px;align-items:baseline}.story-foot>span{font-size:10px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.story-foot p{font-size:12px;line-height:1.8;margin:0;color:#45503f}
@media(prefers-reduced-motion:no-preference){.club-story.can-reveal .story-heading,.club-story.can-reveal .story-grid,.club-story.can-reveal .story-foot{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.club-story.can-reveal.is-visible .story-heading,.club-story.can-reveal.is-visible .story-grid,.club-story.can-reveal.is-visible .story-foot{opacity:1;transform:none}.club-story.is-visible .story-grid{transition-delay:.08s}.club-story.is-visible .story-foot{transition-delay:.16s}}
@media(max-width:700px){.club-story{padding:50px 6%}.story-heading{margin-bottom:28px}.story-heading h2{font-size:45px}.story-grid{grid-template-columns:1fr;gap:28px}.story-main img{max-height:none}.story-copy p{font-size:15px;line-height:1.8}.story-copy .story-lead{font-size:24px}.story-copy .story-bar{max-width:290px;margin:28px auto 0}.story-foot{display:block;margin-top:28px}.story-foot p{margin-top:12px}.story-facts{gap:6px}.story-facts span{padding:7px 10px}}

/* Owner portrait: frame the real photograph, excluding Instagram's sidebar. */
.founder{margin-top:48px;padding:36px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:42px;align-items:center;background:#192219;color:#f2f3eb;border-radius:4px}
.founder-photo{aspect-ratio:.84;overflow:hidden;border-radius:3px;background:#080c09;max-width:330px}.club-story .founder-photo img{height:100%;width:auto;max-width:none;border-radius:0;display:block}
.club-story .founder figcaption{color:#c0cabb;font-size:11px;max-width:330px}.founder-copy .eyebrow{color:var(--lime);font-size:10px}.founder-copy h3{font-size:clamp(35px,4vw,52px);margin:10px 0 20px}.founder-copy p{font-size:14px;line-height:1.85;color:#c5cfc0}.founder-copy .founder-lead{font-size:23px;line-height:1.4;color:#f2f3eb;font-weight:500}.founder-copy p:last-child{color:var(--lime);margin-bottom:0}
@media(max-width:700px){.founder{grid-template-columns:1fr;padding:23px;gap:26px;margin-top:34px}.founder-photo{max-width:330px;margin:auto}.founder-copy h3{font-size:38px}.founder-copy .founder-lead{font-size:22px}}

/* Three real venue views: swipe or select, with restrained scroll zoom. */
.story-gallery{min-width:0}.club-photo-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.club-photo-track::-webkit-scrollbar{display:none}
.club-story .club-slide{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.club-photo-frame{aspect-ratio:1227/1282;overflow:hidden;border-radius:3px;background:#151c15}
.club-story .club-photo-frame img{width:100%;height:100%;object-fit:contain;border-radius:0;transform:scale(var(--club-photo-zoom,1));transform-origin:50% 65%}
.club-photo-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.club-photo-nav button{font:inherit;font-size:11px;padding:10px 14px;min-height:40px;border-radius:22px;border:1px solid #a8b29f;background:transparent;color:#253021;cursor:pointer}.club-photo-nav button[aria-pressed="true"]{background:#d4f44a;border-color:#b2d02a;font-weight:700}.club-photo-nav button:hover{border-color:#536746}.gallery-hint{font-size:10px;line-height:1.6;color:#596450;margin:12px 0 0}
@media(prefers-reduced-motion:reduce){.club-story .club-photo-frame img{transform:none!important}}

/* Swipe follows the finger; the photos keep a restrained depth effect. */
.club-photo-track{cursor:grab}.club-photo-track:active{cursor:grabbing}
.club-story .club-photo-frame img{transform:translateX(var(--swipe-shift,0px)) scale(calc(var(--club-photo-zoom,1) + var(--swipe-zoom,0)));will-change:transform;user-select:none;-webkit-user-drag:none}
.carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.carousel-footer .gallery-hint{margin:0}
#carousel-toggle{font:inherit;font-size:10px;min-height:40px;padding:8px;background:none;border:0;color:#405039;text-decoration:underline;text-underline-offset:4px;cursor:pointer}#carousel-toggle[hidden]{display:none}

/* One introduction, followed by generous photographs without isolated thumbnails. */
.story-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;align-items:start;margin-bottom:32px}.story-heading>.eyebrow{grid-column:1/-1}.story-heading h2{margin:10px 0 0}.story-heading .story-copy{padding-top:10px}.story-heading .story-copy p{max-width:none}.story-heading .story-copy .story-lead{font-size:24px;margin-bottom:12px}.story-heading .story-facts{margin:20px 0 0}
.story-grid{display:block}.club-photo-track{gap:16px}.club-story .club-slide{flex-basis:calc(50% - 8px)}.club-photo-frame{aspect-ratio:0.88}.club-story .club-photo-frame img{object-fit:cover;transform:translate(var(--swipe-shift,0px),var(--club-photo-y,0px)) scale(calc(var(--club-photo-zoom,1) + var(--swipe-zoom,0)))}
@media(max-width:700px){.club-story{padding:40px 4%}.story-heading{display:block;margin-bottom:26px}.story-heading h2{font-size:43px;margin:12px 0 22px}.story-heading .story-copy{padding:0}.story-heading .story-copy .story-lead{font-size:22px;line-height:1.45}.story-heading .story-facts{margin:18px 0 0}.story-grid{margin:0 -2.175%}.club-photo-track{gap:10px}.club-story .club-slide{flex-basis:100%}.club-photo-frame{aspect-ratio:.88;border-radius:0}.club-photo-nav,.carousel-footer,.club-slide figcaption{margin-left:2.1%;margin-right:2.1%}.club-photo-nav{gap:6px}.club-photo-nav button{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.club-story .club-photo-frame img{transform:none!important}}

.club-photo-nav button[hidden]{display:none}

/* Visible but gentle scroll zoom, with the lower brand kept in frame. */
@media(prefers-reduced-motion:no-preference){.club-story .club-photo-frame img{transform-origin:50% 78%;transition:transform .16s ease-out}}

/* Editorial founder story, in the same light-gray and fluorescent-green palette. */
.founder.founder-editorial{background:transparent;color:#192219;padding:54px 0 0;margin-top:0;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,68px);align-items:center;border-radius:0}
.founder-editorial .founder-photo{max-width:none;width:100%;aspect-ratio:.85;border-radius:3px}
.founder-editorial .founder-copy .eyebrow{color:#42523a;letter-spacing:.15em;display:flex;align-items:center;gap:12px}.founder-editorial .eyebrow::before{content:"";width:28px;height:4px;background:#badb1c}
.founder-editorial .founder-copy h3{font-size:clamp(36px,4.2vw,57px);line-height:1.04;letter-spacing:-.015em;margin:18px 0 27px}
.founder-editorial .founder-copy>p{font-size:15px;line-height:1.85;color:#45503f;max-width:510px}
.founder-editorial .founder-copy .founder-statement{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(34px,3.8vw,51px);line-height:1.08;font-weight:700;color:#192219;letter-spacing:-.015em;margin:35px 0 24px;padding:0 0 0 20px;border-left:5px solid #c3e32e}
.founder-editorial .founder-copy .founder-signature{font-size:11px;line-height:1.7;color:#596450;margin:0;letter-spacing:.025em}
.founder-bridge{display:flex;align-items:center;gap:18px;border-top:1px solid #bfc9b6;margin-top:44px;padding-top:25px}.founder-bridge>span{color:#91a900;font-size:32px;line-height:1}.founder-bridge p{font-family:'Barlow Condensed',sans-serif;font-size:28px;line-height:1.2;margin:0;color:#263221}
@media(prefers-reduced-motion:no-preference){.founder-editorial.founder-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.founder-editorial.founder-reveal.is-visible{opacity:1;transform:none}}
@media(max-width:700px){.founder.founder-editorial{grid-template-columns:1fr;padding:36px 0 0;gap:30px}.founder-editorial .founder-photo{max-width:none;aspect-ratio:.85}.founder-editorial .founder-copy h3{font-size:39px;margin:15px 0 22px}.founder-editorial .founder-copy>p{font-size:15px;line-height:1.8}.founder-editorial .founder-copy .founder-statement{font-size:38px;line-height:1.1;margin:28px 0 22px;padding-left:16px}.founder-editorial .founder-copy .founder-signature{font-size:11px}.founder-bridge{margin-top:32px;padding-top:22px}.founder-bridge p{font-size:25px}}
.founder-editorial .founder-photo{position:relative}.club-story .founder-editorial .founder-photo img{position:absolute;left:0;top:0;height:100%;width:auto;max-width:none}

.founder-editorial .founder-photo{aspect-ratio:1269/1239}.club-story .founder-editorial .founder-photo img{width:100%;height:100%;object-fit:contain}

/* Community: six real photos, no autoplay; hidden until the set is supplied. */
.community[hidden]{display:none}.community{background:#eceee9;color:#192219;padding:45px 6% 60px}.community-inner{max-width:1232px;margin:auto}.community .eyebrow{color:#4d5c44}.community h2{font-size:clamp(43px,5vw,66px);margin:14px 0 22px}.community h2 span{background:var(--lime);padding:0 7px}.community-intro{font-size:16px;color:#45503f;line-height:1.7;margin-bottom:28px}.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.community-photo{display:block;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#dfe4d9;cursor:zoom-in;overflow:hidden;border-radius:3px}.community-photo img{display:block;width:100%;height:100%;object-fit:cover}.community-photo:focus-visible{outline:3px solid #607a18;outline-offset:4px}
.community-viewer{position:fixed;inset:0;margin:auto;max-width:none;max-height:none;width:100vw;height:100dvh;padding:60px 70px 40px;background:#080c09f5;color:white;border:0;border-radius:0;overflow:hidden;touch-action:pan-y}.community-viewer::backdrop{background:#000e;backdrop-filter:none}.community-viewer[open]{display:flex;align-items:center;justify-content:center}.community-viewer figure{margin:0;max-width:1100px;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}.community-viewer img{max-width:100%;max-height:calc(100% - 34px);width:auto;height:auto;object-fit:contain;border-radius:0;user-select:none;-webkit-user-drag:none}.community-viewer figcaption{min-height:20px;font-size:12px;color:#d2dcca}.community-viewer button{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:#172114d9;border:1px solid #ffffff60;border-radius:50%;color:white;font-size:36px;cursor:pointer}.community-close{top:14px;right:18px}.community-prev{left:14px;top:calc(50% - 23px)}.community-next{right:14px;top:calc(50% - 23px)}
@media(prefers-reduced-motion:no-preference){.community.community-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.community.community-reveal.is-visible{opacity:1;transform:none}}
@media(max-width:700px){.community{padding:30px 4% 42px}.community h2{font-size:43px}.community-intro{font-size:15px;margin-bottom:22px}.community-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.community-photo{aspect-ratio:4/3}.community-viewer{padding:70px 10px 70px}.community-viewer button{width:42px;height:42px;font-size:31px}.community-prev,.community-next{top:auto;bottom:16px}.community-prev{left:calc(50% - 55px)}.community-next{right:calc(50% - 55px)}}

/* Eight community photographs: compact two-row desktop layout. */
.community-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:700px){.community-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}

/* Four editorial highlights, matching frames; remaining moments open in the viewer. */
.community-photo{aspect-ratio:16/10;border-radius:2px}.community-photo img{object-fit:cover}
.community-gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #c2cbbb;margin-top:20px;padding-top:18px}.community-gallery-footer>p{margin:0;color:#596450;font-size:11px;letter-spacing:.025em}
#community-more{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:44px;padding:11px 19px;border:1px solid #697c57;background:transparent;border-radius:3px;color:#24321e;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
#community-more:hover{background:var(--lime);border-color:#acc92a}#community-more:focus-visible{outline:3px solid #607a18;outline-offset:4px}
@media(max-width:700px){.community-photo{aspect-ratio:16/10}.community-gallery-footer{gap:12px;margin-top:16px;padding-top:15px}.community-gallery-footer>p{font-size:10px;max-width:110px;line-height:1.6}#community-more{padding:10px 14px;font-size:11px;gap:14px}}

/* Subtle, scroll-linked community zoom; the grid and crop remain stable. */
@media(prefers-reduced-motion:no-preference){.community-photo img{transform:scale(var(--community-zoom,1));transform-origin:50% 35%;transition:transform .12s ease-out}}
@media(prefers-reduced-motion:reduce){.community-photo img{transform:none;transition:none}}
/* Reservation studio: practical controls, editorial rhythm. */
.booking-tabs{display:flex;gap:8px;margin:0 0 28px;flex-wrap:wrap}.booking-tabs button,.outline-action,.cancel-action,.date-tools button,.court-chip{font:inherit;font-size:13px;cursor:pointer;border:1px solid #62705b;border-radius:4px;background:transparent;color:inherit;min-height:44px;padding:10px 16px}.booking-tabs button[aria-pressed=true],.court-chip.active{background:var(--lime);color:#172014;border-color:var(--lime)}.booking [hidden],.booking-modal [hidden]{display:none!important}.date-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0}.date-tools span{font-size:12px}.date-tools button:disabled{opacity:.3;cursor:default}.booking .days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.booking .day{min-width:0;padding:10px 4px}.booking-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.slot{font:inherit;min-height:74px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:13px 16px;border:1px solid #66705d;border-radius:4px;background:#1a2117;color:#eceee9;cursor:pointer}.slot strong{font-size:19px}.slot small{font-size:11px;color:#bbc5b2}.slot.active{background:var(--lime);border-color:var(--lime);color:#182014}.slot.active small{color:#344322}.slot:disabled{opacity:.38;cursor:default}.court-options{display:flex;gap:8px;flex-wrap:wrap}.court-options p{width:100%;font-size:13px}.booking button:focus-visible,.booking-modal button:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.demo-requests{margin-top:32px;padding-top:25px;border-top:1px solid #46513e}.request-card{position:relative;padding:18px 0;border-bottom:1px solid #46513e}.request-card>strong{display:inline-block;margin-right:14px;font-size:14px}.request-card p{font-size:13px;line-height:1.7}.status{display:inline-block;padding:5px 8px;border:1px solid #8da16b;border-radius:3px;font-size:10px;letter-spacing:.04em;white-space:nowrap}.status-pending{color:#f5d78a;border-color:#8f7b40}.status-confirmed{color:#d9f977;border-color:#809a3b}.status-cancelled{color:#adb3a6;border-color:#62685c}.status-blocked{color:#d7cbdc;border-color:#837288}.cancel-action{margin-left:8px;text-decoration:underline;border:0;font-size:12px}.admin-heading{display:flex;gap:25px;justify-content:space-between;align-items:start}.admin-heading h3{font-size:30px}.admin-toolbar{display:flex;gap:20px;align-items:end;margin:24px 0}.admin-toolbar label{display:grid;gap:8px;font-size:12px}.admin-toolbar input{color-scheme:dark;background:#20281c;color:#eceee9;border:1px solid #657359;padding:12px;font:inherit;border-radius:4px;min-height:46px}.agenda-stats{font-size:13px;color:#d0ddbc;padding:18px 0}.agenda-scroll{overflow:auto}.agenda-table{width:100%;min-width:530px;border-collapse:collapse;text-align:left}.agenda-table caption{text-align:left;font-size:11px;color:#a6b49a;margin:0 0 12px}.agenda-table th,.agenda-table td{padding:14px 12px;border:1px solid #46513e;font-size:12px}.agenda-table thead th{background:#26321e;color:#d7edb4}.agenda-table td small{display:block;margin-top:7px;color:#b9c3b1;max-width:160px;overflow-wrap:anywhere}.free-slot{background:transparent;border:0;color:#dbf88a;text-decoration:underline;cursor:pointer;padding:10px 0;min-height:44px}.admin-list-title{margin-top:30px}.booking-modal{max-width:560px;width:calc(100% - 28px);max-height:90dvh;overflow:auto;padding:36px;background:#eceee9;color:#192219}.booking-modal h2{font-size:42px}.booking-modal form{display:grid;gap:18px}.booking-modal label{display:grid;gap:7px;font-size:13px}.booking-modal input,.booking-modal textarea,.booking-modal select{width:100%;box-sizing:border-box;padding:12px;font:inherit;font-size:16px;color:#192219;background:#fff;border:1px solid #97a18c;border-radius:3px}.booking-modal .check-label{display:flex;align-items:start;line-height:1.6}.booking-modal input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:2px}.booking-modal .notice{color:#45503f}.booking-modal .button{width:100%;color:#182014}.booking-modal [role=alert]{color:#9a2626;margin:0;font-size:13px}.booking-modal .close{color:#192219}.booking-modal #final-selection{line-height:1.7;font-size:14px}.booking-modal::backdrop{background:#000c}
@media(max-width:700px){.booking-tabs{gap:6px}.booking-tabs button{font-size:11px;padding:10px}.booking .days{gap:4px}.booking .day{font-size:10px}.booking .day strong{font-size:22px}.booking-slots{gap:8px}.slot{padding:12px;min-height:76px}.slot small{font-size:10px}.admin-heading{display:block}.admin-toolbar{display:block}.admin-toolbar .button{margin-top:14px;width:100%}.admin-toolbar input{width:100%}.booking-modal{padding:30px 20px}.booking-modal h2{font-size:36px}.request-card .status{margin-top:8px}.admin-heading .outline-action{margin-top:10px}.booking .summary{position:static}}

/* Mobile reservation controls: generous date targets, readable supporting text. */
@media(max-width:700px){
 .booking .days{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .booking .day{min-width:44px;min-height:88px;padding:10px 6px;font-size:14px;line-height:1.4}
 .booking .day strong{font-size:26px;margin:4px 0}
 .date-tools span,.booking .micro,.booking .notice,.booking label,.slot small,.court-options p,.booking .status{font-size:14px;line-height:1.6}
 .booking-tabs button{flex:1 1 120px;font-size:14px;line-height:1.4;min-height:48px}
 .court-chip{font-size:14px;min-height:48px}
 .slot{min-height:88px}
 .booking-modal label,.booking-modal .notice,.booking-modal #final-selection{font-size:14px;line-height:1.6}
 .cinema-controls button{font-size:12px;min-height:44px;padding:10px 12px}
}

#booking-date,#booking-court{width:100%;font:inherit;font-size:16px;padding:12px;min-height:48px;margin:8px 0 18px}#mis-reservas{margin-top:36px;border-top:1px solid #acb79f;padding-top:24px}#saved-reservations article{padding:16px 0;border-bottom:1px solid #acb79f}#saved-reservations a{display:block;padding:12px 0}#saved-reservations button{min-height:44px}#hold-result a{display:block;margin-top:14px}#slot-message{min-height:28px}

/* Club services: editable text and crisp icons, following the club's own artwork. */
.club-services .services-intro{color:var(--muted);font-size:16px;line-height:1.7;max-width:540px;margin:24px 0 40px}
.services-grid{list-style:none;padding:0;margin:0 0 34px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #d4f44a55;border-left:1px solid #d4f44a55}
.services-grid li{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0;padding:30px 24px;border-right:1px solid #d4f44a55;border-bottom:1px solid #d4f44a55}
.services-grid li:last-child{grid-column:span 2;flex-direction:row;align-items:center;gap:28px}
.services-grid svg{width:58px;height:58px;color:var(--lime);flex:none}
.services-grid h3{margin:0;font-size:clamp(27px,2.5vw,36px);line-height:1.1;font-weight:700}
@media(max-width:700px){.club-services .services-intro{font-size:15px;margin:20px 0 28px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}.services-grid li{padding:24px 16px;gap:18px}.services-grid svg{width:48px;height:48px}.services-grid h3{font-size:clamp(22px,6vw,27px);max-width:100%;overflow-wrap:anywhere}.services-grid li:last-child{gap:20px}.club-services .text-link{font-size:14px}}

/* Compact scheduling: one period, six starts at a time. */
.time-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:16px 0}
.time-periods button{background:transparent;border:1px solid #ffffff35;color:var(--paper);border-radius:4px;min-height:48px;padding:10px 4px;font-size:14px;cursor:pointer}
.time-periods button.active{background:var(--lime);border-color:var(--lime);color:var(--dark);font-weight:700}.time-periods button:disabled{opacity:.4;cursor:not-allowed}
#live-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}#live-slots .slot{min-height:54px;padding:12px 4px;font-size:18px}
.slot-pages{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.slot-pages button{min-width:48px;min-height:44px;background:transparent;color:var(--paper);border:1px solid #ffffff40;border-radius:4px;font-size:20px;cursor:pointer}.slot-pages button:disabled{opacity:.35;cursor:not-allowed}.slot-pages span{font-size:14px;color:var(--muted)}
.time-periods[hidden],.slot-pages[hidden]{display:none!important}#slot-hint{font-size:14px;line-height:1.6;margin-top:12px}
@media(max-width:360px){.time-periods button{font-size:12px}#live-slots .slot{font-size:16px}}

@media(prefers-reduced-motion:no-preference){
 .services-motion li{opacity:.35;transform:translateY(40px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--service-delay,0ms)}
 .services-motion li.service-entered{opacity:1;transform:translateY(0)}
 .services-grid svg{transform:translateY(var(--service-y,0px)) rotate(var(--service-rotate,0deg)) scale(var(--service-scale,1));transform-origin:center;will-change:transform}
}
@media(prefers-reduced-motion:reduce){.services-motion li{opacity:1;transform:none}.services-grid svg{transform:none;will-change:auto}}

/* Brief, unmistakable icon shake on viewport entry; never moves the labels. */
@keyframes service-icon-vibrate{
  0%,100%{transform:translate(0,0) rotate(0deg) scale(1)}
  10%{transform:translate(-5px,1px) rotate(-9deg) scale(1.12)}
  20%{transform:translate(5px,-2px) rotate(9deg) scale(1.12)}
  30%{transform:translate(-5px,1px) rotate(-9deg) scale(1.12)}
  40%{transform:translate(5px,-1px) rotate(9deg) scale(1.12)}
  50%{transform:translate(-4px,2px) rotate(-7deg) scale(1.1)}
  60%{transform:translate(4px,-1px) rotate(7deg) scale(1.1)}
  70%{transform:translate(-3px,1px) rotate(-5deg) scale(1.06)}
  80%{transform:translate(3px,-1px) rotate(5deg) scale(1.06)}
  90%{transform:translate(-2px,0) rotate(-3deg) scale(1.03)}
}
@media(prefers-reduced-motion:no-preference){
 .services-grid svg{transform:none}
 .services-grid .service-vibrate svg{animation:service-icon-vibrate 1.1s ease-in-out var(--service-delay,0ms) 2}
}
@media(prefers-reduced-motion:reduce){.services-grid .service-vibrate svg{animation:none}}
