/* Pacific Northwest Zone treatment inspired by the USA Water Polo red, white, and navy identity. */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:#0c2540; background:#fff; line-height:1.55; }
a { color:inherit; }
.shell { width:min(1140px,calc(100% - 40px)); margin:0 auto; }
.topbar { color:#d9e9f7; font-size:.84rem; padding:9px 0; }
.topbar .shell { display:flex; justify-content:space-between; gap:18px; }
.topbar a { color:#fff; font-weight:800; }
.nav { background:#fff; border-bottom:1px solid #dfe8f2; position:sticky; top:0; z-index:10; }
.nav .shell { min-height:75px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-weight:950; text-decoration:none; letter-spacing:-.04em; font-size:1.05rem; line-height:.9; }
.brand small { display:block; font-size:.69rem; letter-spacing:.16em; margin-top:6px; }
.navlinks { display:flex; flex-wrap:wrap; gap:22px; font-weight:800; font-size:.94rem; }
.navlinks a { text-decoration:none; }
.navlinks a:hover { color:#d71920; }
.button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border-radius:7px; padding:11px 17px; font-weight:850; border:1px solid transparent; }
.hero { color:#fff; min-height:485px; display:flex; align-items:center; }
.hero-inner { padding:82px 0; max-width:1140px; }
.hero h1 { max-width:620px; font-size:clamp(3.7rem,8vw,6.6rem); line-height:.9; letter-spacing:-.07em; margin:10px 0 20px; }
.hero p { max-width:600px; font-size:1.13rem; color:#e7f1fa; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.button.alt { background:transparent; color:#fff; }
.section { padding:74px 0; }
h1,h2,h3 { line-height:1.05; }
h2 { font-size:clamp(2.05rem,4vw,3.4rem); letter-spacing:-.055em; margin:8px 0 12px; }
h3 { margin:0; font-size:1.28rem; letter-spacing:-.025em; }
.eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:.75rem; font-weight:900; }
.lead { color:#526b81; max-width:690px; font-size:1.08rem; margin:0 0 28px; }
.cards { display:grid; gap:18px; }
.card { border:1px solid #dbe7f1; border-radius:15px; padding:23px; background:#fff; box-shadow:0 4px 14px rgba(0,47,98,.05); }
.card p { color:#526b81; margin:11px 0 0; }
.tag { color:#d71920; font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; margin-bottom:13px; }
.event-list { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.event { border:1px solid #dbe7f1; border-radius:15px; overflow:hidden; background:#fff; padding:0 20px 20px; }
.event .date { color:#fff; margin:0 -20px 18px; padding:9px 20px; font-size:.78rem; font-weight:900; letter-spacing:.09em; }
.event p { color:#526b81; font-size:.92rem; margin:12px 0 0; }
.event .year { display:inline-block; color:#526b81; margin-top:12px; font-weight:800; font-size:.82rem; }
.event-detail-link { display:inline-block; margin-top:14px; color:var(--navy); font-size:.78rem; font-weight:900; text-decoration-thickness:2px; }
.footer { color:#d6e4ee; padding:43px 0; }
.footer .shell { display:flex; justify-content:space-between; gap:36px; align-items:center; }
.footer p { max-width:500px; }
:root { --navy:#002f62; --deep:#001d3d; --aqua:#00a5b5; --gold:#d71920; --mist:#eef4fa; --ink:#0c2540; }
.topbar { background:#001d3d; }
.brand { color:#002f62; }
.hero { background:linear-gradient(90deg,rgba(0,29,61,.95) 0%,rgba(0,47,98,.78) 48%,rgba(0,29,61,.16) 100%),url('hero-waterpolo.png') center/cover; }
.eyebrow { color:#d71920; }
.button { background:#d71920; color:#fff; }
.button.alt { border-color:#fff; }
.quick { background:#d71920; color:#fff; }
.quick a { border-color:rgba(255,255,255,.34); }
.panel { background:#002f62; }
.status { color:#002f62; background:#e7f0fa; }
.date { background:#002f62; }
.directory a { background:linear-gradient(135deg,#002f62,#0b5b93); }
.directory a:nth-child(2n) { background:linear-gradient(135deg,#074b84,#002f62); }
.cta { background:#d71920; color:#fff; }
.cta h2 { color:#fff; }
.cta .eyebrow { color:#fff; }
.cta .button { background:#fff; color:#002f62; }
.footer { background:#001d3d; }
.clinics { background:linear-gradient(135deg,#002f62 0%,#084f83 100%); color:#fff; }
.clinics h2 { color:#fff; }
.clinics .lead { color:#d7e8f6; }
.clinics .card { border-color:rgba(255,255,255,.22); box-shadow:none; }
.clinics .card h3 { color:#002f62; }
.usawp-lockup { display:flex; flex-direction:column; gap:11px; align-items:flex-start; }
.usawp-lockup img { display:block; width:156px; max-height:50px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }
.host-logo { display:inline-flex; align-items:center; margin-top:10px; padding:3px 8px; background:#050505; border-radius:6px; }
.host-logo img { display:block; width:80px; height:25px; object-fit:contain; }
.club-directory { background:#f7faff; }
.club-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.club-state-list { display:grid; gap:48px; }
.club-state h2 { margin:0 0 18px; color:var(--navy); font-size:clamp(2rem,4vw,3rem); }
.club-card { background:#fff; border:1px solid #dbeaec; border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:17px; }
.club-card p { margin:0; color:var(--muted); }
.club-card a { color:var(--navy); font-weight:800; text-decoration-thickness:2px; }
.club-pending { background:#f0f4f8; border-style:dashed; }
.club-pending span { color:var(--muted); font-weight:750; font-size:.9rem; }
.featured-club { background:#060606; border-color:#060606; color:#fff; flex-direction:row; align-items:center; }
.featured-club p { color:#d4e7f4; }
.featured-club a { color:#fff; }
.club-logo-link { width:126px; flex:0 0 126px; padding:7px; background:#000; border-radius:8px; }
.club-logo-link img { display:block; width:100%; height:76px; object-fit:contain; }
.directory-note { margin:22px 0 0; color:var(--muted); }
.directory-note a { color:var(--navy); font-weight:800; }
.schedule-source { margin:12px 0 0; color:var(--muted); font-size:.82rem; }
.page-title { font-size:clamp(2.8rem,6vw,4.5rem); margin:12px 0 8px; color:var(--navy); }
.page-grid { grid-template-columns:repeat(3,1fr); }
.page-card { text-decoration:none; color:var(--ink); transition:transform .15s ease,box-shadow .15s ease; }
.page-card:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,47,98,.14); }
@media (max-width:800px) { .club-grid { grid-template-columns:1fr; } .featured-club { flex-direction:column; align-items:flex-start; } }

/* Zone HQ: a sharper, pool-deck editorial treatment. */
:root { --lime:#c7ea46; }
.hero { position:relative; overflow:hidden; background:linear-gradient(100deg,rgba(0,18,51,.98) 0%,rgba(0,42,91,.88) 48%,rgba(0,45,91,.25) 100%),url('hero-waterpolo.png') center/cover; }
.hero::after { content:""; position:absolute; right:-90px; bottom:-175px; width:580px; height:580px; border:46px solid rgba(199,234,70,.72); border-radius:50%; box-shadow:0 0 0 18px rgba(255,255,255,.10); }
.hero h1 { max-width:650px; font-size:clamp(4.1rem,8.5vw,7.3rem); line-height:.82; letter-spacing:-.085em; margin:11px 0 23px; position:relative; z-index:1; }
.hero h1 em { color:var(--lime); font-style:normal; }
.hero-kicker { color:#fff!important; text-transform:uppercase; font-size:.79rem!important; font-weight:900; letter-spacing:.12em; margin:14px 0 0!important; }
.hero-statline { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:44px; color:#dce8ef; font-size:.73rem; font-weight:900; letter-spacing:.13em; }
.hero-statline b { color:var(--lime); }
.section { padding:86px 0; }
.card { border-color:#d7e2ed; border-radius:4px 18px 4px 18px; padding:25px; box-shadow:0 5px 18px rgba(0,47,98,.06); }
.event-list { gap:17px; }
.event { border-color:#d5e0eb; border-radius:4px 17px 4px 17px; padding:0 20px 21px; box-shadow:0 6px 15px rgba(0,47,98,.05); }
.page-card { transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; min-height:205px; display:flex; flex-direction:column; }
.page-card:hover { transform:translateY(-5px); box-shadow:0 17px 30px rgba(0,47,98,.16); border-color:#9cc2da; }
.page-card:nth-child(3n+2) { background:#f3f8fc; }
.page-card:nth-child(3n) { background:linear-gradient(145deg,#edf6fb,#fff); }
.card-link { margin-top:auto; padding-top:21px; color:var(--navy); font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; font-weight:950; }
.card-link::after { content:" /"; color:var(--gold); }
.update-card { background:var(--navy)!important; color:#fff; border-color:var(--navy); }
.update-card p { color:#d6e7f3; }
.update-card .tag,.update-card .card-link { color:var(--lime); }
.launchpad { background:linear-gradient(135deg,#f5f9fc 0%,#fff 66%,#e9f4fa 100%); }
.interior .section,body:not(.home) .section { min-height:calc(100vh - 120px); background:linear-gradient(135deg,#f5f9fc 0%,#fff 68%,#e8f4f8 100%); }
.interior .page-title,body:not(.home) .page-title { font-size:clamp(3.2rem,7vw,5.6rem); letter-spacing:-.075em; line-height:.87; max-width:760px; }
.interior .lead,body:not(.home) .lead { font-size:1.12rem; }
body:not(.home) .section > .shell > .eyebrow { display:inline-block; padding:7px 11px; background:var(--gold); color:#fff; border-radius:2px; }
@media (max-width:900px) { .event-list,.page-grid { grid-template-columns:repeat(2,1fr); } .nav .shell { gap:15px; } .navlinks { gap:13px; } }
@media (max-width:650px) { .nav .shell { min-height:auto; padding:16px 0; align-items:flex-start; flex-wrap:wrap; } .navlinks { width:100%; order:3; font-size:.86rem; } .nav .button { display:none; } .topbar .shell { font-size:.74rem; } .hero::after { width:310px; height:310px; border-width:27px; right:-130px; bottom:-100px; } .hero-inner { padding:70px 0; } .event-list,.page-grid { grid-template-columns:1fr; } .footer .shell { flex-direction:column; align-items:flex-start; } }

/* Keep the hero focused on the game and the information visitors need. */
.hero::after { display:none; }
.hero h1 em { color:#fff; }
.hero-kicker,.hero-statline { display:none; }
.home .hero h1 + p { font-size:0; max-width:560px; }
.home .hero h1 + p::after { content:"Tournament dates, club connections, and pool details—kept clear and easy to find."; color:#e7f1fa; font-size:1.13rem; line-height:1.55; }
.form-shell { max-width:900px; }
.host-form { display:grid; gap:23px; margin-top:34px; }
.host-form fieldset { border:1px solid #cfddea; border-radius:4px 16px 4px 16px; padding:24px; display:grid; grid-template-columns:repeat(2,1fr); gap:17px; background:#fff; }
.host-form legend { padding:0 8px; color:var(--navy); font-size:1.08rem; font-weight:900; }
.host-form label { display:grid; gap:6px; color:#183b5b; font-size:.87rem; font-weight:800; }
.host-form input,.host-form textarea { width:100%; border:1px solid #b8cad8; border-radius:5px; padding:10px 11px; color:var(--ink); font:inherit; font-weight:500; background:#fff; }
.host-form textarea { min-height:84px; resize:vertical; }
.host-form label:has(textarea) { grid-column:1 / -1; }
.form-note { margin:0; color:#526b81; font-size:.9rem; }
.facility-standard { display:flex; justify-content:space-between; gap:40px; margin:44px 0 0; padding:32px; background:var(--navy); color:#fff; border-radius:4px 22px 4px 22px; }
.facility-standard .eyebrow { color:#fff; }
.facility-standard h2 { margin-bottom:0; color:#fff; }
.facility-standard ul { margin:0; columns:2; column-gap:42px; color:#e3eff8; }
.facility-standard li { margin:6px 0; }
@media (max-width:650px) { .host-form fieldset { grid-template-columns:1fr; } .facility-standard { display:block; } .facility-standard ul { margin-top:22px; columns:1; } }
