@font-face{font-family:Manrope;src:url('fonts/manrope.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('fonts/cormorant.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
:root{--green:#122b21;--green-dark:#0d2119;--cream:#f2f0e5;--lime:#e4eca5;--ink:#20392d;--muted:#687268;--line:rgba(242,240,229,.22);--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--green);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #b4c36b;outline-offset:6px}::selection{background:var(--lime);color:var(--green)}.shell{width:calc(100% - 128px);max-width:1408px;margin-inline:auto}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:14px 24px;background:var(--lime);color:var(--green);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.hero{min-height:800px;height:100svh;max-height:1150px;position:relative;isolation:isolate;overflow:hidden;background:#213721;display:flex;flex-direction:column}.hero-picture,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center 55%;animation:hero-settle 1.8s var(--ease) both}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(7,25,17,.76) 0%,rgba(8,27,18,.45) 38%,rgba(9,23,13,.04) 75%),linear-gradient(0deg,rgba(7,24,17,.8),transparent 23%,transparent 70%,rgba(7,24,17,.3))}.site-header{height:156px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0}.brand img{width:112px;height:112px;object-fit:contain}.header-location{display:flex;flex-direction:column;gap:8px;margin-left:auto;margin-right:70px}.tiny-label,.local-time,.eyebrow,.launch-badge,.scroll-link,.hero-coordinate,.court-topline,.court-bottomline,.sport-kicker,.contact-label,.contact-signature,.back-top,.footer-bottom{font-size:10px;letter-spacing:1.8px;font-weight:400}.local-time{font-size:11px;letter-spacing:1.2px;color:rgba(242,240,229,.7);display:flex;align-items:center;gap:7px;min-height:18px}.sun-icon{font-size:21px;line-height:14px}.header-contact{font-size:13px;border:1px solid rgba(242,240,229,.45);border-radius:30px;padding:15px 23px;display:flex;align-items:center;gap:32px;transition:background .25s,color .25s}.header-contact:hover{background:var(--cream);color:var(--green)}.header-contact .icon{width:17px;height:17px}.hero-content{padding-top:clamp(62px,9vh,116px);padding-bottom:80px;position:relative}.launch-badge{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.7px;animation:enter .9s .1s both}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);flex:none;box-shadow:0 0 0 5px rgba(228,236,165,.1);animation:status-pulse 3s infinite}.hero h1{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:clamp(78px,7.7vw,122px);line-height:1.06;letter-spacing:-5px;margin:29px 0 21px;max-width:800px;animation:enter 1s .2s both}.hero h1 span,.hero h1 em{display:block}.hero h1 em{font-family:Cormorant,Georgia,serif;font-weight:500;font-size:1.18em;letter-spacing:-5px;line-height:1.02;color:#f1efdc;margin-left:-4px}.hero-description{font-size:16px;line-height:1.7;color:rgba(242,240,229,.78);animation:enter 1s .3s both}.hero-actions{display:flex;align-items:center;gap:31px;margin-top:29px;animation:enter 1s .4s both}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:20px 25px;font-size:13px;border-radius:3px;transition:background .25s,transform .25s}.button .arrow{margin-left:35px;width:18px;height:18px}.button-lime{color:var(--green);background:var(--lime)}.button-lime:hover{background:#f3f7c9;transform:translateY(-3px)}.text-link{font-size:13px;display:inline-flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(242,240,229,.4)}.text-link .icon{width:16px;height:16px;transition:transform .3s}.text-link:hover .icon{transform:translate(3px,-3px)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0;margin-top:auto;position:relative}.hero-signature{font-family:Cormorant,Georgia,serif;font-size:24px;font-style:italic}.hero-signature span{color:var(--lime)}.scroll-link{display:flex;align-items:center;gap:17px;font-size:9px}.scroll-link span{font-size:24px;transition:transform .3s}.scroll-link:hover span{transform:translateY(5px)}.hero-coordinate{font-size:9px;color:rgba(242,240,229,.64);letter-spacing:1px}.hero-seal{position:absolute;width:126px;height:126px;right:5%;bottom:145px;color:var(--lime);display:grid;place-items:center}.hero-seal>svg:first-child{width:100%;height:100%;fill:currentColor;animation:rotate 45s linear infinite}.hero-seal text{font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:2px}.hero-seal .seal-ball{position:absolute;width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1}.motion-toggle{position:absolute;right:21px;bottom:90px;display:flex;align-items:center;gap:7px;background:rgba(9,27,19,.75);border:1px solid var(--line);border-radius:30px;padding:8px 11px;cursor:pointer;font-size:10px;z-index:3}.motion-toggle[hidden]{display:none}.motion-label{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .3s}.motion-toggle:hover .motion-label,.motion-toggle:focus-visible .motion-label{max-width:150px}.motion-symbol{width:10px;text-align:center}.ticker{background:var(--lime);color:var(--green);overflow:hidden;padding:21px 0}.ticker-track{width:max-content;display:flex;align-items:center;gap:48px;animation:ticker 40s linear infinite}.ticker-track span{font-family:Manrope,Arial,sans-serif;font-size:15px;letter-spacing:2px}.ticker svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.1}
.section-pad{padding-block:100px}.experience{background:var(--cream);color:var(--ink)}.eyebrow{display:flex;align-items:center;gap:19px;font-size:10px;margin:0 0 30px}.section-number{opacity:.55;letter-spacing:1px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(44px,4.5vw,70px);font-weight:500;line-height:1.12;letter-spacing:-2.8px;margin:0}h2 em{font-family:Cormorant,Georgia,serif;font-weight:500;font-size:1.2em;letter-spacing:-2px}.intro-grid>p{justify-self:end;font-size:15px;line-height:1.9;padding-right:5%;color:var(--muted)}.intro-grid strong{font-weight:400;color:var(--ink);display:block;margin-top:8px}.sport-explorer{display:grid;grid-template-columns:1fr 1.08fr;margin-top:62px;min-height:490px;border-top:1px solid #d2d7c8;border-bottom:1px solid #d2d7c8}.sport-copy{padding:32px 58px 38px 0}.sport-tabs{display:flex;gap:10px;margin-bottom:40px}.sport-tab{border:1px solid #c9cebf;background:transparent;color:var(--muted);cursor:pointer;padding:13px 19px;display:flex;align-items:center;gap:15px;border-radius:30px;font-size:14px;transition:color .25s,background .25s}.sport-tab>span:first-child{font-size:9px;opacity:.6}.sport-tab.is-active{background:var(--green);color:var(--cream);border-color:var(--green)}.tab-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:0}.sport-tab.is-active .tab-dot{opacity:1;background:var(--lime)}.sport-tab:hover:not(.is-active){background:#e5e7d9}.sport-kicker{font-size:9px;color:var(--muted);margin:0 0 16px}h3{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:38px;letter-spacing:-1.5px;line-height:1.2;margin:0}h3 em{font-family:Cormorant,Georgia,serif;font-size:1.25em;font-weight:500}.sport-description{font-size:14px;line-height:1.85;color:var(--muted);max-width:350px;margin:21px 0 24px}.dark-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #99a28d;font-size:12px;padding:0 0 10px;transition:gap .3s}.dark-link:hover{gap:45px}.dark-link .icon{width:15px;height:15px}.sport-panel:not([hidden]){animation:panel-in .5s var(--ease)}.court-art{position:relative;background:#264433;color:#eef0d9;overflow:hidden;display:flex;flex-direction:column;padding:27px 30px;isolation:isolate;transition:background .7s}.court-art::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.19;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.45' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.court-topline,.court-bottomline{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:1.7px;position:relative;z-index:2}.court-topline{padding-bottom:17px;border-bottom:1px solid rgba(255,255,255,.19)}.court-bottomline{margin-top:auto;border-top:1px solid rgba(255,255,255,.19);padding-top:16px;color:#d5dfbe}.court-bottomline .icon{width:15px;height:15px}.court-scene{position:relative;flex:1;display:grid;place-items:center;perspective:900px;min-height:330px}.court{position:relative;width:58%;height:290px;max-width:230px;transform:rotateX(26deg) rotateZ(-24deg);background:#3b5c39;box-shadow:22px 25px 0 rgba(6,24,14,.19),35px 40px 45px rgba(5,21,14,.2);padding:16px;transition:transform .8s var(--ease),background .8s}.court-lines{border:1.5px solid #d3d9b9;position:relative;height:100%;width:100%}.court-alley{position:absolute;top:0;bottom:0;width:1.5px;background:#d3d9b9;transition:opacity .5s}.alley-left{left:13%}.alley-right{right:13%}.service-line{position:absolute;left:13%;right:13%;height:1.5px;background:#d3d9b9;transition:left .7s,right .7s}.service-top{top:26%}.service-bottom{bottom:26%}.centre-line{position:absolute;left:50%;top:26%;bottom:26%;width:1.5px;background:#d3d9b9}.court-net{position:absolute;left:9px;right:9px;top:50%;height:15px;transform:translateY(-100%) skewX(15deg);border-top:2px solid #ebeada;background:repeating-linear-gradient(90deg,rgba(244,242,223,.3) 0 1px,transparent 1px 5px),repeating-linear-gradient(0deg,rgba(244,242,223,.3) 0 1px,transparent 1px 4px);box-shadow:0 12px 2px rgba(0,0,0,.25)}.court-word{position:absolute;bottom:3px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:4px;opacity:.6}.rally-ball{width:9px;height:9px;background:var(--lime);border-radius:50%;position:absolute;left:28%;top:24%;box-shadow:4px 8px 4px rgba(0,0,0,.4),0 0 10px rgba(228,236,165,.15);animation:rally 5s ease-in-out infinite}.court-glass{position:absolute;width:58%;max-width:230px;height:290px;border:1px solid rgba(227,241,223,.5);background:linear-gradient(120deg,rgba(216,242,239,.18),transparent 60%);transform:translate(-12px,-24px) rotateX(26deg) rotateZ(-24deg);opacity:0;transition:opacity .8s,transform .8s;z-index:1;pointer-events:none}.court-art[data-court=padel]{background:#294b49}.court-art[data-court=padel] .court{background:#3d6b68;transform:rotateX(26deg) rotateZ(-14deg)}.court-art[data-court=padel] .court-glass{opacity:.55;transform:translate(-10px,-20px) rotateX(26deg) rotateZ(-14deg)}.court-art[data-court=padel] .court-alley{opacity:0}.court-art[data-court=padel] .service-line{left:0;right:0}.coming-note{display:flex;align-items:center;gap:16px;padding-top:30px}.coming-note .status-dot{background:#70834e;box-shadow:0 0 0 5px rgba(112,131,78,.08);animation:none}.coming-note p{font-size:12px;line-height:1.7;margin:0;color:var(--ink)}.coming-note p span{color:var(--muted)}.coming-note>a{margin-left:auto;display:flex;align-items:center;gap:15px;white-space:nowrap;font-size:12px}.coming-note .icon{width:15px;height:15px}
.contact{position:relative;overflow:hidden;isolation:isolate;padding-bottom:0;background:var(--green)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact .eyebrow{color:#c2ccb8}.contact h2{font-size:clamp(60px,5.7vw,88px)}.contact h2 em{color:var(--lime)}.contact-heading>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#aebdad;margin-top:27px}.contact-signature{display:flex;align-items:center;gap:30px;margin-top:43px;font-size:9px;color:#c3d0b8}.contact-signature .icon{height:27px;width:27px;stroke-width:1}.contact-list{padding-top:7px}.contact-row{display:grid;grid-template-columns:44px 1fr 22px;gap:20px;align-items:start;border-bottom:1px solid var(--line);padding:27px 0;transition:padding .3s,color .3s}.contact-row:first-child{border-top:1px solid var(--line)}.contact-row:hover{color:var(--lime);padding-left:8px}.contact-icon{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.contact-icon .icon{width:17px;height:17px}.contact-row>div{display:flex;flex-direction:column}.contact-label{font-size:8px;color:#aebdad;letter-spacing:1.7px;margin:0 0 10px}.contact-value{font-family:Manrope,Arial,sans-serif;font-size:24px;letter-spacing:-.7px}.phone-number{font-size:29px}.contact-detail{font-size:12px;line-height:1.7;color:#b4c0b1;margin-top:9px}.contact-arrow{margin-top:8px;transition:transform .3s;width:18px;height:18px}.contact-row:hover .contact-arrow{transform:translate(3px,-3px)}.inline-direction{font-size:11px;color:var(--lime);margin-top:13px}.inline-direction span{margin-left:10px}.contact-court-lines{position:absolute;width:580px;height:900px;border:1px solid rgba(237,242,205,.035);left:-350px;top:40px;transform:rotate(-30deg);z-index:-1}.contact-court-lines::before{content:'';position:absolute;inset:18% 12%;border:1px solid rgba(237,242,205,.035)}.site-footer{margin-top:85px}.footer-top{border-top:1px solid var(--line);display:flex;align-items:center;gap:50px;padding:38px 0}.footer-top img{width:82px;height:82px;object-fit:contain;opacity:.85}.footer-top p{font-family:Manrope,Arial,sans-serif;font-size:25px;line-height:1.2;letter-spacing:-.7px;margin:0}.footer-top p em{font-family:Cormorant,Georgia,serif;font-size:32px;font-weight:500;letter-spacing:0;color:var(--lime)}.back-top{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:9px}.back-top span{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:20px;transition:background .3s,color .3s}.back-top:hover span{background:var(--lime);color:var(--green)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;color:#9ead9e;font-size:9px;letter-spacing:.3px}.footer-bottom>span:nth-child(2){letter-spacing:2px;font-size:8px}.footer-bottom>span:last-child{font-family:Cormorant,Georgia,serif;font-size:18px;font-style:italic;color:var(--lime)}
.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-pending{opacity:0;transform:translateY(25px)}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .reveal{transition:none;opacity:1;transform:none}.motion-paused{scroll-behavior:auto}.motion-paused .hero-content>*{animation:none}
@keyframes hero-settle{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes status-pulse{50%{box-shadow:0 0 0 7px rgba(228,236,165,0)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes rally{0%,100%{left:28%;top:24%;transform:scale(.8)}25%{left:61%;top:71%;transform:scale(1)}50%{left:69%;top:23%;transform:scale(.8)}75%{left:27%;top:74%;transform:scale(1)}}
@media(min-width:1600px){.hero-content{padding-top:100px}.hero h1{font-size:132px}.hero-description{font-size:18px}}
@media(max-width:1100px){.shell{width:calc(100% - 80px)}.hero h1{font-size:90px}.hero-picture img{object-position:57% center}.hero-seal{right:6%;bottom:140px}.sport-copy{padding-right:32px}.contact-grid{gap:45px}.coming-note p span{display:block}.contact-value{font-size:21px}.phone-number{font-size:26px}.court{width:65%}.court-glass{width:65%}.court-topline{font-size:7px;letter-spacing:1px}.hero{min-height:790px}.hero-content{padding-top:80px}}
@media(max-width:760px){.shell{width:calc(100% - 48px)}.hero{min-height:790px;height:100svh;max-height:950px}.site-header{height:117px}.brand img{width:82px;height:82px}.header-location{margin-right:25px}.tiny-label{font-size:8px;letter-spacing:1.2px}.local-time{font-size:9px;letter-spacing:.6px}.header-contact{padding:12px 16px;gap:20px;font-size:12px}.hero-content{padding-top:90px}.hero h1{font-size:83px;letter-spacing:-4px;margin-top:26px}.hero h1 em{letter-spacing:-4px}.hero-picture img{object-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(7,25,17,.8),rgba(7,25,17,.36) 70%),linear-gradient(0deg,rgba(7,24,17,.85),transparent 45%)}.hero-description{font-size:15px}.hero-seal{width:95px;height:95px;right:25px;bottom:110px}.hero-seal .seal-ball{width:29px;height:29px}.hero-coordinate{display:none}.hero-signature{font-size:22px}.hero-bottom{padding:23px 0}.hero-actions{gap:25px}.button{padding:18px 21px}.button .arrow{margin-left:15px}.hero-content{padding-bottom:100px}.ticker{padding-block:17px}.ticker-track{gap:30px}.ticker-track span{font-size:12px}.ticker svg{width:18px;height:18px}.section-pad{padding-block:72px}.intro-grid{gap:20px}h2{font-size:47px}.intro-grid>p{font-size:12px;padding:0}.sport-explorer{margin-top:40px;grid-template-columns:1fr 1fr;min-height:460px}.sport-copy{padding-right:24px}.sport-tabs{gap:6px}.sport-tab{padding:11px 12px;gap:9px;font-size:12px}h3{font-size:30px}.sport-description{font-size:12px}.court-art{padding:25px 18px}.court-topline{flex-direction:column;align-items:start;gap:7px}.court-scene{min-height:300px}.court{height:250px;width:74%;padding:12px}.court-glass{height:250px;width:74%}.court-bottomline{font-size:7px;line-height:1.7}.coming-note{align-items:start}.coming-note>.status-dot{margin-top:6px}.coming-note>a{font-size:11px;margin-top:4px}.coming-note p{font-size:11px}.contact-grid{gap:30px}.contact h2{font-size:60px}.contact .eyebrow{font-size:8px;gap:12px}.contact-heading>p:not(.eyebrow){font-size:12px}.contact-row{grid-template-columns:32px 1fr 15px;gap:13px;padding-block:23px}.contact-icon{width:31px;height:31px}.contact-icon .icon{width:14px;height:14px}.contact-value{font-size:17px}.phone-number{font-size:22px}.contact-detail{font-size:11px}.contact-signature{font-size:7px;gap:18px}.contact{padding-bottom:0}.site-footer{margin-top:65px}.footer-bottom{font-size:8px}.footer-bottom>span:nth-child(2){font-size:7px;letter-spacing:1px}.motion-toggle{right:24px;bottom:78px}.motion-label{display:none}}
@media(max-width:540px){.shell{width:calc(100% - 40px)}.hero{min-height:790px;max-height:920px}.header-location{display:none}.header-contact{gap:23px;font-size:11px}.site-header{height:112px}.hero-content{padding-top:77px;padding-bottom:120px}.launch-badge{font-size:8px;letter-spacing:1.4px;gap:10px}.hero h1{font-size:clamp(68px,18.7vw,99px);letter-spacing:-3.7px;margin:29px 0 24px}.hero h1 em{font-size:1.08em;letter-spacing:-3.8px}.hero-description{font-size:14px}.hero-actions{gap:23px;margin-top:28px}.button{font-size:12px;padding:17px 18px;gap:10px}.button .arrow{width:15px;height:15px;margin-left:10px}.button>.icon:first-child{width:17px;height:17px}.text-link{font-size:12px;gap:10px}.hero-picture img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(7,25,17,.76),rgba(7,25,17,.16)),linear-gradient(0deg,rgba(7,24,17,.88),rgba(7,24,17,.17) 40%,rgba(7,24,17,.22))}.hero-seal{width:90px;height:90px;right:22px;bottom:113px}.hero-bottom{padding:22px 0}.hero-signature{font-size:20px}.scroll-link{font-size:7px;gap:13px;letter-spacing:1.4px}.scroll-link span{font-size:20px}.section-pad{padding-block:59px}.eyebrow{font-size:8px;letter-spacing:1.3px;gap:12px;margin-bottom:24px}.intro-grid{grid-template-columns:1fr;gap:21px}h2{font-size:48px;letter-spacing:-2px}.intro-grid>p{justify-self:start;font-size:13px;margin:0;line-height:1.75}.intro-grid>p br{display:none}.intro-grid>p br::after{content:' '}.intro-grid strong{margin-top:5px}.sport-explorer{grid-template-columns:1fr;margin-top:32px}.sport-copy{padding:25px 0 32px}.sport-tabs{margin-bottom:30px;gap:10px}.sport-tab{font-size:13px;padding:12px 20px;gap:17px}h3{font-size:36px}.sport-description{font-size:13px;margin:16px 0 23px;max-width:100%}.sport-kicker{font-size:8px}.court-art{min-height:395px;padding:23px 24px}.court-topline{flex-direction:row;font-size:8px}.court-scene{min-height:300px}.court{height:260px;width:170px}.court-glass{height:260px;width:170px}.court-bottomline{font-size:8px}.coming-note{flex-wrap:wrap;padding-top:26px;gap:12px}.coming-note p{flex:1;font-size:11px}.coming-note>a{margin:5px 0 0 18px;font-size:12px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:68px}.contact-heading>p:not(.eyebrow){font-size:13px;margin-top:20px}.contact-signature{display:none}.contact-row{grid-template-columns:40px 1fr 20px;gap:16px;padding:24px 0}.contact-icon{width:37px;height:37px}.contact-value{font-size:21px}.phone-number{font-size:27px}.contact-detail{font-size:12px}.contact-label{font-size:8px}.contact{padding-bottom:0}.site-footer{margin-top:48px}.footer-top{gap:23px;padding:27px 0}.footer-top img{height:65px;width:65px}.footer-top p{font-size:18px}.footer-top p em{font-size:25px}.back-top{font-size:0;gap:0}.back-top span{height:33px;width:33px;font-size:18px}.footer-bottom{flex-wrap:wrap;gap:12px;padding:20px 0;font-size:8px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom>span:last-child{font-size:17px}.motion-toggle{right:20px;bottom:77px}}
@media(max-width:360px){.hero-actions{gap:15px}.button{padding:16px 14px}.button .arrow{margin-left:0}.hero h1{font-size:65px}.hero h1 em{letter-spacing:-3px}.contact-value{font-size:18px}.phone-number{font-size:23px}.court-topline{font-size:7px}}
/* Content stays in normal flow: larger fonts and short screens never clip links. */
.hero{height:auto;min-height:max(850px,100svh);max-height:none}
.site-header{height:130px}
.hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:52px;padding-bottom:65px}
.hero h1{font-size:clamp(78px,7.3vw,112px);margin-top:24px;margin-bottom:14px}
.hero-description{margin-top:16px;margin-bottom:0}
.hero-actions{margin-top:25px}
.page-hidden *,.page-hidden *::before,.page-hidden *::after{animation-play-state:paused!important}
@media(max-width:760px){.hero{min-height:max(810px,100svh)}.site-header{height:117px}.hero h1{font-size:83px}.hero-content{padding-top:65px;padding-bottom:105px}}
@media(max-width:540px){.hero{min-height:max(800px,100svh)}.site-header{height:112px}.hero-content{padding-top:65px;padding-bottom:115px}.hero h1{font-size:clamp(68px,18.7vw,99px);margin-top:29px;margin-bottom:24px}.hero-description{margin-top:0}.hero-actions{margin-top:28px}.intro-grid>p br{display:initial}}
@media(max-width:360px){.hero h1{font-size:65px}}
/* Separate models guarantee that padel never inherits tennis geometry. */
[hidden]{display:none!important}
.court-scene{min-height:350px}
.court-model{width:100%;min-height:350px;display:grid;place-items:center}
.tennis-model{perspective:900px}
.padel-model{animation:panel-in .6s var(--ease)}
.padel-svg{display:block;width:100%;height:360px;overflow:visible}
.court-art[data-court=padel]{background:#244440}
.padel-rally{transform:translate(255px,218px);animation:padel-rally 7s linear infinite}
@keyframes padel-rally{0%,100%{transform:translate(335.25px,188.2px)}12%{transform:translate(250px,226.7px)}24%{transform:translate(164.75px,311.4px)}30%{transform:translate(133.75px,330.85px)}42%{transform:translate(188px,273.3px)}54%{transform:translate(250px,224.5px)}70%{transform:translate(343px,175.5px)}78%{transform:translate(366.25px,151.15px)}90%{transform:translate(335.25px,160.7px)}}
@media(max-width:760px){.court-model,.court-scene{min-height:320px}.padel-svg{height:320px}}
@media(max-width:540px){.court-model,.court-scene{min-height:320px}.padel-svg{height:330px}}
/* Mediterranean light, editorial rhythm and restrained motion. */
.hero { min-height: max(890px, 100svh); }
.hero-picture {
  inset: -16px;
  z-index: -3;
  transform: translate3d(var(--scene-x, 0px), var(--scene-y, 0px), 0);
  transition: transform 1.2s var(--ease);
}
.hero-shade { z-index: -2; }
.hero-light {
  position: absolute;
  inset: -10%;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  background: radial-gradient(ellipse at 88% 12%, rgba(247, 204, 119, .15), transparent 48%);
}
.hero-light span {
  position: absolute;
  inset: -20%;
  background: linear-gradient(117deg, transparent 45%, rgba(250, 224, 158, .03) 49%, rgba(250, 224, 158, .13) 52%, transparent 57%, transparent 64%, rgba(250, 224, 158, .06) 68%, transparent 72%);
  animation: mediterranean-light 22s ease-in-out infinite alternate;
}
.site-header { height: 134px; }
.hero-content { padding-top: 62px; padding-bottom: 86px; }
.launch-badge { color: #e5e7d2; letter-spacing: 2.1px; }
.hero h1 {
  width: max-content;
  max-width: 100%;
  font-size: clamp(96px, 8.5vw, 136px);
  line-height: 1.04;
  letter-spacing: -6px;
  margin: 30px 0 24px;
  animation: none;
}
.hero h1 .title-line {
  display: block;
  overflow: hidden;
  padding: 0 .1em .17em .04em;
  margin-left: -.04em;
  margin-bottom: -.17em;
}
.hero h1 .title-line > span { animation: title-rise 1.15s .08s var(--ease) both; }
.hero h1 .title-line > em {
  margin-left: 0;
  font-size: 1.12em;
  line-height: 1.08;
  letter-spacing: -5.5px;
  animation: title-rise 1.25s .2s var(--ease) both;
}
.hero-description { font-size: 15px; line-height: 1.85; margin-top: 17px; letter-spacing: .1px; }
.hero-actions { margin-top: 31px; animation-delay: .55s; }
.button-lime {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(245, 249, 203, .35);
  border-radius: 4px;
  box-shadow: 0 8px 30px rgba(5, 20, 10, .12);
}
.button-lime::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #f2f5cf;
  transform: translateY(105%);
  transition: transform .45s var(--ease);
}
.button .arrow, .header-contact .icon { transition: transform .35s var(--ease); }
.hero-seal { right: 6%; bottom: 147px; }
.hero-bottom { padding-block: 27px; }
.text-link, .dark-link { position: relative; }
.text-link::after, .dark-link::after {
  content: '';
  position: absolute;
  height: 1px;
  bottom: -1px;
  left: 0;
  right: 0;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s var(--ease);
}
.experience { --sport-accent: #334d32; transition: background-color .85s var(--ease); }
.experience[data-sport=padel] { --sport-accent: #285b57; background-color: #eaf0e9; }
.experience h2 em, .sport-panel h3 em { color: var(--sport-accent); transition: color .6s; }
.section-intro { margin-bottom: 10px; }
.sport-explorer { border-top-color: #c9d0bf; }
.sport-tabs { gap: 8px; }
.sport-tab { min-height: 45px; transition: background-color .4s, color .4s, border-color .4s, box-shadow .4s; }
.sport-tab.is-active { background: var(--sport-accent); border-color: var(--sport-accent); box-shadow: 0 5px 14px rgba(29, 55, 35, .1); }
.sport-panel:not([hidden]) { animation: sport-copy-enter .65s var(--ease); }
.sport-panel h3 { min-height: 98px; }
.sport-description { min-height: 78px; }
.court-art {
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(235, 242, 219, .1), 0 14px 32px -22px rgba(16, 42, 30, .3);
  transition: background-color .85s var(--ease), box-shadow .5s, transform .5s var(--ease);
}
.court-art::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 82% 12%, rgba(225, 234, 173, .11), transparent 65%);
}
.court-model:not([hidden]) { animation: court-arrive .8s var(--ease); }
.court-topline, .court-bottomline { color: #dfe6cf; }
.court-type { min-width: 78px; text-align: right; }
.court { box-shadow: 15px 18px 1px rgba(5, 21, 12, .17), 27px 32px 29px rgba(5, 21, 14, .27); }
.padel-glint { animation: glass-glint 14s ease-in-out infinite; }
.contact-row {
  position: relative;
  isolation: isolate;
  transition: padding .35s var(--ease), color .35s;
}
.contact-row::before {
  content: '';
  position: absolute;
  inset: 5px -14px;
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(230, 238, 174, .055), transparent);
  opacity: 0;
  z-index: -1;
  transition: opacity .4s;
}
.contact-icon { transition: border-color .35s, background-color .35s; }
.contact { background: radial-gradient(ellipse at 5% 5%, #1b3928, transparent 55%), var(--green); }
.mobile-contact { display: none; }
.motion-toggle { min-width: 44px; min-height: 44px; justify-content: center; }
.motion-paused .hero-picture, .page-hidden .hero-picture { transform: none; transition: none; }
.motion-paused .title-line > *, .motion-paused .court-model, .motion-paused .sport-panel { animation: none !important; }

@keyframes title-rise { from { opacity: 0; transform: translateY(105%) rotate(2deg); } to { opacity: 1; transform: translateY(0) rotate(0); } }
@keyframes mediterranean-light { from { opacity: .45; transform: translate3d(-1.5%, 0, 0) rotate(-2deg); } to { opacity: .95; transform: translate3d(1.5%, 1%, 0) rotate(2deg); } }
@keyframes sport-copy-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes court-arrive { from { opacity: .25; transform: translateY(9px) scale(.975); } to { opacity: 1; transform: none; } }
@keyframes glass-glint { 0%, 15% { transform: translateX(-170px); opacity: 0; } 35%, 65% { opacity: .13; } 85%, 100% { transform: translateX(380px); opacity: 0; } }

@media (hover: hover) and (pointer: fine) {
  .button-lime:hover::before { transform: translateY(0); }
  .button-lime:hover .arrow, .header-contact:hover .icon { transform: translate(2px, -2px); }
  .text-link:hover::after, .dark-link:hover::after { transform: scaleX(1); }
  .contact-row:hover::before { opacity: 1; }
  .contact-row:hover .contact-icon { background: rgba(228, 236, 165, .08); border-color: rgba(228, 236, 165, .55); }
  .court-art:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px rgba(235, 242, 219, .14), 0 18px 35px -21px rgba(16, 42, 30, .35); }
}
@media (hover: none) {
  .button-lime:hover { transform: none; background: var(--lime); }
  .contact-row:hover { padding-left: 0; }
}
@media (max-width: 1100px) {
  .hero h1 { font-size: 100px; letter-spacing: -5px; }
  .hero-content { padding-top: 55px; padding-bottom: 95px; }
}
@media (max-width: 760px) {
  .hero { min-height: max(830px, 100svh); }
  .site-header { height: 117px; }
  .hero h1 { font-size: 86px; letter-spacing: -4.5px; }
  .hero h1 .title-line > em { letter-spacing: -4.2px; }
  .hero-content { padding-top: 60px; padding-bottom: 108px; }
  .hero-seal { right: 25px; bottom: 122px; }
  .hero-description { font-size: 14px; }
  .sport-panel h3 { min-height: 80px; }
  .sport-description { min-height: 89px; }
  .court-topline .court-type { text-align: left; }
}
@media (max-width: 600px) {
  body { padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px)); }
  html { scroll-padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
  .mobile-contact {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    padding: 9px max(12px, env(safe-area-inset-right, 0px)) calc(9px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
    background: #142c22;
    border-top: 1px solid rgba(235, 240, 211, .22);
    box-shadow: 0 -8px 30px rgba(5, 24, 14, .14);
  }
  .mobile-contact a {
    min-width: 0;
    min-height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    letter-spacing: .1px;
    border-radius: 3px;
  }
  .mobile-call { background: var(--lime); color: var(--green); }
  .mobile-directions { color: var(--cream); }
  .mobile-contact .icon { width: 17px; height: 17px; }
  .mobile-contact .mobile-arrow { width: 13px; height: 13px; margin-left: 10px; }
  .mobile-contact a:focus-visible { outline-offset: -4px; outline-color: currentColor; }
  .mobile-contact a:active { opacity: .8; }
  .hero-light span { animation-duration: 28s; opacity: .6; }
}
@media (max-width: 540px) {
  .hero { min-height: 800px; }
  .site-header { height: 112px; }
  .hero h1 { font-size: clamp(66px, 20vw, 102px); letter-spacing: -3.8px; margin: 30px 0 23px; }
  .hero h1 .title-line > em { font-size: 1.08em; letter-spacing: -3.8px; }
  .hero-content { padding-top: 60px; padding-bottom: 112px; }
  .hero-description { margin-top: 12px; font-size: 14px; }
  .hero-actions { margin-top: 29px; }
  .launch-badge { letter-spacing: 1.5px; font-size: 8px; }
  .hero-bottom { padding-block: 23px; }
  .hero-seal { right: 23px; bottom: 123px; }
  .sport-panel h3 { min-height: 92px; }
  .sport-description { min-height: 72px; }
  .court-topline .court-type { text-align: right; }
  .motion-toggle { bottom: 75px; right: 18px; }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 64px; }
  .hero h1 .title-line > em { letter-spacing: -3.5px; }
  .mobile-contact .mobile-arrow { margin-left: 1px; }
}
/* WhatsApp: choose a sport, then open the matching prefilled conversation. */
html { scrollbar-gutter: stable; }
html.wa-dialog-open { overflow: hidden; }
.hero-actions { flex-wrap: wrap; row-gap: 8px; }
.sport-panel .dark-link { max-width: 100%; gap: 12px; font-size: 11px; line-height: 1.6; }
.whatsapp-card {
  padding: 26px;
  margin-bottom: 24px;
  border: 1px solid rgba(228, 236, 165, .24);
  border-radius: 5px;
  background: linear-gradient(130deg, rgba(228, 236, 165, .08), rgba(228, 236, 165, .02));
  scroll-margin-top: 28px;
}
.wa-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 9px; letter-spacing: 1.4px; line-height: 1.7; margin: 0 0 20px; }
.wa-eyebrow .icon { width: 23px; height: 23px; }
.whatsapp-card .wa-eyebrow { color: var(--lime); }
.whatsapp-card h3 { font-size: 31px; letter-spacing: -1px; }
.whatsapp-card h3 em { color: var(--lime); }
.whatsapp-card > p:not(.wa-eyebrow) { color: #b8c6b4; font-size: 12px; line-height: 1.7; margin: 12px 0 20px; }
.wa-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wa-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 88px;
  padding: 19px;
  background: var(--lime);
  color: var(--green);
  border: 1px solid transparent;
  border-radius: 4px;
  transition: background-color .25s, border-color .25s, transform .3s var(--ease);
}
.wa-option > span { display: flex; flex-direction: column; gap: 7px; }
.wa-option strong { font: 500 22px/1.1 Manrope, Arial, sans-serif; letter-spacing: -.5px; }
.wa-option small { font-size: 10px; line-height: 1.5; }
.wa-option .icon { width: 19px; height: 19px; transition: transform .3s; }
.wa-option:focus-visible { outline-color: #9dad54; }
.whatsapp-card + .contact-row { border-top: 1px solid var(--line); }
.whatsapp-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  padding: 0;
  width: min(480px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  color: var(--green);
  background: var(--cream);
  border: 1px solid rgba(242, 240, 229, .4);
  border-radius: 8px;
  box-shadow: 0 30px 100px rgba(3, 18, 10, .3);
}
.whatsapp-dialog:not([open]) { display: none; }
.whatsapp-dialog[open] { animation: wa-appear .35s var(--ease); }
.motion-paused .whatsapp-dialog { animation: none !important; }
.whatsapp-dialog::backdrop { background: rgba(6, 22, 15, .72); backdrop-filter: blur(7px); }
.wa-dialog-content { position: relative; padding: 40px; }
.wa-dialog-content .wa-eyebrow { padding-right: 20px; color: #57704b; margin-bottom: 26px; font-size: 8px; }
.wa-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  background: transparent;
  color: var(--green);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
.wa-close:hover { background: #e4e7d8; }
.whatsapp-dialog h2 { font-size: 48px; letter-spacing: -2px; line-height: 1.1; }
.whatsapp-dialog h2 em { color: #526b42; }
.whatsapp-dialog #wa-dialog-description { font-size: 13px; color: #62705f; line-height: 1.8; margin: 20px 0 25px; }
.whatsapp-dialog .wa-option { background: var(--green); color: var(--cream); min-height: 100px; }
.whatsapp-dialog .wa-option small { color: var(--lime); }
.wa-phone { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; font-size: 11px; line-height: 1.6; padding-top: 24px; margin-top: 24px; border-top: 1px solid #cfd5c5; }
.wa-phone .icon { width: 15px; height: 15px; }
.wa-phone span { margin-left: auto; color: #66735d; font-size: 10px; }
@keyframes wa-appear { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
@media (hover: hover) and (pointer: fine) {
  .wa-option:hover { transform: translateY(-3px); background: #f0f5c7; }
  .wa-option:hover .icon { transform: translate(2px, -2px); }
  .whatsapp-dialog .wa-option:hover { background: #2b4632; border-color: #6d8059; }
}
@media (max-width: 760px) {
  .whatsapp-card { padding: 21px 17px; }
  .whatsapp-card h3 { font-size: 26px; }
  .whatsapp-card .wa-options { gap: 8px; }
  .whatsapp-card .wa-option { padding: 15px 12px; gap: 8px; }
  .whatsapp-card .wa-option strong { font-size: 19px; }
  .whatsapp-card .wa-eyebrow { font-size: 7px; letter-spacing: .7px; }
}
@media (max-width: 600px) {
  .mobile-contact { grid-template-columns: 1.3fr .8fr 1fr; gap: 3px; }
  .mobile-whatsapp { color: var(--green); background: var(--lime); }
  .mobile-contact .mobile-call { color: var(--cream); background: transparent; }
  .mobile-contact a { gap: 7px; font-size: 11px; }
  .whatsapp-dialog { inset: auto 0 0; width: calc(100% - 24px); margin: 0 auto max(12px, env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - 36px); border-radius: 12px; }
  .wa-dialog-content { padding: 34px 25px 27px; }
  .whatsapp-dialog h2 { font-size: 44px; }
  .wa-phone { margin-top: 21px; padding-top: 21px; }
}
@media (min-width: 541px) and (max-width: 760px) {
  .whatsapp-card .wa-option > .icon { display: none; }
}
@media (max-width: 360px) {
  .wa-dialog-content { padding-inline: 20px; }
  .wa-options { gap: 9px; }
  .whatsapp-dialog .wa-option { padding: 16px 13px; gap: 6px; }
  .wa-phone span { margin-left: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal.is-pending { opacity: 1; transform: none; }
  .hero-picture { transform: none; }
  .hero-light span { opacity: .45; }
  .motion-toggle { display: none; }
}
