:root{--color-background:#080808;--color-surface:#151515;--color-surface-light:#222;--color-primary:#d72626;--color-primary-dark:#9f1c1c;--color-text:#fff;--color-text-muted:#ddd;--color-link:#fff;--color-link-hover:#ffd6d6;--color-focus:#fc0;--font-body:Arial, Helvetica, sans-serif;--max-width:1100px}*{box-sizing:border-box}html{font-size:100%}body{font-family:var(--font-body);background:var(--color-background);color:var(--color-text);margin:0;line-height:1.6}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}a:focus,button:focus,input:focus,textarea:focus,select:focus{outline:3px solid var(--color-focus);outline-offset:3px}img{max-width:100%;height:auto}.skip-link{color:#fff;z-index:1000;background:#000;padding:.75rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{top:1rem;left:1rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}.button{background:var(--color-primary);color:#fff;border-radius:.4rem;padding:.85rem 1.2rem;font-weight:700;text-decoration:none;display:inline-block}.button:hover,.button:focus{background:var(--color-primary-dark);color:#fff}.site-header{color:#fff;background:#050505;border-bottom:4px solid #d72626}.header-inner{max-width:1100px;margin:0 auto;padding:1.5rem 1rem}.site-title{color:#fff;font-size:2.25rem;font-weight:700;text-decoration:none;display:inline-block}.site-tagline{color:#ddd;margin:.25rem 0 1rem}.main-nav ul{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.main-nav a{color:#fff;background:#d72626;border-radius:.35rem;padding:.65rem .85rem;font-weight:700;text-decoration:none;display:inline-block}.main-nav a:hover,.main-nav a:focus{background:#9f1c1c}.main-nav a[aria-current=page]{color:#111;background:#fff;box-shadow:inset 0 0 0 2px #d72626}.page-content{max-width:1100px;margin:0 auto;padding:2rem 1rem}.hero{background:#151515;border-left:6px solid #d72626;border-radius:.75rem;padding:2rem}.hero h1{margin-top:0}.hero p{font-size:1.15rem}.content-section{margin-top:2.5rem}.card-grid{gap:1rem;display:grid}.card{background:#151515;border:1px solid #333;border-radius:.75rem;padding:1.25rem}.card h3{margin-top:0}.button.secondary{background:#333}.button.secondary:hover,.button.secondary:focus{background:#000}.dj-card{background:#151515;border-radius:12px;grid-template-columns:180px 1fr;gap:2rem;margin-bottom:2rem;padding:2rem;display:grid}.dj-card img{object-fit:cover;border:4px solid #d72626;border-radius:50%;width:180px;height:180px}@media (width<=700px){.dj-card{text-align:center;grid-template-columns:1fr}.dj-card img{margin:auto}}.schedule-list{gap:1rem;display:grid}.schedule-card{background:#151515;border:1px solid #333;border-left:6px solid #d72626;border-radius:.75rem;padding:1.25rem}.schedule-card h3{margin-top:0}.weekly-schedule{gap:1.5rem;margin-top:2rem;display:grid}.schedule-day{background:#151515;border:1px solid #444;border-left:6px solid #d72626;border-radius:.75rem;padding:1.5rem}.schedule-day h2{margin-top:0}.schedule-events{margin:0 0 1rem;padding-left:1.5rem}.schedule-events li+li{margin-top:.65rem}.event-recurrence{color:var(--color-text-muted);font-size:.95rem;display:block}.schedule-note{border:2px solid var(--color-focus);background:#222;border-radius:.5rem;margin:1.25rem 0;padding:1rem}.schedule-note h3,.schedule-note p{margin-top:0}.schedule-note p:last-child{margin-bottom:0}.signup-form{background:#151515;border:1px solid #333;border-radius:.75rem;margin-top:2rem;padding:2rem}.form-field{margin-bottom:1.25rem}.form-field label{margin-bottom:.4rem;font-weight:700;display:block}.form-field input,.form-field textarea,.form-field select{border:2px solid #666;border-radius:.35rem;width:100%;padding:.75rem;font-size:1rem}.site-footer{background:#0b0b0b;border-top:6px solid #d72626;margin-top:5rem;padding:3rem 1rem 2rem;box-shadow:0 -8px 25px #00000073}.footer-inner{max-width:1100px;margin:0 auto}.footer-inner h2{margin-bottom:.5rem;font-size:2rem}.footer-inner p{color:#ddd;line-height:1.7}.footer-links{margin:2rem 0}.footer-links ul{flex-wrap:wrap;gap:1rem 2rem;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:#fff;font-weight:700;text-decoration:none}.footer-links a:hover,.footer-links a:focus{color:#ffb0b0}.footer-divider{background:#d72626;height:2px;margin:2rem 0}.footer-legal{text-align:center;color:#bbb;font-size:.95rem}.site-brand{color:#fff;align-items:center;gap:1rem;margin-bottom:1rem;text-decoration:none;display:flex}.site-logo{flex-shrink:0;width:110px;height:auto}.site-brand-text{flex-direction:column;display:flex}.site-title{font-size:2.25rem;font-weight:700;line-height:1.1}.site-tagline{color:#ddd;font-size:1rem}@media (width<=700px){.site-brand{align-items:flex-start}.site-logo{width:85px}.site-title{font-size:1.75rem}}.home-hero{grid-template-columns:1.4fr .8fr;align-items:center;gap:2rem;max-width:1100px;margin:3rem auto 0;padding:2rem 1rem;display:grid}.home-hero-content{background:#151515;border-left:6px solid #d72626;border-radius:.75rem;padding:2rem}.home-hero h1{margin-top:0;font-size:3rem}.hero-lead{font-size:1.35rem;font-weight:700}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.home-hero-logo{text-align:center}.home-hero-logo img{max-width:320px}@media (width<=800px){.home-hero{grid-template-columns:1fr}.home-hero h1{font-size:2.25rem}.home-hero-logo img{max-width:230px}}.membership-application-form fieldset{border:2px solid #555;border-radius:.5rem;margin:0 0 2rem;padding:1.5rem}.membership-application-form legend{padding:0 .5rem;font-size:1.25rem;font-weight:700}.required-text{font-weight:700}.field-help{color:var(--color-text-muted);margin:.4rem 0 0}.field-error{color:#ffb3b3;margin:.4rem 0 0;font-weight:700}.form-field [aria-invalid=true]{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b}.checkbox-field{grid-template-columns:auto 1fr;align-items:start;gap:.5rem .75rem;margin-bottom:1.25rem;display:grid}.checkbox-field input{width:1.25rem;height:1.25rem;margin-top:.25rem}.checkbox-field label{font-weight:700}.checkbox-field .field-error{grid-column:2}.error-summary{background:#2a1010;border:3px solid #ff6b6b;border-radius:.5rem;margin-bottom:2rem;padding:1.25rem}.error-summary h3{margin-top:0}.error-summary a{font-weight:700}.form-status{background:#102a15;border:3px solid #7edc8b;border-radius:.5rem;margin-bottom:2rem;padding:1.25rem}.honeypot-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.membership-application-form button[disabled]{cursor:wait;opacity:.7}.policy-meta{color:var(--color-text-muted);font-weight:700}.policy-page li+li{margin-top:.75rem}
