
:root{
  --bg: #0a0a0a;
  --bg-alt: #0f0f0f;
  --text: #ececec;
  --muted: #9a9a9a;
  --line: #202020;
  --accent: #00e5ff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
.container{width:min(1100px,92%);margin-inline:auto}

.site-header{position:sticky;top:0;background:rgba(10,10,10,.55);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:50}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{font-family:'Bebas Neue',system-ui,sans-serif;letter-spacing:.08em;font-size:1.2rem}
.site-header nav a{margin-left:20px;opacity:.9;position:relative}
.site-header nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--accent);transition:width .2s ease}
.site-header nav a:hover::after{width:100%}

.hero{
  position:relative;
  min-height:120vh;
  display:grid;
  place-items:center;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  background-image:url('../img/artist.jpg');
  background-size:cover;
  background-position:50% 12%;
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(80% 60% at 50% 28%, rgba(0,0,0,0) 30%, rgba(0,0,0,.55) 100%),
    linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.85) 60%, rgba(0,0,0,.95) 90%);
  pointer-events:none;
}
.hero-copy{position:absolute;inset:auto 0 5vh 0;text-align:center;padding:0 16px}
.hero h1{font-family:'Bebas Neue',system-ui,sans-serif;font-size:clamp(3rem,9vw,6rem);letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase;text-shadow:0 6px 30px rgba(0,0,0,.6)}
.tagline{margin:0 0 20px;color:var(--text);opacity:.95;letter-spacing:.08em;font-size:1.05rem}
.btn{display:inline-block;border:2px solid var(--accent);background:transparent;color:var(--text);padding:12px 18px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;transition:transform .15s ease, box-shadow .2s ease, background .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(0,229,255,.35);background:rgba(0,229,255,.08)}
.btn.ghost{border-color:#fff}
.btn.sm{padding:8px 12px;font-size:.85rem}
.btn-row,.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.section{padding:80px 0;border-bottom:1px solid var(--line);background:var(--bg)}
.section.alt{background:var(--bg-alt)}
h2{font-family:'Bebas Neue',system-ui,sans-serif;font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 22px;letter-spacing:.06em;text-transform:uppercase}

.tour-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tour-item{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:center;padding:16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:78px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.month{font-weight:800;letter-spacing:.18em;color:var(--accent)}
.day{font-size:1.5rem;font-weight:800}
.details h3{margin:0 0 4px}
.details p{margin:0;color:var(--muted)}
.actions{display:flex;gap:8px}

.mc-form{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.mc-form input[type="email"]{width:100%;max-width:320px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);padding:12px 14px}
.small{font-size:.9rem}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;white-space:nowrap;clip-path:inset(100%);clip:rect(0 0 0 0);overflow:hidden}

.site-footer{padding:40px 0;background:#0d0d0d;color:#9a9a9a;text-align:center}

@media (max-width:1024px){
  .hero{ min-height:110vh; background-position:50% 14%; }
  .hero-copy{ inset:auto 0 6vh 0; }
}
@media (max-width:640px){
  .hero{ min-height:105vh; background-position:50% 16%; }
  .hero-copy{ inset:auto 0 7vh 0; }
}
