@font-face {
  font-family: 'Galderglyn';
  src: url('../fonts/galderglyn.ttf') format('truetype');
  font-display: swap;
}
:root {
  --black: #000;
  --footer: #070707;
  --white: #fff;
  --yellow: #fff700;
  --pink: #f21952;
  --grey: #9a9a9a;
  --link: #3f9ce8;
  --display: 'Galderglyn', 'Oswald', 'Arial Narrow', Impact, sans-serif;
  --body: Arial, Helvetica, sans-serif;
  --gutter: clamp(20px, 3vw, 40px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--black);
  color: var(--white);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-family: var(--display); font-weight: normal; margin: 0; text-transform: uppercase; }
/* ---------- Header ---------- */
.header {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 28px var(--gutter) 20px;
}
.header--overlay { position: absolute; top: 0; left: 0; right: 0; }
.logo img { width: clamp(180px, 22vw, 310px); }
.nav { display: flex; gap: clamp(14px, 1.6vw, 26px); padding-top: 18px; }
.nav a {
  font-family: var(--display);
  font-size: clamp(22px, 2.3vw, 34px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  transition: color 170ms ease-in-out;
}
.nav a:hover, .nav a[aria-current="page"] { color: var(--yellow); }
.menu-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 10px 0;
  cursor: pointer;
  width: 26px;
}
.menu-toggle span { display: block; height: 2px; background: var(--white); margin: 6px 0; transition: transform .25s, opacity .25s; }
.menu-open .menu-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
.menu-open .menu-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
/* ---------- Home ---------- */
.hero { height: 35.4vw; min-height: 300px; overflow: hidden; background: #fa2d6e; }
.hero img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; }
.section { padding: 50px var(--gutter); text-align: center; }
.section-title { font-size: clamp(30px, 3vw, 40px); letter-spacing: 0.12em; margin-bottom: 30px; }
.headline { font-size: clamp(38px, 5vw, 70px); letter-spacing: 0.02em; line-height: 1.05; margin: 40px 0 16px; }
/* ---------- Music ---------- */
.releases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px 64px;
  padding: 36px var(--gutter) 100px;
}
.release { text-align: center; }
.release img { width: 100%; aspect-ratio: 1; object-fit: cover; background: #111; transition: opacity .2s; }
.release a:hover img { opacity: .85; }
.release h2 { font-size: clamp(24px, 2.4vw, 34px); letter-spacing: 0.02em; margin-top: 14px; line-height: 1.1; }
.release p { margin: 6px 0 0; font-size: 12px; letter-spacing: 0.04em; color: var(--grey); }
.release p span { padding: 0 6px; }
/* ---------- Footer ---------- */
.footer { background: var(--footer); padding: 70px var(--gutter) 90px; text-align: center; min-height: 240px; }
.social { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 30px; }
.social a { display: block; color: #fff; opacity: .9; transition: color 170ms, opacity 170ms; }
.social a:hover { color: var(--yellow); opacity: 1; }
.social svg { display: block; width: 24px; height: 24px; fill: currentColor; }
/* ---------- Mobile ---------- */
@media (max-width: 840px) {
  .header, .header--overlay {
    position: sticky;
    top: 0;
    background: #121212;
    align-items: center;
    padding: 18px 22px;
  }
  .logo img { width: 170px; }
  .menu-toggle { display: block; }
  .nav {
    position: fixed;
    inset: 0;
    z-index: -1;
    background: #000;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 26px;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s, visibility .25s;
  }
  .nav a { font-size: 44px; }
  .menu-open .nav { opacity: 1; visibility: visible; }
  .menu-open { overflow: hidden; }
  .hero { height: 100vw; min-height: 0; }
  .hero img { object-position: 45% 30%; }
  .section { padding: 60px 22px 40px; }
  .releases { grid-template-columns: repeat(2, 1fr); gap: 50px 30px; }
}
@media (max-width: 560px) {
  .releases { grid-template-columns: 1fr; }
}
/* ---------- Tour ---------- */
.tour-page { max-width: 1060px; margin: 0 auto; padding: 60px var(--gutter) 110px; min-height: 50vh; }
/* ---------- Videos ---------- */
.video-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px 56px;
  padding: 50px var(--gutter) 110px;
}
.video-tile { -webkit-appearance: none; appearance: none; background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; margin: 0; width: 100%; color: #fff; cursor: pointer; text-align: center; font: inherit; }
.video-thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #111; }
.video-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.video-tile:hover .video-thumb img { transform: scale(1.03); }
.play-icon {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-width: 15px 0 15px 24px;
  border-color: transparent transparent transparent #fff;
  filter: drop-shadow(0 0 6px rgba(0,0,0,.35));
}
.video-tile h2 { font-size: clamp(24px, 2.4vw, 34px); margin-top: 16px; line-height: 1.05; transition: color 170ms; }
.video-tile:hover h2 { color: var(--yellow); }
.lightbox {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(0,0,0,.82);
  display: flex; align-items: center; justify-content: center;
  padding: 4vh 4vw;
}
.lightbox[hidden] { display: none; }
.lightbox-frame { position: relative; width: min(92vw, calc(86vh * 16 / 9)); aspect-ratio: 16 / 9; background: #000; }
.lightbox-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lightbox-close {
  position: absolute; top: 14px; right: 22px;
  background: none; border: 0; color: #fff; font-size: 44px; line-height: 1; cursor: pointer; opacity: .8;
}
.lightbox-close:hover { opacity: 1; color: var(--yellow); }
body.lightbox-open { overflow: hidden; }
/* ---------- About / Write ---------- */
.press { margin: 20px 0 0; font-size: 12px; letter-spacing: 0.08em; color: #fff; }
.press a { color: var(--link); }
.press a:hover { color: var(--yellow); }
@media (max-width: 840px) {
  .video-grid { grid-template-columns: repeat(2, 1fr); gap: 44px 24px; }
  .press { text-align: center; }
  .tour-page { padding-top: 30px; }
}
@media (max-width: 560px) {
  .video-grid { grid-template-columns: 1fr; }
}
/* ---------- Seated tour widget (matches original site) ---------- */
.tour-widget { max-width: 1060px; margin: 0 auto; text-align: left; }
.tour { min-height: 180px; }
.seated-event-description-cells { font-size: 1.1em; font-family: Verdana, sans-serif; }
.seated-event-link, .seated-event-link:link, .seated-event-link:hover, .seated-event-link:visited, .seated-event-link1, .seated-event-link1:hover, .seated-event-link1:visited, .seated-event-link2, .seated-event-link2:visited, .seated-event-link3, .seated-event-link3:visited {
  background-color: #1da3e3 !important;
  color: #fff !important;
  font-size: 22pt;
  font-family: 'Galderglyn', sans-serif;
}
/* ---------- Music: album pop-up (V2 music page) ---------- */
.release-open { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #111; cursor: pointer; -webkit-appearance: none; appearance: none; }
.release-open img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.release-hover {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-family: var(--display); font-size: clamp(24px, 2.6vw, 38px); letter-spacing: .06em; text-transform: uppercase;
  background: rgba(0,0,0,.55); opacity: 0; transition: opacity .25s;
}
.release-open:hover .release-hover, .release-open:focus-visible .release-hover { opacity: 1; }
@media (hover: none) {
  .release-hover { display: none; }
}
dialog.album-sheet { padding: 0; border: 0; background: transparent; color: #fff; max-width: none; max-height: none; width: 100%; height: 100%; }
dialog.album-sheet::backdrop { background: rgba(0,0,0,.8); backdrop-filter: blur(4px); }
.sheet-wrap { min-height: 100%; display: flex; align-items: center; justify-content: center; padding: 30px 18px; }
.sheet { position: relative; display: grid; grid-template-columns: 1fr 1fr; width: min(900px, 100%); background: #0d0d0d; border: 1px solid #262626; animation: sheetpop .22s ease-out; }
@keyframes sheetpop { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.sheet-cover img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.sheet-body { padding: 30px 30px 26px; display: flex; flex-direction: column; text-align: left; }
.sheet-body h3 { font-size: clamp(34px, 4vw, 52px); line-height: .95; margin: 8px 0 22px; }
.sheet-meta { margin: 0; font-size: 12px; letter-spacing: .04em; color: var(--grey); }
.sheet-meta span { padding: 0 6px; }
.sheet .close { position: absolute; top: 6px; right: 12px; background: none; border: 0; color: #fff; font-size: 36px; line-height: 1; cursor: pointer; opacity: .75; z-index: 2; }
.sheet .close:hover { opacity: 1; color: var(--yellow); }
.buy-row { display: flex; gap: 8px; margin-bottom: 16px; }
.buy { flex: 1; display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--pink); color: #fff; transition: background .17s, color .17s; }
.buy:hover { background: #fff; color: var(--pink); }
.buy span { font-family: var(--display); font-size: 26px; letter-spacing: .06em; text-transform: uppercase; line-height: 1; }
.buy-alt { display: flex; align-items: center; padding: 0 16px; border: 1px solid var(--pink); color: var(--pink); font-family: var(--display); font-size: 22px; letter-spacing: .06em; text-transform: uppercase; transition: all .17s; }
.buy-alt:hover { background: var(--pink); color: #fff; }
.buy em, .dsp em { margin-left: auto; font-style: normal; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .8; }
.buy svg, .dsp svg { width: 20px; height: 20px; fill: currentColor; flex: none; }
.dsps { display: flex; flex-direction: column; }
.dsp { display: flex; align-items: center; gap: 12px; padding: 11px 4px; border-top: 1px solid #262626; font-size: 14px; letter-spacing: .04em; transition: color .17s, padding .17s; }
.dsp:last-child { border-bottom: 1px solid #262626; }
.dsp em { border: 1px solid #555; padding: 5px 10px; border-radius: 2px; transition: all .17s; }
.dsp:hover { color: var(--yellow); padding-left: 10px; }
.dsp:hover em { border-color: var(--yellow); background: var(--yellow); color: #000; opacity: 1; }
@media (max-width: 840px) {
  .sheet { grid-template-columns: 1fr; }
  .sheet-cover { max-width: 260px; margin: 26px auto 0; width: 60%; }
  .sheet-body { padding: 22px 20px 20px; }
}
/* ---------- V2 logo (single-line hand-lettered) ---------- */
.logo img { width: clamp(240px, 32vw, 460px); }
.nav { padding-top: 6px; }
@media (max-width: 840px) {
  .logo img { width: 210px; }
}
/* ---------- V2 fonts: Big Shoulders headers, Bebas Neue links ---------- */
:root { --display: 'Big Shoulders Display', 'Arial Narrow', Impact, sans-serif; --links: 'Bebas Neue', 'Arial Narrow', Impact, sans-serif; }
h1, h2, h3 { font-weight: 800; letter-spacing: .04em; }
.nav a { font-family: var(--links); font-size: calc(clamp(22px, 2.3vw, 34px) * 1.05); }
@media (max-width: 840px) {
  .nav a { font-size: 46px; }
}
.buy span, .buy-alt, .release-hover { font-family: var(--links); }
.seated-event-link, .seated-event-link:link, .seated-event-link:hover, .seated-event-link:visited, .seated-event-link1, .seated-event-link1:hover, .seated-event-link1:visited, .seated-event-link2, .seated-event-link2:visited, .seated-event-link3, .seated-event-link3:visited { font-family: var(--links) !important; }
/* ---------- V2 home: Overnight Delivery feature ---------- */
.feature { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 420px); justify-content: center; align-items: center; gap: 48px; text-align: left; padding-top: 70px; padding-bottom: 70px; }
.feature-cover img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: opacity .2s; }
.feature-cover:hover img { opacity: .9; }
.feature .headline { font-size: clamp(34px, 3.6vw, 52px); margin: 0 0 22px; }
.dsps { display: flex; flex-direction: column; }
.dsp { display: flex; align-items: center; gap: 12px; padding: 11px 4px; border-top: 1px solid #262626; font-size: 14px; letter-spacing: .04em; transition: color .17s, padding .17s; }
.dsp:last-child { border-bottom: 1px solid #262626; }
.dsp svg { width: 20px; height: 20px; fill: currentColor; flex: none; }
.dsp em { margin-left: auto; font-style: normal; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; border: 1px solid #555; padding: 5px 10px; border-radius: 2px; transition: all .17s; }
.dsp:hover { color: var(--yellow); padding-left: 10px; }
.dsp:hover em { border-color: var(--yellow); background: var(--yellow); color: #000; }
/* ---------- V2 home: merch grid ---------- */
.merch { max-width: 1200px; margin: 0 auto; }
.merch-img--product { background: #fff; }
.merch-img--product img { object-fit: contain; }
.merch-btn { align-self: center; margin-top: auto; padding: 9px 28px; background: var(--pink); color: #fff; font-family: var(--links); font-size: 22px; letter-spacing: .08em; transition: background .17s, color .17s; }
.merch-all { display: inline-block; margin-top: 40px; font-family: var(--links); font-size: 24px; letter-spacing: .08em; border-bottom: 2px solid currentColor; }
.merch-all:hover { color: var(--yellow); }
@media (max-width: 840px) {
  .feature { grid-template-columns: 1fr; gap: 26px; max-width: 420px; margin: 0 auto; }
}
/* ---------- V2 wide hero: pink extended left/right so the head sits smaller ---------- */
.hero picture { display: block; width: 100%; height: 100%; }
@media (min-width: 841px) {
  .hero { height: auto; min-height: 0; aspect-ratio: 3.6 / 1; }
  .hero img { object-fit: cover; object-position: 50% 0; }
}
/* ---------- V2 body font ---------- */
body { font-family: 'Space Mono', 'Courier New', monospace; }
.release p, .sheet-meta { letter-spacing: 0; }
/* ---------- V2 type + buttons: Walter Turncoat headers, Bebas Neue menu and secondary links ---------- */
:root { --display: 'Walter Turncoat', 'Comic Sans MS', cursive; --links: 'Bebas Neue', 'Arial Narrow', Impact, sans-serif; --small-links: 'Bebas Neue', 'Arial Narrow', Impact, sans-serif;
        --kicker: #35c4f0; --btn: #f21952; --btn-text: #fff; }
h1, h2, h3 { font-weight: 400; letter-spacing: .02em; }
.section-title { font-size: calc(clamp(30px, 3vw, 40px) * .8); }
.headline, .feature .headline { font-size: calc(clamp(34px, 3.6vw, 52px) * .8); line-height: 1.1; }
.release h2, .video-tile h2 { font-size: calc(clamp(24px, 2.4vw, 34px) * .75); line-height: 1.15; }
.sheet-body h3 { font-size: calc(clamp(34px, 4vw, 52px) * .75); line-height: 1.1; }
.release-hover { font-family: var(--small-links); font-size: clamp(16px, 1.6vw, 22px); letter-spacing: .04em; }
.merch-all { font-family: var(--small-links); font-size: 16px; letter-spacing: .04em; }
.merch-btn { font-family: var(--small-links); font-size: 15px; letter-spacing: .06em; border-radius: 999px; padding: 10px 30px; background: var(--btn); color: var(--btn-text); }
.buy { border-radius: 999px; padding: 12px 20px; background: var(--btn); color: var(--btn-text); }
.buy span { font-family: var(--small-links); font-size: 16px; letter-spacing: .06em; }
.buy:hover { background: #fff; color: #000; }
.buy-alt { border-radius: 999px; font-family: var(--small-links); font-size: 14px; border-color: var(--btn); color: var(--btn); }
.buy-alt:hover { background: var(--btn); color: var(--btn-text); }
/* ---------- V2 hover colors: hot pink everywhere except the top menu (stays yellow) ---------- */
:root { --hover: #f21952; }
.dsp:hover, .merch-all:hover, .press a:hover, .social a:hover, .video-tile:hover h2, .lightbox-close:hover, .sheet .close:hover { color: var(--hover); }
.dsp:hover em { border-color: var(--hover); background: var(--hover); color: #fff; }
/* ---------- V3: Arial headers, smaller cover, featured merch + list ---------- */
:root { --display: 'Helvetica Neue', Arial, Helvetica, sans-serif; }
h1, h2, h3 { font-weight: 700; letter-spacing: .01em; }
.section-title { font-size: clamp(22px, 2.2vw, 30px); letter-spacing: .08em; }
.headline, .feature .headline { font-size: clamp(28px, 3vw, 42px); line-height: 1.08; }
.release h2, .video-tile h2 { font-size: clamp(16px, 1.5vw, 20px); letter-spacing: .03em; }
.sheet-body h3 { font-size: clamp(26px, 3vw, 38px); }
.feature { grid-template-columns: minmax(0, 300px) minmax(0, 420px); }
@media (max-width: 840px) {
  .feature { max-width: 320px; }
}
/* ---------- V3: bigger header ---------- */
@media (min-width: 841px) {
  .hero { aspect-ratio: 2.5 / 1; }
  .hero img { object-position: 50% 0; }
}
/* ---------- V3 merch layouts (A: four picks · B: hover grid · C: records + apparel line) ---------- */
.merch-layouts > .ml { display: none; }
.mc { display: flex; flex-direction: column; text-align: center; }
.mc-img { display: block; overflow: hidden; background: #111; }
.mc-img.merch-img--product { background: #fff; }
.mc-img img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .35s, opacity .3s; }
.mc-img.merch-img--product img { object-fit: contain; }
.mc-info { display: flex; flex-direction: column; align-items: center; }
.mc-name { font-family: var(--display); font-weight: 700; text-transform: uppercase; font-size: 15px; letter-spacing: .02em; margin-top: 12px; }
.mc .merch-btn { margin-top: 0; }
.mc:hover .merch-btn { background: #fff; color: #000; }
/* ---------- V3: headers in the menu font (Bebas Neue), larger ---------- */
:root { --display: 'Bebas Neue', 'Arial Narrow', Impact, sans-serif; }
h1, h2, h3, .mc-name { font-weight: 400; letter-spacing: .05em; }
.section-title { font-size: clamp(42px, 4.6vw, 64px); letter-spacing: .06em; margin-bottom: 34px; }
.headline, .feature .headline { font-size: clamp(44px, 5vw, 72px); line-height: 1; }
.release h2, .video-tile h2 { font-size: clamp(26px, 2.4vw, 34px); line-height: 1.05; }
.sheet-body h3 { font-size: clamp(40px, 4.4vw, 60px); line-height: 1; }
.mc-name { font-size: 22px; letter-spacing: .04em; }
/* ---------- V3 merch D: compact grid, smaller images, softly rounded ---------- */
.ml-d { grid-template-columns: repeat(4, 1fr); gap: 44px 34px; max-width: 880px; margin: 0 auto; }
.ml-d .mc-img { border-radius: 10px; }
.ml-d .mc-img img { border-radius: 10px; }
.ml-d .mc:hover .mc-img img { transform: scale(1.03); }
.ml-d .mc-name { font-size: 20px; margin-top: 12px; }
.ml-d .merch-btn { padding: 7px 22px; font-size: 13px; }
@media (max-width: 840px) {
  .ml-d { grid-template-columns: repeat(2, 1fr); gap: 34px 18px; }
}
/* align Buy buttons across cards whose names wrap differently */
.ml-d .mc-info { flex: 1; }
.ml-d .merch-btn { margin-top: auto; }
/* ---------- V3: secondary links in Bebas Neue ---------- */
:root { --small-links: 'Bebas Neue', 'Arial Narrow', Impact, sans-serif; }
.merch-all { font-family: var(--links); font-size: 26px; letter-spacing: .08em; border-bottom: 2px solid currentColor; margin-top: 56px; }
.merch-btn { font-family: var(--links); letter-spacing: .08em; }
.buy span { font-family: var(--links); font-size: 24px; letter-spacing: .06em; }
.buy-alt { font-family: var(--links); font-size: 20px; }
.release-hover { font-family: var(--links); font-size: clamp(24px, 2.6vw, 38px); letter-spacing: .06em; }
/* ---------- V3: bigger merch ---------- */
.merch { max-width: 1320px; }
.merch .section-title { margin-bottom: 44px; }
.ml-d { max-width: 1240px; gap: 70px 44px; }
.ml-d .mc-img, .ml-d .mc-img img { border-radius: 12px; }
.ml-d .mc-name { font-size: 28px; line-height: 1; margin-top: 18px; letter-spacing: .04em; }
.ml-d .merch-btn { font-size: 21px; padding: 9px 36px 7px; }
@media (max-width: 840px) {
  .ml-d { gap: 44px 18px; }
  .ml-d .mc-name { font-size: 22px; }
  .ml-d .merch-btn { font-size: 18px; padding: 8px 26px 6px; }
}
/* keep the hero crisp */
.hero img { image-rendering: auto; }
/* ---------- V3 merch: Buy sits right under the item, price as a tag on the image ---------- */
.ml-d .mc-img { position: relative; }
.ml-d .mc-info { flex: 0 0 auto; }
.ml-d .mc-name { margin-top: 14px; }
.ml-d .merch-btn { margin-top: 12px; }
/* ---------- V3 merch: one-line titles, price inside the Buy button ---------- */
.mc-name { white-space: nowrap; max-width: 100%; }
.ml-d .mc-name { font-size: clamp(17px, 1.9vw, 25px); }
.ml-d .merch-btn { white-space: nowrap; }
.ml-d .merch-btn i { font-style: normal; opacity: .6; padding: 0 3px; }
@media (max-width: 840px) {
  .ml-d .mc-name { font-size: 4.6vw; }
  .ml-d .merch-btn { font-size: 16px; padding: 7px 18px 5px; }
}
/* equal columns even with one-line titles */
.ml-d { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ml-d .mc { min-width: 0; }
@media (max-width: 840px) {
  .ml-d { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ---------- V3: merch titles in Galderglyn (the original site's title font) ---------- */
.mc-name { font-family: 'Galderglyn', 'Arial Narrow', Impact, sans-serif; letter-spacing: .02em; }
.ml-d .mc-name { font-size: clamp(20px, 2.1vw, 30px); }
/* ---------- V3: larger Shop all merch ---------- */
.merch-all { font-size: clamp(34px, 3.4vw, 46px); letter-spacing: .06em; border-bottom-width: 3px; padding-bottom: 2px; margin-top: 64px; }
@media (max-width: 840px) {
  .merch-all { font-size: 32px; }
}
/* ---------- V3 merch T: near edge-to-edge, tiny gaps, bigger images + titles ---------- */
.merch-layouts[data-layout="t"] .ml-d { display: grid; }
.merch:has(.merch-layouts[data-layout="t"]) { max-width: none; padding-left: 8px; padding-right: 8px; }
.merch-layouts[data-layout="t"] .ml-d { max-width: none; column-gap: 6px; row-gap: 40px; }
.merch-layouts[data-layout="t"] .ml-d .mc-img, .merch-layouts[data-layout="t"] .ml-d .mc-img img { border-radius: 3px; }
.merch-layouts[data-layout="t"] .ml-d .mc-name { font-size: clamp(24px, 2.8vw, 40px); margin-top: 16px; }
.merch-layouts[data-layout="t"] .ml-d .merch-btn { font-size: clamp(18px, 1.6vw, 23px); padding: 9px 40px 7px; margin-top: 12px; }
@media (max-width: 840px) {
  .merch-layouts[data-layout="t"] .ml-d { column-gap: 4px; row-gap: 30px; }
  .merch-layouts[data-layout="t"] .ml-d .mc-name { font-size: 22px; }
  .merch-layouts[data-layout="t"] .ml-d .merch-btn { font-size: 17px; padding: 7px 24px 5px; }
  .merch:has(.merch-layouts[data-layout="t"]) { padding-left: 4px; padding-right: 4px; }
}
/* ---------- V3 merch side margins (aligned to logo / edge to edge / slim) ---------- */
#shop[data-margin="aligned"] { padding-left: var(--gutter); padding-right: var(--gutter); }
@media (max-width: 840px) {
  #shop[data-margin="aligned"] { padding-left: 22px; padding-right: 22px; }
}
/* ---------- V3 music page: album titles in Galderglyn to match the merch titles ---------- */
.release h2, .sheet-body h3 { font-family: 'Galderglyn', 'Arial Narrow', Impact, sans-serif; letter-spacing: .02em; }
.release h2 { font-size: clamp(24px, 2.3vw, 32px); margin-top: 16px; }
.sheet-body h3 { font-size: clamp(38px, 4vw, 54px); }
.release-open, .release-open img { border-radius: 3px; }
.release p { margin-top: 6px; }
/* ---------- V3 music: grid + hover + meta ---------- */
.releases { padding: 44px var(--gutter) 120px; max-width: none; }
.releases[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 56px; row-gap: 84px; max-width: 1180px; margin: 0 auto; }
.release { min-width: 0; }
/* subtle hover: cover lifts a few pixels and warms up slightly; title turns pink */
.release-hover { display: none; }
.release-open { background: transparent; overflow: visible; }
.release-open img { transition: transform .35s cubic-bezier(.2,.8,.2,1), filter .35s, box-shadow .35s; }
.release:hover .release-open img, .release-open:focus-visible img { transform: translateY(-5px); filter: brightness(1.07) saturate(1.12); box-shadow: 0 12px 26px rgba(0,0,0,.55); }
.release h2 { transition: color .2s; }
.release:hover h2 { color: var(--hover); }
/* the line under each title */
.rel-meta { margin: 7px 0 0; color: var(--grey); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.rel-meta span { padding: 0; }
.releases[data-meta="bebas"] .m-date { display: none; }
.releases[data-meta="bebas"] .rel-meta { font-family: var(--links); font-size: 18px; letter-spacing: .08em; color: #8a8a8a; margin-top: 4px; }
.releases[data-meta="bebas"] .m-year { color: var(--kicker); }
@media (max-width: 840px) {
  .releases[data-cols="3"] { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; row-gap: 44px; }
}
/* ---------- V3 music: final grid (3 across, big covers, tight gaps) + Bebas meta ---------- */
.releases[data-cols="3"] { max-width: none; margin: 0; column-gap: 6px; row-gap: 56px; padding-top: 30px; }
.releases[data-cols="3"] .release-open, .releases[data-cols="3"] .release-open img { border-radius: 3px; }
.release h2 { white-space: nowrap; font-size: clamp(28px, 3vw, 42px); margin-top: 16px; line-height: 1; }
.releases[data-meta="bebas"] .rel-meta { font-size: 17px; letter-spacing: .06em; margin-top: 6px; }
@media (max-width: 840px) {
  .releases[data-cols="3"] { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 4px; row-gap: 40px; }
  .release h2 { font-size: 22px; }
  .releases[data-meta="bebas"] .rel-meta { font-size: 14px; }
}
/* ---------- V3 music: no dot, pop-up meta matches the grid ---------- */
.releases[data-meta="bebas"] .m-year { margin-right: 7px; }
.sheet-meta { font-family: var(--links); font-size: 20px; letter-spacing: .06em; text-transform: uppercase; color: #8a8a8a; margin: 0; }
.sheet-meta .m-year { color: var(--kicker); margin-right: 8px; }
.buy span { white-space: nowrap; }
/* ---------- V3 videos page: same system as Music (3 across, tight gaps, Galderglyn titles, subtle hover) ---------- */
.video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 6px; row-gap: 48px; padding: 30px var(--gutter) 120px; }
.video-tile { min-width: 0; }
.video-thumb { border-radius: 3px; background: #000; overflow: hidden; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.video-thumb img { transition: filter .35s; }
.video-tile:hover .video-thumb img { transform: none; filter: brightness(1.07) saturate(1.12); }
.video-tile:hover .video-thumb, .video-tile:focus-visible .video-thumb { transform: translateY(-5px); box-shadow: 0 12px 26px rgba(0,0,0,.55); }
.play-icon { border-width: 11px 0 11px 18px; opacity: .78; transition: opacity .25s; }
.video-tile:hover .play-icon { opacity: 1; }
.video-tile h2 { font-family: 'Galderglyn', 'Arial Narrow', Impact, sans-serif; letter-spacing: .02em; white-space: nowrap;
  font-size: clamp(26px, 2.6vw, 38px); line-height: 1; margin-top: 14px; }
@media (max-width: 840px) {
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 4px; row-gap: 34px; }
  .video-tile h2 { font-size: 20px; }
}
@media (max-width: 560px) {
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ---------- V3 videos: play-all link (styled like Shop all merch) ---------- */
.video-grid { padding-bottom: 60px; }
/* ---------- Seated widget: original delicatesteve.com styling (homepage + tour page) ---------- */
.seated-event-description-cells { font-size: 1.1em; font-family: Verdana, sans-serif; }
.seated-event-link, .seated-event-link:link, .seated-event-link:hover, .seated-event-link:visited, .seated-event-link1, .seated-event-link1:hover, .seated-event-link1:visited, .seated-event-link2, .seated-event-link2:visited, .seated-event-link3, .seated-event-link3:visited {
  background-color: #1da3e3 !important; color: #fff !important; font-size: 22pt;
  font-family: 'Galderglyn', 'Arial Narrow', Impact, sans-serif !important; border-radius: 0 !important; }
/* ---------- V3 tour page heading (matches the homepage) ---------- */
.tour-title { text-align: center; margin: 0 0 34px; }
/* ---------- V3 write page: three layouts × two type sets ---------- */
.write { padding: 0 0 120px; }
.write-banner, .write-portrait { display: none; }
.write-banner img, .write-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.contacts { margin: 0; }
.contacts .c { margin: 0; }
.contacts dt, .contacts dd { margin: 0; }
.contacts a { transition: color .17s; }
.contacts .org { display: block; }
.press { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 44px; }
.press-label { width: 100%; }
/* ---------- V3 write: two-column (as on the original site), original fonts ---------- */
.write[data-layout="two"] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "portrait body" "press body";
  column-gap: clamp(30px, 4vw, 64px); align-items: start; padding: 24px var(--gutter) 120px; max-width: 1320px; margin: 0 auto; }
.write[data-layout="two"] .write-portrait { display: block; grid-area: portrait; aspect-ratio: 1; }
.write[data-layout="two"] .write-portrait img { border-radius: 3px; }
.write[data-layout="two"] .write-body { grid-area: body; text-align: center; padding-top: 6px; }
.write[data-layout="two"] .contacts { display: flex; flex-direction: column; gap: 26px; }
.write[data-layout="two"] .contacts .c { display: block; }
.write[data-layout="two"] .contacts dt, .write[data-layout="two"] .contacts dd { display: inline; }
.write[data-layout="two"] .contacts dd { margin-left: .45em; }
.write[data-layout="two"] .press { grid-area: press; justify-content: flex-start; margin-top: 18px; }
@media (max-width: 840px) {
  .write[data-layout="two"] { grid-template-columns: 1fr; grid-template-areas: "portrait" "press" "body"; padding-top: 10px; }
  .write[data-layout="two"] .write-body { padding-top: 40px; }
  .write[data-layout="two"] .contacts { gap: 18px; }
  .write[data-layout="two"] .contacts .c { display: flex; flex-direction: column; gap: 3px; }
  .write[data-layout="two"] .contacts dd { margin-left: 0; }
}
/* ---------- V3 write: readable two-column (clear labels, white names, emails shown) ---------- */
body[data-type="readable"] .write[data-layout="two"] { align-items: center; }
body[data-type="readable"] .write[data-layout="two"] .write-body { text-align: left; padding-top: 0; }
body[data-type="readable"] .write[data-layout="two"] .contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 36px; }
body[data-type="readable"] .write[data-layout="two"] .contacts .c { display: block; }
body[data-type="readable"] .contacts dt, body[data-type="readable"] .contacts dd { display: block; margin: 0; }
body[data-type="readable"] .contacts dt { font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #4a9fe3; margin-bottom: 8px; }
body[data-type="readable"] .contacts dd a { display: block; color: #fff; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 21px; line-height: 1.25; }
body[data-type="readable"] .contacts .org { display: block; font-size: 16px; color: #b5b5b5; margin-top: 2px; }
body[data-type="readable"] .contacts .org::before { content: none; }
body[data-type="readable"] .contacts a:hover { color: var(--hover); }
body[data-type="readable"] .press { font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 15px; gap: 0; }
body[data-type="readable"] .press-label { display: none; }
body[data-type="readable"] .pill { color: #4a9fe3; }
body[data-type="readable"] .pill + .pill::before { content: '|'; color: #666; padding: 0 10px; }
body[data-type="readable"] .pill:hover { color: var(--hover); }
@media (max-width: 840px) {
  body[data-type="readable"] .write[data-layout="two"] .contacts { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  body[data-type="readable"] .contacts dd a { font-size: 17px; }
  body[data-type="readable"] .contacts .org { font-size: 14px; }
}
@media (max-width: 480px) {
  body[data-type="readable"] .write[data-layout="two"] .contacts { grid-template-columns: 1fr; }
}
/* readable: phone spacing under the press links */
@media (max-width: 840px) {
  body[data-type="readable"] .write[data-layout="two"] .write-body { padding-top: 44px; }
}
/* readable: CONTACT on its own centered row above both columns */
body[data-type="readable"] .write[data-layout="two"] { grid-template-areas: "title title" "portrait body" "press body"; row-gap: 0; }
@media (max-width: 840px) {
  body[data-type="readable"] .write[data-layout="two"] { grid-template-areas: "title" "portrait" "press" "body"; }
}
/* readable: final sizing — slightly smaller portrait, larger, calmer type */
body[data-type="readable"] .write[data-layout="two"] { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); max-width: 1180px; column-gap: clamp(40px, 5vw, 80px); }
body[data-type="readable"] .write[data-layout="two"] .contacts { gap: 40px 44px; }
body[data-type="readable"] .contacts dt { font-size: 13px; letter-spacing: .18em; margin-bottom: 10px; }
body[data-type="readable"] .contacts dd a { font-size: clamp(22px, 2vw, 27px); line-height: 1.2; }
body[data-type="readable"] .contacts .org { font-size: clamp(16px, 1.3vw, 18px); margin-top: 4px; }
body[data-type="readable"] .press { font-size: 16px; margin-top: 20px; }
@media (max-width: 840px) {
  body[data-type="readable"] .write[data-layout="two"] { grid-template-columns: 1fr; }
  body[data-type="readable"] .write[data-layout="two"] .write-portrait { width: min(420px, 100%); justify-self: center; }
  body[data-type="readable"] .write[data-layout="two"] .press { justify-self: center; }
  body[data-type="readable"] .write[data-layout="two"] .contacts { gap: 28px; }
  body[data-type="readable"] .contacts dd a { font-size: 21px; }
}
/* readable: balanced composition — one centered block, portrait and contacts vertically centered on each other */
body[data-type="readable"] .write[data-layout="two"] {
  grid-template-columns: minmax(0, 440px) minmax(0, 540px); justify-content: center; align-items: center;
  grid-template-areas: "title title" "portrait body" "press ."; column-gap: clamp(48px, 6vw, 96px); max-width: none;
  padding: 36px var(--gutter) 140px; }
body[data-type="readable"] .write[data-layout="two"] .write-body { align-self: center; }
body[data-type="readable"] .write[data-layout="two"] .contacts { gap: 44px 48px; }
body[data-type="readable"] .write[data-layout="two"] .press { justify-self: center; margin-top: 22px; }
@media (max-width: 840px) {
  body[data-type="readable"] .write[data-layout="two"] { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "portrait" "press" "body"; padding-top: 16px; }
  body[data-type="readable"] .write[data-layout="two"] .write-portrait { width: min(380px, 100%); justify-self: center; }
  body[data-type="readable"] .write[data-layout="two"] .write-body { text-align: center; padding-top: 46px; }
  body[data-type="readable"] .write[data-layout="two"] .contacts { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
  body[data-type="readable"] .contacts dd a { font-size: 19px; }
}
@media (max-width: 420px) {
  body[data-type="readable"] .write[data-layout="two"] .contacts { grid-template-columns: 1fr; gap: 28px; }
}
/* readable: no visible title — portrait and contacts start at the top */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body[data-type="readable"] .write[data-layout="two"] { grid-template-areas: "portrait body" "press ."; padding-top: 56px; }
@media (max-width: 840px) {
  body[data-type="readable"] .write[data-layout="two"] { grid-template-areas: "portrait" "press" "body"; padding-top: 24px; }
}
/* readable: smaller press links */
body[data-type="readable"] .write[data-layout="two"] .press { font-size: 13px; letter-spacing: .04em; margin-top: 18px; }
body[data-type="readable"] .pill + .pill::before { padding: 0 8px; }
/* ---------- V3 weddings page ---------- */
.weddings { max-width: 1100px; margin: 0 auto; padding: 48px var(--gutter) 130px; text-align: center; }
.wed-video { position: relative; aspect-ratio: 16 / 9; background: #0d0d0d; border-radius: 3px; overflow: hidden; }
.wed-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.wed-cta { display: inline-block; margin-top: 34px; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-weight: 700;
  font-size: clamp(14px, 1.3vw, 17px); letter-spacing: .18em; text-transform: uppercase; color: #4a9fe3; transition: color .17s; }
.wed-cta:hover { color: var(--hover); }
@media (max-width: 840px) {
  .weddings { padding: 24px 0 100px; }
  .wed-video { border-radius: 0; }
  .wed-cta { padding: 0 22px; line-height: 1.6; }
}
/* six-item menu: keep clear space between the logo and the menu */
@media (min-width: 841px) {
  .logo img { width: clamp(210px, 25vw, 400px); }
  .nav { gap: clamp(12px, 1.4vw, 24px); }
  .nav a { font-size: calc(clamp(20px, 2.1vw, 34px) * var(--nav-scale, 1.05)); }
}
/* ---------- Seated tickets: same size on hover, colour change instead ---------- */
.seated-event-link, .seated-event-link1, .seated-event-link2, .seated-event-link3, .seated-event-link:hover, .seated-event-link1:hover, .seated-event-link2:hover, .seated-event-link3:hover, .seated-event-link:focus, .seated-event-link1:focus, .seated-event-link2:focus, .seated-event-link3:focus {
  font-size: 22pt !important; font-family: 'Galderglyn', 'Arial Narrow', Impact, sans-serif !important;
  transform: none !important; transition: background-color .18s, color .18s !important; }
.seated-event-link:hover, .seated-event-link1:hover, .seated-event-link2:hover, .seated-event-link3:hover, .seated-event-link:focus-visible, .seated-event-link1:focus-visible, .seated-event-link2:focus-visible, .seated-event-link3:focus-visible {
  background-color: var(--hover) !important; color: #fff !important; }
/* product photos on black instead of white tiles */
.mc-img.merch-img--product, .merch-img--product { background: #000 !important; }

/* ---------- weddings inquiry form (pop-up) ---------- */
.wed-cta { background: none; border: 0; cursor: pointer; }
dialog.wed-dialog { padding: 0; border: 1px solid #262626; background: #0d0d0d; color: #fff; width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 24px); border-radius: 4px; }
dialog.wed-dialog::backdrop { background: rgba(0,0,0,.8); backdrop-filter: blur(4px); }
.wed-form { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; padding: 36px 34px 30px; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; }
.wed-form-title { grid-column: 1 / -1; margin: 0 0 6px; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-weight: 700; font-size: 15px; letter-spacing: .18em; text-transform: uppercase; color: #4a9fe3; }
.wed-close { position: absolute; top: 8px; right: 14px; background: none; border: 0; color: #fff; font-size: 34px; line-height: 1; cursor: pointer; opacity: .75; }
.wed-close:hover { opacity: 1; color: var(--hover); }
.wf { display: flex; flex-direction: column; gap: 7px; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #bdbdbd; }
.wf em { font-style: normal; font-weight: 400; letter-spacing: .06em; text-transform: none; color: #777; }
.wf-full { grid-column: 1 / -1; }
.wf input, .wf textarea { font: 16px/1.4 'Helvetica Neue', Arial, Helvetica, sans-serif; letter-spacing: 0; text-transform: none; color: #fff; background: #161616;
  border: 1px solid #333; border-radius: 3px; padding: 11px 12px; width: 100%; box-sizing: border-box; color-scheme: dark; }
.wf textarea { resize: vertical; min-height: 96px; }
.wf input:focus, .wf textarea:focus { outline: none; border-color: var(--hover); box-shadow: 0 0 0 3px rgba(242,25,82,.25); }
.wf.invalid input, .wf.invalid textarea { border-color: var(--hover); }
.wf-error { grid-column: 1 / -1; margin: 0; color: var(--hover); font-size: 13px; }
.wf-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 6px; }
.wf-send { background: var(--btn); color: #fff; border: 0; border-radius: 999px; padding: 12px 34px; font: 700 13px 'Helvetica Neue', Arial, Helvetica, sans-serif; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; transition: background .17s, color .17s; }
.wf-send:hover { background: #fff; color: #000; }
.wf-note { margin: 0; font-size: 13px; color: #9a9a9a; }
.wf-note a, .wf-done a { color: #4a9fe3; }
.wf-note a:hover, .wf-done a:hover { color: var(--hover); }
.wed-form.sent > :not(.wf-done):not(.wed-close):not(.wed-form-title) { display: none; }
.wf-done { grid-column: 1 / -1; font-size: 15px; line-height: 1.5; color: #ddd; }
.wf-done p { margin: 0 0 10px; }
.wf-done-title { font-weight: 700; font-size: 22px; color: #fff; }
@media (max-width: 560px) { .wed-form { grid-template-columns: 1fr; padding: 32px 20px 24px; } }

/* form honeypot: invisible to people */
.wf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wf-send:disabled { opacity: .6; cursor: wait; }
