:root{
  --ink:#17131f;--muted:#6e6877;--paper:#fffaf4;--hot:#ff5b45;
  --yellow:#ffd84d;--purple:#7b61ff;--green:#20b875;--line:#eadfd4;
}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper);color:var(--ink)}
.navbar{background:rgba(255,250,244,.95)!important;border-bottom:1px solid var(--line)}
.brand{font-weight:900;letter-spacing:-1.3px}.brand span{color:var(--hot)}
.btn-dark{background:var(--ink);border-color:var(--ink)}.btn-hot{background:var(--hot);border-color:var(--hot);color:white;font-weight:800}
.hero{padding:5rem 0 3.5rem;background:radial-gradient(circle at 80% 10%,#ffe38b 0,transparent 28%),radial-gradient(circle at 10% 40%,#ffd8d1 0,transparent 27%)}
.hero h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.9;letter-spacing:-5px;font-weight:900}.hero h1 span{color:var(--hot)}
.hero p{font-size:1.15rem;color:var(--muted);max-width:700px}
.search-panel{background:white;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 18px 45px #39220f12}
.section-title{font-weight:900;letter-spacing:-1.8px}.text-muted2{color:var(--muted)}
.event-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;height:100%;transition:.2s}.event-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #29170d12}
.event-cover{height:180px;display:flex;align-items:center;justify-content:center;font-size:3.3rem;background:linear-gradient(135deg,#ffd84d,#ff9d4d)}
.event-cover.food{background:linear-gradient(135deg,#ffd84d,#ff9d4d)}.event-cover.shopping{background:linear-gradient(135deg,#b6a8ff,#7b61ff)}
.event-cover.fitness{background:linear-gradient(135deg,#a9f1ce,#41c98c)}.event-cover.art{background:linear-gradient(135deg,#ffb4aa,#ff5b45)}
.event-cover.market{background:linear-gradient(135deg,#9ad9ff,#568cff)}.event-cover.workshop,.event-cover.experience{background:linear-gradient(135deg,#ffd1ef,#ee75b8)}
.badge-hot{background:var(--yellow);color:var(--ink)}.meta{font-size:.78rem;color:var(--hot);font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.list-panel{background:var(--ink);color:white;border-radius:28px;padding:2rem}.list-panel .form-control,.list-panel .form-select{border-radius:10px}
footer{border-top:1px solid var(--line);color:var(--muted)}

img{max-width:100%}
@media(max-width:576px){
 .hero{padding:3.4rem 0 2.5rem}
 .hero h1{letter-spacing:-3px}
 .search-panel{border-radius:14px}
 .event-card{border-radius:16px}
 .list-panel{padding:1.25rem;border-radius:20px}
 .navbar .btn{font-size:.85rem;padding:.55rem .8rem}
 h2.section-title{font-size:1.8rem}
}
