:root{--white: #ffffff;--ink: #111111;--black: #000000;--teal: #00857D;--teal-dark: #006E67;--gray-light: #CED8D8}*{box-sizing:border-box}body{margin:0;background:var(--white);color:var(--ink);font-family:Helvetica Neue,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.15;color:var(--black)}a{color:var(--teal-dark)}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:0;background:var(--black);color:var(--white);padding:.5rem 1rem;z-index:10}.skip-link:focus{left:0}.site-header{background:var(--black);color:var(--white);padding:.75rem 1rem}.brand{color:var(--white);text-decoration:none;font-weight:800;letter-spacing:.08em;font-size:1.05rem;display:inline-flex;align-items:center;gap:.7rem}.brand img{height:36px;width:auto}.site-nav ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}.site-nav a{color:var(--white);text-decoration:none;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em}.site-nav a:hover{color:var(--teal);text-decoration:underline}.site-nav a[aria-current=page]{border-bottom:3px solid var(--teal)}.banner{background:var(--teal-dark);color:var(--white);padding:.5rem 1rem;font-weight:600}main{max-width:60rem;margin:0 auto;padding:1rem}.hero{background:linear-gradient(135deg,var(--black) 55%,var(--teal-dark));color:var(--white);border-radius:12px;padding:2.5rem 1.25rem;margin:.5rem 0 1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2rem}.hero-copy{flex:1 1 22rem}.hero-mark{width:clamp(110px,16vw,150px);height:auto}.hero h1{color:var(--white);margin:0 0 .5rem;font-size:clamp(1.7rem,6vw,2.6rem);letter-spacing:.03em}.hero p{margin:0 0 1.25rem;font-size:1.1rem}.btn{display:inline-block;background:var(--teal-dark);color:var(--white);text-decoration:none;font-weight:700;padding:.55rem 1rem;border-radius:8px}.btn:hover{background:var(--teal)}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.flyer-embed{width:100%;aspect-ratio:8.5 / 11;max-height:75vh;border:1px solid var(--gray-light);border-radius:10px;margin:1rem 0 0}.card{border:1px solid var(--gray-light);border-radius:10px;padding:1rem;background:var(--white)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;padding:0;margin:1rem 0;list-style:none}.card h2,.card h3{margin-top:0}.event{border:1px solid var(--gray-light);border-left:5px solid var(--teal);border-radius:10px;padding:.85rem 1rem;margin:.75rem 0}.event h3{margin:.15rem 0 .35rem}.event .event-date{font-weight:700;color:var(--teal-dark)}.event p{margin:.25rem 0}.event.past{border-left-color:#99a4a3;opacity:.62}.event.cancelled .event-title{text-decoration:line-through}.event .cancel-label{color:var(--black);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.badge{display:inline-block;background:var(--teal-dark);color:var(--white);border-radius:999px;font-size:.78rem;font-weight:700;padding:.1rem .6rem;margin-right:.35rem;text-transform:uppercase;letter-spacing:.04em}.badge.plain{background:var(--black)}.roster-table{width:100%;border-collapse:collapse;margin:.75rem 0 1.5rem}.roster-table th,.roster-table td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--gray-light)}.roster-table th{background:var(--black);color:var(--white)}.roster-table .badge{margin-left:.45rem}.coach-card{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;border:1px solid var(--gray-light);border-radius:10px;padding:1rem;margin:.75rem 0}.coach-card img{border-radius:8px}.coach-card h2{margin:0}.coach-card .role{color:var(--teal-dark);font-weight:700;margin:.1rem 0 .5rem}.sponsor-wall{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;list-style:none;padding:0}.sponsor-logo img{display:block}.site-footer{background:var(--black);color:var(--white);margin-top:2.5rem;padding:1.5rem 1rem}.footer-paw{height:44px;width:auto}.site-footer a{color:var(--white)}.site-footer p{margin:.3rem 0;max-width:60rem;margin-inline:auto}.muted{color:#555}
