:root{--cream:#faf7f0;--paper:#fffdf9;--forest:#203f32;--green:#355641;--pink:#8c4057;--blush:#f3dfe3;--sage:#e4ebdf;--pearl:#edf1f4;--pearl-light:#f4f6f7;--pearl-line:#bec8ce;--slate:#455762;--ink:#343831;--muted:#595b54;--line:#c8c2b7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}button,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}
.events-hub{width:min(1180px,calc(100% - 48px));margin:auto;padding:56px 0 64px;font-size:18px;line-height:1.6;min-height:65vh}
.events-hub p{margin:0}
.events-hub h1,.events-hub h2,.events-hub h3{margin:0;color:var(--forest);line-height:1.15}
.events-hub h1,.events-hub h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.events-hub h3{font-size:25px;font-weight:700;letter-spacing:-.02em}
.hub-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:10px 40px;margin:0 0 36px;padding:0 8px 6px}
.hub-eyebrow{grid-column:1/-1;color:var(--green);font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.hub-heading h1{font-size:clamp(52px,6.2vw,78px);line-height:1.02;margin:8px 0 0}
.hub-heading h1 em{font-weight:400;color:var(--pink)}
.hub-heading>p:not(.hub-eyebrow){font-size:21px;line-height:1.65;max-width:450px;padding-bottom:5px;color:var(--ink)}
.hub-heading.hub-events-heading{display:block;margin-bottom:24px;padding-bottom:0}
.hub-heading.hub-events-heading h1{margin:8px 0 12px}
.hub-events-heading h1 em{white-space:nowrap}
.hub-heading.hub-events-heading>p:not(.hub-eyebrow){max-width:none;padding:0;line-height:1.5}
.hub-jump-nav{display:flex;align-items:stretch;justify-content:space-between;gap:0;background:var(--forest);border:1px solid var(--forest);border-radius:5px;margin-bottom:40px;overflow:hidden}
.hub-jump-nav a{display:flex;align-items:center;justify-content:center;min-height:66px;flex:1;padding:16px 18px;color:#fffdf9;font-size:17px;line-height:1.4;font-weight:700;text-decoration:none;text-align:center;border-right:1px solid #ffffff40}
.hub-jump-nav a:last-child{border:0}
.hub-jump-nav a:hover{background:#355641}
.hub-jump-nav a:focus-visible{outline:3px solid var(--blush)!important;outline-offset:-5px!important}
.events-section{margin:0 0 40px;border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:clip;scroll-margin-top:145px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 32px;background:var(--pearl-light);border-bottom:1px solid var(--pearl-line)}
.section-heading h2{font-size:39px;line-height:1.15}
.section-eyebrow{font-size:15px;line-height:1.4;font-weight:700;letter-spacing:.025em;margin-bottom:6px!important;color:var(--green)}
.section-tag{font-size:15px;font-weight:700;line-height:1.5;flex-shrink:0;padding:9px 13px;border:1px solid #94a78e;border-radius:4px;color:var(--forest);background:#fffdf960}
.section-lessons>.section-heading{background:var(--pearl);border-color:var(--pearl-line)}
.section-lessons .section-eyebrow{color:var(--green)}
.section-lessons .section-tag{border-color:#94a5af}
.section-tournaments>.section-heading{background:var(--forest);border-color:var(--forest)}
.section-tournaments .section-heading h2,.section-tournaments .section-eyebrow{color:var(--paper)}
.section-leagues>.section-heading,.section-places>.section-heading{background:var(--pearl-light)}
.section-body{padding:28px 32px 30px}
.section-intro{font-size:19px;line-height:1.65;max-width:830px;margin-bottom:24px!important;color:var(--ink)}
.section-small{font-size:16px;line-height:1.65;color:var(--muted);margin-top:20px!important}
.section-subheading{margin:0 0 18px}
.section-subheading h3{font-size:24px;line-height:1.3}
.section-subheading p{font-size:17px;line-height:1.6;margin-top:5px;color:var(--muted)}
.subsection-separator{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}
.hosted-venues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hosted-venue{display:flex;flex-direction:column;min-width:0;border:1px solid var(--pearl-line);border-radius:5px;background:#fff;overflow:hidden}
.hosted-venue-top{position:relative;background:var(--pearl-light);border-bottom:1px solid var(--pearl-line);padding:24px}
.hosted-venue[data-venue="Champions Social Club"] .hosted-venue-top{background:#f7eff0}
.hosted-venue-top h3{font-size:28px;line-height:1.25;margin:6px 0 0}
.event-type{font-size:15px;font-weight:700;color:var(--green);padding-right:76px}
.venue-city{float:right;padding:3px 10px;margin-top:-3px;margin-left:10px;background:#fff;border:1px solid var(--line);border-radius:3px;font-size:15px;font-weight:700;color:var(--ink)}
.hosted-venue-body{display:flex;flex:1;flex-direction:column;padding:24px}
.event-fact{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:baseline;gap:12px;margin-bottom:18px}
.fact-label{font-size:15px;line-height:1.5;font-weight:700;color:var(--green)}
.event-fact p{font-size:18px;line-height:1.55;color:var(--ink)}
.hosted-time strong{font-size:22px;font-weight:700;color:var(--forest)}
.hosted-date-group{margin:2px 0 26px;padding-top:18px;border-top:1px solid #c9d1c2}
.hosted-dates{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:10px 0 0}
.hosted-dates li{display:flex;align-items:center;gap:9px;padding:8px 12px;background:var(--pearl-light);border:1px solid var(--pearl-line);border-radius:3px;font-size:17px;font-weight:700;line-height:1.5;color:var(--forest)}
.hosted-dates li.hosted-date-full{position:relative;margin-top:8px;padding-top:18px;border-color:#e2c8d0;background:#fbf0f3;color:#8c4057}
.hosted-date-status{position:absolute;top:-9px;left:9px;padding:3px 6px;border-radius:3px;background:#8c4057;color:#fff;font:700 10px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.hosted-booking .hosted-coming-soon{margin:0;color:#8c4057;font-size:16px;font-weight:700;line-height:1.5}
.hosted-booking{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:6px}
.hub-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:12px 20px;border:1px solid var(--forest);border-radius:4px;background:var(--forest);color:#fffdf9;text-decoration:none;font-size:17px;font-weight:700;line-height:1.5;text-align:center}
.hub-button:hover{background:#355641}
.hub-button>span{font-size:22px;font-weight:400}
.hosted-direct{align-self:center;font-size:16px;color:var(--green);text-underline-offset:4px;min-height:40px;padding:9px 0 3px}
.hosted-cost-note{padding:15px 18px;background:#f3f1e8;border-left:4px solid var(--green);color:var(--ink);font-size:17px;line-height:1.6;margin:0 0 24px!important}
.hosted-open-address{font-size:17px;line-height:1.65;padding:17px 20px;background:#f5f2ec;border:1px solid var(--line);border-radius:4px;margin-bottom:20px!important;color:var(--muted)}
.hosted-open-address strong{font-size:20px;color:var(--forest)}
.hub-list{display:grid;gap:14px}
.hub-event{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:22px;padding:23px;border:1px solid var(--line);border-radius:5px;background:#fff}
.hub-date{width:76px;align-self:start;overflow:hidden;border:1px solid #b8b0a3;border-radius:4px;color:#403c37;text-align:center;background:#faf7f0}
.hub-date>span{display:block;padding:6px 3px;background:#eee8dd;border-bottom:1px solid #b8b0a3;font-size:14px;text-transform:uppercase;font-weight:700;line-height:1.35;letter-spacing:.04em}
.hub-date>strong{display:block;padding:3px 4px 6px;font:400 38px/1.2 Georgia,serif}
.hub-recurring>span{font-size:12px;letter-spacing:0}
.hub-recurring>strong{font-size:23px;padding:10px 3px}
.hub-event h3{font-size:24px;line-height:1.25}
.hub-kicker{font-size:14px;font-weight:700;line-height:1.45;color:var(--green);text-transform:uppercase;letter-spacing:.045em;margin-bottom:7px!important}
.hub-event .hub-when{margin-top:8px;font-size:18px;font-weight:700;color:var(--forest)}
.hub-event .hub-location{margin-top:5px;font-size:17px;line-height:1.5;color:var(--muted)}
.hub-session-meta{font-size:16px;line-height:1.6;color:var(--muted);margin-top:7px!important}
.hub-text-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;padding:9px 14px;border:1px solid #71866a;border-radius:4px;background:#fffdf9;color:var(--forest);font-size:16px;font-weight:700;line-height:1.45;text-align:left;text-decoration:none}
.hub-text-button:hover{background:#e4ebdf}
.hub-text-button>span{font-size:21px;font-weight:400}
.hub-session-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;max-width:210px}
.hub-pending{font-size:16px;line-height:1.5;color:#5b463b}
.hub-session-actions .hub-pending{text-align:right}
.hosted-status{display:inline-block;padding:5px 9px;border:1px solid #aaba9f;background:#eef2e9;color:var(--forest);border-radius:3px;font-size:14px;font-weight:700;line-height:1.4}
.proposed-sessions{margin-top:20px;border:1px dashed #b5a79d;border-radius:4px;background:#faf7f0;padding:0 18px}
.proposed-sessions summary{padding:15px 0;font-size:17px;line-height:1.5;font-weight:700;cursor:pointer;color:var(--ink)}
.proposed-sessions summary>span{font-size:15px;font-weight:400;margin-left:14px;color:#65594f}
.proposed-sessions[open]{padding-bottom:18px}
.proposed-sessions .hub-event{grid-template-columns:64px minmax(0,1fr) auto;padding:18px}
.proposed-sessions .hub-date{width:64px}
.proposed-sessions .hub-event h3{font-size:21px}
.hub-league{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 30px;margin-bottom:30px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--pink);border-radius:5px}
.hub-league .hub-kicker{color:var(--pink)}
.hub-league h3,.hub-league h2{font-family:Georgia,serif;font-size:35px;font-weight:400;color:var(--forest);margin-bottom:12px}
.hub-league p{font-size:18px;line-height:1.6}
.hub-league .league-dates{font-size:21px;font-weight:700;margin-bottom:3px}
.hub-league .hub-button{background:var(--forest);border-color:var(--forest);color:var(--paper);flex-shrink:0}
.hub-league .hub-button:hover{background:var(--green)}
.hub-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;margin:24px 0}
.hub-filter{display:grid;gap:6px;min-width:190px}
.hub-filter>span{font-size:16px;font-weight:700;color:var(--forest)}
.hub-filter select{min-height:48px;max-width:100%;padding:10px 34px 10px 12px;background:#fff;border:1px solid #7e9474;border-radius:4px;color:var(--forest);font-size:17px}
.hub-count{display:flex;align-items:center;min-height:48px;margin-left:auto;font-size:16px;color:var(--muted)}
.hub-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hub-place{display:flex;flex-direction:column;align-items:flex-start;padding:25px;background:#fff;border:1px solid var(--line);border-radius:5px;min-width:0}
.hub-place h3{font-size:26px;line-height:1.25}
.hub-place .hub-format{font-size:16px;color:var(--muted);margin:7px 0 16px;line-height:1.5}
.hub-place>p:not(.hub-kicker):not(.hub-format){font-size:18px;line-height:1.6;margin-bottom:24px}
.hub-place .hub-text-button{margin-top:auto}
.hub-submit{padding:12px 12px 0;text-align:center}
.hub-submit h2{font-size:31px;margin-bottom:10px}
.hub-submit p{font-size:18px;line-height:1.7}
.hub-submit a{font-weight:700;color:var(--green);text-underline-offset:5px;overflow-wrap:anywhere}
.hub-dialog{position:fixed;inset:0;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;overflow-y:auto;overscroll-behavior:contain;padding:36px;background:var(--paper);color:var(--ink);border:2px solid var(--forest);border-radius:6px;box-shadow:0 24px 70px #0003;font-size:18px;line-height:1.7}
.hub-dialog::backdrop{background:#17241e99}
.hub-dialog .hub-kicker{padding-right:35px}
.hub-dialog h2{font-size:34px;margin:10px 22px 18px 0}
.hub-close{position:absolute;top:6px;right:6px;width:44px;height:44px;background:transparent;border:0;color:var(--forest);font-size:30px}
.hub-facts{display:grid;gap:16px;margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}
.hub-facts>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px}
.hub-facts dt{font-size:16px;font-weight:700;color:var(--forest)}
.hub-facts dd{margin:0}
.hub-notes{padding-left:22px;margin:0 0 24px}.hub-notes li+li{margin-top:10px}
.hub-source,.hub-footnote{font-size:16px;line-height:1.7;color:var(--muted);margin-top:22px!important}
.hub-address{padding:18px 0;border-block:1px solid var(--line);margin:22px 0!important}
.hub-empty{padding:24px 0;color:var(--muted)}
.hub-empty h3{font-size:24px}.hub-empty p{margin:8px 0 18px}
.hub-back{display:inline-block;font-size:17px;color:var(--forest);text-underline-offset:5px;margin-bottom:28px}
.hub-free-heading{display:block;max-width:800px}.hub-free-heading h1{margin-bottom:22px}.hub-free-heading>p:not(.hub-eyebrow){max-width:700px}.hub-free-note{font-size:17px!important;margin-top:12px!important}
.events-hub :focus-visible{outline:3px solid var(--pink);outline-offset:4px}
@media(max-width:1000px){.hub-heading{grid-template-columns:1.2fr 1fr;gap:12px 28px}.hub-heading>p:not(.hub-eyebrow){font-size:19px}.hub-jump-nav a{padding:15px 11px;font-size:16px}.hub-event{grid-template-columns:70px minmax(0,1fr);gap:14px 20px}.hub-date{width:70px;grid-row:1/3}.hub-event>.hub-text-button,.hub-event>.hub-session-actions{grid-column:2;justify-self:start}.hub-session-actions{max-width:none;align-items:flex-start;gap:8px}.hub-session-actions .hub-pending{text-align:left}.proposed-sessions .hub-event{grid-template-columns:64px minmax(0,1fr)}.section-heading{padding:24px}.section-body{padding:24px}.hosted-venue-top,.hosted-venue-body{padding:22px}}
@media(max-width:760px){.events-hub{width:calc(100% - 28px);padding-top:32px;padding-bottom:40px;font-size:17px}.hub-heading{display:block;padding:0 5px;margin-bottom:28px}.hub-heading h1{font-size:54px;margin:12px 0 20px}.hub-eyebrow{font-size:13px}.hub-heading>p:not(.hub-eyebrow){font-size:18px;max-width:440px}.hub-heading>p:not(.hub-eyebrow) br{display:none}.hub-jump-nav{flex-wrap:wrap;justify-content:flex-start;overflow:visible;margin-bottom:26px}.hub-jump-nav a{flex:1 1 33%;min-height:53px;font-size:15px;padding:12px 10px;border-bottom:1px solid #ffffff40}.hub-jump-nav a:nth-child(3){border-right:0}.hub-jump-nav a:nth-child(n+4){border-bottom:0}.events-section{margin-bottom:26px;scroll-margin-top:142px}.section-heading{display:block;padding:21px}.section-heading h2{font-size:33px}.section-eyebrow{font-size:14px}.section-tag{display:inline-block;margin-top:13px;font-size:14px;padding:5px 9px}.section-body{padding:21px}.section-intro{font-size:18px}.hosted-venues,.hub-places{grid-template-columns:1fr;gap:20px}.hosted-venue-top h3{font-size:26px}.event-fact{grid-template-columns:58px minmax(0,1fr);gap:10px}.event-fact p{font-size:17px}.hosted-time strong{font-size:21px}.hosted-cost-note{font-size:16px;padding:13px 15px}.section-small{font-size:15px}.hub-league{display:block;padding:25px}.hub-league .hub-button{margin-top:22px}.hub-league h3,.hub-league h2{font-size:32px}.hub-league .league-dates{font-size:19px}.hub-event{padding:18px;grid-template-columns:61px minmax(0,1fr);gap:10px 15px}.hub-date{width:61px}.hub-date>strong{font-size:32px}.hub-date>span{font-size:12px}.hub-recurring>strong{font-size:20px}.hub-event h3{font-size:21px}.hub-kicker{font-size:12px;line-height:1.5}.hub-event .hub-when{font-size:17px}.hub-event .hub-location{font-size:16px}.hub-text-button{font-size:15px;min-height:44px;padding:8px 12px}.hub-pending{font-size:15px}.proposed-sessions{padding:0 13px}.proposed-sessions summary{font-size:16px}.proposed-sessions summary>span{display:block;margin:3px 0 0 18px;font-size:14px}.proposed-sessions .hub-event{grid-template-columns:1fr;padding:15px}.proposed-sessions .hub-date{display:none}.proposed-sessions .hub-session-actions{grid-column:1}.section-subheading h3{font-size:22px}.section-subheading p{font-size:16px}.hub-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hub-filter{min-width:0}.hub-filter>span{font-size:15px}.hub-filter select{font-size:16px;width:100%;padding-right:20px;padding-left:9px}.hub-count{grid-column:1/-1;min-height:22px;margin:0;font-size:15px}.hub-place{padding:22px}.hub-place h3{font-size:24px}.hub-place>p:not(.hub-kicker):not(.hub-format){font-size:17px}.hub-dialog{padding:32px 23px;font-size:17px}.hub-dialog h2{font-size:30px}.hub-facts>div{grid-template-columns:72px minmax(0,1fr);gap:12px}.hub-facts dt{font-size:15px}.hub-submit h2{font-size:29px}.hub-submit p{font-size:16px}}
@media(max-width:380px){.section-heading,.section-body{padding:18px}.hosted-venue-top,.hosted-venue-body{padding:18px}.hosted-venue-top h3{font-size:24px}.hub-event{padding:14px;gap:10px 12px;grid-template-columns:53px minmax(0,1fr)}.hub-date{width:53px}.hosted-dates li{font-size:16px;padding:7px 9px}.hub-jump-nav a{font-size:14px}.hub-heading h1{font-size:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.events-hub *{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.hub-jump-nav,.hub-dialog,.hub-text-button,.review-banner{display:none!important}.events-hub{width:100%;padding:0;font-size:13pt}.hub-heading h1{font-size:40pt}.hub-heading{margin-bottom:25px}.events-section{overflow:visible;break-inside:auto}.section-heading{break-after:avoid}.hosted-venue,.hub-event,.hub-place,.hub-league{break-inside:avoid}.section-body{padding:20px}.hub-button{color:var(--forest);background:#fff}.hub-league{background:#e4ebdf;color:var(--forest)}.hub-league h2,.hub-league h3,.hub-league .hub-kicker{color:var(--forest)}.section-tournaments>.section-heading{background:var(--sage)}.section-tournaments .section-heading h2,.section-tournaments .section-eyebrow{color:var(--forest)}}
