:root{--color-bg:#ffffff;--color-text:#1a1a1a;--color-muted:#555555;--color-accent:#1a56db;--color-accent-contrast:#ffffff;--color-border:#e0e0e0;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-base:1rem;--line-height-base:1.6;--space-2:0.5rem;--space-3:1rem;--space-4:2rem;--space-5:4rem;--max-width:42rem;--radius:6px}*,*::before,*::after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-base)}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-3)}.skip-link{position:absolute;left:-999px}.skip-link:focus{position:static;display:inline-block;padding:var(--space-2)}.site-header{border-bottom:1px solid var(--color-border);padding:var(--space-3)0}.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.brand{font-weight:700;text-decoration:none;color:var(--color-text)}.site-nav ul{display:flex;gap:var(--space-3);list-style:none;margin:0;padding:0}.site-nav a{color:var(--color-text);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline}main{padding:var(--space-4)var(--space-3)var(--space-5)}.prose h1{line-height:1.2}.prose a{color:var(--color-accent)}.btn{display:inline-block;background:var(--color-accent);color:var(--color-accent-contrast);padding:var(--space-2)var(--space-3);border-radius:var(--radius);text-decoration:none}.cities-directory .city-list,.page-list ul{list-style:none;margin:0;padding:0}.cities-directory .city-list li,.page-list li{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-2)}.cities-directory .city-list a,.page-list a{display:block;padding:var(--space-3);color:var(--color-text);text-decoration:none}.cities-directory .city-list a:hover,.page-list a:hover{border-color:var(--color-accent);color:var(--color-accent)}.funnel-stages{list-style:none;margin:var(--space-3)0;padding:0;counter-reset:funnel-stage}.funnel-stage{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-2);counter-increment:funnel-stage}.funnel-stage h4{margin:0 0 var(--space-2)}.funnel-stage h4::before{content:"Stage " counter(funnel-stage)": ";color:var(--color-accent)}.funnel-stage p{margin:0;color:var(--color-muted)}.funnel-loops{border-left:4px solid var(--color-accent);padding-left:var(--space-3);color:var(--color-muted)}.team-roles,.pricing-tiers,.admin-channels{list-style:none;padding:0}.admin-channel{margin-bottom:var(--space-2)}.team-role{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2)var(--space-3);margin-bottom:var(--space-2)}.team-role h3{margin:0 0 var(--space-2)}.team-role p{color:var(--color-muted);margin:0}.dance-filter-controls{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2)var(--space-3);margin:var(--space-3)0}.dance-filter-controls legend{padding:0 var(--space-2);color:var(--color-muted)}.dance-filter-controls label{margin-right:var(--space-3)}.table-wrap{overflow-x:auto}.team-roster,.school-list{width:100%;border-collapse:collapse}.team-roster th,.team-roster td,.school-list th,.school-list td{text-align:left;padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--color-border)}.roster-dances,.roster-experience,.roster-skills,.roster-notes,.school-dances{color:var(--color-muted)}.pricing-tier{border-left:3px solid var(--color-accent);padding-left:var(--space-3);margin-bottom:var(--space-2)}.pricing-tier h3{margin:0}.pricing-tier p{color:var(--color-muted);margin:var(--space-2)0 0}.pricing-savings{color:var(--color-muted)}.join-cta{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius)}.site-footer{border-top:1px solid var(--color-border);padding:var(--space-4)0;color:var(--color-muted)}.site-footer a{color:var(--color-muted)}.footer-nav{margin:var(--space-2)0}.footer-nav a{margin-right:var(--space-3)}.colophon{margin-bottom:0;font-size:.875rem}