:root{color-scheme:dark;--yellow:#ffca05;--navy:#031c2b;--white:#f9fcff}*{box-sizing:border-box}html{min-height:100%;background:var(--navy)}body{margin:0;font-family:Inter,Montserrat,Arial,Helvetica,sans-serif;color:var(--white)}a{transition:transform .2s ease,filter .2s ease}a:hover{transform:translateY(-2px);filter:brightness(1.07)}a:focus-visible{outline:3px solid #ffcf24;outline-offset:5px}.page{min-height:100vh;overflow:hidden;position:relative;background:radial-gradient(ellipse 75% 95% at 50% 60%,#063b57 0%,#042e45 48%,#021a29 100%)}.page:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,rgba(0,200,242,.08),transparent 40%),radial-gradient(circle at 95% 92%,rgba(0,185,219,.22),transparent 35%)}.ambient{position:absolute;pointer-events:none;border-radius:50%;border:clamp(40px,8vw,150px) solid rgba(1,148,198,.18);width:90vw;height:55vw;transform:rotate(-27deg)}.ambient-left{top:-42vw;left:-40vw}.ambient-right{bottom:-45vw;right:-35vw;border-color:rgba(0,170,214,.15)}.content{position:relative;max-width:1330px;margin:auto;padding:38px 36px 34px}.hero{text-align:center}.brand{display:block;width:min(600px,73vw);height:auto;margin:0 auto;object-fit:contain}.tagline{font-size:clamp(12px,1.65vw,21px);font-weight:600;letter-spacing:.21em;margin:3px 0 38px}.tagline span,.upcoming p span{color:var(--yellow);padding:0 .25em}.leagues{display:grid;grid-template-columns:1fr 1fr;gap:26px}.league-card{position:relative;isolation:isolate;overflow:hidden;border-radius:29px;min-height:230px;padding:26px 28px;display:flex;align-items:center;justify-content:center;gap:30px;border:2px solid rgba(184,233,255,.85);box-shadow:0 15px 30px rgba(0,0,0,.17)}.league-card:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 5% 10%,rgba(255,255,255,.12),transparent 55%),linear-gradient(155deg,transparent 64%,rgba(0,180,235,.16) 64%)}.men{background:linear-gradient(130deg,#075c9b,#063657 85%)}.women{background:linear-gradient(130deg,#087e89,#06404c 85%);border-color:#a6fbf2}.paddles{flex:0 0 100px;color:white;opacity:.95}.paddles svg{width:100%;height:auto}.rule{width:2px;height:100px;background:rgba(255,255,255,.8)}.league-details{min-width:0}.league-details h2{font-size:clamp(27px,3vw,47px);font-style:italic;line-height:1.03;letter-spacing:.005em;margin:0 0 18px;font-weight:900}.entry{display:inline-flex;justify-content:center;align-items:center;gap:12px;white-space:nowrap;text-decoration:none;color:#05283c;font-size:clamp(15px,1.5vw,21px);font-weight:800;border-radius:999px;padding:13px 23px}.entry-men{background:#b5e6ff}.entry-women{background:#b1f5f2}.upcoming{display:flex;align-items:center;justify-content:center;gap:32px;margin:40px 0 36px}.upcoming-copy h2{font-style:italic;font-size:clamp(19px,2.3vw,31px);letter-spacing:.065em;margin:0 0 11px;white-space:nowrap}.upcoming-copy p{font-size:clamp(11px,1.2vw,15px);letter-spacing:.10em;margin:0;white-space:nowrap}.vertical-rule{height:70px;width:2px;background:var(--yellow)}.join{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:18px 29px;border-radius:999px;background:var(--yellow);color:#042335;text-decoration:none;font-size:clamp(16px,1.7vw,22px);font-weight:800;white-space:nowrap}.sponsor{border-top:1px solid rgba(225,242,250,.65);padding:24px 0 0;display:flex;align-items:center;justify-content:center;gap:27px}.sponsor-label{font-size:clamp(12px,1.35vw,17px);font-style:italic;letter-spacing:.2em;font-weight:700;white-space:nowrap}.sponsor-rule{width:1px;height:50px;background:rgba(255,255,255,.8)}.sponsor a{display:block;width:min(420px,47vw)}.sponsor img{width:100%;height:auto;display:block}@media(max-width:900px){.content{padding:30px 22px}.leagues{gap:16px}.league-card{padding:20px 16px;gap:15px;min-height:190px}.paddles{flex-basis:65px}.rule{height:78px}.upcoming{flex-wrap:wrap;gap:20px}.vertical-rule{display:none}.upcoming-copy{text-align:center}}@media(max-width:620px){.content{padding:25px 17px 30px}.brand{width:min(440px,95vw)}.tagline{line-height:1.9;letter-spacing:.12em;margin:8px 0 27px}.leagues{grid-template-columns:1fr;gap:16px}.league-card{min-height:165px;padding:22px;gap:20px}.paddles{flex-basis:75px}.league-details h2{font-size:32px;margin-bottom:13px}.entry{font-size:16px;padding:12px 18px}.upcoming{margin:34px 0 30px}.upcoming-copy h2{white-space:normal;font-size:22px}.upcoming-copy p{white-space:normal;line-height:2;font-size:12px}.join{padding:15px 27px}.sponsor{gap:13px;padding-top:20px}.sponsor-label{font-size:10px;letter-spacing:.12em}.sponsor-rule{height:38px}.sponsor a{width:min(260px,55vw)}}@media(prefers-reduced-motion:reduce){a{transition:none}}
/* v2: restrained sizing consistent with the companion league portals */
.content{max-width:1080px;padding:30px 28px 30px}
.brand{width:min(420px,65vw)}
.tagline{font-size:clamp(11px,1.2vw,14px);letter-spacing:.15em;margin:4px 0 28px}
.leagues{gap:20px}
.league-card{min-height:190px;border-radius:20px;padding:22px 24px;gap:22px}
.paddles{flex-basis:74px}
.rule{height:80px}
.league-details h2{font-size:clamp(25px,2.7vw,34px);margin-bottom:15px}
.entry{font-size:15px;padding:11px 21px}
.upcoming{margin:30px 0 26px;gap:24px}
.upcoming-copy h2{font-size:clamp(17px,2vw,23px);margin-bottom:9px}
.upcoming-copy p{font-size:clamp(10px,1.1vw,12px)}
.vertical-rule{height:54px}
.join{font-size:16px;padding:13px 22px}
.sponsor{padding-top:20px;gap:20px}
.sponsor-label{font-size:12px}
.sponsor a{width:min(300px,38vw)}
.sponsor-rule{height:40px}
@media(max-width:900px){.content{padding:28px 20px}.league-card{padding:19px 16px;gap:14px;min-height:175px}.paddles{flex-basis:60px}.rule{height:70px}.upcoming{gap:18px}}
@media(max-width:620px){.content{padding:26px 16px}.brand{width:min(340px,88vw)}.tagline{font-size:10px;letter-spacing:.09em;line-height:1.8;margin:7px 0 23px}.leagues{gap:13px}.league-card{min-height:150px;padding:18px 20px;gap:17px;border-radius:18px}.paddles{flex-basis:62px}.rule{height:68px}.league-details h2{font-size:27px;margin-bottom:11px}.entry{font-size:14px;padding:10px 17px}.upcoming{margin:27px 0 23px;gap:15px}.upcoming-copy h2{font-size:19px}.upcoming-copy p{font-size:11px}.join{font-size:15px;padding:12px 22px}.sponsor{gap:11px;padding-top:18px}.sponsor-label{font-size:10px}.sponsor a{width:min(240px,54vw)}}
