.concert-root{background:var(--concert-bg,#000);color:var(--concert-ink,#fff);font-family:var(--concert-font-body,"Inter", system-ui, sans-serif);-webkit-font-smoothing:antialiased;font-optical-sizing:auto}.concert-container{max-width:1280px;margin:0 auto;padding:0 24px}.concert-section{padding:80px 0;position:relative}.concert-section--hero{padding:0}.concert-tag{letter-spacing:.2em;color:var(--concert-accent,#ed1c24);text-transform:uppercase;margin-bottom:16px;font-size:12px;font-weight:700;display:inline-block}.concert-title{font-family:var(--concert-font-heading,"Anton", "Bebas Neue", "Impact", sans-serif);letter-spacing:.02em;text-transform:uppercase;margin:0 0 16px;font-size:clamp(40px,6vw,72px);font-weight:700;line-height:1}.concert-lead{color:var(--concert-ink,#fff);opacity:.7;max-width:640px;margin:0 0 32px;font-size:16px;line-height:1.6}.concert-nav{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;border-bottom:1px solid #ffffff14;position:sticky;top:0}.concert-nav-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.concert-nav-logo{color:var(--concert-ink,#fff);align-items:center;gap:10px;text-decoration:none;display:flex}.concert-nav-logo-icon{background:var(--concert-accent,#ed1c24);width:28px;height:28px;font-family:var(--concert-font-heading);color:#fff;letter-spacing:0;border-radius:2px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.concert-nav-logo-text{flex-direction:column;line-height:1;display:flex}.concert-nav-logo-name{font-family:var(--concert-font-heading);letter-spacing:.05em;text-transform:uppercase;font-size:18px;font-weight:700}.concert-nav-logo-sub{color:#ffffff80;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:10px}.concert-nav-links{gap:28px;margin:0;padding:0;list-style:none;display:flex}.concert-nav-links a{color:var(--concert-ink,#fff);letter-spacing:.15em;text-transform:uppercase;opacity:.85;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s}.concert-nav-links a:hover{opacity:1}.concert-nav-cta{background:var(--concert-accent,#ed1c24);color:#fff;font-family:var(--concert-font-body);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:none;border-radius:24px;padding:10px 20px;font-size:12px;font-weight:800;text-decoration:none;display:inline-block}.concert-nav-cta:hover{filter:brightness(1.1)}@media (max-width:860px){.concert-nav-links{display:none}}.concert-hero{text-align:center;justify-content:center;align-items:center;min-height:720px;display:flex;position:relative;overflow:hidden}.concert-hero-bg{background-position:50%;background-size:cover;position:absolute;inset:0}.concert-hero-overlay{background:linear-gradient(#0006 0%,#000000f2 100%);position:absolute;inset:0}.concert-hero-content{z-index:1;padding:120px 24px;position:relative}.concert-hero-kicker{letter-spacing:.4em;text-transform:uppercase;color:var(--concert-accent,#ed1c24);background:#000c;border:1px solid #ffffff26;border-radius:999px;margin-bottom:24px;padding:8px 20px;font-size:14px;font-weight:900;display:inline-block}.concert-hero-title{font-family:var(--concert-font-heading);letter-spacing:0;margin:0 0 16px;font-size:clamp(56px,10vw,128px);font-weight:800;line-height:.9}.concert-hero-subtitle{letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-bottom:40px;font-size:18px;font-weight:700}.concert-hero-ctas{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.concert-btn{font-family:var(--concert-font-body);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--concert-ink);color:var(--concert-ink);cursor:pointer;background:#000c;border-radius:24px;padding:16px 32px;font-size:13px;font-weight:800;text-decoration:none;transition:all .2s;display:inline-block}.concert-btn:hover{background:var(--concert-ink);color:var(--concert-bg)}.concert-btn--primary{background:var(--concert-accent,#ed1c24);border-color:var(--concert-accent);color:#fff}.concert-btn--primary:hover{color:var(--concert-bg);background:#fff;border-color:#fff}.concert-hero:after{content:"";background:var(--concert-bg);clip-path:polygon(0 100%,100% 100%,100% 0%,60% 100%,0 30%);height:80px;position:absolute;bottom:-1px;left:0;right:0}.concert-tour{background:var(--concert-bg);position:relative}.concert-tour-bg-text{font-family:var(--concert-font-heading);letter-spacing:0;text-transform:uppercase;opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:clamp(140px,22vw,320px);font-weight:800;line-height:.8;position:absolute;top:30px;left:-10px}.concert-tour-grid{background:#ffffff14;border:1px solid #ffffff14;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;margin-top:48px;display:grid}.concert-tour-card{background:var(--concert-bg);flex-direction:column;gap:16px;min-height:360px;padding:32px 28px;display:flex;position:relative}.concert-tour-date{letter-spacing:.2em;opacity:.75;text-transform:uppercase;font-size:13px;font-weight:600}.concert-tour-city{font-family:var(--concert-font-heading);letter-spacing:0;text-transform:uppercase;margin:0;font-size:36px;font-weight:800;line-height:1}.concert-tour-venue{letter-spacing:.2em;opacity:.6;text-transform:uppercase;font-size:12px}.concert-tour-actions{letter-spacing:.2em;flex-direction:column;gap:14px;margin-top:auto;font-size:12px;display:flex}.concert-tour-tickets-link{color:var(--concert-ink);letter-spacing:.2em;text-transform:uppercase;font-weight:700;text-decoration:none;transition:color .2s}.concert-tour-tickets-link:hover{color:var(--concert-accent,#ed1c24)}.concert-tour-extras{flex-direction:column;gap:8px;display:flex}.concert-tour-extra{letter-spacing:.2em;text-transform:uppercase;opacity:.6;color:inherit;font-size:11px;text-decoration:none}.concert-tour-extra--unavailable{opacity:.4;text-decoration:line-through}.concert-tour-extra--available{color:var(--concert-accent,#ed1c24);opacity:.95}.concert-tour-soldout{color:var(--concert-accent,#ed1c24);letter-spacing:.2em;text-transform:uppercase;background:#ffffff0f;padding:4px 10px;font-size:10px;font-weight:800;position:absolute;top:16px;right:16px}.concert-tour-moreinfo{color:var(--concert-ink);letter-spacing:.2em;text-transform:uppercase;opacity:.7;font-size:11px;font-weight:600;text-decoration:none}.concert-tour-moreinfo:hover{opacity:1}.concert-albums-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-top:48px;display:grid}.concert-album{background:var(--concert-surface,#0f0f0f);color:var(--concert-ink);border:1px solid #ffffff14;border-radius:24px;padding:14px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:block}.concert-album:hover{border-color:#fff3;transform:translateY(-4px);box-shadow:0 16px 32px #0006}.concert-album-cover{aspect-ratio:1;background-color:#ffffff0d;background-position:50%;background-size:cover;border-radius:12px}.concert-album-meta{padding:14px 2px 0}.concert-album-title{font-family:var(--concert-font-heading);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:18px;overflow:hidden}.concert-album-year{letter-spacing:.2em;opacity:.5;font-size:12px}.concert-albums-embeds{flex-direction:column;gap:16px;max-width:640px;margin:40px auto 0;display:flex}.concert-album-embed{border-radius:24px;overflow:hidden}.concert-album-embed iframe{display:block}.concert-bio{background:var(--concert-bg)}.concert-bio-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin-top:32px;display:grid}.concert-bio-image{aspect-ratio:4/5;background-color:#ffffff0d;background-position:50%;background-size:cover;border-radius:24px}.concert-bio-paragraphs p{opacity:.85;margin:0 0 16px;font-size:17px;line-height:1.7}.concert-bio-stats{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;display:grid}.concert-bio-stat-number{font-family:var(--concert-font-heading);color:var(--concert-accent,#ed1c24);margin-bottom:6px;font-size:48px;font-weight:800;line-height:1}.concert-bio-stat-label{letter-spacing:.2em;text-transform:uppercase;opacity:.6;font-size:11px}@media (max-width:768px){.concert-bio-grid{grid-template-columns:1fr;gap:32px}}.concert-gallery-grid{-moz-columns:4;columns:4;-moz-column-gap:8px;column-gap:8px;margin-top:48px}.concert-gallery-item{cursor:pointer;-moz-column-break-inside:avoid;break-inside:avoid;background:0 0;border:none;width:100%;margin:0 0 8px;padding:0;animation:.5s both concert-gallery-fade-in;display:block}@keyframes concert-gallery-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.concert-gallery-item{animation:none}}.concert-gallery-photo{background-color:#ffffff0d;border-radius:24px;width:100%;height:auto;transition:opacity .2s;display:block}.concert-gallery-item:hover .concert-gallery-photo{opacity:.85}.concert-gallery-more{justify-content:center;margin-top:32px;display:flex}@media (max-width:1024px){.concert-gallery-grid{-moz-columns:3;columns:3}}@media (max-width:768px){.concert-gallery-grid{-moz-columns:2;columns:2}}.concert-merch-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-top:48px;display:grid}.concert-merch-card{background:var(--concert-surface,#0f0f0f);color:var(--concert-ink);width:100%;font:inherit;text-align:left;cursor:pointer;border:none;flex-direction:column;margin:0;padding:0;text-decoration:none;display:flex}.concert-merch-image{aspect-ratio:1;background-position:50%;background-size:cover;border-radius:24px}.concert-merch-meta{justify-content:space-between;align-items:flex-end;gap:12px;padding:16px;display:flex}.concert-merch-name{font-family:var(--concert-font-heading);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:16px}.concert-merch-price{letter-spacing:.1em;opacity:.7;font-size:13px}.concert-merch-cta{letter-spacing:.2em;color:var(--concert-accent,#ed1c24);text-transform:uppercase;font-size:11px;font-weight:700}.concert-final{text-align:center;justify-content:center;align-items:center;min-height:480px;display:flex;position:relative;overflow:hidden}.concert-final-bg{filter:grayscale(.5)brightness(.4);background-position:50%;background-size:cover;position:absolute;inset:0}.concert-final-content{z-index:1;padding:80px 24px;position:relative}.concert-final-title{font-family:var(--concert-font-heading);text-transform:uppercase;margin:0 0 16px;font-size:clamp(48px,8vw,96px);font-weight:800;line-height:1}.concert-final-subtitle{opacity:.85;max-width:640px;margin:0 auto 32px;font-size:18px}.concert-footer{background:#050505;border-top:1px solid #ffffff14;padding:48px 0 24px}.concert-footer-grid{grid-template-columns:2fr repeat(2,1fr);gap:48px;margin-bottom:32px;display:grid}@media (max-width:768px){.concert-footer-grid{grid-template-columns:1fr;gap:32px}}.concert-footer-tagline{font-family:var(--concert-font-heading);letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;font-size:24px}.concert-footer-socials{gap:16px;display:flex}.concert-footer-socials a{width:40px;height:40px;color:var(--concert-ink);border:1px solid #ffffff26;justify-content:center;align-items:center;text-decoration:none;transition:border-color .2s;display:flex}.concert-footer-socials a:hover{border-color:var(--concert-accent,#ed1c24)}.concert-footer-col-heading{letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:12px;font-size:11px;font-weight:700}.concert-footer-col ul{margin:0;padding:0;list-style:none}.concert-footer-col li{margin-bottom:8px}.concert-footer-col a{color:var(--concert-ink);opacity:.7;font-size:14px;text-decoration:none}.concert-footer-col a:hover{opacity:1}.concert-footer-bottom{letter-spacing:.1em;opacity:.5;text-transform:uppercase;border-top:1px solid #ffffff14;justify-content:space-between;padding-top:16px;font-size:11px;display:flex}
