:root{--white: #FFFFFF;--paper: #F4F7F1;--green: #1F5A3C;--grass: #2E7D57;--trim: #3A8D5B;--deep: #0F3B25;--ink: #0F2C1E;--mute: #5C6F5E;--ball: #D7DD5A;--line: rgba(15,44,30,.12);--busy: #B8802E;--full: #B0382E}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter Tight,-apple-system,system-ui,sans-serif}a{color:var(--green)}.wrap{max-width:1280px;margin:0 auto;padding:0 40px}nav{display:flex;align-items:center;justify-content:space-between;padding:22px 40px;max-width:1280px;margin:0 auto}.wordmark{font-family:"DM Serif Display",serif;font-style:italic;font-size:28px;letter-spacing:-.5px;display:inline-flex;align-items:baseline;gap:3px;text-decoration:none}.wordmark .wm-pre{color:var(--ink)}.wordmark .wm-post{color:var(--green);text-shadow:2px 2px 0 var(--ball)}.wordmark .dot{width:8px;height:8px;background:var(--ball);border-radius:50%;display:inline-block;transform:translateY(-8px);margin-left:2px}nav .right{display:flex;align-items:center;gap:22px}nav a.navlink{font-family:Antonio,sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);text-decoration:none}nav a.navlink:hover{color:var(--green)}nav .cta{padding:10px 18px;background:var(--green);color:var(--white);border:2px solid var(--green);font-family:Antonio,sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px 0 var(--deep);transition:transform 80ms,box-shadow 80ms;text-decoration:none}nav .cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--deep)}.crumbs{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.8px;color:var(--mute);text-transform:uppercase;padding:18px 0 0}.crumbs a{color:var(--mute);text-decoration:none}.crumbs a:hover{color:var(--green)}.crumbs .sep{margin:0 6px;opacity:.5}.hero{padding:16px 0 32px;display:grid;grid-template-columns:1fr;gap:18px}.hero .kicker{font-family:Antonio,sans-serif;font-weight:700;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--grass)}.hero h1{font-family:Antonio,sans-serif;font-weight:700;font-size:clamp(48px,7vw,88px);letter-spacing:-1.4px;text-transform:uppercase;margin:4px 0 0;line-height:.9}.hero h1 em{font-family:"DM Serif Display",serif;font-style:italic;font-weight:400;color:var(--grass);text-transform:none;letter-spacing:-.5px;display:block;font-size:.85em}.hero .lede{font-family:"DM Serif Display",serif;font-size:clamp(20px,2.4vw,28px);line-height:1.4;color:var(--ink);max-width:720px;margin:8px 0 0}.hero .lede strong{color:var(--green);font-weight:400}.filter-strip{margin:32px 0 0;display:flex;gap:0;flex-wrap:wrap;border:2px solid var(--ink);background:var(--white);box-shadow:5px 5px 0 var(--deep)}.filter-strip a{flex:1 1 auto;min-width:140px;padding:14px 18px;text-decoration:none;color:var(--ink);font-family:Antonio,sans-serif;font-weight:700;font-size:13px;letter-spacing:1.8px;text-transform:uppercase;border-right:1px solid var(--line);transition:background 80ms,color 80ms;text-align:center}.filter-strip a:last-child{border-right:0}.filter-strip a:hover{background:var(--paper)}.filter-strip a.active{background:var(--ink);color:var(--white)}.filter-strip a small{display:block;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:400;letter-spacing:.3px;color:var(--mute);margin-top:3px;text-transform:none}.filter-strip a.active small{color:#fff9}.sec-head{margin:56px 0 18px;display:flex;align-items:baseline;gap:14px}.sec-head .num{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--mute);letter-spacing:1px}.sec-head h2{font-family:Antonio,sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,40px);text-transform:uppercase;letter-spacing:-.8px;margin:0;line-height:1}.sec-head h2 em{font-family:"DM Serif Display",serif;font-style:italic;font-weight:400;color:var(--grass);text-transform:none}.courts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.court-card{background:var(--white);border:1.5px solid var(--ink);padding:16px 18px;text-decoration:none;color:var(--ink);display:block;transition:transform 80ms,box-shadow 80ms}.court-card:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--green)}.court-card .nm{font-family:"DM Serif Display",serif;font-size:19px;letter-spacing:-.2px;line-height:1.2}.court-card .meta{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--mute);margin-top:8px}.court-card .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.court-card .chip{display:inline-block;padding:3px 7px;border:1.2px solid var(--mute);font-family:Antonio,sans-serif;font-weight:700;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--mute)}.court-card .chip.access-club{border-color:var(--full);color:var(--full)}.court-card .chip.access-permit,.court-card .chip.access-fee{border-color:var(--busy);color:var(--busy)}.court-card .chip.access-public{border-color:var(--grass);color:var(--grass)}.court-card .chip.marquee{background:var(--ink);color:var(--ball);border-color:var(--ink);letter-spacing:1.6px}.court-card.is-marquee{box-shadow:4px 4px 0 var(--ball)}.court-card.is-marquee:hover{box-shadow:5px 5px 0 var(--ink)}.see-all{margin:22px 0 0;font-family:Antonio,sans-serif;font-weight:700;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--green);text-decoration:none;border-bottom:1.5px solid var(--green);padding-bottom:2px}.about{background:var(--white);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--deep);padding:24px 26px;margin:56px 0 80px}.about p{font-family:"DM Serif Display",serif;font-size:17px;line-height:1.55;color:var(--ink);margin:0 0 14px}.about p:last-child{margin-bottom:0}.about .ot{font-family:Antonio,sans-serif;font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--grass);margin-bottom:6px;display:block}.empty{background:var(--white);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--deep);padding:40px 32px;text-align:center;margin:24px 0}.empty .h{font-family:"DM Serif Display",serif;font-size:28px;color:var(--ink);margin:0 0 8px}.empty .sub{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--mute);letter-spacing:.4px}@media(max-width:900px){.wrap{padding:0 20px}nav{padding:16px 20px}nav .right a.navlink{display:none}.wordmark{font-size:24px}}
