/* NO DRAMA LAMA / V2 - Neon Sessions
   Original live photographs. Real HTML typography. No generated faces.
   Built on the existing pages and interactions; no remote font dependency. */
:root {
  --bg: #07080e;
  --surface: #10121d;
  --surface2: #191b29;
  --text: #f4f5fb;
  --muted: #afb2c5;
  --line: #ffffff20;
  --cyan: #66e5ee;
  --pink: #f781cf;
  --amber: #ffc781;
  --yellow: var(--cyan);
  --mint: var(--pink);
  --pad: clamp(22px, 4.7vw, 72px);
  --max: 1480px;
  --header: 86px;
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --display: Arial, Helvetica, sans-serif;
}
html { color-scheme: dark; scroll-padding-top: 115px; }
body { background: var(--bg); color: var(--text); font-family: var(--font); }
h1,h2,h3 { font-family: var(--display); letter-spacing: -.055em; }
h2 { font-size: clamp(34px, 4.8vw, 70px); }
p { color: var(--muted); }
main { overflow: clip; }
.section { padding-block: clamp(70px, 8vw, 120px); }
.eyebrow { color: #b0b6cc; letter-spacing: .16em; font-size: 10px; }
.little-line { width: 21px; height: 2px; background: linear-gradient(90deg,var(--cyan),var(--pink)); }
.serif { font-family: var(--display); font-style: normal; font-weight: 700; letter-spacing: -.055em; color: var(--pink); }
.accent { color: var(--cyan); }
.understated { color: var(--muted); }
.text-link { color: #f2f4fa; font-weight: 600; }
.text-link:hover { color: var(--cyan); }
.text-link .icon { color: var(--cyan); }
.button { border-radius: 50px; min-height: 54px; padding: 15px 23px; font-size: 13px; gap: 18px; }
.button.primary { background: linear-gradient(105deg,#b8f6f4,#f6eaff); color: #10121d; border-color: #fff8; box-shadow: 0 0 30px #66e5ee12; }
.button.primary:hover { background: #e5fbff; box-shadow: 0 0 38px #66e5ee35; }
.button.primary .icon { color: #191c2a; }
.button.secondary { background: #ffffff04; border-color: #ffffff40; color: #eff2fc; }
.button.secondary:hover { border-color: var(--pink); background: #ffffff09; }
.button.dark { background: #eff3fc; color: #11131c; }
.button.light { background: #f9faff; color: #151823; }
.button.ghost { background: transparent; }
.tag { border-radius: 30px; border-color: #ffffff25; padding: 7px 11px; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline-color: var(--cyan); }
.ambient-bg span { background: radial-gradient(ellipse,#143b5620,transparent 65%); }
.ambient-bg span + span { background: radial-gradient(ellipse,#6b225019,transparent 65%); }

/* Clear navigation stays accessible on all pages. */
.site-header { height: var(--header); position: sticky; top: 0; background: #07080eef; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid #ffffff14; }
.header-inner { max-width: 1480px; gap: 22px; }
.brand { width: 110px; }
.brand img { width: 100px; height: 72px; object-fit: contain; }
.desktop-nav { gap: 26px; margin-right: 20px; }
.desktop-nav > a { font-size: 12px; color: #bfc3d4; }
.desktop-nav > a:hover,.desktop-nav > a[aria-current=page] { color: #fff; }
.desktop-nav > a[aria-current=page]:after { width: 100%; height: 1px; background: linear-gradient(90deg,var(--cyan),var(--pink)); }
.nav-dot { background: var(--cyan); box-shadow: 0 0 10px #66e5ee66; }
.header-booking { border-radius: 30px; min-height: 43px; border-color: #ffffff35; font-size: 11px; padding: 11px 18px; gap: 18px; }
.header-booking:hover { background: #dcfaff; border-color: #dcfaff; color: #07080e; }
.menu-toggle { background: #ffffff06; border: 1px solid #ffffff20; border-radius: 50%; width: 42px; height: 42px; align-items: center; justify-content: center; }
.mobile-menu { background: linear-gradient(150deg,#111723,#110c18); }
.mobile-menu nav > a { color: #f4f5fb; }

/* Full-band hero. The portrait panels only crop the actual uploaded photos. */
.neon-hero { position: relative; isolation: isolate; padding: 29px 0 0; overflow: hidden; background: #07080e; }
.neon-hero > .wrap { position: relative; }
.hero-halo { position: absolute; pointer-events: none; z-index: -1; width: 760px; height: 660px; border-radius: 50%; opacity: .85; animation: neon-breathe 16s ease-in-out infinite alternate; }
.halo-cyan { left: -300px; top: -150px; background: radial-gradient(ellipse,#14718650,transparent 66%); }
.halo-pink { right: -320px; top: -100px; background: radial-gradient(ellipse,#ac267446,transparent 66%); animation-delay: -8s; }
.neon-prelude { display: flex; align-items: center; justify-content: space-between; gap: 18px; position: relative; z-index: 3; font-size: 9px; letter-spacing: .22em; font-weight: 650; color: #b6bdd0; }
.neon-prelude > span:first-child { display: flex; align-items: center; gap: 9px; color: #dcebf1; }
.live-indicator { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); flex: none; }
.band-artwork { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); position: relative; height: clamp(350px, 31vw, 452px); gap: 10px; padding: 27px 12px 0; margin: 18px 0 0; isolation: isolate; }
.portrait-panel { position: relative; margin: 0; min-width: 0; height: 100%; overflow: hidden; border: 1px solid #ffffff2e; border-radius: 17px 17px 0 0; box-shadow: 0 0 30px #0004; background: #10121b; transform: translateY(var(--offset)) rotate(var(--tilt)); transform-origin: center 85%; transition: transform .45s cubic-bezier(.22,1,.36,1), border-color .45s; }
.portrait-panel:after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg,#07080e 0%,#07080e08 35%,transparent 63%),linear-gradient(180deg,#07080e28,transparent 22%); }
.portrait-panel img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; }
.portrait-panel figcaption { position: absolute; top: 11px; left: 12px; right: 12px; color: #fff; font-size: 8px; font-weight: 600; letter-spacing: .05em; display: flex; align-items: center; gap: 6px; z-index: 1; text-shadow: 0 1px 5px #000; }
.portrait-panel figcaption > span { background: #07080e7d; border: 1px solid #ffffff4a; border-radius: 50%; width: 21px; height: 21px; display: grid; place-items: center; font-size: 7px; backdrop-filter: blur(5px); }
.portrait-01 { --offset: 25px; --tilt: -5deg; }
.portrait-02 { --offset: 1px; --tilt: -2.3deg; }
.portrait-03 { --offset: 22px; --tilt: 0deg; }
.portrait-04 { --offset: 0px; --tilt: 2.3deg; }
.portrait-05 { --offset: 28px; --tilt: 5deg; }
.portrait-panel:hover { transform: translateY(calc(var(--offset) - 7px)) rotate(var(--tilt)); border-color: #c3f8ff8a; }
.artwork-orbits { position: absolute; width: 820px; height: 560px; left: 50%; top: -60px; transform: translateX(-50%); z-index: -1; pointer-events: none; opacity: .6; }
.artwork-orbits i { position: absolute; inset: 15px; border: 1px solid #66e5ee20; border-radius: 50%; transform: rotate(-17deg); }
.artwork-orbits i:nth-child(2) { inset: -25px -65px; border-color: #f781cf20; transform: rotate(12deg); }
.artwork-orbits i:nth-child(3) { inset: -75px -135px; border-color: #ffc78110; }
.artwork-watermark { position: absolute; width: 315px; height: auto; object-fit: contain; left: 50%; transform: translateX(-50%) rotate(-7deg); top: -15px; opacity: .06; z-index: -1; pointer-events: none; }
.artwork-fade { position: absolute; bottom: -45px; height: 102px; inset-inline: -35px; background: linear-gradient(transparent,#07080e 70%); z-index: 2; pointer-events: none; }
.neon-title { position: relative; z-index: 3; margin-top: -23px; text-align: center; }
.neon-title h1 { font-size: clamp(66px, 9.6vw, 142px); font-weight: 900; line-height: .99; letter-spacing: -.075em; white-space: nowrap; color: #f3f4fa; }
.neon-title h1 > span { color: var(--cyan); background: linear-gradient(110deg,#76e9ef 3%,#cbdcf4 49%,#fa8fd4 93%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.neon-title .title-dot { -webkit-text-fill-color: var(--pink); }
.neon-footer { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 23px 1px 29px; }
.neon-footer > p { font-size: 15px; line-height: 1.6; letter-spacing: -.01em; color: #aeb6ca; }
.neon-footer > p strong { font-weight: 500; color: #eef2fa; }
.neon-actions { display: flex; gap: 12px; align-items: center; }
.neon-actions .button { min-height: 51px; font-size: 12px; gap: 17px; padding-inline: 21px; }
.neon-actions .secondary .icon { color: var(--pink); width: 17px; }
.neon-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0 20px; border-top: 1px solid #ffffff20; color: #909ab2; font-size: 9px; letter-spacing: .09em; }
.neon-meta > div { display: flex; align-items: center; gap: 24px; }
.neon-meta b { color: #e0e6f6; margin-left: 5px; font-weight: 600; }
.neon-meta > div > i { display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: var(--pink); }
.hero-eventzone { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; letter-spacing: 0; }
.hero-eventzone strong { font-weight: 650; color: #eeeefa; }
.hero-eventzone .icon { color: var(--cyan); width: 15px; height: 15px; margin-left: 9px; }
.hero-eventzone:hover { color: var(--cyan); }
@keyframes neon-breathe { to { transform: translate(45px,25px) scale(1.1); opacity: .55; } }

/* Editorial home sections. */
.ticker { background: #0e111b; color: #b5becf; border-block: 1px solid #ffffff15; padding-block: 15px; }
.ticker-track { gap: 39px; }
.ticker-track span { font-size: 11px; font-weight: 600; letter-spacing: .18em; }
.ticker-track i { font-size: 17px; color: var(--pink); }
.intro-section { grid-template-columns: 1fr 1.15fr; gap: 12%; align-items: center; }
.intro-section h2 { font-size: clamp(43px, 5.3vw, 76px); line-height: .98; }
.intro-section h2 .serif { display: inline-block; margin-top: 8px; }
.intro-text .large-copy { color: #dfe5f4; font-size: clamp(22px,2vw,28px); line-height: 1.5; }
.intro-text > p:not(.large-copy) { font-size: 14px; line-height: 1.9; }
.intro-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 27px; }
.intro-tags > span { border: 1px solid #ffffff20; color: #b6bdd1; border-radius: 30px; padding: 7px 11px; font-size: 10px; }
.voting-feature { background: radial-gradient(ellipse at 83% 55%,#37132c80,transparent 47%),radial-gradient(ellipse at 11% 90%,#0c334850,transparent 55%),#0c0e18; border-block: 1px solid #ffffff1b; }
.voting-layout { gap: 8%; }
.voting-copy h2 { font-size: clamp(37px,4.4vw,65px); }
.voting-copy > p:not(.eyebrow) { line-height: 1.8; }
.voting-copy p.large-copy { line-height: 1.4; }
.mini-steps b { color: var(--cyan); border-color: #66e5ee44; }
.mini-steps { color: #c9cde0; }
.sunburst { background: conic-gradient(from 30deg,transparent,#66e5ee13,transparent,#f781cf15,transparent); border-color: #f781cf30; }
.sunburst:after { border-color: #66e5ee33; background: #0d0f1bd9; }
.sunburst:before { border-color: #66e5ee20; }
.vote-demo { background: linear-gradient(155deg,#1a1e2c,#0c0e17); border-color: #ffffff38; border-radius: 22px; box-shadow: 0 20px 80px #0008, 0 0 70px #f781cf08; transform: rotate(2deg); padding: 28px; }
.vote-option { background: #ffffff05; border-color: #ffffff20; border-radius: 11px; min-height: 64px; }
.vote-option:hover { background: #66e5ee0b; border-color: var(--cyan); }
.vote-option[aria-pressed=true] { background: #66e5ee15; border-color: var(--cyan); }
.vote-title small { color: #a8afc8; }
.vote-num,.demo-status { color: #abb3c9; }
.demo-top .tag { border-color: #f781cf3a; color: #f1a0d3; }
.demo-disclaimer { color: #8f9ab4; border-color: #ffffff18; font-size: 9px; }
.hand-note { font-family: var(--font); font-style: normal; transform: none; font-size: 11px; letter-spacing: .03em; right: 30px; bottom: -20px; color: var(--pink); }
.event-grid { border: 0; gap: 21px; }
.event-card { padding: 0; border: 1px solid #ffffff20; border-radius: 18px; overflow: hidden; background: #11131e; transition: border-color .25s,transform .25s; }
.event-card:hover { background: #151826; border-color: #66e5ee70; transform: translateY(-5px); }
.event-visual { height: 204px; overflow: hidden; position: relative; background: #151826; }
.event-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; transition: transform .6s; }
.event-card:hover .event-visual img { transform: scale(1.035); }
.event-visual:after { position: absolute; content: ''; inset: 0; background: linear-gradient(0deg,#0b0e19aa,transparent 60%); }
.event-photo-tag { position: absolute; z-index: 1; left: 23px; bottom: 17px; font-size: 8px; letter-spacing: .14em; color: #fff; }
.event-copy { padding: 25px 25px 26px; display: flex; flex-direction: column; flex: 1; }
.event-meta { margin-bottom: 21px; color: #909bb6; }
.event-meta > span { font-size: 8px; letter-spacing: .11em; }
.event-meta .icon { width: 22px; height: 22px; color: var(--pink); }
.event-card h3 { font-size: clamp(25px,2.5vw,34px); }
.event-card p { color: #b9c0d1; line-height: 1.7; }
.compact .event-card p { font-size: 16px; }
.event-more { border-top: 1px solid #ffffff12; padding-top: 18px; margin-top: 23px; color: #d8deed; font-size: 9px; }
.image-break { height: 605px; background: var(--bg); }
.image-break:after { background: linear-gradient(90deg,#07080ed9,#07080e00 83%),linear-gradient(0deg,#07080e8a,transparent 35%); }
.image-break h2 { font-size: clamp(60px,7vw,110px); }
.image-break .serif { color: #f9faff; }
.image-break .eyebrow { color: #a1ecf7; }
.image-break > img { object-position: center 60%; }
.music-duo { gap: 23px; }
.artist-teaser { border-radius: 20px; background: linear-gradient(130deg,#171d2c,#151120); border-color: #ffffff25; }
.artist-teaser:hover { border-color: var(--pink); }
.circle-arrow { border-color: #ffffff38; }
.artist-teaser h3 { color: #f4f6ff; }
.review-section { padding-block: 55px; border-color: #ffffff1d; }
.review-mark { color: var(--pink); }
.review-section blockquote { color: #e5e9f6; }
.review-credit { color: #949fb7; }
.social-section { background: transparent; }
.social-strip { gap: 15px; }
.gallery-tile { border-radius: 13px; overflow: hidden; }
.social-strip .gallery-tile { aspect-ratio: .88; }
.social-caption { color: #8b97b0; }
.instagram-gate { border: 1px solid #ffffff25; background: linear-gradient(120deg,#101923,#1b1322); border-radius: 18px; }
.instagram-gate h3 { font-size: 23px; }
.social-icon { background: #f781cf12; color: var(--pink); border-radius: 12px; }
.instagram-gate .tag { color: #b1bbcf; }
.sponsors { border-color: #ffffff1f; padding-block: 48px; }
.sponsor-logos { gap: 50px; }
.sponsor { color: #f0f3fc; }
.sponsor small { color: #8c9bb6; }
.partner-divider { background: #ffffff26; }
.sponsor:hover { color: var(--cyan); }
.final-cta { padding-block: 95px; position: relative; isolation: isolate; background: radial-gradient(ellipse at 85% 90%,#691e5540,transparent 55%),radial-gradient(ellipse at 5% 4%,#13556260,transparent 55%),#10131f; color: #f5f6fc; border-block: 1px solid #ffffff23; }
.final-cta .eyebrow { color: #a6b9ce; }
.final-cta h2 { font-size: clamp(51px,7vw,100px); color: #f5f7ff; }
.final-cta .serif { color: #ef9bd4; }
.cta-note { color: #b2b9d0; }
.cta-orbit { border-color: #bbedff1b; }
.cta-orbit:before,.cta-orbit:after { border-color: #f781cf20; }
.cta-inner { position: relative; z-index: 1; }
.site-footer { background: #07080e; border: 0; padding-top: 60px; }
.footer-top h2 { font-family: var(--font); letter-spacing: .015em; font-size: 13px; font-weight: 600; color: #e5e9f4; }
.footer-top > div:not(:first-child) > a { font-size: 12px; color: #abb5c9; }
.footer-top a:hover { color: var(--cyan); }
.footer-bottom { border-color: #ffffff17; color: #8f9bb5; }
.footer-brand p,.footer-contact p { color: #8996b0; }
.footer-brand img { width: 134px; height: 96px; object-fit: contain; }
.motion-toggle { color: #a8b4cd; }

/* All existing subpages share the V2 design. */
.page-intro { padding-top: 75px; padding-bottom: 57px; }
.page-intro h1 { font-size: clamp(46px,7vw,101px); line-height: 1; }
.page-intro .intro-copy { max-width: 700px; font-size: 17px; color: #acb7ce; line-height: 1.8; }
.band-wide { position: relative; }
.band-wide img { border-radius: 22px; }
.photo-tag { background: #07080e99; border-color: #ffffff40; backdrop-filter: blur(8px); }
.band-story { align-items: start; }
.band-story .large-copy { color: #d9e3f5; }
.members-grid { border: none; gap: 14px; }
.member-card,.member-card:first-child { background: #10131e; border: 1px solid #ffffff20; padding: 20px; border-radius: 18px; }
.member-initial { background: radial-gradient(circle at 15% 10%,#173b4d,transparent 65%),#161423; border-radius: 10px; border: 0; }
.member-initial > span { color: #c5dfed; }
.member-initial .icon { color: var(--pink); }
.member-card .eyebrow { letter-spacing: .08em; color: #8fa8c5; }
.member-card h2 { color: #f0f4fc; }
.member-card small { color: #93a2bc; }
.band-collage .gallery-tile { border-radius: 13px; }
.rounded-photo { border-radius: 20px; }
.rounded-photo img { border-radius: 20px; }
.numbered-list > div { border-color: #ffffff20; }
.numbered-list > div > b { color: var(--cyan); border-color: #66e5ee35; }
.faq-list details { border-color: #ffffff25; }
.faq-list summary { color: #dde6f7; }
.faq-list summary .icon { color: var(--cyan); }
.faq-list details[open] { background: #ffffff03; }
.artist-intros { gap: 22px; }
.artist-intros > article { border: 1px solid #ffffff25; background: linear-gradient(135deg,#13202a,#121423); border-radius: 18px; }
.artist-intros > article + article { border-left: 1px solid #ffffff25; background: linear-gradient(130deg,#1e162b,#121423); }
.filter-tabs { border: 1px solid #ffffff2b; border-radius: 50px; padding: 5px; background: #0c101a; gap: 3px; }
.filter-tabs button { color: #a3b2c9; border-radius: 30px; border: 0; font-size: 11px; padding: 10px 18px; background: transparent; }
.filter-tabs button.active { background: #d1eff5; color: #131921; }
.release-card { border-color: #ffffff25; border-radius: 20px; overflow: hidden; background: #111521; }
.release-details { background: #111521; }
.release-details h3 { color: #f4f6fc; }
.release-date,.release-details > p { color: #a8b6ce; }
.stream-link { border-color: #ffffff25; color: #c6d9e8; }
.stream-link:hover { border-color: var(--cyan); background: #66e5ee0b; }
.stream-choices summary { color: #a4b6cb; }
.catalogue-note { border-color: #ffffff24; color: #9caec7; }
.voting-photo { border-radius: 20px; overflow: hidden; }
.image-caption { color: #fff; }
.onsite-note { border-color: #66e5ee40; border-radius: 14px; background: #12233365; }
.demo-section { background: linear-gradient(120deg,#0b111b,#171021); border-color: #ffffff20; }
.voting-benefits > div { border-color: #ffffff25; }
.voting-benefits > div > .icon { color: var(--pink); }
.gallery-toolbar { gap: 18px; }
.gallery-count { color: #adc0d8; }
.gallery-open { background: #e8f4fc; color: #15202e; border: none; }
.gallery-tile:hover .gallery-open { background: var(--pink); }
.lightbox { background: #090c14; border-color: #ffffff25; }
.event-wizard { border: 1px solid #ffffff28; border-radius: 22px; background: linear-gradient(150deg,#171d2b,#10121e); box-shadow: 0 20px 90px #0004; }
.wizard-top { color: #b7c8dd; }
.wizard-progress { background: #ffffff14; }
.wizard-progress > span { background: linear-gradient(90deg,var(--cyan),var(--pink)); }
.wizard-step legend { color: #f2f5ff; }
.occasion-options label > span { border-radius: 14px; border-color: #ffffff2b; background: #ffffff03; color: #bac9df; }
.occasion-options input:checked + span { background: #66e5ee0e; border-color: var(--cyan); color: #dffbff; }
.occasion-options label > span .icon { color: var(--pink); }
.field-grid input,.field-grid select,.wizard-step input:not([type=checkbox]):not([type=radio]),.wizard-step select,.wizard-step textarea { border-radius: 9px; border-color: #ffffff30; background: #090e19; color: #e2edfc; }
.wizard-step label { color: #b7c8de; }
.wizard-step .check-label { color: #adbbd2; }
.check-label input { accent-color: var(--cyan); }
.inquiry-summary { background: #070c1680; border-color: #ffffff20; border-radius: 12px; }
.delivery-note { color: #9daecc; }
.form-error { color: #ffa7d4; }
.contact-monogram { background: linear-gradient(145deg,#184655,#311c40); color: #c6f4f5; border: 1px solid #ffffff30; border-radius: 20px; }
.contact-monogram > span { color: var(--pink); }
.contact-method { border-color: #ffffff22; }
.contact-method > .icon { color: var(--cyan); }
.contact-method span { color: #92a8c4; }
.contact-method strong { color: #f0f5ff; }
.eventzone-card { background: linear-gradient(140deg,#131d2d,#1b1423); border: 1px solid #ffffff22; border-radius: 18px; }
.eventzone-card h3 { color: #eef1fc; }
.eventzone-card .eyebrow { color: #8aa6bd; }
.contact-small { color: #99abc4; }
.planning-card { border-radius: 18px; border: 1px solid #ffffff26; background: #131b2a; color: #eef3fc; }
.planning-card h2 { color: #eef3fc; }
.plain-checks li { color: #bacbe3; border-color: #ffffff1f; }
.planning-card .icon { color: var(--cyan); }
.legal-content { color: #ccd7e8; }
.legal-content a { color: var(--cyan); }
.notice { background: #261b28; border-color: #f781cf55; color: #d4bed2; }
.preview-ribbon { position: fixed; z-index: 100; bottom: 10px; left: 50%; right: auto; transform: translateX(-50%); width: max-content; max-width: calc(100% - 24px); text-align: center; font-size: 8px; font-weight: 500; letter-spacing: .04em; line-height: 1.5; padding: 7px 12px; border: 1px solid #ffffff22; border-radius: 30px; color: #afbfd1; background: #101521ec; box-shadow: 0 3px 16px #0005; pointer-events: none; }

/* Tablet */
@media (max-width: 1100px) {
 .desktop-nav { gap: 18px; margin-right: 0; }
 .desktop-nav > a { font-size: 11px; }
 .neon-title h1 { font-size: 9.6vw; }
 .neon-actions .button { font-size: 11px; padding: 14px 17px; gap: 12px; }
 .neon-footer > p { font-size: 13px; }
 .event-copy { padding: 22px; }
 .event-visual { height: 175px; }
 .members-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 940px) {
 :root { --header: 80px; }
 .desktop-nav { display: none; }
 .menu-toggle { display: inline-flex; }
 .header-inner { gap: 12px; }
 .header-booking { min-height: 42px; }
 .band-artwork { height: 350px; padding-inline: 0; gap: 6px; }
 .portrait-panel { border-radius: 12px 12px 0 0; }
 .portrait-panel figcaption { font-size: 7px; left: 7px; right: 7px; gap: 3px; line-height: 1.3; }
 .portrait-panel figcaption > span { width: 16px; height: 16px; font-size: 6px; flex: none; }
 .neon-footer { flex-direction: column; text-align: center; gap: 20px; padding-top: 20px; }
 .neon-footer > p { font-size: 15px; }
 .neon-actions .button { font-size: 12px; }
 .neon-meta { font-size: 8px; }
 .neon-meta > div { gap: 12px; }
 .neon-meta > div > span:last-child { letter-spacing: .05em; }
 .intro-section { gap: 7%; }
 .intro-section h2 { font-size: 48px; }
 .intro-text .large-copy { font-size: 22px; }
 .intro-text > p:not(.large-copy) { font-size: 13px; }
 .voting-layout { gap: 35px; }
 .voting-copy h2 { font-size: 39px; }
 .voting-copy > p { font-size: 14px; }
 .vote-demo { padding: 22px; }
 .vote-demo h3 { font-size: 30px; }
 .vote-title { font-size: 11px; }
 .mini-steps { gap: 12px; }
 .event-copy { padding: 19px; }
 .event-card h3 { font-size: 26px; }
 .compact .event-card p { font-size: 14px; }
 .event-visual { height: 160px; }
 .artist-teaser > div:last-child { padding: 22px; }
 .music-duo { gap: 16px; }
 .page-intro { padding-top: 56px; }
 .page-intro .intro-copy { font-size: 15px; }
}
/* Mobile: two singers above three instrumental views, not a cropped solo photo. */
@media (max-width: 600px) {
 :root { --pad: 22px; --header: 74px; }
 body { font-size: 15px; }
 .section { padding-block: 70px; }
 .brand { width: 92px; }
 .brand img { width: 86px; height: 62px; }
 .header-inner { gap: 14px; }
 .header-actions { gap: 9px; }
 .header-booking { min-height: 39px; font-size: 10px; padding: 10px 12px; gap: 9px; }
 .header-booking .icon { width: 14px; }
 .menu-toggle { width: 39px; height: 39px; }
 .neon-hero { padding-top: 21px; }
 .neon-prelude { font-size: 8px; letter-spacing: .13em; }
 .neon-prelude > span:last-child { display: none; }
 .band-artwork { height: 370px; grid-template-columns: repeat(6,minmax(0,1fr)); grid-template-rows: 181px 181px; gap: 8px; margin-top: 18px; padding: 0; }
 .portrait-panel { --offset: 0px; --tilt: 0deg; transform: none; border-radius: 13px; box-shadow: 0 0 24px #0003; }
 .portrait-panel:hover { transform: none; }
 .portrait-panel img { object-position: 50% 13%; }
 .portrait-panel:after { background: linear-gradient(0deg,#07080e8c,transparent 48%); }
 .portrait-panel figcaption { top: auto; bottom: 8px; left: 9px; right: 5px; font-size: 8px; text-shadow: 0 2px 6px #000; line-height: 1.25; }
 .portrait-panel figcaption > span { display: none; }
 .portrait-01 { grid-column: 1 / 3; grid-row: 2; }
 .portrait-02 { grid-column: 1 / 4; grid-row: 1; }
 .portrait-03 { grid-column: 3 / 5; grid-row: 2; }
 .portrait-04 { grid-column: 4 / 7; grid-row: 1; }
 .portrait-05 { grid-column: 5 / 7; grid-row: 2; }
 .portrait-02 img { object-position: 50% 4%; }
 .portrait-03 img { object-position: 50% 10%; }
 .portrait-04 img { object-position: 50% 3%; }
 .artwork-fade { display: none; }
 .artwork-watermark { display: none; }
 .artwork-orbits { opacity: .6; height: 420px; width: 580px; top: 0; }
 .neon-title { margin-top: 23px; text-align: left; }
 .neon-title h1 { white-space: normal; font-size: 13.1vw; line-height: .93; letter-spacing: -.07em; }
 .neon-title h1 > span { display: block; font-size: 22.2vw; line-height: .97; }
 .neon-footer { text-align: left; align-items: stretch; padding: 19px 0 21px; gap: 21px; }
 .neon-footer > p { font-size: 14px; line-height: 1.65; }
 .neon-actions { gap: 9px; }
 .neon-actions .button { flex: 1; min-height: 50px; font-size: 10px; padding: 13px 12px; gap: 9px; }
 .neon-actions .button .icon { width: 16px; height: 16px; }
 .neon-actions .secondary .icon { display: none; }
 .neon-meta { padding: 17px 0 20px; font-size: 8px; align-items: center; gap: 12px; }
 .neon-meta > div > i,.neon-meta > div > span:last-child { display: none; }
 .hero-eventzone { font-size: 10px; gap: 5px; }
 .hero-eventzone .icon { margin-left: 4px; width: 13px; }
 .ticker { padding-block: 14px; }
 .ticker-track { gap: 25px; }
 .ticker-track span { font-size: 10px; letter-spacing: .1em; }
 .ticker-track i { font-size: 14px; }
 .intro-section { display: grid; grid-template-columns: 1fr; gap: 30px; }
 .intro-section h2 { font-size: 53px; }
 .intro-section h2 .serif { font-size: 53px; }
 .intro-text .large-copy { font-size: 23px; }
 .intro-text > p:not(.large-copy) { font-size: 14px; }
 .intro-tags { gap: 7px; }
 .intro-tags > span { padding: 6px 9px; font-size: 9px; }
 .eyebrow { font-size: 9px; margin-bottom: 23px; letter-spacing: .12em; }
 .section-heading { gap: 24px; margin-bottom: 30px; flex-direction: column; align-items: flex-start; }
 .section-heading h2 { font-size: clamp(38px,10.4vw,57px); }
 .section-heading .text-link { font-size: 12px; }
 .section-aside p { font-size: 14px; }
 .voting-layout { grid-template-columns: 1fr; gap: 40px; }
 .voting-copy h2 { font-size: clamp(35px,10vw,51px); }
 .voting-copy p.large-copy { font-size: 22px; }
 .voting-copy > p:not(.eyebrow) { font-size: 14px; }
 .mini-steps { font-size: 11px; gap: 14px; flex-wrap: wrap; }
 .voting-copy .button { font-size: 12px; }
 .voting-stage { padding: 8px 5px 20px; }
 .vote-demo { width: 360px; transform: rotate(1deg); padding: 25px; }
 .vote-demo h3 { font-size: 32px; }
 .vote-title { font-size: 12px; }
 .vote-title small { font-size: 10px; }
 .vote-option { min-height: 66px; padding-inline: 10px; }
 .demo-status,.reset-vote { font-size: 10px; }
 .sunburst { width: 340px; height: 340px; }
 .hand-note { right: 20px; bottom: -12px; }
 .event-grid { grid-template-columns: 1fr; gap: 20px; border: none; }
 .event-card { min-height: 0; }
 .event-visual { height: 210px; }
 .event-copy { padding: 25px; }
 .event-meta { margin-bottom: 20px; }
 .event-card h3 { font-size: 33px; }
 .event-card p,.compact .event-card p { font-size: 16px; }
 .event-more { margin-top: 24px; font-size: 10px; }
 .event-photo-tag { font-size: 8px; }
 .understated { font-size: 12px; }
 .image-break { height: 460px; }
 .image-break > img { object-position: 58% 50%; }
 .image-break h2 { font-size: 64px; }
 .music-duo { grid-template-columns: 1fr; gap: 18px; }
 .artist-teaser { grid-template-columns: 1fr 1fr; }
 .artist-teaser > div:last-child { padding: 23px; }
 .artist-teaser h3 { font-size: 40px; }
 .artist-teaser p:not(.eyebrow) { font-size: 11px; }
 .review-section { padding-block: 35px; gap: 15px; }
 .review-section blockquote { font-size: 26px; }
 .review-mark { font-size: 78px; height: 55px; }
 .review-section .text-link { font-size: 11px; }
 .social-strip { gap: 10px; grid-template-columns: 1fr 1fr; }
 .social-strip .gallery-tile { aspect-ratio: .9; }
 .social-caption { font-size: 9px; }
 .social-caption .text-link { font-size: 10px; }
 .instagram-gate { padding: 23px; gap: 17px; }
 .instagram-gate h3 { font-size: 22px; }
 .instagram-gate p { font-size: 12px; }
 .instagram-gate .tag { white-space: normal; }
 .sponsors { padding-block: 38px; }
 .sponsor-logos { gap: 22px; }
 .sponsor small { font-size: 8px; }
 .final-cta { padding-block: 63px; }
 .final-cta .eyebrow { font-size: 8px; letter-spacing: .1em; }
 .final-cta h2 { font-size: clamp(43px,12vw,69px); }
 .final-cta .button { min-height: 51px; font-size: 12px; }
 .cta-note { font-size: 10px; }
 .site-footer { padding-top: 43px; }
 .footer-top { gap: 35px 22px; }
 .footer-top h2 { font-size: 12px; }
 .footer-brand img { width: 104px; height: 78px; }
 .footer-brand p { font-size: 11px; }
 .footer-top > div:not(:first-child) > a { font-size: 12px; }
 .footer-bottom { font-size: 9px; padding-block: 25px 42px; }
 .motion-toggle { font-size: 9px; }
 .page-intro { padding-top: 44px; padding-bottom: 38px; }
 .page-intro h1 { font-size: clamp(34px,9.1vw,55px); letter-spacing: -.05em; line-height: 1.04; }
 .page-intro .eyebrow { font-size: 8px; line-height: 1.8; }
 .page-intro .intro-copy { font-size: 14px; line-height: 1.8; margin-top: 24px; }
 .band-wide img { border-radius: 14px; }
 .band-wide .photo-tag { font-size: 7px; }
 .band-story { gap: 27px; }
 .band-story h2 { font-size: 40px; }
 .band-story .large-copy { font-size: 22px; }
 .members-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .member-card,.member-card:first-child { padding: 16px; border: 1px solid #ffffff20; }
 .member-initial { height: 145px; }
 .member-card h2 { font-size: 29px; }
 .member-card .eyebrow { font-size: 8px; letter-spacing: .03em; }
 .member-card p:not(.eyebrow) { font-size: 12px; }
 .member-card:last-child { grid-column: 1 / -1; }
 .member-card:last-child .member-initial { height: 170px; }
 .artist-intros { gap: 15px; }
 .artist-intros > article { padding: 26px; }
 .filter-tabs button { font-size: 11px; padding: 9px 14px; }
 .filter-tabs { gap: 2px; }
 .releases-grid { grid-template-columns: 1fr; gap: 25px; }
 .release-details { padding: 26px; }
 .release-details h3 { font-size: 30px; }
 .release-art .art-title { font-size: 49px; }
 .stream-link { font-size: 12px; }
 .stream-choices summary { font-size: 12px; }
 .catalogue-note p { font-size: 12px; }
 .gallery-toolbar { align-items: flex-start; flex-direction: column; gap: 18px; }
 .gallery-toolbar .filter-tabs { max-width: 100%; }
 .gallery-toolbar .filter-tabs button { padding: 8px 11px; font-size: 10px; }
 .masonry-gallery { gap: 10px; }
 .masonry-gallery .gallery-tile { border-radius: 10px; }
 .voting-page-grid { gap: 32px; }
 .voting-page-text h2 { font-size: 39px; }
 .voting-page-text p { font-size: 14px; }
 .numbered-list h3 { font-size: 21px; }
 .numbered-list p { font-size: 13px; }
 .onsite-note { padding: 20px; }
 .demo-section .two-column h2 { font-size: 44px; }
 .demo-section .large-copy { font-size: 22px; }
 .voting-benefits h3 { font-size: 25px; }
 .event-wizard { padding: 25px 20px; }
 .wizard-step legend { font-size: 26px; }
 .wizard-step label { font-size: 11px; }
 .wizard-step input,.wizard-step select,.wizard-step textarea { font-size: 16px; }
 .occasion-options label > span { font-size: 10px; }
 .wizard-actions .button { font-size: 12px; padding: 14px 17px; }
 .contact-aside { margin-top: 32px; }
 .contact-method strong { font-size: 16px; overflow-wrap: anywhere; }
 .contact-method span { font-size: 10px; }
 .eventzone-card { padding: 27px; }
 .eventzone-card h3 { font-size: 28px; }
 .eventzone-card p { font-size: 13px; }
 .contact-person h2 { font-size: 38px; }
 .contact-person .eyebrow { font-size: 9px; }
 .faq-list summary { font-size: 15px; line-height: 1.5; }
 .faq-answer p { font-size: 13px; }
 .legal-content h2 { font-size: 27px; }
 .legal-content p { font-size: 13px; line-height: 1.85; }
 .preview-ribbon { font-size: 7px; padding: 6px 10px; }
}
@media (max-width: 359px) {
 :root { --pad: 17px; }
 .header-inner { gap: 9px; }
 .brand { width: 76px; }
 .brand img { width: 74px; height: 58px; }
 .header-booking { font-size: 9px; padding-inline: 10px; }
 .menu-toggle { width: 36px; height: 36px; }
 .band-artwork { height: 330px; grid-template-rows: 162px 161px; gap: 7px; }
 .neon-title h1 { font-size: 13.5vw; }
 .neon-title h1 > span { font-size: 22vw; }
 .neon-footer > p { font-size: 12px; }
 .neon-actions .button { font-size: 9px; padding-inline: 9px; gap: 6px; }
 .neon-actions .button.primary .icon { display: none; }
 .hero-eventzone { font-size: 9px; }
 .intro-section h2,.intro-section h2 .serif { font-size: 45px; }
 .voting-copy h2 { font-size: 32px; }
 .vote-demo { padding: 20px; }
 .vote-title { font-size: 11px; }
 .demo-status,.reset-vote { font-size: 9px; }
 .member-card,.member-card:first-child { padding: 13px; }
 .member-card .eyebrow { font-size: 7px; }
 .gallery-toolbar .filter-tabs button { font-size: 9px; padding-inline: 9px; }
 .event-wizard { padding: 22px 16px; }
 .occasion-options label > span { font-size: 8px; }
 .wizard-actions .button { font-size: 10px; padding-inline: 13px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *,*:before,*:after { animation: none !important; transition: none !important; }
}
.motion-paused *, .motion-paused *:before, .motion-paused *:after { animation-play-state: paused !important; }
@media print {
 .neon-hero,.ticker,.preview-ribbon { display: none; }
 main { overflow: visible; }
 .planning-card { background: #fff; color: #111; }
 .planning-card h2,.plain-checks li { color: #111; }
}
/* Finishing details: no focus frame around an entire page; preview notes do not
   sit on top of the event form. These title graphics are not record sleeves. */
main:focus { outline: none; }
.preview-ribbon { position: relative; left: auto; bottom: auto; transform: none; margin: 12px auto 16px; }
.release-art { color: #f5f7ff; background: radial-gradient(ellipse at 90% 15%,#258093,transparent 60%),linear-gradient(135deg,#202449,#33162e); }
.art-mint { background: radial-gradient(ellipse at 10% 90%,#6d2670,transparent 68%),linear-gradient(140deg,#143b52,#12162d); }
.art-coral { background: radial-gradient(ellipse at 90% 10%,#9b4472,transparent 70%),#24223e; }
.art-violet { background: radial-gradient(ellipse at 80% 90%,#7466a9,transparent 70%),#162a3b; }
.art-blue { background: radial-gradient(ellipse at 0 0,#237e9b,transparent 70%),#172238; }
.art-pink { background: radial-gradient(ellipse at 90% 90%,#81457f,transparent 70%),#1b203c; }
.record-circle { border-color: #f2edff25; opacity: .6; }
.release-art .record-circle:before,.release-art .record-circle:after { border-color: #bde8ff33; }
@media print { .preview-ribbon { display: none; } }
/* Min-content safety: do not hide wide grids behind the page clipping edge. */
.voting-layout > *, .two-column > *, .band-story > *, .intro-section > * { min-width: 0; }
.voting-stage { min-width: 0; max-width: 100%; }
.vote-demo, .vote-demo.large { min-width: 0; max-width: 100%; }
.event-grid.compact { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: visible; margin-right: 0; padding-bottom: 0; }
@media (max-width: 760px) {
 .event-grid.compact { grid-template-columns: minmax(0,1fr); }
 .voting-layout, .two-column, .band-story { grid-template-columns: minmax(0,1fr); }
 .vote-demo, .vote-demo.large { width: min(360px,100%); }
 .band-story h2 { font-size: clamp(32px,8.7vw,46px); }
}
.event-grid.compact { display: grid; padding-right: 0; scroll-snap-type: none; }
.event-grid.compact .event-card { padding: 0; border-radius: 18px; flex: initial; }

/* Official partner and social/profile enhancements */
.sponsor-logo-link img{width:clamp(180px,19vw,285px);height:112px;object-fit:contain;display:block;margin:0 auto 8px;filter:drop-shadow(0 10px 22px #0007)}
.sponsor-logo-link:hover img{filter:drop-shadow(0 10px 28px #42b9ff55)}
.artist-platforms{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px}.artist-platforms .text-link{margin-top:0}
.instagram-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.instagram-actions .button{white-space:nowrap}.instagram-feed-button{min-height:43px;padding:10px 14px;color:#aeb8cf}
@media(max-width:760px){.sponsor-logo-link img{width:230px;height:100px}.instagram-actions{width:100%;margin-left:46px}.instagram-actions .button{font-size:10px}}
