:root{--bg:#0a0a0c;--panel:#141418;--line:#26262e;--txt:#f2f0ec;--dim:#9d9aa5;--acc:#ff5f2e;--acc2:#ff9d2e}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font:17px/1.65 'Lora',serif}
a{color:var(--acc);text-decoration:none}
a:hover{color:var(--acc2)}
h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.15}
h1{font-size:clamp(30px,6vw,56px)}
h2{font-size:clamp(24px,4vw,36px);margin-bottom:24px}
.script{font-family:'Yellowtail',cursive;color:var(--acc);font-size:clamp(22px,3vw,30px);margin-bottom:6px}
.top{display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;position:sticky;top:0;background:rgba(10,10,12,.88);backdrop-filter:blur(8px);z-index:10;border-bottom:1px solid var(--line)}
.logo{font-family:'Playfair Display',serif;font-weight:800;letter-spacing:2px;color:var(--txt);font-size:18px}
.logo span{color:var(--acc)}
.top nav a{color:var(--txt);margin-left:26px;font-size:15px;letter-spacing:.5px}
.top nav a:hover{color:var(--acc)}
.hero{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;filter:saturate(1.1)}
.hero-text{position:relative;padding:60px 20px}
.hero h1{text-shadow:0 4px 30px rgba(0,0,0,.8)}
.btn{display:inline-block;background:var(--acc);color:#fff;padding:13px 30px;border-radius:999px;font-family:'Lora',serif;font-weight:600;letter-spacing:.5px;margin:18px 8px 0;border:2px solid var(--acc)}
.btn:hover{background:var(--acc2);border-color:var(--acc2);color:#fff}
.btn.ghost{background:transparent;color:var(--txt)}
.btn.ghost:hover{border-color:var(--acc2);color:var(--acc2);background:transparent}
.wrap{max-width:1050px;margin:0 auto;padding:70px 5vw}
.narrow{max-width:640px}
.center{text-align:center}
.event{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:36px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px;margin-bottom:28px}
.event .flyer img{width:100%;border-radius:8px;display:block}
.event h3{font-size:28px;margin-bottom:6px}
.event .date{color:var(--acc2);font-weight:600;margin-bottom:6px}
.event .tagline{font-style:italic;color:var(--dim);margin-bottom:12px}
.event .kw{margin-top:14px;color:var(--dim)}
.djgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.djcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:26px 16px;text-align:center;color:var(--txt);font-family:'Playfair Display',serif;font-size:19px;transition:.15s}
.djcard:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-2px)}
.djpage .djphoto{max-width:min(520px,100%);border-radius:10px;margin:22px 0}
.about p{color:var(--dim);max-width:820px}
.promo{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px;margin-top:24px}
.promo label{display:block;color:var(--dim);font-size:13px;text-transform:uppercase;letter-spacing:1px;margin:16px 0 6px}
.promo input{width:100%;background:#0d0d10;border:1px solid var(--line);border-radius:8px;padding:13px 14px;color:var(--txt);font:inherit}
.promo input:focus{outline:none;border-color:var(--acc)}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.big{font-size:20px}
.small{font-size:13px}
.dim{color:var(--dim)}
footer{border-top:1px solid var(--line);text-align:center;padding:48px 5vw;color:var(--dim)}
footer p{margin:6px 0}
@media(max-width:760px){.event{grid-template-columns:1fr}.top nav a{margin-left:14px;font-size:13px}}
