:root{--champ-navy:#071a32;--champ-blue:#0f4f73;--champ-red:#be202e;--champ-gold:#d4aa43;--champ-cream:#f5f2ea;--champ-ink:#17202b;--champ-muted:#65707d}
*{box-sizing:border-box}.championship-site{background:#fff;color:var(--champ-ink)}.championship-header{z-index:50}.champ-nav-feature{background:var(--champ-red);color:#fff!important;padding:.65rem .9rem;border-radius:4px}.champ-hero{height:min(88vh,900px);min-height:650px;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--champ-navy)}.champ-hero video,.champ-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.champ-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,29,.94),rgba(3,14,29,.64) 55%,rgba(3,14,29,.32)),linear-gradient(0deg,rgba(3,14,29,.7),transparent 48%)}.champ-hero-copy{position:relative;z-index:2;width:min(1180px,90%);color:#fff;padding-top:5rem}.champ-kicker,.section-label{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.78rem}.champ-kicker{color:#dce8f2}.champ-hero h1{font-size:clamp(2.7rem,6vw,6.3rem);line-height:.94;margin:.7rem 0 1rem;max-width:1100px;text-transform:uppercase}.champ-date{font-size:clamp(1rem,2vw,1.45rem);font-weight:700}.champ-presented{font-size:1.15rem}.champ-presented strong{font-size:1.7rem;color:#fff}.champ-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.champ-button{display:inline-block;padding:.9rem 1.25rem;border-radius:4px;text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.champ-button.primary{background:var(--champ-red);color:#fff}.champ-button.outline{border:2px solid #fff;color:#fff}.champ-scroll{position:absolute;z-index:3;bottom:1.5rem;color:#fff;font-size:2rem;text-decoration:none}.matchbook-nav{position:sticky;top:0;z-index:40;display:flex;justify-content:center;gap:.2rem;overflow-x:auto;background:var(--champ-navy);box-shadow:0 5px 20px rgba(0,0,0,.18)}.matchbook-nav a{color:#fff;text-decoration:none;padding:1rem .9rem;white-space:nowrap;font-size:.82rem;text-transform:uppercase;font-weight:800}.matchbook-nav a:hover{background:var(--champ-red)}.matchbook-page{position:relative;padding:6rem max(5vw,1.25rem)}.matchbook-page.white{background:#fff}.matchbook-page.light{background:var(--champ-cream)}.matchbook-page.dark{background:var(--champ-navy);color:#fff}.page-number{position:absolute;top:2rem;right:5vw;font-size:4rem;font-weight:900;opacity:.08}.matchbook-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}.section-label{color:var(--champ-red);margin:0 0 .8rem}.matchbook-page h2,.photo-break h2,.registration h2,.closing-photo h2{font-size:clamp(2.1rem,4.5vw,4.5rem);line-height:1.02;margin:.3rem 0 1.4rem}.large-copy{font-size:1.28rem;line-height:1.65}.signature{margin-top:2rem}.tall-photo img,.wide-photo img{width:100%;display:block;object-fit:cover}.tall-photo img{min-height:620px}.page-heading{max-width:1000px;margin:0 auto 3rem;text-align:center}.page-heading p{max-width:760px;margin-left:auto;margin-right:auto}.narrow-heading{margin-bottom:2rem}.schedule-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.schedule-grid article{border:1px solid rgba(255,255,255,.2);padding:2rem;background:rgba(255,255,255,.05)}.schedule-grid span{color:#f8cad0;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.schedule-grid h3{font-size:1.6rem;margin:.3rem 0 1.6rem}.schedule-grid .time{font-size:1.35rem;font-weight:900;color:#fff;margin-bottom:.2rem}.info-card-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.info-card-grid article{border-top:5px solid var(--champ-red);background:#f7f7f6;padding:2rem}.info-card-grid strong{font-size:2.6rem;color:var(--champ-navy)}.orientation-grid{max-width:1200px;margin:3rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.orientation-grid article{border:1px solid #d9dde1;padding:1.5rem}.orientation-grid h3{color:var(--champ-blue)}.photo-break{height:72vh;min-height:520px;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center}.photo-break img,.closing-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-break:after,.closing-photo:after{content:"";position:absolute;inset:0;background:rgba(4,18,35,.48)}.photo-break div,.closing-photo div{position:relative;z-index:2;padding:2rem}.photo-break p{text-transform:uppercase;letter-spacing:.2em;font-weight:800}.stage-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stage-grid article{min-height:190px;background:#fff;padding:1.6rem;border-bottom:5px solid var(--champ-red);box-shadow:0 10px 30px rgba(10,25,45,.08)}.stage-grid span{font-size:2.4rem;font-weight:900;color:#d9dde3}.stage-grid h3{font-size:1.4rem;margin:.5rem 0}.centered{text-align:center}.note{color:var(--champ-muted);margin-top:2rem}.charity{min-height:650px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(5,23,44,.96),rgba(5,23,44,.78)),url('assets/championship-matchtracker-bay.jpg') center/cover;color:#fff}.charity-copy{max-width:760px;margin-left:8vw}.presenting-sponsor{max-width:900px;margin:0 auto 2rem;padding:2.5rem;text-align:center;background:var(--champ-navy);color:#fff}.presenting-sponsor span{display:block;text-transform:uppercase;letter-spacing:.18em}.presenting-sponsor strong{display:block;font-size:clamp(3rem,8vw,7rem);line-height:1}.sponsor-tiers{max-width:1000px;margin:0 auto 2rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sponsor-tiers article{padding:1.5rem;border:1px solid #d9dde1}.wide-photo{max-width:1100px;margin:2rem auto 0}.two-panel{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.two-panel article{padding:2rem;border:1px solid rgba(255,255,255,.22)}.local-grid article strong{font-size:1.6rem;text-transform:uppercase}.local-grid a{color:inherit}.champ-faq{max-width:900px;margin:auto}.champ-faq details{background:#fff;border:1px solid #d8dde2;margin-bottom:.8rem;padding:1.2rem}.champ-faq summary{font-weight:800;cursor:pointer}.registration{padding:6rem 5vw;background:var(--champ-red);color:#fff;text-align:center}.registration>div{max-width:850px;margin:auto}.disabled-link{opacity:.76;pointer-events:none}.closing-photo{height:60vh;min-height:460px;position:relative;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden}.closing-photo a{color:#fff;font-weight:800}.copyright{font-size:.85rem}.championship-site footer a{color:inherit}
@media(max-width:900px){.championship-header nav{max-height:calc(100vh - 70px);overflow:auto}.matchbook-grid,.schedule-grid,.info-card-grid,.orientation-grid,.sponsor-tiers,.two-panel{grid-template-columns:1fr 1fr}.stage-grid{grid-template-columns:1fr 1fr}.tall-photo img{min-height:430px}.champ-hero{min-height:620px}.champ-hero-copy{padding-top:4rem}}
@media(max-width:640px){.champ-hero h1{font-size:2.45rem}.champ-hero{height:82vh;min-height:590px}.matchbook-page{padding:4.5rem 1.15rem}.matchbook-grid,.schedule-grid,.info-card-grid,.orientation-grid,.sponsor-tiers,.two-panel,.stage-grid{grid-template-columns:1fr}.matchbook-grid{gap:2rem}.tall-photo img{min-height:300px}.matchbook-nav{justify-content:flex-start}.page-number{font-size:2.8rem}.charity-copy{margin:0}.champ-actions{display:grid}.champ-button{text-align:center}.photo-break{min-height:440px}.championship-header .brand img{max-width:145px}}

.championship-mark{width:min(270px,60vw);max-height:210px;object-fit:contain;margin:0 0 18px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}
.presenting-sponsor img{width:min(440px,90%);max-height:170px;object-fit:contain;background:#fff;padding:18px;margin:12px auto 0}
.tier-heading{text-align:center;text-transform:uppercase;color:#071a33;margin:45px 0 18px;letter-spacing:.08em}
.sponsor-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}
.sponsor-logo-grid.major{grid-template-columns:repeat(4,1fr)}
.sponsor-logo-grid img{height:145px;width:100%;object-fit:contain;background:#fff;border:1px solid #d9dee5;padding:18px;box-shadow:0 6px 18px rgba(0,0,0,.06)}
@media(max-width:800px){.sponsor-logo-grid,.sponsor-logo-grid.major{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.sponsor-logo-grid,.sponsor-logo-grid.major{grid-template-columns:1fr}.sponsor-logo-grid img{height:130px}}
