:root{--ink:#171a1b;--paper:#f4f2ec;--green:#b5e445;--deep:#0b0e0f;--muted:#7f8886;--line:#dcded7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Lato,Arial,sans-serif}.site-shell{overflow:hidden}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:absolute;z-index:3;width:100%;border-bottom:1px solid #ffffff30}.brand img{width:58px;max-height:72px;object-fit:contain;display:block}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a{font:700 12px Lato,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#fff;text-decoration:none}.nav-links .nav-cta{padding:13px 18px;background:var(--green);color:var(--ink);border-radius:2px}.menu-button{display:none}.hero{min-height:720px;height:min(100vh,900px);position:relative;color:#fff;display:flex;align-items:end;padding:145px 10vw 95px}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url('/assets/hero.png') center/cover no-repeat #303735}.hero-shade{background:linear-gradient(90deg,#121719e8 0%,#1217199e 48%,#1217192c 100%)}.hero-copy{position:relative;max-width:750px}.kicker{margin:0 0 18px;font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--green)}h1,h2,h3{font-family:'Inter Tight',Arial,sans-serif;margin:0;letter-spacing:-.055em}h1{font-size:clamp(68px,9vw,132px);line-height:.83;font-weight:800}h1 span,h2 span{color:var(--green)}.hero-copy>p:not(.kicker){max-width:550px;font-size:19px;line-height:1.55;margin:30px 0}.button{display:inline-block;border:0;border-radius:2px;padding:16px 21px;font:900 12px Lato,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer}.button b{font-size:18px;margin-left:8px}.button-primary{background:var(--green);color:var(--ink)}.next-event{display:grid;grid-template-columns:1fr 1.25fr 1fr;background:var(--deep);color:#fff;min-height:490px}.next-event-image{background:none center/cover no-repeat;min-height:310px;filter:saturate(.75)}.next-event-image.second{background-image:none}.next-event-copy{padding:80px 5vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.next-event-copy h2{font-size:clamp(47px,5.4vw,84px);line-height:.85}.next-event-copy>p:not(.kicker){color:#d6d9d4;font-size:16px;line-height:1.6;max-width:380px;margin:25px 0}.button-outline{border:1px solid var(--green);color:var(--green)}.sponsors{padding:64px 6vw;background:#fff;text-align:center}.sponsors>p{font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.sponsor-grid{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:24px;margin-top:40px}.sponsor-grid span{font:800 clamp(14px,1.8vw,23px)/.92 'Inter Tight';color:#3a423f;letter-spacing:-.04em}.tournament-list{padding:105px 9vw;background:var(--paper)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-title h2{font-size:clamp(51px,6vw,86px);line-height:.9}.button-dark{background:var(--ink);color:#fff}.tournament-row{display:grid;grid-template-columns:1.4fr 1fr auto;gap:35px;align-items:center;padding:33px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tournament-row strong{display:block;font:700 31px 'Inter Tight';letter-spacing:-.05em}.tournament-row span,.tournament-row p{font-size:14px;color:#616a68;line-height:1.5;margin:7px 0 0}.tournament-row a{color:var(--ink);font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;text-decoration:none}.mission{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;padding:130px 9vw;background:var(--ink);color:#fff}.mission h2{font-size:clamp(52px,6.5vw,96px);line-height:.88;max-width:750px}.mission>p{margin:50px 0 0;font-size:18px;line-height:1.65;color:#d9ddda}.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:105px 9vw;background:var(--green);color:var(--ink)}.newsletter h2{font-size:clamp(47px,5.5vw,80px);line-height:.88}.newsletter .kicker{color:#506524}.newsletter form{align-self:end}.newsletter input{width:100%;border:0;border-bottom:2px solid #263411;background:transparent;padding:15px 2px;margin-bottom:20px;color:var(--ink);font-size:17px;outline:0}.newsletter input::placeholder{color:#526131}.form-note{font-size:12px;line-height:1.5;color:#50602c;margin:17px 0 0}footer{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:35px;padding:72px 7vw 34px;background:var(--deep);color:#fff}.footer-brand img{width:90px;max-height:80px;object-fit:contain}.footer-brand{display:block}footer h3{font-size:16px;letter-spacing:-.02em;margin-bottom:18px}footer a{display:block;color:#c4c8c4;text-decoration:none;font-size:13px;margin:0 0 11px}.copyright{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:22px;margin:20px 0 0;color:#9ba29d;font-size:11px;line-height:1.7}.copyright a{display:inline;margin:0;color:#c7d7a4}.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;white-space:nowrap;width:1px}@media(max-width:780px){.nav{height:72px;padding:0 24px}.brand img{width:46px;max-height:54px}.menu-button{display:flex;gap:8px;color:#fff;background:none;border:0;font:900 11px Lato;letter-spacing:.1em}.menu-button span{width:15px;border-top:2px solid var(--green)}.nav-links{display:none}.nav-links.open{display:flex;position:absolute;top:72px;left:0;width:100%;padding:24px;background:#121617;flex-direction:column;align-items:stretch}.nav-links .nav-cta{text-align:center}.hero{min-height:680px;padding:130px 24px 70px}.hero-copy>p:not(.kicker){font-size:16px}.next-event{grid-template-columns:1fr}.next-event-image{display:none}.next-event-copy{padding:75px 24px}.sponsor-grid{grid-template-columns:repeat(2,1fr);gap:30px}.tournament-list,.mission,.newsletter{padding:80px 24px}.section-title,.mission,.newsletter{display:block}.section-title .button{margin-top:25px}.tournament-row{grid-template-columns:1fr;gap:10px}.mission>p{margin-top:35px}.newsletter form{margin-top:45px}footer{grid-template-columns:1fr 1fr;padding:55px 24px 28px}.footer-brand,.copyright{grid-column:1/-1}}

/* WBA red accent overrides */
:root{--green:#cf2027}
.newsletter .kicker{color:#681017}.newsletter input{border-bottom-color:#5f1117}.newsletter input::placeholder{color:#75151a}.form-note{color:#681017}.copyright a{color:#f2a7aa}

/*
   The supplied artwork is a complete 2332 × 1460 composition.  It cannot use
   `background-size: cover`: wide screens crop its headline vertically and
   phones crop the left half of the copy.  Keep the entire composition visible
   on larger screens, then intentionally frame its copy panel on small screens.
*/
.hero{display:block;padding:0;min-height:0;height:auto;aspect-ratio:2332/1460;color:inherit}.hero-photo{inset:0;background-size:100% 100%;background-position:center}.hero-mobile-copy{display:none}.hero-register-link{position:absolute;z-index:1;left:5.2%;bottom:8.5%;width:16%;height:7.5%}
@media(max-width:780px){.hero{display:flex;align-items:flex-end;min-height:680px;height:auto;padding:128px 24px 64px;aspect-ratio:auto;overflow:hidden;color:#fff}.hero-photo{background-size:auto 100%;background-position:right center;opacity:.32}.hero-mobile-copy{display:block;position:relative;z-index:1;max-width:335px}.hero-mobile-copy .kicker{margin-bottom:16px}.hero-mobile-copy h1{font-size:clamp(54px,16vw,70px);line-height:.84}.hero-mobile-copy>p:not(.kicker){margin:28px 0;font-size:16px;line-height:1.55;max-width:315px}.hero-mobile-copy .button{padding:15px 20px}.hero-register-link{display:none}.next-event-copy h2{font-size:clamp(38px,12vw,48px)}}

/* ---------------------------------------------------------------------------
   TEMPORARY: the two side photos in the "WBA TOURNAMENTS" band were hotlinked
   to a Webflow CDN account that has been purged — both now return 403, which
   left two empty black columns squeezing the copy into the middle third.
   This collapses the band to a single centred column until real photos exist.

   TO RESTORE THE 3-COLUMN DESIGN: drop two images into /assets/, set them as
   the background-image on .next-event-image / .next-event-image.second above,
   then delete this whole block.
   --------------------------------------------------------------------------- */
.next-event{grid-template-columns:1fr}
.next-event-image{display:none}
.next-event-copy{padding:90px 9vw;align-items:center;text-align:center;max-width:760px;margin:0 auto}
.next-event-copy>p:not(.kicker){max-width:520px}

/* Stacked tournament rows share one divider line. */
.tournament-row+.tournament-row{border-top:0}

/* Hero artwork: WebP (about 100 KB) where supported, the original PNG (1.35 MB) otherwise. */
.hero-photo{background-image:url('/assets/hero.png');background-image:image-set(url('/assets/hero.webp') type('image/webp'),url('/assets/hero.png') type('image/png'))}

/* 404 page */
.not-found{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:90px 9vw;background:var(--deep);color:#fff}
.not-found .brand img{width:90px;max-height:80px;object-fit:contain;display:block;margin-bottom:60px}
.not-found h1{font-size:clamp(60px,9vw,120px)}
.not-found>p:not(.kicker){max-width:520px;color:#d6d9d4;font-size:17px;line-height:1.6;margin:28px 0 34px}
.not-found .actions{display:flex;flex-wrap:wrap;gap:14px}
