:root{--wine:#821821;--navy:#26283b;--cream:#eeeee4;--line:#d8d8cc;--muted:#656572;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--white);color:var(--navy);font-family:Lato,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b49119;outline-offset:5px}[hidden]{display:none!important}.wrap{max-width:1200px;width:calc(100% - 96px);margin:auto}.preview-note{text-align:center;padding:7px 20px;background:var(--navy);color:var(--cream);font-size:11px;letter-spacing:.13em}.preview-note span{font-size:12px;letter-spacing:0;margin-left:14px;opacity:.85}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;font-weight:800;font-size:14px;letter-spacing:.14em;line-height:1.4}.brand img{width:56px;height:56px;mix-blend-mode:multiply}.site-header nav{display:flex;gap:30px;font-size:14px}.site-header nav a:hover,.socials a:hover,.socials button:hover{color:var(--wine);text-decoration:underline}.soon{font-size:9px;border:1px solid #bfc0b7;border-radius:3px;padding:2px 4px;vertical-align:middle;margin-left:3px}.button{border:1px solid var(--wine);background:var(--wine);color:var(--cream);padding:15px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:14px;font-weight:700;transition:background .15s}.button:hover{background:#67131a}.button span{font-size:20px;line-height:1}.button.small{padding:12px 18px;gap:25px}.intro{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;padding:52px 0 45px;gap:35px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;margin:0 0 18px;color:var(--wine)}h1{font-size:clamp(3.6rem,6.2vw,5.4rem);line-height:.97;letter-spacing:-.06em;margin:0 0 23px;font-weight:900;color:var(--wine)}.intro-description{max-width:420px;line-height:1.65;margin:0;font-size:16px}.intro-side{display:flex;align-items:center;justify-content:center;gap:25px}.hero-crest{width:210px;height:210px;mix-blend-mode:multiply;transform:rotate(-9deg)}.intro-side p{font-size:12px;font-weight:700;line-height:1.8;writing-mode:vertical-rl;border-left:1px solid var(--line);padding-left:16px;letter-spacing:.08em}.join-strip{background:var(--wine);color:var(--cream)}.join-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0}.join-strip span{font-size:11px;font-weight:800;letter-spacing:.12em}.join-strip p{font-size:14px;margin:0}.join-strip a{font-size:25px;line-height:1}.groups-section{padding:54px 0 44px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:11px}h2{font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.045em;line-height:1.15;margin:0;font-weight:800}.section-heading>p{font-size:13px;color:var(--muted);margin:0;text-align:right;line-height:1.7}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.group-card{border:1px solid var(--line);background:var(--white);overflow:hidden;transition:transform .2s,box-shadow .2s}.group-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #26283b09}.group-visual{height:150px;overflow:hidden;background:var(--cream);display:flex;align-items:center;justify-content:center}.group-visual img{height:310px;width:365px;max-width:none;object-fit:contain}.group-visual.padel,.group-visual.volleyball{background:var(--cream)}.group-visual.padel img{height:300px;width:352px;transform:translateY(34px)}.group-visual.volleyball img{height:310px;width:365px}.group-visual.skiing img{height:220px;width:259px}.group-body{padding:20px 23px}.group-body h3{font-size:23px;letter-spacing:-.025em;margin:0 0 4px}.group-body p{font-size:14px;color:var(--muted);margin:0 0 21px}.join-link{border:0;border-top:1px solid var(--line);background:none;padding:13px 0 0;width:100%;display:block;text-align:left;color:var(--wine);font-size:13px;font-weight:800}.join-link:hover{text-decoration:underline}.join-explainer{text-align:center;font-size:12px;color:var(--muted);margin:26px 0 0}.suggest-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream);padding:54px 0}.suggest-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.suggest-layout h2{font-size:clamp(2.5rem,4vw,3.7rem);color:var(--wine)}.suggest-layout p:not(.eyebrow){max-width:355px;font-size:15px;margin:20px 0 0}.suggest-layout .form-note{color:var(--muted);font-size:13px!important;line-height:1.7;margin-top:32px!important}form label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}input,textarea{width:100%;border:1px solid #c6c6ba;border-radius:0;background:var(--white);padding:12px;color:var(--navy);font-size:14px;margin-bottom:17px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#77777c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .button{width:100%}form .form-help{font-size:11px!important;color:var(--muted);margin:12px 0 0!important;max-width:none!important}.merch{padding:44px 0}.merch-inner{background:var(--navy);color:var(--cream);padding:40px 50px;display:flex;justify-content:space-between;align-items:center;gap:40px}.merch-label{font-size:10px;letter-spacing:.15em;font-weight:700}.merch h2{margin:17px 0;font-size:36px}.merch p{font-size:14px;opacity:.8}.coming{display:inline-block;border:1px solid #787986;padding:7px 12px;font-size:10px;letter-spacing:.1em;margin-top:6px}.merch img{width:170px;height:170px;border-radius:50%;transform:rotate(9deg)}footer{padding:0 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 26px;border-bottom:1px solid var(--line)}footer .brand{font-size:11px}footer .brand img{width:42px;height:42px}.socials{display:flex;gap:25px;font-size:13px}.socials button{background:none;border:0;padding:10px 0;color:var(--navy);font-size:13px}.footer-bottom{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding-top:19px}dialog{width:calc(100% - 40px);max-width:530px;border:1px solid var(--line);padding:30px;background:var(--cream);color:var(--navy);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#17182699;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:20px}.close{background:none;border:0;color:var(--navy);font-size:30px;line-height:1;padding:0 0 8px 8px}dialog h2{font-size:28px}dialog p:not(.eyebrow){font-size:14px}dialog textarea{background:var(--white);margin-top:8px;font-size:14px}.dialog-top .eyebrow{margin-top:5px}
@media(min-width:1450px){.wrap{max-width:1180px}.intro{padding:60px 0}.group-visual{height:170px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.site-header nav{gap:18px}.site-header>.button{display:none}.intro-side{gap:13px}.hero-crest{width:175px;height:175px}.suggest-layout{gap:45px}.group-body{padding:19px 17px}.group-body p{min-height:42px}.join-strip span{font-size:10px}.join-strip p{font-size:12px}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.preview-note{font-size:9px}.preview-note span{display:block;margin:2px 0 0;font-size:10px}.site-header{padding:17px 0;gap:12px;flex-wrap:wrap}.brand{font-size:12px}.brand img{width:45px;height:45px}.site-header nav{gap:18px;font-size:12px;width:100%;padding-top:12px;border-top:1px solid var(--line);justify-content:space-between}.intro{padding:33px 0;gap:10px;grid-template-columns:1fr 100px}.intro .eyebrow{font-size:9px;letter-spacing:.08em;line-height:1.7;max-width:210px}h1{font-size:clamp(2.9rem,11vw,4.3rem)}.intro-description{font-size:14px;line-height:1.65}.hero-crest{width:100px;height:100px}.intro-side{align-self:start;margin-top:48px}.intro-side p{display:none}.join-strip .wrap{gap:12px}.join-strip span{display:none}.join-strip p{font-size:12px;max-width:270px}.groups-section{padding:34px 0}.section-heading{display:block;margin-bottom:22px}.section-heading>p{text-align:left;margin-top:13px}.section-heading>p br{display:none}h2{font-size:28px}.eyebrow{font-size:10px}.group-grid{grid-template-columns:repeat(2,1fr);gap:12px}.group-visual{height:120px}.group-visual img{width:270px;height:230px}.group-visual.padel img{width:275px;height:234px;transform:translateY(27px)}.group-visual.volleyball img{width:270px;height:230px}.group-visual.skiing img{width:194px;height:165px}.group-body{padding:14px 12px}.group-body h3{font-size:19px}.group-body p{font-size:12px;min-height:54px;margin-bottom:13px}.join-link{font-size:11px}.join-explainer{font-size:11px}.suggest-section{padding:34px 0}.suggest-layout{grid-template-columns:1fr;gap:28px}.suggest-layout h2{font-size:42px}.suggest-layout .form-note{display:none}.suggest-layout p:not(.eyebrow){font-size:14px}.form-row{gap:12px}input,textarea{font-size:16px}.merch{padding:28px 0}.merch-inner{padding:27px 24px;gap:15px;position:relative;overflow:hidden}.merch h2{font-size:29px}.merch p{font-size:13px;max-width:210px}.merch-label{font-size:8px}.merch img{width:85px;height:85px;align-self:end}.footer-top{align-items:start;flex-direction:column;gap:18px}.socials{gap:28px}.footer-bottom{font-size:10px;gap:15px}}
.group-visual.padel img{clip-path:inset(0 0 40% 0)}
.join-link{display:flex;align-items:center;gap:9px;min-height:44px}.join-link img{width:19px;height:19px;flex-shrink:0}
.socials{gap:12px}.socials a,.socials button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:9px;border-radius:50%;transition:background .15s}.socials a:hover,.socials button:hover{background:var(--line)}.socials img{display:block;width:25px;height:25px}
.group-visual{background:var(--cream)}

.group-visual.football-seven{background:var(--cream)}.group-visual.football-seven img{width:100px;height:100px;object-fit:contain}
.group-visual.football-eleven,.group-visual.drinks-bar-sports,.group-visual.paddle{background:var(--cream)}.group-visual.football-eleven img,.group-visual.drinks-bar-sports img,.group-visual.paddle img{width:100px;height:100px;object-fit:contain;mix-blend-mode:multiply}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.group-card,.group-body,.join-link{background:var(--cream)}

.group-visual.drinks-bar-sports img{width:190px;height:269px;object-fit:contain;mix-blend-mode:multiply}.group-visual.paddle img{width:140px;height:140px;object-fit:contain}.merch img{mix-blend-mode:normal}

/* Keep the logo and navigation together on one row. */
.site-header{flex-wrap:nowrap}.site-header .brand{flex-shrink:0}.site-header nav{align-items:center;flex-wrap:nowrap;min-width:0;white-space:nowrap;overflow-x:auto}.site-header nav a{flex-shrink:0;padding:10px 0}
@media(max-width:680px){.site-header nav{width:auto;padding-top:0;border-top:0;justify-content:flex-start;gap:16px}}
@media(max-width:480px){
  .site-header{width:calc(100% - 24px);gap:8px}
  .site-header .brand{font-size:clamp(8px,2.4vw,11px);gap:6px}
  .site-header .brand img{width:24px;height:24px}
  .site-header nav{gap:clamp(6px,1.8vw,9px);font-size:clamp(9px,2.65vw,12px);overflow:visible}
  .site-header nav .soon{display:none}
}

.about-section{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;padding:54px 0;border-top:1px solid var(--line)}.about-section h2{color:var(--wine);font-size:clamp(2.4rem,4vw,3.5rem)}.about-copy p{margin:0 0 18px;max-width:620px;line-height:1.75}.text-link{display:inline-block;color:var(--wine);font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:5px;padding:10px 0}
.standalone-main{flex:1}.standalone-main .about-section{border-top:0;padding-top:76px;padding-bottom:90px}.standalone-main .about-section h1{font-size:clamp(2.7rem,5vw,4.4rem);line-height:1.04;letter-spacing:-.045em}.standalone-main .merch{padding-top:60px;padding-bottom:70px}.standalone-main .merch-inner{min-height:420px}.standalone-main .merch h1{color:var(--cream);font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.08;letter-spacing:-.045em;margin:20px 0}.site-header nav [aria-current=page]{color:var(--wine);text-decoration:underline;text-underline-offset:6px}body:has(.standalone-main){min-height:100vh;display:flex;flex-direction:column}body:has(.standalone-main)>.wrap{margin-top:0;margin-bottom:0}@media(max-width:680px){.about-section{grid-template-columns:1fr;gap:22px}.about-copy p{font-size:14px}.standalone-main .about-section{padding-top:38px;padding-bottom:45px}.standalone-main .merch{padding-top:32px;padding-bottom:40px}.standalone-main .merch-inner{min-height:340px}.standalone-main .merch h1{font-size:32px}}

.intro-follow{margin-top:24px}.intro-follow p,.footer-follow p{font-size:13px;line-height:1.6;margin:0 0 7px;color:var(--muted)}.intro-follow .socials{margin-left:-9px}.footer-follow{max-width:340px}.footer-follow .socials{justify-content:flex-end}.footer-follow p{text-align:right}@media(max-width:680px){.footer-follow p{text-align:left}.footer-follow .socials{justify-content:flex-start;margin-left:-9px}.intro-follow p{font-size:12px}.intro-follow{margin-top:20px}}

.footer-bottom{justify-content:flex-end}

.optional{font-weight:400;color:var(--muted)}.suggest-layout .required-note{font-size:11px!important;color:var(--muted);margin:0 0 14px!important}#suggest-captcha{margin-bottom:12px}#captcha-status{margin:0 0 15px!important}#suggest-submit:disabled{opacity:.6;cursor:not-allowed}

[hidden]{display:none!important}
#email-draft{margin-top:12px;text-decoration:none}
.footer-follow a{color:var(--red,#821821);overflow-wrap:anywhere}

.site-header nav a{color:var(--wine)}

.menu-toggle{display:none}
@media(max-width:680px){
 .site-header.menu-ready{position:relative;flex-wrap:wrap;gap:0;justify-content:space-between;padding:16px 0;width:calc(100% - 36px)}
 .site-header.menu-ready .brand{font-size:12px;gap:10px}
 .site-header.menu-ready .brand img{width:42px;height:42px}
 .menu-ready .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;min-height:48px;padding:4px;background:none;border:0;color:var(--wine);font-weight:700;font-size:14px;border-radius:3px}
 .menu-toggle span{font-size:36px;line-height:1}
 .site-header.menu-ready nav{display:none;width:100%;white-space:normal;overflow:visible;margin-top:16px;padding-top:8px;border-top:1px solid var(--line);gap:0}
 .site-header.menu-ready nav.is-open{display:flex;flex-direction:column;align-items:stretch}
 .site-header.menu-ready nav a{font-size:19px;padding:13px 2px;min-height:48px;border-bottom:1px solid var(--line)}
 .site-header.menu-ready nav .soon{display:inline-block;font-size:9px}
}

/* Keep every join action aligned at the bottom of its grid row. */
.group-card{display:flex;flex-direction:column}.group-visual{flex-shrink:0}.group-body{display:flex;flex-direction:column;flex:1}.group-body .join-link{margin-top:auto}

@media(max-width:680px){.football-start{grid-column:1}}

.about-photo{grid-column:1/-1;margin:0}.about-photo img{display:block;width:100%;height:auto}

.padel-intro{padding:40px 0 50px}.padel-intro>.text-link{margin-bottom:25px}.padel-intro>p:not(.eyebrow){max-width:540px}.padel-join{margin-top:18px;gap:12px;justify-content:center}.padel-join img{filter:brightness(0) invert(95%)}.padel-places{padding-bottom:65px}.venue-intro{color:var(--muted);margin-bottom:28px}.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.venue-card{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column}.venue-card h3{font-size:25px;margin:0 0 10px;letter-spacing:-.025em}.venue-card p:not(.eyebrow){color:var(--muted);margin:0 0 20px}.venue-card .text-link{margin-top:auto}.venue-card .eyebrow{font-size:10px}.venue-note{font-size:12px;color:var(--muted);margin-top:26px}.venue-note a{text-decoration:underline}.group-visual>a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}@media(max-width:680px){.venue-grid{grid-template-columns:1fr;gap:14px}.venue-card{padding:22px}.padel-intro{padding:24px 0 36px}.padel-intro h1{font-size:48px}.padel-join{font-size:13px}.padel-places{padding-bottom:40px}}

.padel-map{padding-bottom:50px}.padel-map>p{color:var(--muted)}.padel-map iframe{display:block;border:1px solid var(--line);background:var(--cream)}.venue-maps{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:14px}.venue-maps a{color:var(--wine);font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.venue-card .venue-map-hint{font-size:12px;margin:10px 0 0}.venue-maps{border-top:0}

.map-venues{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.map-venues button{background:transparent;border:1px solid var(--wine);color:var(--wine);padding:10px 14px;font-size:13px;min-height:44px}.map-venues button[aria-pressed=true]{background:var(--wine);color:var(--cream)}

/* Activity guides share the Padel layout and map controls. */
.location-title{display:block;border:0;padding:0;background:none;color:var(--wine);text-align:left;font:inherit;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.location-title:hover{text-decoration-thickness:2px}.venue-card .route-metrics{color:var(--wine)!important;font-size:13px;font-weight:700}.venue-card .access-note{font-size:14px;line-height:1.65}.access-note strong{color:var(--navy)}
.venue-maps button{padding:8px 0;border:0;background:none;color:var(--wine);font-size:13px;text-decoration:underline;text-underline-offset:4px;min-height:44px}.venue-maps a{min-height:44px;display:inline-flex;align-items:center}
.guide-sections{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}.guide-sections a{border:1px solid var(--wine);padding:10px 18px;color:var(--wine);font-weight:700}.guide-sections a:hover{background:var(--wine);color:var(--cream)}.map-selection{font-size:13px;font-weight:700;color:var(--wine)!important}.guide-note{font-size:13px;color:var(--muted);padding-bottom:44px;line-height:1.7}.venue-card{min-width:0}.venue-card a{overflow-wrap:anywhere}
@media(max-width:680px){.padel-intro h1{font-size:clamp(36px,10vw,48px)}.map-venues button{flex-grow:1}.guide-sections a{flex:1;text-align:center;font-size:13px;padding:10px}.padel-map iframe{height:310px}}

.airpad-location{padding:16px 0;border-top:1px solid var(--line,#d5d5c9)}
.airpad-location h4{margin:0 0 6px;font-size:1rem}
.airpad-location p{margin:0}
.airpad-location .venue-maps{margin-top:8px}
#route-map{height:400px;width:100%;margin-top:18px;z-index:0}#route-map[hidden],#venue-map[hidden]{display:none}#route-source{display:inline-block;margin:0 0 18px}#route-source[hidden]{display:none}

.group-actions{margin-top:auto}.guide-link{display:flex;align-items:center;min-height:44px;color:var(--wine);font-size:13px;font-weight:700;padding:8px 0}.guide-link:hover{text-decoration:underline}.group-actions .join-link{margin-top:0}@media(max-width:680px){.guide-link{font-size:11px}}

/* Diagonal merchandising stamp, with a generous clickable area. */
.site-header nav a.merch-nav{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:100px;min-height:48px;isolation:isolate}
.merch-nav .merch-label-text{transform:translateY(-7px)}
.site-header nav .merch-nav .soon{position:absolute;left:50%;top:68%;transform:translate(-50%,-50%) rotate(-16deg);display:block;white-space:nowrap;border:2px solid var(--navy);border-radius:2px;padding:3px 5px;margin:0;background:var(--cream);color:var(--navy);font-size:9px;font-weight:900;line-height:1.1;letter-spacing:.08em;box-shadow:inset 0 0 0 1px var(--cream),inset 0 0 0 2px var(--navy);pointer-events:none}
@media(max-width:680px){.site-header nav a.merch-nav{width:100px;justify-self:start;flex:none}}
@media(min-width:681px){.site-header nav{overflow:visible;flex-shrink:0}}

/* Custom map markers use the same navy as the brand lettering. */
.location-map{height:380px;width:100%;margin-top:18px;border:1px solid var(--line);z-index:0;background:var(--cream)}
.brand-map-marker{color:var(--navy);background:transparent;border:0;filter:drop-shadow(0 2px 2px #26283b50)}
.brand-map-marker svg{display:block;width:36px;height:46px}
.location-map .leaflet-popup-content-wrapper,.location-map .leaflet-popup-tip{background:var(--cream);color:var(--navy)}
.location-map .leaflet-popup-content{font-family:Lato,Arial,sans-serif;font-weight:700}
.location-map .leaflet-control-zoom a{color:var(--navy)}
.route-source{display:inline-block;margin:0 0 18px}
#map-message:empty{display:none}
@media(max-width:680px){.location-map{height:330px}}

/* Off-white diagonal launch stamp on the navy merchandise panel. */
.merch-inner .coming{display:inline-block;transform:rotate(-16deg);transform-origin:center;white-space:nowrap;color:var(--cream);background:transparent;border:3px solid var(--cream);border-radius:2px;padding:10px 16px;margin:34px 8px 24px;font-size:clamp(18px,2.4vw,28px);font-weight:900;line-height:1.1;letter-spacing:.08em;box-shadow:inset 0 0 0 2px var(--navy),inset 0 0 0 3px var(--cream)}
@media(max-width:680px){.merch-inner .coming{font-size:18px;padding:9px 12px;margin:30px 0 24px}}

.football-join-note{font-size:14px!important;color:var(--muted);margin-top:14px!important}
.football-details{padding-bottom:72px}.football-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:24px;padding:30px 0}
.football-facts .eyebrow{display:block;margin-bottom:12px}.football-facts h2{font-size:clamp(23px,2.8vw,32px)}
.football-league{max-width:760px;padding-top:45px}.football-league h2{margin-bottom:20px}.football-league p:not(.eyebrow){line-height:1.75}.football-season-note{color:var(--muted);font-size:14px}
.football-page .padel-join img{filter:brightness(0) invert(1)}
@media(max-width:680px){.football-facts{grid-template-columns:1fr;gap:24px}.football-facts>div+div{border-top:1px solid var(--line);padding-top:22px}.football-details{padding-bottom:40px}.football-league{padding-top:32px}}

/* Rounded, bold action buttons throughout the site. */
.button,.group-actions .guide-link,.group-actions .join-link,.map-venues button,.venue-maps a,.venue-maps button,.guide-sections a,.venue-card .text-link,.football-league>.text-link{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:48px;padding:12px 18px;border:0;border-radius:12px;font-weight:800;line-height:1.3;text-decoration:none;transition:background .15s,box-shadow .15s}
.button,.group-actions .join-link{background:var(--wine);color:var(--cream)}
.group-actions .guide-link,.map-venues button,.venue-maps a,.venue-maps button,.guide-sections a,.venue-card .text-link,.football-league>.text-link{background:var(--cream);color:var(--navy)}
.group-actions{display:grid;gap:10px}.group-actions .guide-link,.group-actions .join-link{width:100%;margin:0}.group-actions .join-link img{filter:brightness(0) invert(1)}
.button:hover,.group-actions .join-link:hover{background:#67131a;text-decoration:none}.group-actions .guide-link:hover,.map-venues button:hover,.venue-maps a:hover,.venue-maps button:hover,.venue-card .text-link:hover,.football-league>.text-link:hover{background:#e3e3d7;text-decoration:none}
.map-venues button[aria-pressed=true]{background:var(--navy);color:var(--cream)}
.location-title{border-radius:12px;text-decoration:none;background:var(--cream);padding:10px 14px;width:100%}
.football-form select{width:100%;min-height:48px;border:1px solid #c6c6ba;border-radius:8px;background:var(--white);padding:12px;color:var(--navy);font:inherit;margin-bottom:17px}.football-form input{border-radius:8px}.football-form{min-width:0}.football-form select:focus-visible{outline:3px solid #b49119;outline-offset:3px}
@media(max-width:680px){.group-actions .guide-link,.group-actions .join-link{padding:11px 7px;font-size:12px;min-height:48px}.group-actions .join-link{flex-wrap:wrap}.football-form select{font-size:16px}}

.football-page .football-table-button{display:flex;width:fit-content;max-width:100%;margin-top:12px;background:var(--cream);color:var(--navy)}
.football-page .football-table-button:hover{background:#e3e3d7}

/* Mobile home-page introduction. */
.join-strip .mobile-strip-greeting,.mobile-groups-intro{display:none}
@media(max-width:680px){
 .join-strip .desktop-strip-greeting,.join-strip p,.desktop-groups-eyebrow{display:none}
 .join-strip .mobile-strip-greeting{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
 .mobile-groups-intro{display:block;color:var(--wine);font-size:13px;font-weight:700;line-height:1.5;margin:0 0 12px}
}

/* Readable privacy information and form context. */
.privacy-page{max-width:820px;padding-top:58px;padding-bottom:64px}.privacy-page h1{font-size:clamp(38px,7vw,64px);color:var(--wine);margin:0 0 18px}.privacy-page h2{font-size:24px;margin:32px 0 12px}.privacy-page p{font-size:16px;line-height:1.75;overflow-wrap:anywhere}.privacy-date{color:var(--muted)}.privacy-page a,.privacy-form-note a,.footer-bottom .privacy-link{color:var(--wine);text-decoration:underline;text-underline-offset:3px}.footer-bottom .privacy-link{white-space:nowrap}.privacy-form-note{margin-top:8px}.footer-bottom{gap:20px;flex-wrap:wrap}@media(max-width:680px){.privacy-page{padding-top:34px;padding-bottom:40px}.privacy-page h2{font-size:22px}}

/* White site canvas with off-white supporting surfaces. */
.group-card,.group-body,.group-visual,.group-visual.padel,.group-visual.football-seven,.group-visual.football-eleven,.group-visual.drinks-bar-sports,.group-visual.paddle{background:var(--white)}
.group-visual img{mix-blend-mode:multiply}.group-visual.padel img{filter:url(#red-on-white-art)}

/* Keep navigation visible while scrolling on every screen size. */
html{scroll-padding-top:120px}
.site-header,.site-header.menu-ready{position:sticky;top:0;z-index:1000;isolation:isolate;background:var(--white)}
.site-header::before{content:"";position:absolute;inset:0;background:var(--white);box-shadow:0 0 0 100vmax var(--white);clip-path:inset(0 -100vmax);z-index:-1;pointer-events:none}
@media(max-width:680px){html{scroll-padding-top:95px}.site-header.menu-ready nav.is-open{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}}

@media(max-width:680px){.site-header.menu-ready nav a.merch-nav{border-bottom:0}}

/* Inline mobile badge keeps the menu rows even and avoids clipping. */
@media(max-width:680px){
.site-header.menu-ready nav a.merch-nav{display:flex;width:100%;min-width:0;min-height:0;justify-content:flex-start;gap:14px;padding:13px 2px}
.site-header.menu-ready .merch-nav .merch-label-text{transform:none}
.site-header.menu-ready nav .merch-nav .soon{position:static;transform:none;display:inline-block;margin:0;padding:4px 7px;border:1px solid var(--navy);border-radius:3px;background:var(--navy);color:white;box-shadow:none;font-size:9px;font-weight:800;line-height:1.1;letter-spacing:.08em}
}

.location-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.suggest-location-plus{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:0;border-radius:12px;background:var(--cream);color:var(--wine);font-size:30px;font-weight:700;line-height:1;cursor:pointer;text-decoration:none}.suggest-location-plus:hover{background:#e3e3d7}.group-body h3{display:flex;align-items:center;justify-content:space-between;gap:6px}.group-body h3 .suggest-location-plus{font-size:26px;min-width:44px}.location-suggestion-dialog{max-width:580px;max-height:85dvh;overflow:auto;background:var(--cream);border-radius:16px;padding:26px}.location-suggestion-dialog .dialog-top{align-items:start}.location-suggestion-dialog h2{font-size:26px}.location-suggestion-dialog label{font-size:14px}.location-suggestion-dialog input,.location-suggestion-dialog textarea,.location-suggestion-dialog select{border-radius:8px;background:white;width:100%;padding:12px;margin:0 0 16px;font:inherit;color:var(--navy);border:1px solid var(--line)}.location-suggestion-dialog form .button{width:100%}.location-suggestion-dialog .required-note{font-size:12px}.group-visual.paddle img{width:130px;height:130px;filter:none}@media(max-width:680px){.location-suggestion-dialog{padding:20px}.location-suggestion-dialog h2{font-size:23px}.group-visual.paddle img{width:100px;height:100px}}

.location-heading{flex-wrap:wrap}.location-heading .suggest-location-plus{width:auto;min-height:44px;height:auto;padding:12px 16px;font-size:14px;font-weight:800;line-height:1.3}.group-body h3{display:block}.location-suggestion-dialog .map-link-help{font-size:12px;line-height:1.5;margin:-6px 0 18px;color:var(--muted)}

/* Visible touch, mouse and keyboard activation feedback. */
:is(.group-actions .guide-link,.map-venues button,.venue-maps a,.venue-maps button,.guide-sections a,.venue-card .text-link,.football-league>.text-link,.location-title,.suggest-location-plus,.football-page .football-table-button):is(:active,.button-activated){background:var(--navy)!important;color:var(--cream)!important;text-decoration:none;transition:none}
:is(.button:not(.football-table-button),.group-actions .join-link):is(:active,.button-activated){background:var(--cream)!important;color:var(--navy)!important;text-decoration:none;transition:none}
:is(.button:not(.football-table-button),.group-actions .join-link):is(:active,.button-activated) img{filter:brightness(0)!important}

@media (hover:hover) and (pointer:fine){
:is(.group-actions .guide-link,.map-venues button,.venue-maps a,.venue-maps button,.guide-sections a,.venue-card .text-link,.football-league>.text-link,.location-title,.suggest-location-plus,.football-page .football-table-button):hover{background:var(--navy)!important;color:var(--cream)!important;text-decoration:none;transition:none}
:is(.button:not(.football-table-button),.group-actions .join-link):hover{background:var(--cream)!important;color:var(--navy)!important;text-decoration:none;transition:none}
:is(.button:not(.football-table-button),.group-actions .join-link):hover img{filter:brightness(0)!important}
}
