@font-face{font-family:'Fredoka One';src:url('../fonts/fredoka-one.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Open Sans';src:url('../fonts/open-sans.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--purple:#4a1b4a;--navy:#193746;--blue:#53acd6;--gold:#ecb34e;--ink:#333;--text:#666;--content:1080px;--gutter:24px;--grid-gap:24px;--heading:'Fredoka One',sans-serif;--body:'Open Sans',Arial,sans-serif}
html{font-size:62.5%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--body);font-size:1.4rem;line-height:1.8;color:var(--text);background:#fff}
*{box-sizing:border-box}a{color:inherit}img{max-width:100%;height:auto}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
body .elementor{--widgets-spacing:0;--widgets-spacing-row:0;--widgets-spacing-column:0}
body .elementor .e-con{--container-default-padding-top:0;--container-default-padding-right:0;--container-default-padding-bottom:0;--container-default-padding-left:0;--gap:0;--flex-wrap:nowrap;padding:0;gap:0}
body .elementor .elementor-widget{margin:0;min-width:0}body .elementor .elementor-widget:not(:last-child){margin-bottom:0}
body .elementor .content-container{width:calc(100% - 2 * var(--gutter));max-width:var(--content);margin-inline:auto}
body .elementor .elementor-heading-title{font-family:var(--heading);font-weight:400;line-height:1.2;color:var(--ink);padding:0;margin:0;font-size:clamp(3.2rem,4.7vw,6rem)}
body .elementor .elementor-widget-text-editor{font-family:var(--body);font-size:1.6rem;line-height:2;color:inherit}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
body .elementor .elementor-button{font-family:var(--heading);font-size:1.6rem;line-height:1.5;letter-spacing:4px;text-transform:uppercase;border:0;border-radius:100px;padding:20px 28px;background:white;color:var(--navy);box-shadow:0 2px 18px #0002;transition:transform .2s,box-shadow .2s}
body .elementor .elementor-button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0003}
.site-header{position:sticky;top:0;z-index:1000;background:white;box-shadow:0 2px 5px #0001}
body.admin-bar .site-header{top:32px}
body .elementor .header-inner{min-height:80px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}
body .elementor .e-con .elementor-widget.brand{width:180px;flex-shrink:0}.brand img{width:180px;display:block}
body .elementor .navigation{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:24px;box-shadow:0 8px 10px #0001;gap:20px}
body .elementor .navigation.is-open{display:flex}.navigation a{text-decoration:none}.navigation a:hover{color:var(--purple)}
.menu-toggle{border:0;background:transparent;color:var(--navy);font-size:2.8rem;padding:10px;cursor:pointer}
body .elementor .hero{position:relative;overflow:hidden;min-height:640px;padding:95px 0 160px;background-size:cover;background-position:center}
body .elementor .hero-content{text-align:center;align-items:center;position:relative;z-index:2;gap:24px}
body .elementor .hero .elementor-heading-title{color:white;text-shadow:0 .1em .14em #0002}
body .elementor .hero .elementor-widget.intro{max-width:652px;color:#fff;font-size:1.4rem;line-height:1.8}
body .elementor .e-con .elementor-widget.hero-ball{width:220px;align-self:flex-end;margin:32px -30px -150px 0}
body .elementor .benefits{padding:60px 0 0}
body .elementor .benefits-grid{display:grid;grid-template-columns:1fr;gap:30px}
body .elementor .benefit-card{padding:45px 25px;background:white;border-radius:22px;box-shadow:0 20px 80px #45228c26;text-align:center;align-items:center;gap:24px}
body .elementor .benefit-card .elementor-icon{width:98px;height:98px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card-color,var(--purple));color:white;font-size:44px}
.benefit-card .elementor-icon svg{fill:white;width:44px;height:44px}
body .elementor .benefit-card .elementor-heading-title{font-size:2.2rem;line-height:1.8}
body .elementor .benefit-card .elementor-widget-text-editor{font-size:1.4rem;line-height:2}
.performance{--card-color:var(--purple)}.strike-rate{--card-color:var(--gold)}.safer-play{--card-color:var(--navy)}.multi-sport{--card-color:var(--blue)}
body .elementor .about-section{text-align:center;padding:90px 0 0;align-items:center;gap:30px}
body .elementor .e-con .elementor-widget.about-copy{max-width:800px}
body .elementor .e-con .elementor-widget.court-image{width:100%;margin-bottom:-80px;position:relative;z-index:1}
body .elementor .wide-panel{width:90%;max-width:none;margin-inline:auto;border-radius:38px;overflow:hidden;padding:60px 5%;position:relative;z-index:3;box-shadow:0 82px 94px -60px #0004;background-size:auto;background-position:center}
body .elementor .cta-content,body .elementor .testimonial-content{text-align:center;align-items:center;gap:30px;width:100%}
body .elementor .wide-panel .elementor-heading-title{color:white}
body .elementor .e-con .elementor-widget.sports-image-section{padding:100px 0 0;box-shadow:inset 0 100px 140px -40px #00000012;margin-top:110px}
body .elementor .e-con .elementor-widget.sports-image{width:70%;max-width:484px;align-self:flex-start}
.sports-image img{display:block;border-radius:400px 400px 0 0}
body .elementor .e-con .elementor-widget.testimonial-copy{max-width:800px;font-size:1.8rem;line-height:1.8;color:white}
body .elementor .contact-section{padding:90px 0 55px;align-items:center;gap:55px}
body .elementor .contact-section .elementor-heading-title{color:var(--purple);font-size:clamp(4.5rem,6.25vw,8rem);text-align:center}
body .elementor .e-con .elementor-widget.contact-form{width:100%;max-width:708px}
.enquiry-form{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.enquiry-form .field{display:block;min-width:0}
.enquiry-form input,.enquiry-form textarea{display:block;width:100%;border:0;padding:16px;background:rgba(114,159,193,.07);color:#333;font-family:var(--body);font-size:1.4rem;line-height:19px;border-radius:5px}
.enquiry-form textarea{min-height:150px;resize:vertical}
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#777;opacity:1}
.form-actions{display:flex;justify-content:flex-end;margin-top:-12px}
.enquiry-submit{position:relative;border:0;border-radius:50px;background:#f9af36;color:white;font-family:var(--heading);font-size:1.6rem;line-height:1.7;letter-spacing:4px;text-transform:uppercase;padding:17px 28px;box-shadow:0 20px 40px rgba(74,27,74,.15);cursor:pointer;transition:padding .2s,background .2s}
.enquiry-submit span{position:absolute;right:19px;opacity:0;transition:opacity .2s}
.enquiry-submit:hover,.enquiry-submit:focus-visible{background:var(--gold);padding-right:44px}
.enquiry-submit:hover span,.enquiry-submit:focus-visible span{opacity:1}
.form-notice{padding:18px;border-left:4px solid var(--blue);background:#f2f8fb;margin-bottom:24px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
body .elementor .closing-image{min-height:350px;background-size:cover;background-position:center}
.site-footer{background:#222;color:white}body .elementor .footer-inner{padding:55px 0;gap:35px}body .elementor .e-con .elementor-widget.footer-logo{width:240px}body .elementor .footer-contact{gap:12px}body .elementor .footer-contact .elementor-heading-title{font-family:var(--body);font-size:1.8rem;color:#2ea3f2}.footer-contact a{text-decoration:none}body .elementor .footer-contact .elementor-widget-text-editor{font-size:1.4rem}
.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;left:20px;top:10px;z-index:10001;background:white;padding:15px}
.visual-grid{position:fixed;inset:0;margin-inline:auto;width:calc(100% - 2 * var(--gutter));max-width:var(--content);display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap);pointer-events:none;z-index:9998}.visual-grid[hidden]{display:none}.visual-grid span{background:#ff006615}.grid-toggle{position:fixed;right:20px;bottom:20px;z-index:9999;border:1px solid white;border-radius:6px;background:var(--navy);color:white;padding:10px 16px;cursor:pointer}
@media(min-width:768px){:root{--gutter:10%;--grid-gap:30px}body .elementor .benefits-grid{grid-template-columns:repeat(2,1fr);gap:40px}body .elementor .e-con .elementor-widget.court-image{margin-bottom:-220px}body .elementor .e-con .elementor-widget.testimonial-copy{font-size:2.2rem}body .elementor .wide-panel{padding:8vw 9%}body .elementor .closing-image{min-height:717px}body .elementor .footer-inner{display:grid;grid-template-columns:1fr 1fr}}
@media(min-width:1024px){:root{--grid-gap:5.5%}body .elementor .header-inner{min-height:80px}body .elementor .navigation{display:flex;position:static;flex-direction:row;width:auto;padding:0;gap:27px;box-shadow:none}body .elementor .navigation .elementor-widget{width:auto}.menu-toggle{display:none}body .elementor .navigation .elementor-widget-text-editor{font-size:1.4rem}body .elementor .hero{min-height:845px;padding-top:208px;padding-bottom:0}body .elementor .e-con .elementor-widget.hero-ball{width:524px;margin:-96px -200px 0 0}body .elementor .benefits{padding-top:80px}body .elementor .benefits-grid{grid-template-columns:repeat(4,1fr);gap:5.5%}body .elementor .benefit-card{padding:60px 25px;gap:30px;min-height:650px}body .elementor .about-section{padding-top:150px;gap:30px}body .elementor .e-con .elementor-widget.court-image{margin-top:27px;margin-bottom:-300px}body .elementor .e-con .elementor-widget.sports-image-section{padding-top:8vw}body .elementor .e-con .elementor-widget.sports-image{width:47.25%}body .elementor .contact-section{padding-top:125px;padding-bottom:75px;gap:85px}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Keep adjacent feature panels separated when the standalone photograph is absent. */
body .elementor .why-praxis + .testimonials{margin-top:clamp(50px,7vw,100px)}
