@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');:root{--green:#102c26;--mint:#c8ed70;--paper:#f5f5ee;--ink:#172d28;--muted:#67746e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}.demo-bar{text-align:center;background:#dff39c;color:#263e1b;padding:9px 15px;font-size:11px;font-weight:800;letter-spacing:.06em}.topbar{height:79px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:var(--paper);gap:20px}.brand{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.05em;font-size:18px;white-space:nowrap}.brand-icon{color:#77ad3e;font-size:26px;vertical-align:-2px}.brand-light{font-weight:400}.topbar nav{display:flex;gap:30px;font-size:12px;font-weight:700}.topbar nav a:hover,.text-link:hover{opacity:.65}.nav-cta{background:var(--green);color:#fff;padding:13px 20px;border-radius:50px;font-size:12px;font-weight:700}.hero{background:var(--green);min-height:625px;display:grid;grid-template-columns:54% 46%;overflow:hidden;color:#fff}.hero-inner{padding:97px 4% 58px 11%;max-width:820px;position:relative;z-index:2}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:.17em}.eyebrow{color:var(--mint)}.dot{display:inline-block;height:8px;width:8px;background:var(--mint);border-radius:50%;margin-right:10px}.hero h1,h2{font-family:'Space Grotesk',sans-serif;letter-spacing:-.075em;line-height:1.03}.hero h1{font-size:clamp(56px,6.1vw,96px);margin:29px 0}.hero h1 em,h2 i{font-style:normal;color:var(--mint)}.hero p{font-size:16px;line-height:1.8;max-width:525px;color:#cedbd4}.hero-actions{display:flex;align-items:center;gap:28px;margin:30px 0 60px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:28px;border:0;border-radius:6px;padding:18px 24px;font-weight:800;font-size:13px;cursor:pointer}.btn-light{background:var(--mint);color:var(--green)}.text-link{color:#fff;font-size:13px;font-weight:700}.hero-metrics{display:flex;gap:40px;border-top:1px solid #ffffff33;padding-top:21px}.hero-metrics div{display:flex;flex-direction:column;gap:4px}.hero-metrics strong{font:700 27px 'Space Grotesk'}.hero-metrics span{font-size:11px;color:#bccdc2}.hero-graphic{position:relative;background:#bfe27a;overflow:hidden;min-height:560px}.court{position:absolute;inset:15% 12%;border:5px solid #2c6442;transform:rotate(-21deg);opacity:.42}.court-line{position:absolute;background:#2c6442}.vertical{height:100%;width:3px;left:50%}.horizontal{height:3px;width:100%;top:50%}.court-box{position:absolute;inset:22% 0;border-block:3px solid #2c6442}.court-circle{position:absolute;top:50%;left:50%;width:120px;height:120px;border:3px solid #2c6442;border-radius:50%;transform:translate(-50%,-50%)}.tennis-ball{position:absolute;width:265px;height:265px;background:#f3f99b;border-radius:50%;left:29%;top:29%;box-shadow:20px 28px 0 #86ae55,50px 65px 65px #365f3660;transform:rotate(-27deg)}.tennis-ball:before,.tennis-ball:after{content:'';position:absolute;border:8px solid #9eb75c;width:150px;height:290px;border-radius:50%;top:-20px}.tennis-ball:before{left:-108px}.tennis-ball:after{right:-108px}.floating-label{position:absolute;top:21%;right:10%;color:#204b32;font-size:11px;letter-spacing:.2em;line-height:1.8}.floating-label b{font-size:9px}.graphic-caption{position:absolute;bottom:32px;left:36px;color:#27563e;font-size:10px;font-weight:800;letter-spacing:.18em}.section{padding:105px max(6%,calc((100vw - 1180px)/2))}.section-head{margin-bottom:48px}.kicker{color:#547b46}.section-head h2,.contact h2{font-size:clamp(46px,5.2vw,72px);margin:18px 0 0}.section-head h2 i{color:#8bac51}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.intro-grid>p{font-size:21px;line-height:1.7;max-width:490px}.feature-list>div{display:grid;grid-template-columns:38px 1fr;border-bottom:1px solid #d6dacf;padding:15px 0}.feature-list>div span{grid-row:span 2;font-size:23px;color:#789e4b}.feature-list b{font-size:17px}.feature-list small{color:var(--muted);margin-top:5px}.booking{background:#dceab9}.section-head.light{max-width:680px}.section-head.light p{line-height:1.7;color:#4c654f}.booking-card{background:#fff;border-radius:15px;padding:34px;box-shadow:0 15px 55px #486a2722}.booking-top,.booking-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px}.tiny{font-size:10px;color:#87948b;font-weight:800;letter-spacing:.14em}.booking-top h3{font-size:27px;margin:8px 0 22px}.pill{font-size:10px;background:#eef5dc;color:#476b28;padding:10px 13px;border-radius:20px;font-weight:800}.booking-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;margin-bottom:25px}.booking-fields label{font-weight:700;font-size:12px}.booking-fields input,.booking-fields select{margin-top:9px;width:100%;padding:15px;border:1px solid #d7dfd2;border-radius:7px;background:#fff;color:#283e34;font:inherit}.booking-bottom{border-top:1px solid #e5eadf;padding-top:19px}.booking-bottom div{display:flex;flex-direction:column}.booking-bottom small{color:var(--muted)}.booking-bottom strong{font:700 32px 'Space Grotesk'}.disabled{background:#b8c2b4;color:#fff;cursor:not-allowed}.notice,.rule{font-size:12px;line-height:1.7;color:#6a796a}.notice a{text-decoration:underline}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.step-grid article{padding:27px 22px;background:#e9eddf;border-radius:8px;min-height:215px}.step-grid article>span{font:700 13px 'Space Grotesk';color:#719849}.step-grid h3{font-size:19px;margin:30px 0 10px}.step-grid p,.program-grid p{font-size:13px;color:#5e6e65;line-height:1.7;overflow-wrap:anywhere}.rule{margin-top:22px}.programs{background:#f0f1e9}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.program-grid article{background:#fff;padding:25px;min-height:175px;border-radius:8px}.program-grid article span{color:#7b9e4f;font-size:11px;font-weight:800}.program-grid h3{font-family:'Space Grotesk';font-size:21px;margin:23px 0 7px}.settings{margin-top:20px;border:1px solid #d7dfd3;padding:19px 22px;border-radius:7px;line-height:1.7}.settings summary{cursor:pointer;font-weight:800}.settings summary span{float:right}.contact{background:var(--green);color:#fff}.contact h2{margin:20px 0 55px}.contact h2 i{color:var(--mint)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%;border-top:1px solid #6b8478;padding-top:30px}.contact-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.contact-grid span{font-size:11px;letter-spacing:.13em;color:var(--mint);font-weight:800}.contact-grid strong{font-size:20px;line-height:1.6;overflow-wrap:anywhere}.contact-grid div>a{font-size:13px;border-bottom:1px solid var(--mint);padding-bottom:5px}footer{padding:38px 6%;background:#0b211c;color:#fff}.footer-brand{font-family:'Space Grotesk';font-weight:700;font-size:20px}.footer-brand span{font-weight:400}footer>p{color:#abbfb3;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #375046;padding-top:18px;margin-top:30px;color:#b1c1b8;font-size:12px}.legal-warning{font-size:11px;color:#f1d4a8}@media(max-width:900px){.topbar{padding:0 4%}.topbar nav{display:none}.hero{grid-template-columns:1fr}.hero-inner{padding:70px 7%}.hero-graphic{min-height:400px}.section{padding:70px 7%}.step-grid,.program-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.brand{font-size:13px}.nav-cta{font-size:10px;padding:12px}.hero h1{font-size:54px}.hero-metrics{gap:20px}.hero-metrics strong{font-size:22px}.hero-actions{flex-wrap:wrap}.intro-grid,.booking-fields,.contact-grid{grid-template-columns:1fr}.booking-card{padding:21px}.booking-top{align-items:flex-start;flex-direction:column}.booking-top h3{margin-bottom:5px}.booking-bottom{align-items:flex-start;flex-direction:column}.step-grid,.program-grid{grid-template-columns:1fr}.section-head h2,.contact h2{font-size:44px}.footer-bottom{gap:18px;flex-wrap:wrap}}

#booking-contact{padding:20px 0 10px}#booking-contact input:not([type=checkbox]){padding:14px;border:1px solid #bac7b3;border-radius:8px;width:100%;font:inherit}#booking-contact label{display:block;color:#203d32;font-weight:600}.privacy-choice{display:flex!important;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px;font-weight:400!important}.privacy-choice input{width:auto;flex-shrink:0}.trap{position:absolute;left:-9999px}#submit-booking:disabled{opacity:.5;cursor:not-allowed}#booking-result:not(:empty){padding:15px;background:#f1f2e9;border-radius:10px}
