
:root{
  --bg:#0b0e14;
  --panel:#10141f;
  --muted:#9aa3b2;
  --text:#e8ecf3;
  --brand:#ff2d55;
  --brand2:#ff8a00;
  --ring: rgba(255,45,85,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#0b0e14,#0a0c12);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
.nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(8px);background:rgba(11,14,20,.7);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:12px 18px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.3px}
.logo{width:38px;height:38px;border-radius:50%;border:2px solid transparent;background: conic-gradient(from 0deg,var(--brand), #fd1d1d, #fcb045) border-box; padding:2px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);transition:.2s ease;cursor:pointer}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:transparent;font-weight:700}
.btn.primary:hover{filter:brightness(1.05);transform:translateY(-1px)}
.btn.large{font-size:1.05rem;padding:14px 22px;border-radius:14px}
.btn.outline{background:transparent}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding:48px 20px 24px;max-width:1100px;margin:0 auto}
.hero-content h1{font-family:Oswald,Inter,sans-serif;font-size:clamp(34px,6vw,64px);margin:0 0 12px;line-height:1.05}
.hero-content .thin{font-weight:400;opacity:.8}
.hero-content .strong{font-weight:700;letter-spacing:.5px}
.sub{opacity:.85;margin:0 0 16px}
.highlights{display:grid;gap:8px;padding:0;margin:18px 0 0;list-style:none}
.highlights li{background:rgba(255,255,255,.04);padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.06)}
.hero-art{position:relative}
.hero-art img{width:100%;height:auto;border-radius:16px;display:block;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.hero-art .glow{position:absolute;inset:-10%;filter:blur(60px);background:radial-gradient(60% 60% at 50% 40%,rgba(255,45,85,.25),transparent 60%), radial-gradient(60% 60% at 60% 70%,rgba(255,138,0,.2),transparent 60%)}
.info{max-width:1100px;margin:8px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:18px;box-shadow:0 6px 30px rgba(0,0,0,.2)}
.card h2{font-size:44px;margin:0 0 6px}
.card h2 span{font-size:18px;color:var(--muted);font-weight:400}
.card h3{margin:0 0 6px}
.card p{margin:0;color:var(--muted)}
.gallery{max-width:1100px;margin:24px auto 60px;padding:0 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.grid img{width:100%;height:220px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.06)}
.footer{border-top:1px solid rgba(255,255,255,.06);padding:16px 20px;text-align:center;color:var(--muted)}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:18px}
  .info{grid-template-columns:1fr}
  .nav .brand span{display:none}
}

.genres{max-width:1100px;margin:12px auto 8px;padding:0 20px}
.genres .wrap{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:22px}
.genres h2{margin:0 0 8px;font-family:Oswald,Inter,sans-serif}
.cities{max-width:1100px;margin:12px auto 0;padding:0 20px}
.cities .wrap{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:16px}
.city-cloud{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:10px 0 0}
.city-cloud li{padding:6px 10px;border-radius:999px;border:1px dashed rgba(255,255,255,.12);opacity:.9}
.muted{color:var(--muted)} .small{font-size:.9rem}

.cities-focus{max-width:1100px;margin:16px auto 8px;padding:0 20px}
.pill-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.pill-nav a{padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px}
.city-card{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:18px;margin:10px 0}
.city-card h2{margin:0 0 6px;font-family:Oswald,Inter,sans-serif}

.tx-welcome{max-width:1100px;margin:10px auto 8px;padding:0 20px}
.tx-welcome .wrap{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:18px}
