:root {
  --black: #050505;
  --soft-black: #0b0b0d;
  --white: #f6f6f4;
  --muted: #9e9e9e;
  --line: rgba(255,255,255,.16);
  --pink: #ff1593;
  --pink-2: #ff4db6;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--white); font-family: Inter, Arial, sans-serif; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 4vw; background: linear-gradient(to bottom, rgba(0,0,0,.75), transparent); mix-blend-mode: normal; }
.brand { font-family: "Archivo Black", sans-serif; letter-spacing: -.03em; font-size: 1.05rem; }
.nav { display: flex; gap: 1.35rem; font-size: .76rem; text-transform: uppercase; letter-spacing: .12em; }
.nav a { opacity: .75; transition: .2s ease; }
.nav a:hover { opacity: 1; color: var(--pink); }
.menu-toggle { display: none; color: white; border: 1px solid var(--line); background: rgba(0,0,0,.3); padding: .65rem .8rem; font: inherit; font-size: .7rem; letter-spacing: .15em; }
.hero { min-height: 100svh; position: relative; display: flex; align-items: flex-end; overflow: hidden; }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; filter: contrast(1.05) saturate(.92); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08) 20%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.86) 100%), linear-gradient(90deg, rgba(0,0,0,.5), transparent 62%); }
.hero-copy { position: relative; z-index: 2; padding: 0 5vw 7vh; max-width: 1000px; }
.eyebrow, .section-kicker { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: #b8b8b8; }
.hero h1, h2 { margin: 0; font-family: "Archivo Black", sans-serif; text-transform: uppercase; letter-spacing: -.055em; line-height: .88; }
.hero h1 { font-size: clamp(3.2rem, 8vw, 9rem); text-shadow: 0 8px 40px rgba(0,0,0,.6); }
.hero h1 span { -webkit-text-stroke: 1px rgba(255,255,255,.72); color: transparent; }
.hero-actions, .feature-actions { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.8rem; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 0 1.25rem; font-size: .72rem; letter-spacing: .14em; font-weight: 700; text-transform: uppercase; border: 1px solid var(--line); transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-solid { background: var(--white); color: #050505; border-color: var(--white); }
.button-ghost { background: rgba(0,0,0,.22); backdrop-filter: blur(8px); }
.scroll-cue { position: absolute; z-index: 2; right: 4vw; bottom: 5vh; font-size: 2rem; opacity: .65; animation: bounce 2s infinite; }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }
.section { padding: 110px 5vw; border-top: 1px solid var(--line); }
.section-kicker { margin-bottom: 3rem; }
.intro { background: radial-gradient(circle at 90% 5%, rgba(255,21,147,.09), transparent 25%), #060606; }
.intro-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8vw; align-items: start; }
.intro h2, .shows h2, .visuals h2, .gallery h2 { font-size: clamp(3.8rem, 7vw, 8.5rem); }
.intro h2 span { color: var(--pink); text-shadow: 0 0 35px rgba(255,21,147,.3); }
.bio-copy { max-width: 640px; padding-top: 1rem; }
.bio-copy p { color: #bdbdbd; line-height: 1.72; font-size: 1rem; }
.bio-copy .lead { color: #f2f2f2; font-size: 1.28rem; }
.music-links { border-top: 1px solid var(--line); margin-top: 2rem; padding-top: 1.25rem; display: flex; gap: 1.3rem; flex-wrap: wrap; text-transform: uppercase; font-size: .72rem; letter-spacing: .12em; }
.music-links a:hover { color: var(--pink); }
.pending-link { opacity: .45; }
.music { background: #0a0a0a; }
.feature-card { display: grid; grid-template-columns: .18fr 1fr; gap: 4vw; align-items: center; border: 1px solid var(--line); padding: clamp(1.5rem, 4vw, 4rem); background: linear-gradient(120deg, #101010, #060606); }
.feature-number { writing-mode: vertical-rl; transform: rotate(180deg); color: var(--pink); font-size: .7rem; letter-spacing: .25em; }
.feature-card h2 { font-size: clamp(3rem, 6vw, 7rem); }
.feature-card h2 span { color: transparent; -webkit-text-stroke: 1px #fff; }
.feature-card p { color: #aaa; line-height: 1.7; max-width: 680px; }
.video-placeholder { min-height: 360px; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 50% 40%, rgba(255,21,147,.27), transparent 28%), repeating-linear-gradient(135deg,#111 0,#111 7px,#0d0d0d 7px,#0d0d0d 14px); border: 1px solid var(--line); text-align: center; }
.video-placeholder span, .video-placeholder strong, .video-placeholder small { display: block; }
.video-placeholder span { color: var(--pink); font-family: "Archivo Black"; font-size: 2rem; }
.video-placeholder strong { letter-spacing: .18em; font-size: .75rem; margin: .4rem 0 1rem; }
.video-placeholder small { color: #777; max-width: 220px; line-height: 1.5; }
.pink-section { position: relative; min-height: 100vh; padding: 8vw 5vw; display: flex; align-items: center; overflow: hidden; background: #16000c; border-top: 1px solid rgba(255,255,255,.15); }
.pink-section::before { content:""; position:absolute; inset:-20%; background: radial-gradient(circle at 70% 40%, rgba(255,0,141,.6), transparent 30%), radial-gradient(circle at 15% 80%, rgba(122,0,255,.35), transparent 28%); filter: blur(35px); opacity:.85; }
.pink-noise { position: absolute; inset: 0; opacity: .2; background-image: repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px); mix-blend-mode: overlay; pointer-events: none; }
.pink-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 7vw; align-items: center; width: 100%; }
.pink-art img { width: min(620px, 100%); box-shadow: 0 0 70px rgba(255,0,153,.25); border: 1px solid rgba(255,255,255,.2); }
.pink-copy h2 { font-size: clamp(6rem, 15vw, 15rem); color: var(--pink); text-shadow: 0 0 28px rgba(255,21,147,.45); }
.pink-kicker { color: #ffd3ec; margin-bottom: 1.5rem; }
.pink-tagline { font-weight: 700; font-size: 1.15rem; letter-spacing: .12em; }
.pink-copy > p:not(.pink-tagline):not(.section-kicker) { color: #ffc5e4; max-width: 580px; line-height: 1.7; }
.release-date { font-family: "Archivo Black"; font-size: clamp(1.5rem,3vw,3rem); letter-spacing: .12em; margin: 2rem 0; }
.pink-button { background: var(--pink); border-color: var(--pink); color: white; box-shadow: 0 0 28px rgba(255,21,147,.35); }
.shows { background: #050505; }
.shows-header, .visuals-heading, .gallery-heading { display: grid; grid-template-columns: 1fr .55fr; gap: 4vw; align-items: end; margin-bottom: 4rem; }
.shows-header p, .visuals-heading p, .gallery-heading p { color: #898989; line-height: 1.7; }
.show-list { border-top: 1px solid var(--line); }
.show-row { display: grid; grid-template-columns: 140px 1fr auto; align-items: center; gap: 3vw; padding: 1.5rem 0; border-bottom: 1px solid var(--line); transition: background .2s ease, padding .2s ease; }
.show-row:hover { background: #0b0b0b; padding-left: 1rem; padding-right: 1rem; }
.show-date { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: .7rem; align-items: center; }
.show-date span { font-size: .67rem; letter-spacing: .16em; color: #888; }
.show-date strong { grid-row: 1/3; grid-column: 2; font-family: "Archivo Black"; font-size: 3rem; line-height: 1; }
.show-date small { font-size: .65rem; color: #666; }
.show-info h3 { margin: 0 0 .4rem; font-family: "Archivo Black"; font-size: clamp(1.2rem,2.3vw,2.2rem); letter-spacing: -.03em; }
.show-info p { margin: 0; color: #8f8f8f; }
.show-status { border: 1px solid var(--line); padding: .65rem .8rem; font-size: .62rem; letter-spacing: .12em; white-space: nowrap; }
.featured-show .show-info h3, .featured-show .show-status { color: var(--pink); }
.visuals { background: #090909; }
.video-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.video-card { border: 1px solid var(--line); background: #050505; }
.video-frame { aspect-ratio: 16/9; background: black; }
.video-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.video-meta { padding: 1.35rem; display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.video-meta h3 { font-family: "Archivo Black"; font-size: 1.4rem; margin: 0; }
.video-meta p { margin: 0; color: #888; font-size: .85rem; }
.gallery { background: #050505; }
.gallery-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 1rem; }
.gallery-item { margin: 0; overflow: hidden; background: #111; border: 1px solid var(--line); min-height: 560px; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.gallery-item:hover img { transform: scale(1.025); filter: contrast(1.05); }
.gallery-crop { grid-row: span 2; }
.gallery-crop img { object-position: 50% 48%; transform: scale(1.92); }
.gallery-crop:hover img { transform: scale(1.97); }
.gallery-item.wide { min-height: 360px; }
.gallery-item.wide img { object-position: center; }

.events { background: radial-gradient(circle at 8% 12%, rgba(255,21,147,.10), transparent 25%), #080808; }
.events-heading { display: grid; grid-template-columns: 1fr .8fr; gap: 7vw; align-items: start; margin-bottom: 4rem; }
.events h2 { font-size: clamp(3.8rem, 7vw, 8.5rem); }
.events h2 span { color: var(--pink); }
.events-intro { padding-top: .5rem; }
.events-intro p { color: #a9a9a9; line-height: 1.72; }
.events-intro .lead { color: #f2f2f2; font-size: 1.2rem; }
.event-cards { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.event-card { min-height: 300px; padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(145deg, rgba(255,255,255,.025), rgba(255,255,255,0)); }
.event-label { display: block; color: var(--pink); font-size: .66rem; letter-spacing: .18em; font-weight: 700; margin-bottom: 1.4rem; }
.event-card h3, .artist-opportunities h3 { margin: 0 0 1rem; font-family: "Archivo Black", sans-serif; font-size: clamp(1.45rem, 2.5vw, 2.5rem); letter-spacing: -.035em; }
.event-card p, .artist-opportunities p { color: #939393; line-height: 1.7; margin-bottom: 0; }
.artist-opportunities { margin-top: 2rem; padding: clamp(2rem, 4vw, 4rem); border: 1px solid rgba(255,21,147,.42); background: radial-gradient(circle at 90% 50%, rgba(255,21,147,.18), transparent 34%), #0c090b; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3rem; }
.artist-opportunities p { max-width: 760px; }
.artist-opportunities .button { white-space: nowrap; }

.music-submission { margin-top: 2rem; padding: clamp(2rem, 4vw, 4rem); border: 1px solid var(--line); background: #060606; display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; scroll-margin-top: 90px; }
.submission-copy h3 { margin: 0 0 1rem; font-family: "Archivo Black", sans-serif; font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.045em; line-height: .95; }
.submission-copy p { color: #939393; line-height: 1.7; max-width: 560px; }
.submission-form { display: grid; gap: 1.15rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.submission-form label { display: grid; gap: .55rem; }
.submission-form label > span { font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; font-weight: 700; color: #d3d3d3; }
.submission-form label em { color: #777; font-style: normal; font-weight: 400; }
.submission-form input, .submission-form select, .submission-form textarea { width: 100%; border: 1px solid var(--line); background: #0c0c0c; color: var(--white); padding: .95rem 1rem; font: inherit; border-radius: 0; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.submission-form input:focus, .submission-form select:focus, .submission-form textarea:focus { border-color: var(--pink); box-shadow: 0 0 0 1px rgba(255,21,147,.25); }
.submission-form textarea { resize: vertical; min-height: 130px; }
.submission-form input[type="file"] { padding: .75rem; }
.submission-form small { color: #777; line-height: 1.5; }
.submit-button { justify-self: start; cursor: pointer; font-family: inherit; }
.submission-note { margin: 0; color: #666; font-size: .75rem; line-height: 1.55; }
.hidden-field { position: absolute !important; left: -9999px !important; height: 1px; width: 1px; overflow: hidden; }

.closing { min-height: 80vh; display: flex; flex-direction: column; justify-content: center; background: radial-gradient(circle at 50% 50%, rgba(255,21,147,.11), transparent 36%), #030303; }
.closing h2 { font-size: clamp(7rem, 20vw, 20rem); }
.closing h2 span { color: transparent; -webkit-text-stroke: 1px var(--pink); }
.closing-line { color: #8c8c8c; text-transform: uppercase; letter-spacing: .1em; }
.closing-links { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 2rem; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
.closing-links a:hover { color: var(--pink); }
.footer-note { margin-top: 7rem; color: #444; font-size: .62rem; letter-spacing: .13em; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }
@media (max-width: 900px) {
  .site-header { height: 62px; }
  .menu-toggle { display: block; }
  .nav { display: none; position: absolute; top: 62px; right: 4vw; padding: 1.2rem; background: rgba(5,5,5,.96); border: 1px solid var(--line); flex-direction: column; min-width: 190px; }
  .nav.open { display: flex; }
  .hero > img { object-position: 52% 40%; }
  .hero-copy { padding-bottom: 9vh; }
  .section { padding: 82px 6vw; }
  .intro-grid, .feature-card, .pink-grid, .shows-header, .visuals-heading, .gallery-heading, .video-grid, .events-heading, .event-cards, .artist-opportunities, .music-submission { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .feature-card { gap: 2rem; }
  .feature-number { writing-mode: horizontal-tb; transform: none; }
  .pink-section { padding: 90px 6vw; }
  .pink-copy { order: -1; }
  .show-row { grid-template-columns: 105px 1fr; }
  .show-status { grid-column: 2; justify-self: start; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-crop { min-height: 620px; }
  .gallery-crop img { transform: scale(1.55); }
  .gallery-crop:hover img { transform: scale(1.58); }
}
@media (max-width: 560px) {
  .hero h1 { font-size: clamp(3.2rem, 16vw, 5.7rem); }
  .hero-actions .button { width: 100%; }
  .intro h2, .shows h2, .visuals h2, .gallery h2 { font-size: clamp(3.3rem, 15vw, 5.2rem); }
  .feature-card h2 { font-size: 3.6rem; }
  .video-placeholder { min-height: 250px; }
  .show-row { grid-template-columns: 88px 1fr; gap: 1rem; }
  .show-date strong { font-size: 2.4rem; }
  .show-info h3 { font-size: 1.1rem; }
  .gallery-crop { min-height: 520px; }
  .gallery-crop img { transform: scale(1.42); }
  .gallery-crop:hover img { transform: scale(1.45); }
}

.booking { background: radial-gradient(circle at 90% 20%, rgba(255,21,147,.12), transparent 28%), #050505; scroll-margin-top: 80px; }
.booking-grid { margin-top: 2rem; padding: clamp(2rem, 4vw, 4rem); border: 1px solid rgba(255,21,147,.35); background: #080608; display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
@media (max-width: 900px) { .booking-grid { grid-template-columns: 1fr; } }

/* 2026-08 site strength additions */
.hero-actions-primary { margin-bottom: 1.25rem; }
.audience-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; max-width:760px; }
.audience-paths a { border:1px solid rgba(255,255,255,.22); background:rgba(0,0,0,.35); backdrop-filter:blur(10px); padding:.9rem 1rem; transition:.2s ease; }
.audience-paths a:hover { border-color:var(--pink); transform:translateY(-2px); }
.audience-paths span { display:block; font-size:.58rem; letter-spacing:.18em; color:var(--pink); margin-bottom:.35rem; }
.audience-paths strong { font-size:.82rem; letter-spacing:.04em; }
.shows-cta { margin-top:1.5rem; display:flex; justify-content:space-between; align-items:center; gap:2rem; border:1px solid var(--line); padding:1.2rem 1.4rem; }
.shows-cta p { margin:0; color:#8f8f8f; }
.press { background: radial-gradient(circle at 92% 18%, rgba(255,21,147,.10), transparent 26%), #070707; }
.press-heading { display:grid; grid-template-columns:1fr .55fr; gap:5vw; align-items:end; margin-bottom:3.5rem; }
.press-heading h2 { font-size:clamp(3.8rem,7vw,8.5rem); }
.press-heading h2 span { color:var(--pink); }
.press-heading p { color:#999; line-height:1.7; }
.press-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.press-card { padding:2rem; min-height:220px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.press-card > span { color:var(--pink); font-size:.62rem; letter-spacing:.18em; font-weight:700; }
.press-card h3 { font-family:"Archivo Black",sans-serif; font-size:1.45rem; margin:.85rem 0 .75rem; letter-spacing:-.03em; }
.press-card p { margin:0; color:#8f8f8f; line-height:1.65; }
.epk-strip { margin-top:2rem; padding:clamp(2rem,4vw,3.5rem); display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem; border:1px solid rgba(255,21,147,.35); background:#0b080a; }
.epk-strip h3 { font-family:"Archivo Black",sans-serif; font-size:clamp(1.8rem,3vw,3rem); margin:0 0 .65rem; }
.epk-strip p { color:#939393; margin:0; }
.booking-side { display:grid; gap:1.4rem; align-content:start; }
.credibility-list { display:grid; gap:.55rem; border-top:1px solid var(--line); padding-top:1.1rem; }
.credibility-list span { color:#aaa; font-size:.84rem; padding-left:1rem; position:relative; }
.credibility-list span::before { content:"+"; position:absolute; left:0; color:var(--pink); }
.text-link { color:var(--pink); text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; font-weight:700; }
.newsletter { background:radial-gradient(circle at 15% 50%,rgba(255,21,147,.18),transparent 30%),#080508; }
.newsletter-inner { display:grid; grid-template-columns:1fr .85fr; gap:6vw; align-items:end; max-width:1200px; margin:0 auto; }
.newsletter h2 { font-size:clamp(4rem,8vw,8rem); }
.newsletter h2 span { color:var(--pink); }
.newsletter p { color:#aaa; line-height:1.7; max-width:560px; }
.newsletter-form { display:grid; grid-template-columns:1fr auto; gap:.8rem; align-items:end; }
.newsletter-form label { display:grid; gap:.55rem; }
.newsletter-form label span { font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; font-weight:700; color:#d3d3d3; }
.newsletter-form input { width:100%; border:1px solid var(--line); background:#0c0c0c; color:var(--white); padding:.95rem 1rem; font:inherit; outline:none; }
.newsletter-form input:focus { border-color:var(--pink); }
.newsletter-form small { grid-column:1/-1; color:#777; line-height:1.5; }
@media (max-width:900px){
  .audience-paths,.press-heading,.press-grid,.epk-strip,.newsletter-inner { grid-template-columns:1fr; }
  .shows-cta { align-items:flex-start; flex-direction:column; }
}
@media (max-width:560px){
  .audience-paths { grid-template-columns:1fr; }
  .newsletter-form { grid-template-columns:1fr; }
  .newsletter-form .button { width:100%; }
}

.hero-submit-context { max-width: 560px; margin-top: .5rem; }
.hero-submit-context > span { display:block; color:var(--pink); font-size:.68rem; font-weight:800; letter-spacing:.16em; margin-bottom:.35rem; }
.hero-submit-context > strong { display:block; font-size:clamp(1rem,2vw,1.35rem); text-transform:uppercase; margin-bottom:.35rem; }
.hero-submit-context > p { margin:0 0 .8rem; max-width:520px; color:#d2d2d2; font-size:.82rem; line-height:1.5; }
@media (max-width: 900px) {
  .site-header { position: sticky; top:0; background:#050505; }
  .hero { margin-top: -62px; padding-top:62px; }
  .hero-submit-context { max-width: 92vw; }
  .hero-submit-context > p { font-size:.74rem; }
}
