:root {
  --bg: #080808;
  --surface: #111111;
  --surface-2: #171717;
  --text: #f5f5f5;
  --muted: #a6a6a6;
  --accent: #b8202a;
  --accent-strong: #e02d39;
  --line: rgba(255,255,255,.1);
  --max: 1180px;
  --header-height: 78px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, sans-serif; line-height: 1.7; }
body.menu-open, body.lightbox-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 1000; transition: background .3s, backdrop-filter .3s, border-color .3s; border-bottom: 1px solid transparent; }
.site-header.scrolled { background: rgba(8,8,8,.84); backdrop-filter: blur(14px); border-color: var(--line); }
.nav { height: var(--header-height); display:flex; align-items:center; justify-content:space-between; }
.brand img { width: 230px; max-height: 42px; object-fit: contain; filter: invert(1); }
.nav-links { display:flex; gap: 30px; align-items:center; }
.nav-links a { font-family: Oswald, sans-serif; text-transform: uppercase; letter-spacing: .09em; font-size: .92rem; color: #ddd; position:relative; }
.nav-links a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:2px; background:var(--accent); transition:right .25s; }
.nav-links a:hover::after { right:0; }
.menu-toggle { display:none; background:none; border:0; padding:10px; cursor:pointer; }
.menu-toggle span { display:block; width:28px; height:2px; margin:6px 0; background:white; transition:.25s; }
.hero { min-height: 100svh; position:relative; display:grid; place-items:center; background:url('images/hero.jpeg') center 38%/cover no-repeat; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.48), rgba(0,0,0,.65) 55%, #080808 100%), linear-gradient(90deg, rgba(0,0,0,.35), transparent 50%, rgba(0,0,0,.25)); }
.hero-content { position:relative; text-align:center; z-index:1; padding-top:80px; }
.hero-logo { width:min(830px, 88vw); margin:0 auto 24px; filter:invert(1) drop-shadow(0 4px 22px rgba(0,0,0,.65)); }
.hero-content p { font-family:Oswald,sans-serif; font-size:clamp(1rem,2vw,1.4rem); text-transform:uppercase; letter-spacing:.28em; color:#ddd; margin:0 0 34px; }
.hero-actions, .social-links { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.button, .social-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 20px; border:1px solid rgba(255,255,255,.25); font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:.08em; transition:.25s; }
.button:hover, .social-button:hover { background:var(--accent); border-color:var(--accent); transform:translateY(-2px); }
.scroll-down { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:2; width:40px; height:55px; display:grid; place-items:center; }
.scroll-down span { width:1px; height:30px; background:white; position:relative; animation:scroll 1.8s infinite; }
.scroll-down span::after { content:""; position:absolute; left:-4px; bottom:0; width:8px; height:8px; border-right:1px solid white; border-bottom:1px solid white; transform:rotate(45deg); }
@keyframes scroll { 0%,100%{transform:translateY(0);opacity:.4} 50%{transform:translateY(8px);opacity:1} }
.section { padding:110px 0; background:#0b0b0b; }
.section-dark { background:var(--surface); }
.section-heading { margin-bottom:44px; max-width:760px; }
.eyebrow { margin:0 0 8px; color:var(--accent-strong); font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:.18em; font-size:.84rem; font-weight:600; }
h2 { font-family:Oswald,sans-serif; font-size:clamp(2.6rem,6vw,5.3rem); text-transform:uppercase; line-height:1; letter-spacing:.01em; margin:0 0 24px; }
.section-intro { color:var(--muted); max-width:680px; }
.media-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:24px; }
.embed-card { background:#050505; min-height:200px; border:1px solid var(--line); overflow:hidden; }
.embed-card iframe { width:100%; height:100%; min-height:352px; border:0; display:block; }
.split-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:center; }
.bio-image { position:relative; }
.bio-image::before { content:""; position:absolute; inset:22px -22px -22px 22px; border:1px solid rgba(184,32,42,.55); z-index:0; }
.bio-image img { position:relative; z-index:1; aspect-ratio:16/11; object-fit:cover; filter:saturate(.75) contrast(1.06); }
.bio-copy p { color:#c4c4c4; }
.members { margin-top:28px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; padding-top:24px; border-top:1px solid var(--line); }
.member { font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.member small { display:block; color:var(--muted); font-family:Inter,sans-serif; text-transform:none; letter-spacing:0; }
.shows-list { border-top:1px solid var(--line); }
.show-row { display:grid; grid-template-columns:155px 1fr 1fr auto; gap:24px; align-items:center; padding:24px 4px; border-bottom:1px solid var(--line); transition:.25s; }
.show-row:hover { background:rgba(255,255,255,.025); padding-left:14px; }
.show-date { font-family:Oswald,sans-serif; font-size:1.2rem; color:var(--accent-strong); text-transform:uppercase; }
.show-city { font-family:Oswald,sans-serif; font-size:1.45rem; text-transform:uppercase; }
.show-venue { color:var(--muted); }
.ticket-button { border:1px solid var(--accent); padding:10px 16px; font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.ticket-button:hover { background:var(--accent); }
.empty-state { padding:40px 0; color:var(--muted); }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:14px; }
.gallery-item { grid-column:span 4; background:#111; overflow:hidden; cursor:zoom-in; min-height:260px; border:0; padding:0; }
.gallery-item:nth-child(3n+1) { grid-column:span 7; }
.gallery-item:nth-child(3n+2) { grid-column:span 5; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s, filter .5s; filter:saturate(.78); }
.gallery-item:hover img { transform:scale(1.035); filter:saturate(1); }
.contact-section { background:linear-gradient(135deg, rgba(184,32,42,.18), transparent 55%), #0a0a0a; border-top:1px solid var(--line); }
.contact-wrap { text-align:center; max-width:850px; }
.contact-wrap p { color:var(--muted); }
.contact-email { display:inline-block; margin:15px 0 30px; font-family:Oswald,sans-serif; font-size:clamp(1.5rem,5vw,3.6rem); text-transform:uppercase; border-bottom:2px solid var(--accent); word-break:break-word; }
.footer { border-top:1px solid var(--line); background:#050505; }
.footer-inner { min-height:80px; display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:.88rem; }
.lightbox { position:fixed; inset:0; z-index:2000; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.94); padding:40px 70px; }
.lightbox.active { display:flex; }
.lightbox img { max-width:95vw; max-height:88vh; object-fit:contain; }
.lightbox-close, .lightbox-nav { position:absolute; border:0; background:none; color:white; cursor:pointer; }
.lightbox-close { right:24px; top:15px; font-size:3rem; }
.lightbox-nav { top:50%; transform:translateY(-50%); font-size:4rem; padding:20px; }
.lightbox-prev { left:8px; } .lightbox-next { right:8px; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity:1; transform:none; }
.hero-symbol {
  display: block;
  width: clamp(80px, 10vw, 130px);
  height: auto;
  margin: 0 auto 24px;
  color: #ffffff;
  opacity: 0.95;
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.45));
}
.hero-symbol {
  color: #d12229;
}
@media (max-width: 900px) {
	.site-header.scrolled {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .menu-toggle {
    display:block;
    z-index:2;
  }

  .menu-toggle { display:block; z-index:2; }
  .nav-links { position:fixed; inset:0; background:rgba(8,8,8,.98); flex-direction:column; justify-content:center; gap:28px; transform:translateX(100%); transition:.3s; }
  .nav-links.open { transform:none; }
  .nav-links a { font-size:1.55rem; }
  .menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-toggle.active span:nth-child(2){opacity:0}
  .menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .media-grid, .split-layout { grid-template-columns:1fr; }
  .split-layout { gap:52px; }
  .show-row { grid-template-columns:130px 1fr auto; }
  .show-venue { grid-column:2; }
  .gallery-item, .gallery-item:nth-child(n) { grid-column:span 6; min-height:220px; }
    .hero-arrow{
        bottom: -25px;
    }
}
@media (max-width: 600px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .brand img { width:165px; }
  .section { padding:78px 0; }
  .hero {
    background-size: cover;
    background-position: center 38%;
    background-repeat: no-repeat;
    background-color: #080808;
    min-height: 92svh;
  }
  .hero-logo { width:96vw; }
  .hero-content p { letter-spacing:.16em; }
  .media-grid { gap:16px; }
  .embed-card iframe { min-height:240px; }
  .bio-image::before { inset:12px -10px -12px 10px; }
  .members { grid-template-columns:1fr; }
  .show-row { grid-template-columns:1fr auto; gap:5px 14px; }
  .show-date, .show-city, .show-venue { grid-column:1; }
  .ticket-button { grid-column:2; grid-row:1 / span 3; align-self:center; }
  .gallery-grid { gap:8px; }
  .gallery-item, .gallery-item:nth-child(n) { grid-column:span 12; min-height:230px; }
  .footer-inner { flex-direction:column; justify-content:center; gap:6px; text-align:center; }
  .lightbox { padding:50px 8px; }
  .lightbox-nav { font-size:3rem; }
  .hero-symbol {
    width: 50px;
    margin-bottom: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* Discography */
.discography-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.album-card { min-width:0; }
.album-cover { aspect-ratio:1; overflow:hidden; background:#090909; border:1px solid var(--line); }
.album-cover img { width:100%; height:100%; object-fit:cover; transition:transform .45s, filter .45s; filter:saturate(.82); }
.album-card:hover .album-cover img { transform:scale(1.035); filter:saturate(1); }
.album-placeholder { width:100%; height:100%; display:grid; place-items:center; color:#555; font-family:Oswald,sans-serif; letter-spacing:.16em; font-size:.8rem; }
.album-meta { padding-top:15px; }
.album-meta h3 { margin:0; font-family:Oswald,sans-serif; font-size:1.25rem; line-height:1.15; text-transform:uppercase; }
.album-meta p { margin:5px 0 0; color:var(--muted); font-size:.9rem; }
@media (max-width: 1050px) { .discography-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 650px) { .discography-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .album-meta h3 { font-size:1.05rem; } }

/* Galéria: korábbi, teljes szélességű képelrendezés visszaállítása */
.gallery-item, .gallery-item:nth-child(n) { grid-column: span 12; }
