*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#0e0e10;color:#eee;line-height:1.5}
a{color:#ff5a36}header,main,footer{max-width:1100px;margin:auto;padding:16px}
header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.logo{font-weight:900;font-size:1.6rem;color:#fff;text-decoration:none}.logo span{color:#ff5a36}
nav a{margin-left:14px;color:#ccc;text-decoration:none}
.hero h1{font-size:clamp(1.6rem,4vw,2.6rem);margin:.2em 0}
.slot{border:2px dashed #444;border-radius:10px;padding:14px;margin:14px 0;color:#aaa}
.featured{border:2px solid #ff5a36;border-radius:10px;padding:14px;margin:14px 0;background:#1a1210}
.controls{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
input,select,button{padding:10px;border-radius:8px;border:1px solid #333;background:#18181b;color:#eee;font-size:1rem}
button{background:#ff5a36;border:0;color:#fff;font-weight:700;cursor:pointer}
.chips button{background:#222;margin:3px;font-weight:500}.chips button.on{background:#ff5a36}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.card{background:#18181b;border:1px solid #2a2a2e;border-radius:10px;padding:14px}
.card h3{margin:0 0 4px}.meta{font-size:.8rem;color:#999}.tag{display:inline-block;background:#26262b;border-radius:20px;padding:1px 8px;margin:2px;font-size:.75rem}
.news{background:#18181b;padding:16px;border-radius:10px;margin:24px 0}footer{color:#777;font-size:.85rem}
.gym .meta{margin:2px 0}#map{background:#222}
