:root{--bg:#f5f5f2;--text:#111;--muted:#777;--line:#d9d9d4;--dark:#0a0a0a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
img{display:block;width:100%}
.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 4vw;color:#fff;background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}
.brand{font-family:'Barlow Condensed',sans-serif;font-size:1.55rem;font-weight:800;letter-spacing:.08em}
.nav-links{display:flex;gap:30px;font-size:.82rem;text-transform:uppercase;letter-spacing:.15em}
.nav-links a{opacity:.85;transition:.2s}.nav-links a:hover{opacity:1}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.5rem}
.hero{height:100vh;min-height:650px;position:relative;overflow:hidden;color:#fff}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.03);transition:opacity 1.2s ease,transform 7s ease}
.hero-slide.active{opacity:1;transform:scale(1.08)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.15)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}
.hero-content{position:absolute;left:4vw;bottom:12vh;z-index:2;max-width:1000px}
.eyebrow{font-size:.72rem;letter-spacing:.28em;font-weight:600;margin-bottom:18px}.eyebrow.dark{color:#555}
.hero h1,.section-heading h2,.about h2,.contact h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;line-height:.88;letter-spacing:-.03em}
.hero h1{font-size:clamp(5rem,12vw,10.5rem)}.hero h1 span{font-weight:500}
.hero-sub{font-size:clamp(1rem,1.5vw,1.35rem);margin:24px 0 34px;max-width:520px;color:#e8e8e8}
.hero-btn,.contact-btn{display:inline-block;padding:15px 22px;border:1px solid currentColor;font-size:.73rem;font-weight:600;letter-spacing:.17em;transition:.25s}.hero-btn:hover{background:#fff;color:#111}
.slide-dots{position:absolute;right:4vw;bottom:5vh;z-index:5;display:flex;gap:8px}.slide-dots button{width:28px;height:3px;background:rgba(255,255,255,.4);border:0}.slide-dots button.active{background:#fff}
.section-wrap{width:min(1400px,92vw);margin:0 auto;padding:110px 0}
.section-heading{margin-bottom:42px}.section-heading h2,.contact h2{font-size:clamp(3.5rem,7vw,7rem)}
.sport-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sport-card{height:460px;position:relative;overflow:hidden;background:#111}.sport-card:before{content:"";position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;transition:.55s ease;filter:saturate(.9)}.sport-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.05) 70%)}.sport-card:hover:before{transform:scale(1.055)}.sport-card>div{position:absolute;z-index:2;left:32px;bottom:28px;color:#fff}.sport-card span{font-size:.7rem;letter-spacing:.16em;opacity:.7}.sport-card h3{font:800 clamp(2.8rem,5vw,5.2rem)/.9 'Barlow Condensed',sans-serif;margin:6px 0 10px}.sport-card p{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.sport-wide{grid-column:1/-1;height:520px}
.split-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.split-heading>p{max-width:340px;color:var(--muted);line-height:1.7}
.masonry{columns:3 320px;column-gap:16px}.masonry img{margin:0 0 16px;break-inside:avoid;transition:.25s}.masonry img:hover{transform:translateY(-3px)}
.about{background:var(--dark);color:#fff}.about-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.about h2{font-size:clamp(4rem,8vw,8rem);max-width:900px}.about-copy{font-size:1rem;line-height:1.8;color:#c8c8c8}.about-copy p+p{margin-top:22px}
.contact{text-align:center;padding-top:130px;padding-bottom:130px}.contact>p:not(.eyebrow){color:#666;margin:22px auto 34px}.contact-btn:hover{background:#111;color:#fff}
footer{background:#0a0a0a;color:#fff;padding:34px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font-size:.75rem;color:#888}footer div{display:flex;gap:20px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:800px){.nav-links{display:none;position:absolute;top:72px;right:4vw;background:#111;padding:20px;flex-direction:column}.nav-links.open{display:flex}.menu-btn{display:block}.hero-content{bottom:10vh}.hero h1{font-size:17vw}.sport-grid{grid-template-columns:1fr}.sport-wide{grid-column:auto}.sport-card,.sport-wide{height:360px}.split-heading{display:block}.split-heading>p{margin-top:18px}.about-grid{grid-template-columns:1fr;gap:45px}.about h2{font-size:15vw}.section-wrap{padding:80px 0}footer{flex-direction:column;align-items:flex-start}}

.footer-contact{padding:42px 4vw}.footer-details{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px}.footer-details a{font-size:.78rem;text-transform:none;letter-spacing:.04em;color:#ddd;transition:.2s}.footer-details a:hover{color:#fff}@media(max-width:800px){.footer-contact{align-items:flex-start}.footer-details{flex-direction:column;align-items:flex-start;gap:10px}}

.contact-toggle{background:transparent;cursor:pointer;font-family:inherit}.booking-panel{width:min(820px,100%);margin:38px auto 0;text-align:left}.booking-form{background:#fff;border:1px solid var(--line);padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-form label{display:flex;flex-direction:column;gap:9px;font-size:.68rem;font-weight:700;letter-spacing:.14em}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #ccc;background:#fafafa;padding:14px 13px;font:500 .95rem Inter,Arial,sans-serif;color:#111;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#111;background:#fff}.booking-form textarea{resize:vertical}.form-wide{grid-column:1/-1}.submit-btn{margin-top:22px;width:100%;border:0;background:#111;color:#fff;padding:17px 22px;font-size:.73rem;font-weight:700;letter-spacing:.17em;cursor:pointer}.submit-btn:hover{opacity:.82}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.booking-form{padding:20px}}
