:root {
  --ltlf-navy: #0a3047;
  --ltlf-navy-deep: #061f2e;
  --ltlf-red: #d91f26;
  --ltlf-white: #ffffff;
  --ltlf-paper: #f4efe8;
  --ltlf-cream: #fffaf3;
  --ltlf-muted: #63717a;
  --ltlf-line: rgba(10, 48, 71, 0.16);
  --ltlf-font-body: "Manrope", Arial, sans-serif;
  --ltlf-font-display: "Archivo Black", Impact, sans-serif;
  --ltlf-gutter: clamp(24px, 7vw, 110px);
  --ltlf-section-space: clamp(72px, 8vw, 110px);
  --ltlf-header-height: 84px;
  --ltlf-transition: 280ms ease;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--ltlf-paper);
  color: var(--ltlf-navy);
  font-family: var(--ltlf-font-body);
  font-size: 16px;
  line-height: 1.65;
}

body.navigation-open { overflow: hidden; }

img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

h1,
h2,
h3,
h4,
h5,
h6,
.site-footer__statement {
  font-family: var(--ltlf-font-display);
  letter-spacing: -0.055em;
  line-height: 0.9;
  text-transform: uppercase;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus,
.skip-link:focus {
  clip: auto !important;
  clip-path: none;
  height: auto;
  left: 12px;
  top: 12px;
  width: auto;
  z-index: 1000;
  padding: 12px 16px;
  background: var(--ltlf-white);
  color: var(--ltlf-navy);
}

:focus-visible { outline: 3px solid var(--ltlf-red); outline-offset: 3px; }

.eyebrow {
  margin: 0 0 22px;
  color: var(--ltlf-red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.eyebrow--dark { color: var(--ltlf-red); }

.button,
.wp-element-button,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  min-height: 52px;
  border: 0;
  border-radius: 0;
  padding: 14px 22px;
  background: var(--ltlf-red);
  color: var(--ltlf-white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
  transition: filter var(--ltlf-transition), transform var(--ltlf-transition);
}

.button:hover,
.wp-element-button:hover,
input[type="submit"]:hover { filter: brightness(0.92); transform: translateY(-1px); }
.button--dark { background: var(--ltlf-navy); color: var(--ltlf-cream); }
.button--ghost { border: 1px solid currentColor; background: transparent; }

/* Header */
.site-header {
  position: relative;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--ltlf-header-height);
  padding: 0 clamp(24px, 5vw, 72px) 0 clamp(168px, 14vw, 210px);
  border-bottom: 4px solid var(--ltlf-red);
  background: var(--ltlf-white);
}

.site-brand {
  position: absolute;
  left: clamp(24px, 5vw, 72px);
  top: 8px;
  z-index: 2;
  display: flex;
  align-items: center;
}

.site-brand__mark,
.site-brand .custom-logo-link {
  display: grid;
  place-items: center;
}

.site-brand .custom-logo-link {
  width: 108px;
  height: 108px;
  background: var(--ltlf-white);
  box-shadow: 0 7px 0 var(--ltlf-red), 0 12px 22px rgba(6, 31, 46, 0.18);
}

.site-brand .custom-logo { width: 86px; max-height: 86px; object-fit: contain; }

.site-brand__fallback {
  display: grid;
  place-items: center;
  width: 108px;
  height: 108px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--ltlf-white);
  box-shadow: 0 7px 0 var(--ltlf-red), 0 12px 22px rgba(6, 31, 46, 0.18);
}
.site-brand__fallback img { width: 64px; height: 64px; object-fit: contain; }

.primary-navigation { margin-left: auto; margin-right: clamp(36px, 6vw, 96px); }
.primary-menu,
.header-action-menu,
.footer-menu,
.mobile-menu { margin: 0; padding: 0; list-style: none; }
.primary-menu { display: flex; gap: 32px; }
.primary-menu a {
  display: block;
  padding: 30px 0 27px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a { color: var(--ltlf-red); }

.site-header__actions { display: flex; align-items: center; gap: 18px; }
.header-action-menu a {
  display: block;
  padding: 9px 0;
  border-bottom: 3px solid var(--ltlf-red);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.menu-toggle {
  display: none;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  border: 0;
  padding: 0 14px;
  background: var(--ltlf-navy);
  color: var(--ltlf-white);
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Mobile navigation */
.navigation-scrim {
  position: fixed;
  inset: 0;
  z-index: 89;
  border: 0;
  background: rgba(3, 18, 27, 0.72);
  cursor: pointer;
}
.mobile-navigation {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 90;
  display: flex;
  flex-direction: column;
  width: min(500px, 100%);
  height: 100dvh;
  background: var(--ltlf-cream);
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.25);
  transform: translateX(105%);
  transition: transform var(--ltlf-transition);
  visibility: hidden;
}
.mobile-navigation.is-open { transform: translateX(0); visibility: visible; }
.mobile-navigation__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 84px;
  padding: 0 24px;
  border-bottom: 5px solid var(--ltlf-red);
  background: var(--ltlf-navy);
  color: var(--ltlf-white);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.menu-close { border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.mobile-menu { padding: 20px 30px; counter-reset: menu-item; }
.mobile-menu > li { counter-increment: menu-item; }
.mobile-menu > li > a {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid var(--ltlf-line);
  font-family: var(--ltlf-font-display);
  font-size: 36px;
  line-height: 1;
  text-transform: uppercase;
}
.mobile-menu > li > a::before { content: counter(menu-item, decimal-leading-zero); color: var(--ltlf-red); font-family: var(--ltlf-font-body); font-size: 9px; }
.mobile-menu > li > a::after { content: "↗"; font-family: var(--ltlf-font-body); font-size: 14px; }
.mobile-menu .current-menu-item > a,
.mobile-menu .current-menu-ancestor > a { color: var(--ltlf-red); }
.mobile-navigation__action { margin: auto 30px 30px; }
.mobile-navigation__action .header-action-menu a { display: flex; justify-content: space-between; width: 100%; padding: 17px 22px; border: 0; background: var(--ltlf-red); color: var(--ltlf-white); letter-spacing: .06em; }
.mobile-navigation__action .header-action-menu a::after { content: "↗"; }

/* Shared content */
.site-main { min-height: 40vh; overflow: hidden; }

/* Homepage */
.home-hero {
  position: relative;
  display: grid;
  grid-template-columns: 48% 52%;
  min-height: 720px;
  padding: 0 clamp(24px, 5vw, 72px) 60px;
  background: var(--ltlf-navy);
  color: var(--ltlf-cream);
}
.home-hero__noise {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 25%, rgba(237, 32, 36, 0.17), transparent 29%), linear-gradient(115deg, transparent 0 47%, rgba(220, 31, 38, 0.09) 47% 49%, transparent 49%);
  pointer-events: none;
}
.home-hero__copy {
  position: relative;
  z-index: 4;
  align-self: center;
  padding-bottom: 30px;
  text-shadow: 0 2px 18px rgba(6, 31, 46, 0.38);
  transform: translateY(26px);
}
.home-hero__copy h1 { max-width: 820px; margin: 0; font-size: clamp(58px, 7.5vw, 118px); line-height: 0.86; }
.home-hero__lead {
  max-width: 590px;
  margin: 30px 0 30px -16px;
  padding: 12px 52px 12px 16px;
  border-left: 3px solid var(--ltlf-red);
  background: linear-gradient(90deg, rgba(6, 31, 46, 0.96) 0%, rgba(6, 31, 46, 0.82) 72%, rgba(6, 31, 46, 0) 100%);
  color: var(--ltlf-cream);
  font-size: 17px;
  line-height: 1.7;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
}
.home-hero__values { margin: 0 0 26px; padding-left: 16px; border-left: 3px solid var(--ltlf-red); }
.home-hero__actions { display: flex; gap: 12px; }
.home-hero__art {
  position: absolute;
  inset: 0 0 58px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
  pointer-events: none;
}
.home-hero__art img {
  position: relative;
  z-index: 2;
  width: 108vw;
  max-width: none;
  height: auto;
  filter: drop-shadow(0 30px 42px rgba(0, 0, 0, 0.32));
  transform: translate(18%, 16%);
}
.home-hero__disc {
  position: absolute;
  top: 10%;
  right: 8%;
  z-index: 0;
  width: min(520px, 42vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--ltlf-red);
  box-shadow: 0 0 0 22px rgba(217, 31, 38, 0.08);
  opacity: 0.76;
}
.home-hero__vertical-tag { position: absolute; top: 40%; right: -22px; z-index: 3; color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: 0.25em; text-transform: uppercase; writing-mode: vertical-rl; }
.home-hero__ticker {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 58px;
  background: var(--ltlf-cream);
  color: var(--ltlf-navy);
  font-family: var(--ltlf-font-display);
  font-size: 20px;
  text-transform: uppercase;
  transform: rotate(-1deg) scale(1.02);
}
.home-hero__ticker i { color: var(--ltlf-red); font-style: normal; }

.home-music,
.home-story,
.home-events,
.home-shop { padding: 110px var(--ltlf-gutter); }
.home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 44px; }
.home-section-heading h2,
.home-shop h2 { margin: 0; font-size: clamp(45px, 6vw, 86px); line-height: 0.9; }
.home-section-heading > a { padding-bottom: 8px; border-bottom: 2px solid; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.home-music__grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 28px; }
.home-featured-release { position: relative; display: block; width: 100%; min-height: 0; aspect-ratio: 16 / 9; overflow: hidden; border: 0; padding: 0; background: #111; color: inherit; cursor: pointer; text-align: left; }
.home-featured-release > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0.78; }
.home-featured-release__overlay { position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; display: flex; align-items: center; gap: 18px; width: 100%; padding: 28px; background: linear-gradient(transparent, rgba(0, 0, 0, 0.85)); color: var(--ltlf-white); }
.home-featured-release .home-play { position: static; display: grid; flex: 0 0 58px; place-items: center; width: 58px; height: 58px; margin: 0; border: 0; border-radius: 50%; background: var(--ltlf-red); color: var(--ltlf-white); cursor: pointer; line-height: 1; transform: none; }
.home-featured-release__overlay p { margin: 0; color: #ff777b; font-size: 10px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.home-featured-release__overlay h3 { margin: 4px 0; font-size: 42px; line-height: 1; }
.home-featured-release__overlay span { font-size: 12px; }
.home-track-list { border-top: 1px solid var(--ltlf-line); }
.home-track { width: 100%; display: grid; grid-template-columns: 42px 1fr auto 36px; align-items: center; gap: 12px; padding: 25px 8px; border: 0; border-bottom: 1px solid var(--ltlf-line); background: transparent; color: var(--ltlf-navy); cursor: pointer; text-align: left; transition: background var(--ltlf-transition), padding var(--ltlf-transition); }
.home-track:hover { padding-left: 18px; background: var(--ltlf-cream); }
.home-track span,
.home-track i { font-size: 11px; font-style: normal; opacity: 0.55; }
.home-track strong { font-size: 16px; }
.home-track b { color: var(--ltlf-red); }

.home-story { background: var(--ltlf-red); color: var(--ltlf-cream); }
.home-story .eyebrow { color: var(--ltlf-navy); }
.home-story blockquote { max-width: 1200px; margin: 0; font-size: clamp(48px, 7vw, 100px); line-height: 0.94; }
.home-story__bottom { display: flex; align-items: flex-end; justify-content: space-between; margin-top: 55px; padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, 0.3); }
.home-story__bottom p { max-width: 620px; line-height: 1.8; }

.home-events { background: var(--ltlf-navy); color: var(--ltlf-cream); }
.home-section-heading--light > a { border-color: var(--ltlf-red); }
.home-event-card { display: grid; grid-template-columns: 180px 1fr auto; align-items: center; padding: 30px 0; border-top: 1px solid rgba(255, 255, 255, 0.2); border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.home-event-card__date { display: flex; align-items: center; gap: 13px; }
.home-event-card__date strong { color: #ff5b61; font-family: var(--ltlf-font-display); font-size: 76px; line-height: 1; }
.home-event-card__date span { font-size: 12px; line-height: 1.4; text-transform: uppercase; }
.home-event-card__copy p { margin: 0; color: var(--ltlf-red); font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; }
.home-event-card__copy h3 { margin: 4px 0; font-size: 32px; line-height: 1; }
.home-event-card__copy span { font-size: 13px; opacity: 0.65; }
.home-event-card > a { font-size: 12px; font-weight: 800; text-transform: uppercase; }

.home-shop { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.home-shop > div:first-child > p:last-child { max-width: 520px; line-height: 1.7; }
.home-shop__card { display: flex; flex-direction: column; justify-content: space-between; min-height: 380px; padding: 36px; border: 4px solid var(--ltlf-navy); background: var(--ltlf-cream); box-shadow: 18px 18px 0 var(--ltlf-red); transform: rotate(2deg); }
.home-shop__card span { font-family: var(--ltlf-font-display); font-size: 72px; line-height: 0.85; text-transform: uppercase; }
.home-shop__card a { font-size: 12px; font-weight: 800; text-transform: uppercase; }

/* The Fam page */
.the-fam-page { background: var(--ltlf-paper); }
.fam-intro {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 0.32fr;
  align-items: center;
  height: 399px;
  min-height: 399px;
  overflow: hidden;
  padding: 42px clamp(24px, 6vw, 95px);
  background: var(--ltlf-navy);
  color: var(--ltlf-cream);
}
.fam-intro::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 18% 28%, rgba(217, 31, 38, 0.18), transparent 27%); }
.fam-intro__copy { position: relative; z-index: 2; align-self: center; }
.fam-intro__copy .eyebrow { margin-bottom: 14px; }
.fam-intro h1 { max-width: 1120px; margin: 0; font-size: clamp(42px, 4.4vw, 62px); line-height: 0.91; letter-spacing: -0.04em; }
.fam-intro h1 span { color: var(--ltlf-red); }
.fam-intro__copy > p:not(.eyebrow) { max-width: 680px; margin: 16px 0; color: rgba(255, 250, 243, 0.76); font-size: 14px; line-height: 1.55; }
.fam-intro__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.fam-intro__index { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 20px; padding: 22px 0 22px 32px; border-left: 1px solid rgba(255, 255, 255, 0.24); }
.fam-intro__index span { color: var(--ltlf-red); font-size: 11px; font-weight: 800; letter-spacing: 0.18em; }
.fam-intro__index strong { font-size: 18px; line-height: 1.4; }

.fam-roster { padding: 100px clamp(24px, 6vw, 95px); background: var(--ltlf-paper); }
.fam-roster__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 46px; }
.fam-roster__heading h2,
.fam-story h2,
.fam-next h2 { margin: 0; font-family: var(--ltlf-font-body); font-size: clamp(48px, 6vw, 84px); font-weight: 800; letter-spacing: -0.05em; line-height: 0.94; text-transform: none; }
.fam-roster__heading > p { max-width: 520px; font-size: 15px; line-height: 1.8; }
.fam-roster__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; }
.fam-member-card { grid-column: span 2; min-width: 0; background: var(--ltlf-cream); }
.fam-member-card:nth-child(4) { grid-column: 2 / span 2; }
.fam-member-card:nth-child(5) { grid-column: 4 / span 2; }
.fam-member-card__photo { position: relative; height: 430px; overflow: hidden; background: var(--ltlf-navy); }
.fam-member-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.fam-member-card__photo b { position: absolute; top: 12px; left: 12px; padding: 7px 8px; background: var(--ltlf-red); color: var(--ltlf-white); font-size: 9px; letter-spacing: 0.12em; }
.fam-member-card__meta { padding: 24px; border-bottom: 3px solid var(--ltlf-navy); }
.fam-member-card__meta > span { display: block; margin-bottom: 7px; color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.fam-member-card__meta h3 { margin: 0 0 5px; font-family: var(--ltlf-font-body); font-size: 34px; letter-spacing: -0.03em; line-height: 1.1; text-transform: none; }
.fam-member-card__role { margin: 0 0 18px; color: var(--ltlf-muted); font-size: 9px; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.fam-member-card__bio { margin: 0; color: var(--ltlf-navy); font-size: 13px; font-weight: 500; letter-spacing: 0; line-height: 1.75; }

.fam-story { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 9vw; padding: 120px var(--ltlf-gutter); }
.fam-story__copy { padding-top: 24px; border-top: 3px solid var(--ltlf-navy); }
.fam-story__copy p { margin: 0 0 24px; font-size: 16px; line-height: 1.9; }
.fam-story__copy p:first-child { font-size: 21px; font-weight: 700; line-height: 1.6; }

.fam-values { padding: 105px var(--ltlf-gutter); background: var(--ltlf-red); color: var(--ltlf-cream); }
.fam-values .eyebrow { color: var(--ltlf-navy); }
.fam-values__heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 52px; }
.fam-values__heading h2 { margin: 0; font-size: clamp(52px, 6.6vw, 92px); line-height: 0.88; text-align: right; }
.fam-values__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.38); }
.fam-values__grid article { padding: 28px 25px 12px; border-right: 1px solid rgba(255, 255, 255, 0.28); }
.fam-values__grid article:last-child { border-right: 0; }
.fam-values__grid span { color: var(--ltlf-navy); font-size: 10px; font-weight: 800; }
.fam-values__grid h3 { margin: 35px 0 16px; font-family: var(--ltlf-font-body); font-size: 27px; letter-spacing: normal; line-height: 1.1; text-transform: none; }
.fam-values__grid p { font-size: 13px; line-height: 1.75; }

.fam-mission { padding: 110px var(--ltlf-gutter); background: var(--ltlf-navy); color: var(--ltlf-cream); }
.fam-mission blockquote { max-width: 1200px; margin: 0; font-size: clamp(52px, 7.2vw, 104px); line-height: 0.92; }
.fam-mission > div { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-top: 50px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, 0.24); }
.fam-mission > div p { max-width: 680px; margin: 0; color: rgba(255, 250, 243, 0.72); line-height: 1.8; }

.fam-next { display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: flex-start; gap: 8vw; padding: 105px var(--ltlf-gutter); }
.fam-next nav { border-top: 3px solid var(--ltlf-navy); }
.fam-next a { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; padding: 25px 8px; border-bottom: 1px solid var(--ltlf-line); transition: background var(--ltlf-transition), padding var(--ltlf-transition); }
.fam-next a:hover { padding-left: 18px; background: var(--ltlf-cream); }
.fam-next a span { font-size: 10px; opacity: 0.5; }
.fam-next a strong { font-size: 18px; }
.fam-next a b { color: var(--ltlf-red); }

/* Videos page */
.videos-hero { display: grid; grid-template-columns: 0.72fr 1.28fr; align-items: center; gap: 7vw; padding: 74px var(--ltlf-gutter) 90px; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.videos-hero__copy h1 { margin: 0; font-size: clamp(58px, 7.5vw, 108px); line-height: 0.84; }
.videos-hero__copy h1 span { color: var(--ltlf-red); }
.videos-hero__copy > p:last-child { max-width: 480px; margin: 28px 0 0; color: rgba(255, 249, 237, 0.72); line-height: 1.75; }
.videos-feature { position: relative; isolation: isolate; display: block; width: 100%; min-height: 0; aspect-ratio: 16 / 9; overflow: hidden; border: 0; padding: 0; background: #000; color: inherit; cursor: pointer; text-align: left; }
.videos-feature > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; opacity: 0.9; transition: transform 350ms ease; }
.videos-feature:hover > img { transform: scale(1.01); }
.videos-feature::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(0, 0, 0, 0.9)); }
.videos-feature__play,
.videos-card__play { display: grid; place-items: center; border-radius: 50%; background: var(--ltlf-red); color: var(--ltlf-white); }
.videos-feature__play { position: absolute; top: 44%; left: 50%; z-index: 2; width: 82px; height: 82px; padding-left: 5px; font-size: 24px; transform: translate(-50%, -50%); }
.videos-feature__content { position: absolute; right: 32px; bottom: 28px; left: 32px; z-index: 2; display: block; }
.videos-feature__label,
.videos-card > p { display: block; margin: 0 0 8px; color: #ff777b; font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.videos-feature__content strong { display: block; margin: 0; font-family: var(--ltlf-font-display); font-size: clamp(45px, 5vw, 76px); letter-spacing: -0.055em; line-height: 0.85; text-transform: uppercase; }
.videos-feature__action { position: absolute; right: 0; bottom: 4px; font-size: 11px; font-weight: 800; text-transform: uppercase; }

.videos-collection { padding: 96px var(--ltlf-gutter); background: var(--ltlf-cream); }
.videos-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 38px; }
.videos-heading h2 { margin: 0; font-size: clamp(46px, 6vw, 82px); line-height: 0.88; }
.videos-heading > a { padding-bottom: 8px; border-bottom: 2px solid var(--ltlf-navy); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.videos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.videos-card__image { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; border: 0; padding: 0; background: var(--ltlf-navy); cursor: pointer; text-align: left; }
.videos-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.videos-card__image:hover img { transform: scale(1.035); }
.videos-card__play { position: absolute; bottom: 20px; left: 20px; width: 50px; height: 50px; padding-left: 3px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); }
.videos-card > p { margin-top: 18px; color: var(--ltlf-red); }
.videos-card h3 { margin: 0; font-size: clamp(25px, 2.5vw, 38px); line-height: 0.95; }

.videos-cta { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; padding: 82px var(--ltlf-gutter); background: var(--ltlf-red); color: var(--ltlf-white); }
.videos-cta .eyebrow { color: var(--ltlf-navy); }
.videos-cta h2 { margin: 0; font-size: clamp(48px, 6vw, 84px); line-height: 0.88; }
.videos-cta .button { flex: none; }

body.video-dialog-open { overflow: hidden; }
.video-dialog { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: clamp(18px, 5vw, 70px); background: rgba(3, 18, 27, 0.94); }
.video-dialog[hidden] { display: none !important; visibility: hidden; pointer-events: none; }
.video-dialog__inner { width: min(1100px, 100%); color: var(--ltlf-cream); }
.video-dialog__close { display: block; margin: 0 0 14px auto; border: 0; background: transparent; color: var(--ltlf-white); cursor: pointer; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.video-dialog__embed { aspect-ratio: 16 / 9; background: #000; }
.video-dialog__embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.video-dialog__inner > p { color: rgba(255, 255, 255, 0.68); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }

.content-shell { padding: var(--ltlf-section-space) var(--ltlf-gutter); }
.content-entry { max-width: 1180px; margin: 0 auto; }
.content-entry__header h1 { margin: 0 0 40px; font-size: clamp(52px, 7vw, 100px); }
.entry-content > * { max-width: 820px; }
.entry-content > .alignwide { max-width: 1180px; }
.entry-content > .alignfull { max-width: none; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); width: 100vw; }
.wp-caption,
.gallery-caption { color: var(--ltlf-muted); font-size: 13px; }

/* Footer */
.site-footer { padding: 100px var(--ltlf-gutter) 30px; background: var(--ltlf-navy-deep); color: var(--ltlf-cream); text-align: center; }
.site-footer__statement { max-width: 1000px; margin: 0 auto 40px; font-size: clamp(48px, 7vw, 100px); }
.footer-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; }
.footer-menu a { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.footer-menu a:hover { color: var(--ltlf-red); }
.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 85px;
  padding-top: 25px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 10px;
  letter-spacing: 0.12em;
  opacity: 0.65;
  text-align: left;
  text-transform: uppercase;
}

@media (max-width: 1000px) {
  .primary-menu { gap: 22px; }
  .videos-hero { grid-template-columns: 1fr; }
  .videos-hero__copy { max-width: 700px; }
  .videos-grid { grid-template-columns: 1fr 1fr; }
  .videos-card:last-child { grid-column: 1 / -1; max-width: calc(50% - 12px); }
}

@media (max-width: 850px) {
  :root { --ltlf-header-height: 76px; }
  .site-header { min-height: var(--ltlf-header-height); padding-right: 18px; padding-left: 116px; }
  .site-brand { left: 20px; top: 8px; }
  .site-brand .custom-logo-link,
  .site-brand__fallback { width: 92px; height: 92px; }
  .site-brand .custom-logo { width: 54px; max-height: 54px; }
  .site-brand__fallback img { width: 50px; height: 50px; }
  .primary-navigation,
  .header-action-menu { display: none; }
  .menu-toggle { display: inline-flex; }
  .home-hero { grid-template-columns: 1fr; padding-top: 80px; }
  .home-hero__copy { grid-row: 1; padding-top: 108px; transform: none; }
  .home-hero__lead { padding-right: 26px; background: linear-gradient(90deg, rgba(6, 31, 46, 0.97), rgba(6, 31, 46, 0.78) 86%, rgba(6, 31, 46, 0)); }
  .home-hero__art { inset: 42% 0 58px; }
  .home-hero__art img { width: 148vw; transform: translate(22%, 17%); }
  .home-hero__disc { width: 78vw; right: 8%; }
  .home-hero__vertical-tag { display: none; }
  .home-hero__ticker { font-size: 13px; }
  .home-music,
  .home-story,
  .home-events,
  .home-shop { padding-top: 80px; padding-bottom: 80px; }
  .home-music__grid,
  .home-shop { grid-template-columns: 1fr; }
  .home-section-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
  .home-story__bottom { align-items: flex-start; flex-direction: column; gap: 25px; }
  .home-event-card { grid-template-columns: 1fr; gap: 22px; }
  .home-event-card > a { justify-self: start; }
  .fam-intro { grid-template-columns: 1fr; height: auto; min-height: auto; padding-top: 145px; padding-bottom: 50px; }
  .fam-intro h1 { font-size: clamp(52px, 14vw, 78px); }
  .fam-intro__copy > p:not(.eyebrow) { margin: 28px 0; font-size: 16px; line-height: 1.8; }
  .fam-intro__index { display: none; }
  .fam-roster__heading { align-items: flex-start; flex-direction: column; }
  .fam-roster__grid { grid-template-columns: 1fr; }
  .fam-member-card,
  .fam-member-card:nth-child(4),
  .fam-member-card:nth-child(5) { grid-column: auto; }
  .fam-member-card__photo { height: 520px; }
  .fam-story,
  .fam-next { grid-template-columns: 1fr; }
  .fam-values__heading { align-items: flex-start; flex-direction: column; }
  .fam-values__heading h2 { text-align: left; }
  .fam-values__grid { grid-template-columns: 1fr 1fr; }
  .fam-values__grid article { border-bottom: 1px solid rgba(255, 255, 255, 0.28); }
  .fam-mission > div { align-items: flex-start; flex-direction: column; }
  .videos-hero { padding-top: 120px; }
  .videos-feature { min-height: 0; }
  .videos-cta { align-items: flex-start; flex-direction: column; }
  .site-footer__bottom { flex-direction: column; gap: 10px; }
}

@media (max-width: 560px) {
  .site-header { padding-left: 104px; }
  .site-brand .custom-logo-link,
  .site-brand__fallback { width: 82px; height: 82px; }
  .site-brand .custom-logo { width: 56px; max-height: 56px; }
  .site-brand__fallback img { width: 50px; height: 50px; }
  .home-hero__copy h1 { font-size: 55px; }
  .home-hero__actions { align-items: flex-start; flex-direction: column; }
  .home-featured-release { min-height: 0; }
  .home-featured-release__overlay { padding: 22px; }
  .home-track { grid-template-columns: 34px 1fr auto 26px; }
  .home-shop__card { min-height: 310px; box-shadow: 10px 10px 0 var(--ltlf-red); }
  .home-shop__card span { font-size: 58px; }
  .fam-intro { padding-top: 120px; }
  .fam-intro h1 { font-size: 52px; }
  .fam-intro__actions { align-items: flex-start; flex-direction: column; }
  .fam-roster { padding-top: 75px; padding-bottom: 75px; }
  .fam-member-card__photo { height: 440px; }
  .fam-story,
  .fam-values,
  .fam-mission,
  .fam-next { padding-top: 75px; padding-bottom: 75px; }
  .fam-values__grid { grid-template-columns: 1fr; }
  .fam-values__grid article { border-right: 0; }
  .mobile-menu > li > a { font-size: 30px; }
  .site-footer { padding-top: 74px; }
}

@media (max-width: 620px) {
  .videos-hero { padding: 105px 24px 60px; }
  .videos-hero__copy h1 { font-size: 55px; }
  .videos-feature { min-height: 0; }
  .videos-feature__content { right: 20px; bottom: 20px; left: 20px; }
  .videos-feature__play { width: 62px; height: 62px; }
  .videos-feature__action { display: none; }
  .videos-grid { grid-template-columns: 1fr; }
  .videos-card:last-child { grid-column: auto; max-width: none; }
  .videos-heading { align-items: flex-start; flex-direction: column; }
  .videos-collection { padding-top: 70px; padding-bottom: 75px; }
  .video-dialog { padding: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

/* Music archive and release system */
.music-archive,
.music-single { background: var(--ltlf-cream); color: var(--ltlf-navy); }
.music-archive .music-hero { position: relative; display: grid; grid-template-columns: 48% 52%; align-items: center; min-height: 760px; padding: 70px var(--ltlf-gutter) 110px; overflow: hidden; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.music-archive .music-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 13% 28%, rgba(217,31,38,.2), transparent 28%); pointer-events: none; }
.music-archive .music-hero__copy { position: relative; z-index: 3; }
.music-archive .music-hero__copy h1 { margin: 0; font-size: clamp(66px, 8.6vw, 132px); line-height: .78; letter-spacing: -.035em; text-transform: uppercase; }
.music-archive .music-hero__copy h1 em { display: inline-block; color: var(--ltlf-red); font-family: inherit; font-style: normal; font-weight: inherit; white-space: nowrap; }
.music-archive .music-hero__copy > p:not(.eyebrow) { max-width: 610px; margin: 34px 0; color: rgba(255,250,243,.78); font-size: 17px; line-height: 1.75; }
.music-archive .music-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.music-archive .music-hero__actions a { padding: 13px 16px; border: 1px solid rgba(255,255,255,.28); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: background var(--ltlf-transition), color var(--ltlf-transition); }
.music-archive .music-hero__actions a:hover { border-color: var(--ltlf-red); background: var(--ltlf-red); }
.music-archive .music-hero__actions .music-hero__direct { border-color: var(--ltlf-red); background: var(--ltlf-red); color: white; }
.music-archive .music-hero__actions .music-hero__direct:hover { border-color: white; background: white; color: var(--ltlf-navy); }
.music-archive .music-hero__art { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; min-width: 0; }
.music-archive .music-hero__art > a { position: relative; z-index: 2; display: block; width: min(590px, 47vw); aspect-ratio: 1; box-shadow: 22px 22px 0 var(--ltlf-red); }
.music-archive .music-hero__art img { width: 100%; height: 100%; object-fit: cover; }
.music-archive .music-hero__record { position: absolute; right: -25%; z-index: 1; width: min(580px, 45vw); aspect-ratio: 1; border: 44px solid var(--ltlf-navy-deep); border-radius: 50%; box-shadow: 0 0 0 3px rgba(255,255,255,.12), 0 0 0 30px #0d2636; }
.music-archive .music-hero__fallback { position: relative; z-index: 2; display: grid; place-items: center; width: min(590px, 47vw); aspect-ratio: 1; box-shadow: 22px 22px 0 var(--ltlf-red); background: var(--ltlf-paper); color: var(--ltlf-navy); font-family: var(--ltlf-font-display); font-size: clamp(40px, 6vw, 90px); }
.music-archive .music-hero__release-label { position: absolute; right: -54px; bottom: 12%; z-index: 3; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; writing-mode: vertical-rl; }
.music-archive .music-hero__marquee { position: absolute; right: 0; bottom: 0; left: 0; z-index: 5; display: flex; align-items: center; justify-content: space-around; height: 58px; background: var(--ltlf-cream); color: var(--ltlf-navy); font-family: var(--ltlf-font-display); font-size: 18px; text-transform: uppercase; transform: rotate(-1deg) scale(1.02); }
.music-archive .music-hero__marquee i { color: var(--ltlf-red); font-style: normal; }
.music-archive .music-catalog { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; padding: 120px var(--ltlf-gutter); }
.music-archive .music-catalog__intro h2,
.music-archive .music-video__copy h2,
.music-archive .music-booking__copy h2 { margin: 0; font-family: var(--ltlf-font-body); font-size: clamp(42px, 5.2vw, 72px); font-weight: 800; letter-spacing: -.045em; line-height: .98; text-transform: none; }
.music-archive .music-catalog__intro > p:last-child { max-width: 500px; margin: 28px 0 0; line-height: 1.8; }
.music-archive .music-release-list { align-self: start; border-top: 3px solid var(--ltlf-navy); }
.music-archive .music-release-row { display: grid; grid-template-columns: 42px minmax(140px, 1fr) auto minmax(205px, auto); align-items: center; gap: 16px; min-height: 82px; padding: 18px 10px; border-bottom: 1px solid var(--ltlf-line); transition: background var(--ltlf-transition), padding var(--ltlf-transition); }
.music-archive .music-release-row:hover { padding-left: 20px; background: var(--ltlf-cream); }
.music-archive .music-release-row__number,
.music-archive .music-release-row__duration { font-family: var(--ltlf-font-body); font-size: 11px; opacity: .55; }
.music-archive .music-release-row__title h3 { margin: 0 0 5px; font-family: var(--ltlf-font-body); font-size: 18px; font-weight: 800; letter-spacing: 0; line-height: 1.2; text-transform: none; }
.music-archive .music-release-row__title h3 a { color: inherit; text-decoration: none; }
.music-archive .music-release-row__title span { display: block; font-size: 10px; letter-spacing: .1em; opacity: .55; text-transform: uppercase; }
.music-archive .music-release-row__actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.music-archive .music-release-row audio { width: 180px; height: 34px; }
.music-purchase { display: inline-flex; align-items: center; gap: 8px; }
.music-purchase__price { font-size: 12px; font-weight: 800; white-space: nowrap; }
.music-purchase__price del { margin-right: 4px; opacity: .55; }
.music-purchase__button { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 10px 12px; border: 1px solid var(--ltlf-red); background: var(--ltlf-red); color: white; font-size: 9px; font-weight: 800; letter-spacing: .06em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.music-purchase__button:hover,
.music-purchase__button:focus-visible { border-color: var(--ltlf-navy); background: var(--ltlf-navy); color: white; }
.music-purchase__button.is-unavailable { border-color: var(--ltlf-line); background: transparent; color: var(--ltlf-muted); }
.music-archive .music-release-row__details { padding: 11px 12px; background: var(--ltlf-red); color: white; font-size: 9px; font-weight: 800; letter-spacing: .06em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.music-archive .music-catalog__path { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px 0 0; }
.music-archive .music-catalog__path p { max-width: 520px; margin: 0; font-size: 13px; line-height: 1.7; }
.music-archive .music-catalog__path strong { color: var(--ltlf-red); }
.music-archive .music-empty { align-self: start; padding: 55px 20px; border-top: 3px solid; border-bottom: 1px solid var(--ltlf-line); text-align: center; }
.music-archive .music-empty h3 { margin: 0 0 12px; font-size: 34px; text-transform: uppercase; }
.music-archive .music-video { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 7vw; padding: 110px var(--ltlf-gutter); background: var(--ltlf-navy); color: var(--ltlf-cream); }
.music-archive .music-video__copy > p:not(.eyebrow) { max-width: 450px; margin: 28px 0; color: rgba(255,250,243,.72); line-height: 1.8; }
.music-archive .music-video__frame { position: relative; display: block; min-height: 490px; overflow: hidden; border-bottom: 8px solid var(--ltlf-red); background: var(--ltlf-navy-deep); }
.music-archive .music-video__frame > img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.music-archive .music-video__frame::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,31,46,.42), transparent 60%); }
.music-archive .music-video__play { position: absolute; top: 50%; left: 50%; z-index: 2; display: grid; place-items: center; width: 86px; height: 86px; padding-left: 5px; border-radius: 50%; background: var(--ltlf-red); font-size: 25px; transform: translate(-50%,-50%); }
.music-archive .music-video__frame small { position: absolute; bottom: 22px; left: 24px; z-index: 2; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.music-archive .music-manifesto { padding: 110px var(--ltlf-gutter); background: var(--ltlf-red); color: var(--ltlf-cream); text-align: left; }
.music-archive .music-manifesto .eyebrow { color: var(--ltlf-navy); }
.music-archive .music-manifesto blockquote { max-width: 1250px; margin: 0; font-family: var(--ltlf-font-body); font-size: clamp(46px, 6.2vw, 84px); font-style: normal; font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.music-archive .music-manifesto > div { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-top: 50px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.38); }
.music-archive .music-manifesto > div p { max-width: 650px; margin: 0; line-height: 1.8; }
.music-archive .music-archive-cta { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 75px var(--ltlf-gutter); border-top: 1px solid rgba(255,255,255,.16); background: var(--ltlf-navy); color: var(--ltlf-cream); }
.music-archive .music-archive-cta h2 { margin: 0; font-family: var(--ltlf-font-body); font-size: clamp(40px, 4.8vw, 66px); font-weight: 800; letter-spacing: -.045em; line-height: .98; text-transform: none; }
.music-archive .music-archive-cta p:not(.eyebrow) { max-width: 670px; color: rgba(255,250,243,.7); line-height: 1.7; }
.music-archive .music-booking { display: grid; grid-template-columns: 1fr 1fr; min-height: 650px; padding: 0; overflow: hidden; background: var(--ltlf-cream); }
.music-archive .music-booking > img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.music-archive .music-booking__copy { align-self: center; padding: 90px clamp(24px,7vw,100px); }
.music-archive .music-booking__copy > p:not(.eyebrow) { max-width: 560px; margin: 28px 0; line-height: 1.8; }
.music-single .music-single-hero { display: grid; grid-template-columns: minmax(320px,.82fr) 1.18fr; align-items: center; gap: clamp(45px,7vw,110px); padding: 72px var(--ltlf-gutter) 90px; background: var(--ltlf-cream); color: var(--ltlf-navy); }
.music-single .music-single-hero__art { position: relative; aspect-ratio: 1; background: var(--ltlf-paper); }
.music-single .music-single-hero__art img { display: block; width: 100%; height: 100%; object-fit: cover; box-shadow: 20px 20px 0 var(--ltlf-red); }
.music-single .music-single-hero__art--empty { display: grid; place-items: center; box-shadow: 20px 20px 0 var(--ltlf-red); color: var(--ltlf-navy); font-family: var(--ltlf-font-display); font-size: clamp(52px,7vw,98px); }
.music-single .music-single-hero__label { position: absolute; top: 18px; left: -14px; z-index: 2; padding: 11px 15px; background: var(--ltlf-red); color: white; font-size: 10px; font-weight: 800; letter-spacing: .14em; line-height: 1; text-transform: uppercase; }
.music-single .music-single-hero__back { display: inline-block; margin-bottom: 28px; padding-bottom: 5px; border-bottom: 1px solid var(--ltlf-navy); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.music-single .music-single-hero__copy .eyebrow { margin-bottom: 16px; }
.music-single .music-single-hero__copy h1 { max-width: 820px; margin: 0; font-size: clamp(62px,8vw,118px); line-height: .82; overflow-wrap: anywhere; text-wrap: balance; text-transform: uppercase; }
.music-single .music-single-hero__artist { margin: 18px 0 0; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.music-single .music-single-hero__summary { max-width: 690px; margin: 25px 0; color: var(--ltlf-muted); font-family: var(--ltlf-font-body); font-size: 16px; font-weight: 400; line-height: 1.75; }
.music-single .music-single-hero__audio { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 16px; max-width: 690px; padding: 16px 17px; border: 1px solid var(--ltlf-line); background: white; }
.music-single .music-single-hero__audio > span { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.music-single .music-single-hero__audio audio { width: 100%; max-width: 440px; height: 40px; }
.music-single .music-single-hero__links { display: flex; flex-wrap: wrap; gap: 8px; max-width: 690px; margin-top: 18px; }
.music-single .music-single-hero__links .button { min-height: 46px; padding: 12px 16px; }
.music-single .music-purchase--single { flex-wrap: wrap; }
.music-single .music-purchase--single .music-purchase__price { font-size: 16px; }
.music-single .music-purchase--single .music-purchase__button { min-height: 46px; padding: 12px 16px; }
.music-single .music-single-details { display: grid; grid-template-columns: 1.2fr .8fr; gap: 9vw; padding: 88px var(--ltlf-gutter) 92px; }
.music-single .music-single-details__story .entry-content { max-width: 700px; color: var(--ltlf-muted); font-size: 16px; line-height: 1.85; }
.music-single .music-single-details__story .entry-content h2 { margin: 0 0 24px; color: var(--ltlf-navy); font-size: clamp(48px,6vw,82px); line-height: .9; }
.music-single .music-single-details__facts { padding: 25px 0 0; border-top: 3px solid var(--ltlf-navy); background: transparent; }
.music-single .music-single-details__facts h2 { margin: 0 0 24px; font-size: 30px; text-transform: uppercase; }
.music-single .music-single-details__facts h3 { margin: 25px 0 7px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.music-single .music-single-details__facts p { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--ltlf-line); font-size: 13px; line-height: 1.7; }
.music-single .music-related { padding: 82px var(--ltlf-gutter) 100px; background: var(--ltlf-cream); }
.music-single .music-related header { margin-bottom: 42px; }
.music-single .music-related h2 { margin: 0; font-size: clamp(48px,6vw,82px); line-height: .9; }
.music-single .music-related__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.music-single .music-related__grid article { display: grid; grid-template-columns: 88px 1fr; column-gap: 16px; align-items: center; min-width: 0; padding: 14px; background: white; }
.music-single .music-related__art { display: grid; grid-row: 1 / 3; place-items: center; width: 88px; height: 88px; overflow: hidden; background: var(--ltlf-navy); color: white; font-family: var(--ltlf-font-display); font-size: 24px; text-decoration: none; }
.music-single .music-related__art img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.music-single .music-related__art:hover img { transform: scale(1.025); }
.music-single .music-related h3 { align-self: end; min-width: 0; margin: 0; font-family: var(--ltlf-font-body); font-size: 16px; letter-spacing: 0; line-height: 1.25; overflow-wrap: anywhere; text-transform: none; }
.music-single .music-related h3 a { color: inherit; text-decoration: none; }
.music-single .music-related article > p { align-self: start; margin: 4px 0 0; color: var(--ltlf-red); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 980px) {
  .music-archive .music-hero { grid-template-columns: 1fr; padding-top: 150px; }
  .music-archive .music-hero__copy h1 { font-size: clamp(58px,17vw,86px); }
  .music-archive .music-hero__art { margin-top: 55px; }
  .music-archive .music-hero__art > a,
  .music-archive .music-hero__fallback { width: min(620px,84vw); }
  .music-archive .music-hero__record { width: 76vw; }
  .music-archive .music-hero__release-label { display: none; }
  .music-archive .music-hero__marquee { font-size: 12px; }
  .music-archive .music-catalog,
  .music-archive .music-video,
  .music-archive .music-booking { grid-template-columns: 1fr; }
  .music-archive .music-catalog { padding-top: 85px; padding-bottom: 85px; }
  .music-archive .music-release-row { grid-template-columns: 34px 1fr; }
  .music-archive .music-release-row__duration { display: none; }
  .music-archive .music-release-row__actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }
  .music-archive .music-video__frame { min-height: 330px; }
  .music-archive .music-manifesto > div { align-items: flex-start; flex-direction: column; }
  .music-archive .music-archive-cta { align-items: flex-start; flex-direction: column; }
  .music-archive .music-booking > img { height: 430px; }
  .music-single .music-single-hero,
  .music-single .music-single-details { grid-template-columns: 1fr; }
  .music-single .music-single-hero { padding-top: 55px; }
  .music-single .music-single-hero__art { width: min(600px,calc(100% - 20px)); }
  .music-single .music-single-details { gap: 50px; }
  .music-single .music-related__grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .music-archive .music-hero { min-height: auto; padding-top: 125px; padding-bottom: 90px; }
  .music-archive .music-hero__copy h1 { font-size: 58px; }
  .music-archive .music-hero__actions { align-items: flex-start; }
  .music-archive .music-hero__art > a,
  .music-archive .music-hero__fallback { width: calc(100% - 18px); box-shadow: 12px 12px 0 var(--ltlf-red); }
  .music-archive .music-hero__marquee span:last-child { display: none; }
  .music-archive .music-catalog { padding-top: 75px; padding-bottom: 75px; }
  .music-archive .music-catalog__intro { margin-bottom: 8px; }
  .music-archive .music-catalog__intro h2 { font-size: 55px; }
  .music-archive .music-release-row { padding-right: 0; padding-left: 0; }
  .music-archive .music-release-row:hover { padding-left: 0; }
  .music-archive .music-release-row__actions { flex-direction: column; align-items: flex-start; }
  .music-archive .music-release-row audio { width: min(260px,100%); }
  .music-archive .music-video { padding-top: 75px; padding-bottom: 75px; }
  .music-archive .music-video__frame { min-height: 330px; }
  .music-archive .music-manifesto { padding-top: 75px; padding-bottom: 75px; }
  .music-archive .music-manifesto blockquote { font-size: 43px; }
  .music-archive .music-archive-cta { padding-top: 65px; padding-bottom: 65px; }
  .music-archive .music-booking__copy { padding: 70px 24px; }
  .music-archive .music-booking__copy h2 { font-size: 48px; }
  .music-single .music-single-hero { padding-top: 42px; padding-bottom: 65px; }
  .music-single .music-single-hero__art img,
  .music-single .music-single-hero__art--empty { box-shadow: 10px 10px 0 var(--ltlf-red); }
  .music-single .music-single-hero__copy h1 { font-size: 58px; }
  .music-single .music-single-hero__audio { grid-template-columns: 1fr; }
  .music-single .music-single-details { padding-top: 68px; padding-bottom: 70px; }
  .music-single .music-related { padding-top: 68px; padding-bottom: 78px; }
  .music-single .music-related h2 { font-size: 48px; }
}

/* Dynamic Events archive — scoped to the approved prototype structure. */
.events-archive { overflow: hidden; background: var(--ltlf-paper); color: var(--ltlf-navy); }
.events-archive__hero { position: relative; display: grid; grid-template-columns: 1fr .28fr; align-items: center; height: 399px; min-height: 399px; padding: 42px clamp(24px,6vw,95px); overflow: hidden; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.events-archive__hero > div:first-child { position: relative; z-index: 1; }
.events-archive__hero h1 { max-width: 1050px; margin: 0; font-size: clamp(48px,5vw,70px); letter-spacing: -.045em; line-height: .9; }
.events-archive__hero h1 span { color: var(--ltlf-red); }
.events-archive__hero > div:first-child > p:not(.eyebrow) { max-width: 620px; margin: 16px 0; color: rgba(255,250,243,.76); font-size: 14px; line-height: 1.55; }
.events-archive__hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.events-archive__hero-actions .button--ghost { color: var(--ltlf-cream); }
.events-archive__hero aside { display: flex; flex-direction: column; gap: 12px; padding: 25px 0 25px 32px; border-left: 1px solid rgba(255,255,255,.24); }
.events-archive__hero aside span { color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.events-archive__hero aside strong { font-size: 16px; }
.events-upcoming { display: grid; grid-template-columns: .55fr 2.85fr; align-items: start; gap: 3vw; padding: 105px clamp(24px,6vw,95px); }
.events-upcoming__label > span { display: block; margin-top: 58px; color: var(--ltlf-muted); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.events-upcoming__list { border-top: 3px solid var(--ltlf-navy); }
.events-upcoming__item { display: grid; grid-template-columns: .7fr 1.35fr .8fr; align-items: start; gap: 3vw; padding: 34px 0; border-bottom: 1px solid var(--ltlf-line); }
.events-upcoming__date { display: flex; align-items: flex-start; gap: 15px; padding-left: 22px; border-left: 2px solid var(--ltlf-red); }
.events-upcoming__date strong { font-size: clamp(76px,8vw,120px); letter-spacing: -.055em; line-height: .75; }
.events-upcoming__date span { font-size: 11px; font-weight: 800; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.events-upcoming__details > p { margin: 0; color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.events-upcoming__details .events-upcoming__presenter { margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--ltlf-line); color: var(--ltlf-navy); font-size: 11px; }
.events-upcoming__details h2 { margin: 12px 0 28px; font-size: clamp(48px,5vw,76px); line-height: .9; }
.events-upcoming__details address { font-size: 16px; font-style: normal; line-height: 1.65; }
.events-upcoming__details > span { display: block; margin-top: 18px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.events-upcoming__details .events-upcoming__number { margin: 0 0 12px; color: var(--ltlf-red); font-size: 9px; }
.events-upcoming__action { align-self: end; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.events-upcoming__action small { max-width: 280px; color: var(--ltlf-muted); font-size: 10px; line-height: 1.6; }
.events-upcoming__text-link { padding-bottom: 5px; border-bottom: 1px solid var(--ltlf-navy); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.events-upcoming__empty { grid-column: 2 / -1; align-self: center; }
.events-upcoming__empty h2 { margin: 0 0 15px; font-size: clamp(42px,5vw,68px); line-height: .92; }
.events-upcoming__empty p { margin: 0; color: var(--ltlf-muted); }
.events-live-experience { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 720px; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.events-live-experience__photo { overflow: hidden; }
.events-live-experience__photo img { width: 100%; height: 100%; object-fit: cover; }
.events-live-experience__copy { align-self: center; padding: 95px clamp(30px,6vw,90px); }
.events-live-experience__copy h2 { margin: 0 0 28px; font-size: clamp(48px,5.6vw,80px); line-height: .92; }
.events-live-experience__copy > p:not(.eyebrow) { color: rgba(255,250,243,.72); line-height: 1.85; }
.events-live-experience__copy ul { margin: 30px 0; padding: 0; list-style: none; }
.events-live-experience__copy li { padding: 14px 0; border-top: 1px solid rgba(255,255,255,.2); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.events-past { padding: 110px clamp(24px,6vw,95px); background: var(--ltlf-cream); }
.events-past__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 50px; }
.events-past__heading h2 { margin: 0; font-size: clamp(52px,6vw,84px); line-height: .9; }
.events-past__heading > p { max-width: 570px; margin: 0; font-size: 14px; line-height: 1.8; }
.events-past-feature { display: grid; grid-template-columns: 1.2fr .8fr; background: var(--ltlf-paper); }
.events-past-feature__photo { min-height: 560px; overflow: hidden; }
.events-past-feature__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.events-past-feature__copy { align-self: center; padding: 65px clamp(28px,5vw,70px); }
.events-past-feature__copy > span { color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.events-past-feature__copy h3 { margin: 20px 0; font-family: var(--ltlf-font-body); font-size: clamp(38px,4vw,60px); font-weight: 800; letter-spacing: -.035em; line-height: .95; text-transform: none; }
.events-past-feature__copy p { color: var(--ltlf-muted); font-size: 14px; line-height: 1.8; }
.events-past-feature__copy .events-past-feature__meta { margin-bottom: 8px; color: var(--ltlf-navy); font-size: 10px; font-weight: 800; letter-spacing: .08em; line-height: 1.6; text-transform: uppercase; }
.events-past-feature__copy .events-past-feature__host { margin-top: 0; color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.events-past-feature__copy a { display: inline-flex; margin-top: 28px; padding-bottom: 8px; border-bottom: 2px solid var(--ltlf-red); font-weight: 800; }
.events-past-feature__copy a b { margin-left: 24px; color: var(--ltlf-red); }
.events-past-feature__actions { display: flex; flex-wrap: wrap; gap: 28px; }
.events-past__archive-heading { display: flex; align-items: flex-end; justify-content: space-between; margin: 85px 0 24px; padding-bottom: 20px; border-bottom: 3px solid var(--ltlf-navy); }
.events-past__archive-heading .eyebrow { margin: 0; }
.events-past__archive-heading > span { color: var(--ltlf-muted); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.events-past__grid { display: grid; grid-template-columns: repeat(3,1fr); border-left: 1px solid var(--ltlf-line); }
.events-past-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 260px; padding: 24px; border-right: 1px solid var(--ltlf-line); border-bottom: 1px solid var(--ltlf-line); background: var(--ltlf-paper); }
.events-past-card > span { color: var(--ltlf-red); font-family: var(--ltlf-font-display); font-size: 34px; }
.events-past-card time { display: block; color: var(--ltlf-muted); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.events-past-card h3 { margin: 11px 0 15px; font-family: var(--ltlf-font-body); font-size: 23px; font-weight: 800; letter-spacing: -.02em; line-height: 1.05; text-transform: none; }
.events-past-card p { margin: 0; color: var(--ltlf-muted); font-size: 12px; line-height: 1.65; }
.events-past-card .events-past-card__host { margin-top: 10px; color: var(--ltlf-red); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.events-past-card__actions { display: flex; flex-wrap: wrap; gap: 16px; }
.events-past-card__link { display: inline-block; margin-top: 18px; padding-bottom: 5px; border-bottom: 1px solid var(--ltlf-navy); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.events-past__empty { padding: 35px 24px; border-bottom: 1px solid var(--ltlf-line); background: var(--ltlf-paper); }
.events-past--empty .events-past__archive-heading { margin-top: 45px; }
.events-fit { padding: 110px clamp(24px,6vw,95px); }
.events-fit > header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 55px; }
.events-fit > header h2 { margin: 0; font-size: clamp(54px,6.6vw,94px); line-height: .88; text-align: right; }
.events-fit__grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 3px solid var(--ltlf-navy); }
.events-fit__grid article { padding: 28px 24px; border-right: 1px solid var(--ltlf-line); }
.events-fit__grid article:last-child { border-right: 0; }
.events-fit__grid span { color: var(--ltlf-red); font-size: 10px; font-weight: 800; }
.events-fit__grid h3 { margin: 36px 0 16px; font-family: var(--ltlf-font-body); font-size: 25px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; text-transform: none; }
.events-fit__grid p { color: var(--ltlf-muted); font-size: 13px; line-height: 1.75; }
.events-booking-cta { padding: 110px clamp(24px,8vw,130px); background: var(--ltlf-red); color: white; text-align: center; }
.events-booking-cta .eyebrow { color: var(--ltlf-navy); }
.events-booking-cta h2 { max-width: 1200px; margin: 25px auto; font-size: clamp(60px,8vw,118px); line-height: .88; }
.events-booking-cta > p:not(.eyebrow) { max-width: 780px; margin: 0 auto 36px; line-height: 1.8; }

@media (max-width: 850px) {
  .events-archive__hero { grid-template-columns: 1fr; height: auto; min-height: 0; padding-top: 150px; padding-bottom: 65px; }
  .events-archive__hero h1 { font-size: clamp(54px,6.6vw,96px); }
  .events-archive__hero > div:first-child > p:not(.eyebrow) { margin: 24px 0; font-size: 16px; line-height: 1.8; }
  .events-archive__hero aside { display: none; }
  .events-upcoming { grid-template-columns: 1fr; }
  .events-upcoming__label > span { margin-top: 15px; }
  .events-upcoming__item { grid-template-columns: 1fr; gap: 26px; }
  .events-upcoming__empty { grid-column: auto; }
  .events-live-experience { grid-template-columns: 1fr; }
  .events-live-experience__photo { min-height: 440px; }
  .events-past__heading { align-items: flex-start; flex-direction: column; }
  .events-past-feature { grid-template-columns: 1fr; }
  .events-past-feature__photo { min-height: 480px; }
  .events-past__grid { grid-template-columns: 1fr 1fr; }
  .events-fit > header { align-items: flex-start; flex-direction: column; }
  .events-fit > header h2 { text-align: left; }
  .events-fit__grid { grid-template-columns: 1fr 1fr; }
  .events-fit__grid article { border-bottom: 1px solid var(--ltlf-line); }
}

@media (max-width: 560px) {
  .events-past__archive-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .events-past__grid { grid-template-columns: 1fr; }
  .events-past-card { min-height: 220px; }
}

/* Dynamic single Event pages — approved editorial prototype structure. */
.event-single { overflow: hidden; background: var(--ltlf-paper); color: var(--ltlf-navy); }
.event-single-hero { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(330px,.84fr); align-items: center; gap: clamp(38px,6vw,92px); padding: 38px clamp(24px,6vw,95px) 46px; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.event-single-hero__copy { min-width: 0; }
.event-single-hero__back { display: inline-flex; margin-bottom: 28px; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.36); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.event-single-hero__back:hover { color: var(--ltlf-red); }
.event-single-hero .eyebrow { margin-bottom: 14px; }
.event-single-hero__presented { margin: 0 0 12px; color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.event-single-hero h1 { max-width: 760px; margin: 0; overflow-wrap: anywhere; font-size: clamp(62px,7.4vw,106px); line-height: .82; }
.event-single-hero__summary { max-width: 680px; margin: 22px 0; color: rgba(255,250,243,.72); font-size: 15px; line-height: 1.7; }
.event-single-hero__quick { display: grid; grid-template-columns: 1.1fr .65fr 1fr; margin: 0 0 24px; border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.event-single-hero__quick > div { min-width: 0; padding: 14px 18px 14px 0; }
.event-single-hero__quick > div + div { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.22); }
.event-single-hero__quick dt { margin-bottom: 6px; color: var(--ltlf-red); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.event-single-hero__quick dd { margin: 0; font-size: 12px; font-weight: 800; line-height: 1.5; }
.event-single-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.event-single-hero__art { position: relative; align-self: stretch; min-height: 400px; overflow: hidden; background: #061f2e; }
.event-single-hero__art::after { position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(3,18,27,.82)); content: ""; pointer-events: none; }
.event-single-hero__art img { display: block; width: 100%; height: 100%; min-height: 400px; object-fit: cover; object-position: center; }
.event-single-hero__art > time { position: absolute; z-index: 1; bottom: 0; left: 0; margin: 0; padding: 15px 18px; background: var(--ltlf-red); color: white; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.event-single-hero__fallback { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; min-height: 400px; border: 1px solid rgba(255,255,255,.2); background: radial-gradient(circle at 50% 40%,rgba(217,31,38,.38),transparent 34%),var(--ltlf-navy); }
.event-single-hero__fallback span { font-size: 11px; letter-spacing: .28em; text-transform: uppercase; }
.event-single-hero__fallback strong { font-family: var(--ltlf-font-display); font-size: 84px; line-height: .85; text-transform: uppercase; }
.event-single-hero--no-art { grid-template-columns: minmax(0,1fr) minmax(280px,.55fr); }
.event-single-details { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(55px,9vw,145px); padding: 94px var(--ltlf-gutter) 104px; }
.event-single-details > header h2 { margin: 0; font-size: clamp(54px,6vw,86px); line-height: .86; }
.event-single-details__grid { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 3px solid var(--ltlf-navy); }
.event-single-details__grid > div { display: grid; grid-template: "number label" auto "number value" 1fr / 34px 1fr; align-content: start; gap: 5px 14px; min-height: 112px; padding: 21px 20px 20px 0; border-bottom: 1px solid var(--ltlf-line); }
.event-single-details__grid > div:nth-child(odd) { border-right: 1px solid var(--ltlf-line); }
.event-single-details__grid > div:nth-child(even) { padding-left: 20px; }
.event-single-details__grid span { grid-area: number; color: var(--ltlf-red); font-size: 9px; font-weight: 800; }
.event-single-details__grid dt { grid-area: label; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.event-single-details__grid dd { grid-area: value; margin: 0; font-size: 14px; line-height: 1.55; }
.event-single-details__note { display: grid; grid-template-columns: 120px 1fr; gap: 20px; margin-top: 25px; color: var(--ltlf-muted); font-size: 11px; line-height: 1.65; }
.event-single-details__note strong { color: var(--ltlf-red); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.event-single-details__note p { margin: 0; }
.event-single-content { display: grid; grid-template-columns: minmax(180px,.38fr) minmax(0,1.62fr); align-items: start; gap: clamp(42px,5vw,80px); padding-top: 66px; padding-bottom: 70px; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.event-single-content h2 { max-width: 680px; margin: 0; font-size: clamp(48px,5.5vw,78px); line-height: .9; }
.event-single-content > .entry-content { align-self: start; width: 100%; max-width: 980px; color: rgba(255,250,243,.74); font-size: 16px; line-height: 1.72; }
.event-single-content--migrated { grid-template-columns: minmax(0,1fr); }
.event-single-content--migrated > .entry-content { max-width: 1100px; margin-inline: auto; }
.event-single-content > .entry-content > :first-child { margin-top: 0; }
.event-single-content > .entry-content > :last-child { margin-bottom: 0; }
.event-single-content__body > .eyebrow { margin: 0 0 22px; font-size: 20px; }
.event-single-content__body p { margin: 0 0 14px; }
.event-single-content__body h2,
.event-single-content__body h3,
.event-single-content__body h4 { max-width: 620px; margin: 25px 0 10px; color: var(--ltlf-cream); font-family: var(--ltlf-font-body); font-size: 20px; font-weight: 800; letter-spacing: -.01em; line-height: 1.25; text-transform: none; }
.event-single-content__body ul,
.event-single-content__body ol { margin: 12px 0 20px; padding-left: 22px; }
.event-single-content__body li { margin: 5px 0; padding-left: 4px; }
.event-single-content__body hr { width: 64px; margin: 24px 0; border: 0; border-top: 3px solid var(--ltlf-red); }
.event-single-content__body .event-content-link { display: inline-flex; align-items: center; margin-top: 4px; padding-bottom: 5px; border-bottom: 2px solid var(--ltlf-red); color: var(--ltlf-cream); font-weight: 800; line-height: 1.35; }
.event-single-content__body .event-content-link:hover { color: var(--ltlf-red); }
.event-single-content__body .event-content-link:focus-visible { outline: 2px solid var(--ltlf-cream); outline-offset: 4px; }
.event-single .events-booking-cta { padding-top: 90px; padding-bottom: 94px; }

@media (max-width: 1000px) {
  .event-single-hero { grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap: 38px; }
  .event-single-hero__quick { grid-template-columns: 1fr 1fr; }
  .event-single-hero__quick > div:last-child { grid-column: 1 / -1; padding-left: 0; border-top: 1px solid rgba(255,255,255,.22); border-left: 0; }
  .event-single-details { grid-template-columns: .62fr 1.38fr; gap: 55px; }
}

@media (max-width: 850px) {
  .event-single-hero,
  .event-single-hero--no-art { grid-template-columns: 1fr; padding-top: 40px; }
  .event-single-hero__art,
  .event-single-hero__art img,
  .event-single-hero__fallback { min-height: 360px; }
  .event-single-hero__art { height: 360px; }
  .event-single-details,
  .event-single-content { grid-template-columns: 1fr; }
  .event-single-details { gap: 46px; padding-top: 76px; padding-bottom: 82px; }
  .event-single-content { gap: 34px; padding-top: 58px; padding-bottom: 62px; }
  .event-single-content > .entry-content { align-self: start; }
}

@media (max-width: 560px) {
  .event-single-hero { gap: 34px; padding: 32px 20px 38px; }
  .event-single-hero__back { margin-bottom: 26px; }
  .event-single-hero h1 { font-size: 58px; }
  .event-single-hero__summary { margin: 20px 0; font-size: 14px; }
  .event-single-hero__quick { grid-template-columns: 1fr; margin-bottom: 22px; }
  .event-single-hero__quick > div,
  .event-single-hero__quick > div + div,
  .event-single-hero__quick > div:last-child { grid-column: auto; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
  .event-single-hero__quick > div:first-child { border-top: 0; }
  .event-single-hero__actions .button { width: 100%; }
  .event-single-hero__art,
  .event-single-hero__art img,
  .event-single-hero__fallback { min-height: 300px; }
  .event-single-hero__art { height: 300px; }
  .event-single-details__grid { grid-template-columns: 1fr; }
  .event-single-details__grid > div:nth-child(odd) { border-right: 0; }
  .event-single-details__grid > div:nth-child(even) { padding-left: 0; }
  .event-single-details__note { grid-template-columns: 1fr; gap: 7px; }
  .event-single-content h2 { font-size: 48px; }
  .event-single-content > .entry-content { font-size: 14px; }
  .event-single-content__body h2,
  .event-single-content__body h3,
  .event-single-content__body h4 { margin-top: 22px; font-size: 18px; }
  .event-single-content__body > .eyebrow { font-size: 18px; }
  .event-single-content__body p { margin-bottom: 14px; }
  .event-single .events-booking-cta { padding-top: 74px; padding-bottom: 78px; }
}

/* Dynamic Gallery archive and legacy Photo Album singles. */
.gallery-archive,
.gallery-single { overflow: hidden; background: var(--ltlf-paper); color: var(--ltlf-navy); }
.gallery-hero { display: grid; grid-template-columns: minmax(0,.9fr) minmax(440px,1.1fr); align-items: center; gap: clamp(45px,8vw,130px); min-height: 680px; padding: 72px var(--ltlf-gutter) 82px; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.gallery-hero__copy h1 { margin: 0; font-size: clamp(68px,8vw,116px); line-height: .82; }
.gallery-hero__copy h1 span { display: block; color: var(--ltlf-red); }
.gallery-hero__copy > p:not(.eyebrow) { max-width: 590px; margin: 28px 0; color: rgba(255,250,243,.72); font-size: 16px; line-height: 1.75; }
.gallery-hero__art { position: relative; min-height: 500px; }
.gallery-hero__main { position: absolute; inset: 0 11% 0 0; width: 89%; height: 100%; object-fit: cover; object-position: center 30%; }
.gallery-hero__inset { position: absolute; right: 0; bottom: -25px; width: 43%; aspect-ratio: 4/3; border: 9px solid var(--ltlf-cream); box-shadow: 0 22px 35px rgba(0,0,0,.25); object-fit: cover; }
.gallery-hero__art > span { position: absolute; top: 0; right: 0; padding: 12px 16px; background: var(--ltlf-red); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl; }
.gallery-image-fallback { display: grid; place-items: center; width: 100%; min-height: 320px; background: radial-gradient(circle at 50% 45%,rgba(217,31,38,.5),transparent 32%),var(--ltlf-navy); color: var(--ltlf-cream); }
.gallery-image-fallback span { font-family: var(--ltlf-font-display); font-size: clamp(64px,9vw,130px); letter-spacing: -.06em; }
.gallery-feature { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: clamp(55px,8vw,125px); padding: 110px var(--ltlf-gutter); }
.gallery-feature__media { position: relative; min-height: 610px; }
.gallery-feature__media > img,
.gallery-feature__media > .gallery-image-fallback { width: 100%; height: 610px; object-fit: cover; object-position: center 35%; }
.gallery-feature__media > span { position: absolute; bottom: 0; left: 0; padding: 14px 18px; background: var(--ltlf-red); color: white; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.gallery-feature__copy h2,
.gallery-section-heading h2,
.gallery-categories h2,
.gallery-booking h2,
.gallery-photo-collection h2 { margin: 0; font-size: clamp(56px,6.5vw,94px); line-height: .86; }
.gallery-feature__copy > p:not(.eyebrow) { max-width: 520px; margin: 25px 0; color: var(--ltlf-muted); line-height: 1.8; }
.gallery-feature__copy dl { margin: 0 0 30px; border-top: 2px solid var(--ltlf-navy); }
.gallery-feature__copy dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--ltlf-line); font-size: 11px; }
.gallery-feature__copy dt { font-weight: 800; text-transform: uppercase; }
.gallery-feature__copy dd { margin: 0; color: var(--ltlf-muted); text-align: right; }
.gallery-albums { padding: 105px var(--ltlf-gutter); background: var(--ltlf-cream); }
.gallery-section-heading { margin-bottom: 58px; }
.gallery-album-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: start; gap: 55px 28px; }
.gallery-album-card:nth-child(3n+1) { grid-row: span 2; }
.gallery-album-card a { display: block; }
.gallery-album-card a > div { position: relative; overflow: hidden; background: var(--ltlf-navy); }
.gallery-album-card img,
.gallery-album-card .gallery-image-fallback { display: block; width: 100%; height: 340px; object-fit: cover; transition: transform var(--ltlf-transition); }
.gallery-album-card:nth-child(3n+1) img,
.gallery-album-card:nth-child(3n+1) .gallery-image-fallback { height: 680px; }
.gallery-album-card a:hover img { transform: scale(1.025); }
.gallery-album-card a > div > span { position: absolute; top: 0; left: 0; padding: 11px 13px; background: var(--ltlf-red); color: white; font-size: 9px; font-weight: 800; }
.gallery-album-card p { margin: 18px 0 5px; color: var(--ltlf-red); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.gallery-album-card h3 { margin: 0; font-size: clamp(36px,4vw,58px); line-height: .9; overflow-wrap: anywhere; }
.gallery-album-card__meta { display: block; margin-top: 12px; color: var(--ltlf-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.gallery-album-link { display: inline-block; margin-top: 15px; padding-bottom: 5px; border-bottom: 2px solid; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.gallery-albums__empty { padding: 50px 0; border-top: 2px solid var(--ltlf-navy); }
.gallery-albums__empty h3 { margin: 0 0 25px; font-size: clamp(36px,5vw,64px); }
.gallery-inline-collection { padding: 82px var(--ltlf-gutter) 100px; background: var(--ltlf-cream); }
.gallery-inline-albums { display: grid; gap: 110px; }
.gallery-inline-album + .gallery-inline-album { padding-top: 100px; border-top: 1px solid var(--ltlf-line); }
.gallery-inline-album__header { display: grid; grid-template-columns: minmax(0,.9fr) minmax(300px,1.1fr); align-items: end; gap: clamp(35px,7vw,110px); margin-bottom: 38px; }
.gallery-inline-album__header h2 { max-width: 850px; margin: 0; font-size: clamp(44px,5vw,72px); line-height: .9; overflow-wrap: anywhere; }
.gallery-inline-album__details > p:first-child { max-width: 620px; margin: 0 0 18px; color: var(--ltlf-muted); line-height: 1.75; }
.gallery-inline-album__meta { margin: 0; color: var(--ltlf-red); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gallery-photo-grid--inline { columns: 3 280px; }
.gallery-categories { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: 8vw; padding: 95px var(--ltlf-gutter); background: var(--ltlf-navy); color: var(--ltlf-cream); }
.gallery-categories nav { display: flex; flex-wrap: wrap; gap: 10px; }
.gallery-categories nav a { padding: 14px 17px; border: 1px solid rgba(255,255,255,.28); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.gallery-categories nav a:hover,
.gallery-categories nav a.is-active { border-color: var(--ltlf-red); background: var(--ltlf-red); color: white; }
.gallery-booking { padding: 105px var(--ltlf-gutter); background: var(--ltlf-red); color: white; }
.gallery-booking .eyebrow { color: var(--ltlf-navy); }
.gallery-booking h2 { max-width: 1000px; }
.gallery-booking > p:not(.eyebrow) { max-width: 650px; margin: 28px 0; line-height: 1.75; }
.gallery-single-hero { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: clamp(45px,8vw,130px); padding: 58px var(--ltlf-gutter) 70px; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.gallery-single-hero__back { display: inline-block; margin-bottom: 58px; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.4); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.gallery-single-hero__back:hover { color: var(--ltlf-red); }
.gallery-single-hero h1 { margin: 0; font-size: clamp(64px,9vw,130px); line-height: .8; overflow-wrap: anywhere; }
.gallery-single-hero__description { max-width: 600px; margin: 27px 0; color: rgba(255,250,243,.72); line-height: 1.75; }
.gallery-single-hero__description > :first-child { margin-top: 0; }
.gallery-single-hero__description > :last-child { margin-bottom: 0; }
.gallery-single-hero__meta { display: flex; flex-wrap: wrap; gap: 22px; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.22); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.gallery-single-hero__media { height: 620px; }
.gallery-single-hero__media > img,
.gallery-single-hero__media > .gallery-image-fallback { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.gallery-photo-collection { padding: 105px var(--ltlf-gutter) 120px; }
.gallery-photo-collection > header { margin-bottom: 58px; }
.gallery-photo-grid { columns: 3 280px; column-gap: 22px; }
.gallery-photo { position: relative; display: block; width: 100%; margin: 0 0 22px; padding: 0; overflow: hidden; break-inside: avoid; border: 0; background: var(--ltlf-navy); cursor: zoom-in; }
.gallery-photo img { display: block; width: 100%; height: auto; transition: opacity var(--ltlf-transition),transform var(--ltlf-transition); }
.gallery-photo:hover img,
.gallery-photo:focus-visible img { opacity: .83; transform: scale(1.015); }
.gallery-photo > span { position: absolute; right: 0; bottom: 0; padding: 10px 12px; background: var(--ltlf-red); color: white; font-size: 9px; font-weight: 800; }
body.gallery-lightbox-open { overflow: hidden; }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox { position: fixed; z-index: 120; inset: 0; display: grid; grid-template-columns: 70px 1fr 70px; align-items: center; padding: 58px 26px 24px; background: rgba(3,18,27,.97); color: white; }
.gallery-lightbox__close { position: absolute; top: 22px; right: 26px; padding: 5px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.5); background: transparent; color: white; font-size: 10px; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.gallery-lightbox__previous,
.gallery-lightbox__next { width: 50px; height: 50px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; color: white; font-size: 21px; cursor: pointer; }
.gallery-lightbox figure { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; height: calc(100dvh - 88px); margin: 0; }
.gallery-lightbox figure img { width: auto; max-width: 100%; height: auto; max-height: calc(100dvh - 145px); object-fit: contain; }
.gallery-lightbox figcaption { display: flex; justify-content: center; gap: 18px; width: min(100%,980px); margin-top: 15px; color: rgba(255,255,255,.74); font-size: 11px; }
.gallery-lightbox figcaption span { color: var(--ltlf-red); font-weight: 800; }
.gallery-lightbox figcaption b { font-weight: 500; }

@media (max-width: 900px) {
  .gallery-hero { grid-template-columns: 1fr; gap: 55px; }
  .gallery-hero__art { min-height: 560px; }
  .gallery-feature { grid-template-columns: 1fr; gap: 55px; }
  .gallery-feature__media,
  .gallery-feature__media > img,
  .gallery-feature__media > .gallery-image-fallback { min-height: 520px; height: 65vw; max-height: 680px; }
  .gallery-categories { grid-template-columns: 1fr; }
  .gallery-inline-album__header { grid-template-columns: 1fr; align-items: start; }
  .gallery-single-hero { grid-template-columns: 1fr; gap: 52px; }
  .gallery-single-hero__media { min-height: 430px; height: 68vw; max-height: 650px; }
  .gallery-single-hero__back { margin-bottom: 42px; }
}

@media (max-width: 700px) {
  .gallery-album-grid { grid-template-columns: 1fr; gap: 48px; }
  .gallery-album-card:nth-child(3n+1) { grid-row: auto; }
  .gallery-album-card img,
  .gallery-album-card .gallery-image-fallback,
  .gallery-album-card:nth-child(3n+1) img,
  .gallery-album-card:nth-child(3n+1) .gallery-image-fallback { height: auto; min-height: 260px; max-height: none; }
  .gallery-photo-grid { columns: 2 155px; column-gap: 12px; }
  .gallery-photo { margin-bottom: 12px; }
  .gallery-lightbox { grid-template-columns: 48px 1fr 48px; padding-right: 8px; padding-left: 8px; }
  .gallery-lightbox__previous,
  .gallery-lightbox__next { width: 40px; height: 40px; }
  .gallery-lightbox figcaption { padding: 0 6px; font-size: 10px; }
}

@media (max-width: 560px) {
  .gallery-hero { min-height: 0; padding: 62px 20px 58px; }
  .gallery-hero__copy h1 { font-size: 66px; }
  .gallery-hero__art { min-height: 390px; }
  .gallery-hero__main { right: 7%; width: 93%; }
  .gallery-hero__inset { bottom: -18px; width: 48%; border-width: 6px; }
  .gallery-feature,
  .gallery-albums,
  .gallery-inline-collection,
  .gallery-categories,
  .gallery-booking,
  .gallery-photo-collection { padding-right: 20px; padding-left: 20px; }
  .gallery-feature { padding-top: 78px; padding-bottom: 82px; }
  .gallery-feature__media,
  .gallery-feature__media > img,
  .gallery-feature__media > .gallery-image-fallback { height: 118vw; min-height: 0; }
  .gallery-albums,
  .gallery-inline-collection,
  .gallery-photo-collection { padding-top: 78px; padding-bottom: 84px; }
  .gallery-inline-albums { gap: 78px; }
  .gallery-inline-album + .gallery-inline-album { padding-top: 72px; }
  .gallery-inline-album__header { margin-bottom: 28px; }
	.gallery-inline-album__header h2 { font-size: clamp(42px,13vw,62px); }
  .gallery-categories,
  .gallery-booking { padding-top: 76px; padding-bottom: 78px; }
  .gallery-single-hero { padding: 42px 20px 48px; }
  .gallery-single-hero h1 { font-size: 68px; }
  .gallery-single-hero__media { min-height: 0; height: 112vw; }
  .gallery-single-hero__meta { flex-direction: column; gap: 8px; }
  .gallery-lightbox { grid-template-columns: 42px 1fr 42px; }
  .gallery-lightbox__close { right: 16px; }
  .gallery-lightbox__previous,
  .gallery-lightbox__next { width: 36px; height: 36px; }
  .gallery-lightbox figcaption { flex-direction: column; gap: 5px; text-align: center; }
}

/* Booking page */
.booking-page { overflow: hidden; background: var(--ltlf-paper); }
.booking-hero { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 7vw; min-height: 360px; padding: 82px var(--ltlf-gutter) 58px; overflow: hidden; background: var(--ltlf-navy); color: var(--ltlf-cream); }
.booking-hero::after { content: "BOOK"; position: absolute; top: -55px; right: -1vw; color: rgba(255,255,255,.035); font-family: var(--ltlf-font-display); font-size: 250px; line-height: 1; pointer-events: none; }
.booking-hero > div { position: relative; z-index: 1; }
.booking-hero h1 { margin: 0; font-size: clamp(55px,7vw,100px); line-height: .82; }
.booking-hero h1 span { color: var(--ltlf-red); }
.booking-hero > div:last-child > p { max-width: 560px; margin: 0 0 24px; color: rgba(255,249,237,.75); line-height: 1.75; }
.booking-main { display: grid; grid-template-columns: .7fr 1.3fr; align-items: start; gap: 7vw; padding: 80px var(--ltlf-gutter) 110px; scroll-margin-top: 24px; }
.booking-form-intro { position: sticky; top: 35px; }
.booking-form-intro h2 { margin: 0; font-family: var(--ltlf-font-body); font-size: clamp(38px,4.8vw,64px); font-weight: 800; letter-spacing: -.045em; line-height: 1; text-transform: none; }
.booking-form-intro > p:not(.eyebrow) { max-width: 500px; margin: 28px 0; color: var(--ltlf-muted); line-height: 1.8; }
.booking-form-shell { min-width: 0; padding: clamp(25px,4vw,55px); background: var(--ltlf-cream); }
.booking-page .wpcf7-form { margin: 0; }
.booking-page .wpcf7-form .booking-form p,
.booking-page .wpcf7-form .booking-form-grid > p,
.booking-page .wpcf7-form .booking-form-grid > * { min-width: 0; margin-top: 0; margin-bottom: 0; }
.booking-page .wpcf7-form .booking-form p:empty,
.booking-page .wpcf7-form .booking-form-section br,
.booking-page .wpcf7-form .booking-form-grid > br,
.booking-page .wpcf7-form .booking-field > br { display: none; }
.booking-page .booking-form-section { padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid var(--ltlf-line); }
.booking-page .booking-form-section > .booking-form-section__label { display: block; margin: 0 0 20px; color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.booking-page .booking-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 22px; row-gap: 20px; }
.booking-page .booking-field { display: flex; flex-direction: column; gap: 12px; min-width: 0; margin: 0; color: var(--ltlf-navy); font-size: 11px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.booking-page .booking-field--full { grid-column: 1 / -1; }
.booking-page .booking-field .wpcf7-form-control-wrap { display: block; width: 100%; margin: 0; line-height: 0; }
.booking-page .booking-field input,
.booking-page .booking-field select,
.booking-page .booking-field textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--ltlf-line); border-radius: 0; padding: 0 14px; background-color: var(--ltlf-white); color: var(--ltlf-navy); font: inherit; font-size: 15px; font-weight: 500; letter-spacing: 0; line-height: 1.25; text-transform: none; }
.booking-page .booking-field input,
.booking-page .booking-field select { height: 54px; min-height: 54px; }
.booking-page .booking-field select { padding-right: 38px; }
.booking-page .booking-field textarea { min-height: 180px; padding-top: 15px; padding-bottom: 15px; line-height: 1.5; resize: vertical; }
.booking-page .booking-field input:focus,
.booking-page .booking-field select:focus,
.booking-page .booking-field textarea:focus { outline: 2px solid var(--ltlf-red); outline-offset: 1px; }
.booking-page .wpcf7-not-valid-tip { margin-top: 7px; color: var(--ltlf-red); font-size: 11px; font-weight: 700; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.booking-page .wpcf7 form .wpcf7-response-output { margin: 24px 0 0; padding: 14px 16px; border: 2px solid var(--ltlf-navy); color: var(--ltlf-navy); font-size: 13px; line-height: 1.6; }
.booking-page .wpcf7 form.invalid .wpcf7-response-output,
.booking-page .wpcf7 form.unaccepted .wpcf7-response-output,
.booking-page .wpcf7 form.payment-required .wpcf7-response-output,
.booking-page .wpcf7 form.spam .wpcf7-response-output { border-color: var(--ltlf-red); }
.booking-page .wpcf7 form.sent .wpcf7-response-output { border-color: #398f62; }
.booking-page .booking-form-submit { display: flex; align-items: center; gap: 22px; margin: 0; }
.booking-page .booking-form-submit .wpcf7-submit { flex: 0 0 auto; min-height: 52px; cursor: pointer; }
.booking-page .booking-form-submit small { max-width: 310px; color: var(--ltlf-muted); font-size: 11px; line-height: 1.55; }
.booking-page .wpcf7-spinner { margin: 0; }
.booking-form-notice { margin: 0; padding: 20px; border: 2px solid var(--ltlf-red); line-height: 1.7; }
.booking-page .booking-enhancement { min-width: 0; margin: 0 0 26px; padding: 0 0 26px; border: 0; border-bottom: 1px solid var(--ltlf-line); }
.booking-page .booking-enhancement legend { display: flex; flex-direction: column; gap: 8px; width: 100%; padding: 0; color: var(--ltlf-navy); }
.booking-page .booking-enhancement legend span { color: var(--ltlf-red); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.booking-page .booking-enhancement legend strong { font-size: 22px; line-height: 1.2; }
.booking-page .booking-enhancement__intro { margin: 12px 0 20px !important; color: var(--ltlf-muted); font-size: 13px; line-height: 1.65; }
.booking-page .booking-song-list { display: grid; gap: 10px; margin-bottom: 16px; }
.booking-page .booking-song-card { display: grid; grid-template-columns: 20px 58px minmax(120px,1fr) minmax(150px,220px); align-items: center; gap: 12px; min-width: 0; padding: 10px; border: 1px solid var(--ltlf-line); background: var(--ltlf-white); cursor: pointer; }
.booking-page .booking-song-card:has(input:checked) { border-color: var(--ltlf-red); box-shadow: inset 4px 0 0 var(--ltlf-red); }
.booking-page .booking-song-card > input,
.booking-page .booking-choice > input { width: 18px; height: 18px; margin: 0; accent-color: var(--ltlf-red); }
.booking-page .booking-song-card__art { width: 58px; height: 58px; overflow: hidden; background: var(--ltlf-navy); }
.booking-page .booking-song-card__art img { width: 100%; height: 100%; object-fit: cover; }
.booking-page .booking-song-card__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.booking-page .booking-song-card__body strong { overflow-wrap: anywhere; font-size: 14px; line-height: 1.25; }
.booking-page .booking-song-card__body > span { color: var(--ltlf-muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.booking-page .booking-song-card audio { width: 100%; height: 38px; }
.booking-page .booking-choice { display: flex; align-items: flex-start; gap: 10px; color: var(--ltlf-navy); font-size: 13px; font-weight: 700; line-height: 1.45; text-transform: none; }
.booking-page .booking-choice--preference { margin-top: 12px; }
.booking-page .booking-enhancement__note { margin: 15px 0 0 !important; color: var(--ltlf-muted); font-size: 11px; line-height: 1.6; }
.booking-page .booking-promotion-included { margin: 18px 0; padding: 16px 18px; border-left: 4px solid var(--ltlf-red); background: var(--ltlf-paper); }
.booking-page .booking-promotion-included strong { display: block; margin-bottom: 8px; font-size: 13px; }
.booking-page .booking-promotion-included ul { margin: 0; padding-left: 18px; color: var(--ltlf-muted); font-size: 12px; line-height: 1.7; }
.booking-page .booking-option-list .wpcf7-list-item { display: block; margin: 0 0 10px; }
.booking-page .booking-option-list label { display: flex; align-items: flex-start; gap: 9px; color: var(--ltlf-navy); font-size: 13px; font-weight: 700; line-height: 1.45; text-transform: none; }
.booking-page .booking-option-list input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: 1px 0 0; accent-color: var(--ltlf-red); }
.booking-page .booking-conditional { margin-top: 20px; padding: 18px; border: 1px solid var(--ltlf-line); }
.booking-page .booking-conditional[hidden] { display: none !important; }
.booking-page [data-promotion-other][hidden],
.booking-page [data-promotion-custom][hidden] { display: none !important; }
.booking-page .booking-conditional .wpcf7-form-control-wrap { line-height: normal; }
.booking-page .booking-conditional .wpcf7-checkbox { display: grid; gap: 12px; margin-top: 12px; }
.booking-page .booking-conditional .wpcf7-list-item { display: block; margin: 0; }
.booking-page .booking-conditional .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 10px; color: var(--ltlf-navy); font-size: 13px; font-weight: 700; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.booking-page .booking-field .wpcf7-checkbox input[type="checkbox"] { flex: 0 0 18px; box-sizing: border-box; width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 1px 0 0; padding: 0; accent-color: var(--ltlf-red); }
.booking-page .booking-conditional > p { margin: 0 0 16px !important; color: var(--ltlf-muted); font-size: 13px; line-height: 1.65; }
.booking-fit { display: grid; grid-template-columns: .72fr 1.28fr; gap: 7vw; padding: 100px var(--ltlf-gutter); background: var(--ltlf-red); color: white; }
.booking-fit h2 { margin: 0; font-family: var(--ltlf-font-body); font-size: clamp(42px,5.3vw,72px); font-weight: 800; letter-spacing: -.045em; line-height: .98; text-transform: none; }
.booking-fit .eyebrow { color: var(--ltlf-navy); }
.booking-fit-list { display: grid; grid-template-columns: 1fr 1fr; }
.booking-fit-list article { padding: 25px; border-top: 1px solid rgba(255,255,255,.35); }
.booking-fit-list span { color: var(--ltlf-navy); font-size: 10px; font-weight: 800; }
.booking-fit-list h3 { margin: 24px 0 12px; font-family: var(--ltlf-font-body); font-size: 24px; font-weight: 800; letter-spacing: normal; line-height: 1.15; text-transform: none; }
.booking-fit-list p { margin: 0; color: rgba(255,255,255,.8); font-size: 13px; line-height: 1.7; }
.booking-social { display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; padding: 105px var(--ltlf-gutter); }
.booking-social h2 { margin: 0; font-family: var(--ltlf-font-body); font-size: clamp(42px,5vw,68px); font-weight: 800; letter-spacing: -.045em; line-height: .98; text-transform: none; }
.booking-social > div:first-child > p:last-child { max-width: 520px; color: var(--ltlf-muted); line-height: 1.8; }
.booking-social-links { border-top: 3px solid var(--ltlf-navy); }
.booking-social-links > a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 20px; padding: 22px 10px; border-bottom: 1px solid var(--ltlf-line); transition: padding var(--ltlf-transition),background var(--ltlf-transition); }
.booking-social-links > a:hover { padding-left: 20px; background: var(--ltlf-cream); }
.booking-social-links > a > span { color: var(--ltlf-red); font-size: 10px; font-weight: 800; }
.booking-social-links h3 { margin: 0 0 5px; font-family: var(--ltlf-font-body); font-size: 20px; font-weight: 800; letter-spacing: normal; line-height: 1.15; text-transform: none; }
.booking-social-links p { margin: 0; color: var(--ltlf-muted); font-size: 12px; }
.booking-social-links b { color: var(--ltlf-red); }

@media (max-width: 850px) {
  .booking-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 110px; }
  .booking-main,
  .booking-fit,
  .booking-social { grid-template-columns: 1fr; }
  .booking-form-intro { position: static; }
  .booking-page .booking-form-grid { grid-template-columns: 1fr; }
  .booking-page .booking-field--full { grid-column: auto; }
}

@media (max-width: 560px) {
  .booking-hero { padding-right: 20px; padding-left: 20px; }
  .booking-hero h1 { font-size: 52px; }
  .booking-main,
  .booking-fit,
  .booking-social { padding-right: 20px; padding-left: 20px; }
  .booking-main { padding-top: 65px; }
  .booking-form-shell { padding: 24px 18px; }
  .booking-page .booking-form-grid { row-gap: 22px; }
  .booking-page .booking-form-section { padding-bottom: 28px; margin-bottom: 28px; }
  .booking-page .booking-form-submit { align-items: flex-start; flex-direction: column; }
  .booking-page .booking-song-card { grid-template-columns: 20px 50px minmax(0,1fr); }
  .booking-page .booking-song-card__art { width: 50px; height: 50px; }
  .booking-page .booking-song-card audio { grid-column: 2 / -1; }
  .booking-fit-list { grid-template-columns: 1fr; }
}
/* WooCommerce store and cart drawer */
.store-page {
	background: var(--ltlf-paper);
	color: var(--ltlf-navy);
	overflow: hidden;
}

.store-page .woocommerce-notices-wrapper {
	width: min(100% - (2 * var(--ltlf-gutter)), 1480px);
	margin-inline: auto;
}

.store-hero {
	position: relative;
	display: grid;
	align-items: end;
	min-height: clamp(430px, 58vw, 760px);
	padding: clamp(110px, 13vw, 190px) var(--ltlf-gutter) clamp(70px, 9vw, 130px);
	background: var(--ltlf-navy);
	color: var(--ltlf-white);
	overflow: hidden;
}

.store-hero::after {
	position: absolute;
	right: -10vw;
	bottom: -34vw;
	width: 64vw;
	aspect-ratio: 1;
	border: clamp(2px, .35vw, 7px) solid rgba(255,255,255,.12);
	border-radius: 50%;
	content: "";
}

.store-hero__inner {
	position: relative;
	z-index: 1;
	width: min(100%, 1480px);
	margin-inline: auto;
}

.store-hero .section-label {
	color: var(--ltlf-red);
}

.store-hero h1 {
	max-width: 9ch;
	margin: 24px 0 32px;
	font-family: var(--ltlf-font-display);
	font-size: clamp(5rem, 11vw, 12rem);
	font-weight: 900;
	line-height: .78;
	letter-spacing: -.055em;
	text-transform: uppercase;
}

.store-hero h1 span {
	display: block;
}

.store-hero h1 span:last-child {
	color: var(--ltlf-red);
}

.store-hero__copy {
	max-width: 660px;
	margin: 0;
	color: rgba(255,255,255,.76);
	font-size: clamp(1.05rem, 1.5vw, 1.35rem);
	line-height: 1.65;
}

.store-products {
	padding: clamp(72px, 9vw, 140px) var(--ltlf-gutter);
}

.store-products__inner {
	width: min(100%, 1480px);
	margin-inline: auto;
}

.store-products__header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: clamp(42px, 6vw, 80px);
	padding-bottom: 24px;
	border-bottom: 4px solid var(--ltlf-navy);
}

.store-products__header h2 {
	margin: 0;
	font-family: var(--ltlf-font-display);
	font-size: clamp(3rem, 7vw, 7rem);
	line-height: .9;
	letter-spacing: -.04em;
}

.store-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 64px);
}

.store-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--ltlf-cream);
	border: 1px solid var(--ltlf-line);
}

.store-card__image {
	display: block;
	aspect-ratio: 1;
	background: #fff;
	overflow: hidden;
}

.store-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.store-card__content {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 14px 24px;
	padding: clamp(22px, 3vw, 34px);
}

.store-card__content h2,
.store-card__content h3 {
	margin: 0;
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.05;
}

.store-card__type {
	grid-column: 1;
	margin: 0;
	color: var(--ltlf-muted);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.store-card__price {
	grid-column: 2;
	grid-row: 1 / span 2;
	margin: 0;
	font-size: 1.25rem;
	font-weight: 800;
}

.store-card__action {
	grid-column: 1 / -1;
	margin-top: 10px;
}

.ltlf-cart-trigger-wrap {
	display: flex;
	align-items: center;
}

.ltlf-cart-trigger {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	min-height: 58px;
	padding: 0 22px;
	border: 0;
	background: var(--ltlf-navy);
	color: var(--ltlf-white);
	font: inherit;
	font-size: .8rem;
	font-weight: 900;
	letter-spacing: .05em;
	text-transform: uppercase;
	cursor: pointer;
}

.ltlf-cart-trigger__count {
	display: inline-grid;
	place-items: center;
	min-width: 30px;
	height: 30px;
	padding-inline: 7px;
	border-radius: 999px;
	background: var(--ltlf-red);
	font-size: .75rem;
}

.ltlf-cart-scrim {
	position: fixed;
	inset: 0;
	z-index: 99980;
	background: rgba(3, 22, 33, .72);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s ease;
}

.ltlf-cart-scrim.is-open {
	opacity: 1;
	visibility: visible;
}

.ltlf-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 99990;
	display: flex;
	flex-direction: column;
	width: min(760px, 100vw);
	height: 100vh;
	height: 100dvh;
	background: var(--ltlf-cream);
	color: var(--ltlf-navy);
	box-shadow: -18px 0 50px rgba(0,0,0,.18);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform .32s ease, visibility .32s ease;
}

.ltlf-cart-drawer.is-open {
	transform: translateX(0);
	visibility: visible;
}

body.ltlf-cart-open {
	overflow: hidden;
}

.ltlf-cart-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 112px;
	padding: 28px clamp(24px, 4vw, 52px);
	border-bottom: 8px solid var(--ltlf-red);
	background: var(--ltlf-navy);
	color: var(--ltlf-white);
}

.ltlf-cart-drawer__header h2 {
	margin: 0;
	font-size: .9rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ltlf-cart-close {
	padding: 10px 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: .8rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}

.ltlf-cart-drawer__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	overflow-y: auto;
}

.ltlf-cart-drawer__empty {
	display: grid;
	place-items: center;
	flex: 1;
	padding: 48px;
	text-align: center;
}

.ltlf-cart-drawer__items {
	padding: 12px clamp(24px, 4vw, 52px) 0;
}

.ltlf-cart-item {
	display: grid;
	grid-template-columns: 118px minmax(0, 1fr) auto;
	gap: 24px;
	padding: 34px 0;
	border-bottom: 1px solid var(--ltlf-line);
}

.ltlf-cart-item__image {
	width: 118px;
	aspect-ratio: 1;
	background: #fff;
}

.ltlf-cart-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ltlf-cart-item__content h3 {
	margin: 4px 0 12px;
	font-size: 1.25rem;
	line-height: 1.15;
}

.ltlf-cart-item__type {
	margin: 0 0 18px;
	font-size: .75rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.ltlf-cart-item__quantity {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .72rem;
	text-transform: uppercase;
}

.ltlf-cart-item__quantity input {
	width: 64px;
	height: 38px;
	border: 1px solid var(--ltlf-line);
	background: #fff;
	color: var(--ltlf-navy);
	text-align: center;
}

.ltlf-cart-item__aside {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	justify-content: space-between;
	gap: 18px;
	font-weight: 800;
	white-space: nowrap;
}

.ltlf-cart-remove {
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	color: var(--ltlf-red);
	font: inherit;
	font-size: .7rem;
	text-transform: uppercase;
	cursor: pointer;
}

.ltlf-cart-drawer__summary {
	margin-top: auto;
	padding: 38px clamp(24px, 4vw, 52px) 42px;
	border-top: 4px solid var(--ltlf-navy);
	background: #fff;
}

.ltlf-cart-drawer__summary-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
	font-size: 1.4rem;
}

.ltlf-cart-drawer__summary-row strong {
	font-size: 1.7rem;
}

.ltlf-cart-drawer__summary .button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 72px;
	padding: 18px 24px;
}

.ltlf-cart-drawer__cart-link {
	display: block;
	margin-top: 20px;
	color: var(--ltlf-navy);
	font-size: .75rem;
	font-weight: 900;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-transform: uppercase;
}

@media (max-width: 980px) {
	.store-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.store-hero {
		min-height: 500px;
	}

	.store-grid {
		grid-template-columns: 1fr;
	}

	.store-products__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.ltlf-cart-drawer__header {
		min-height: 92px;
		padding: 22px 24px;
	}

	.ltlf-cart-item {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 16px;
		padding: 24px 0;
	}

	.ltlf-cart-item__image {
		width: 86px;
	}

	.ltlf-cart-item__aside {
		grid-column: 2;
		align-items: flex-start;
		flex-direction: row;
	}

	.ltlf-cart-drawer__summary {
		padding-bottom: max(28px, env(safe-area-inset-bottom));
	}
}

/* Shop archive: approved editorial composition. */
.store-page .store-products {
	box-sizing: border-box;
}

.store-page .store-music-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 32px);
}

.store-page .store-music-grid--count-1 {
	grid-template-columns: minmax(280px, 1fr);
	max-width: 420px;
}

.store-page .store-music-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.store-page .store-music-grid--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.store-page .store-music-card {
	border-top: 0;
	border: 1px solid var(--ltlf-line);
	background: #fff;
}

.store-page .store-music-card__content {
	padding: clamp(20px, 2.2vw, 30px);
}

.store-page .store-music-card__actions {
	grid-template-columns: 1fr;
}

.store-page .store-bundles {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding: clamp(82px, 10vw, 150px) max(var(--ltlf-gutter), calc((100vw - 1420px) / 2));
	background: var(--ltlf-navy);
}

.store-page .store-bundles__intro {
	grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
	border-top: 4px solid var(--ltlf-red);
	padding-top: clamp(28px, 4vw, 52px);
}

.store-page .store-bundles__intro > div h2 {
	max-width: 8ch;
	margin: 18px 0 0;
	color: #fff;
	font-size: clamp(4rem, 7.5vw, 8.5rem);
	line-height: .82;
}

.store-page .store-bundles__intro > p:last-child {
	color: rgba(255,255,255,.7);
}

.store-page .store-bundle-grid {
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid rgba(255,255,255,.28);
}

.store-page .store-bundle-concept,
.store-page .store-bundle-concept:nth-child(n) {
	display: grid;
	grid-template-columns: minmax(130px, .55fr) minmax(240px, 1.45fr) minmax(220px, 1fr);
	align-items: center;
	gap: 24px;
	min-height: 0;
	padding: 30px 12px;
	border-bottom: 1px solid rgba(255,255,255,.28);
	background: transparent;
	color: #fff;
}

.store-page .store-bundle-concept:last-child {
	background: var(--ltlf-red);
}

.store-page .store-bundle-concept .eyebrow,
.store-page .store-bundle-concept h3,
.store-page .store-bundle-concept p {
	margin: 0;
}

.store-page .store-bundle-concept h3 {
	font-size: clamp(1.5rem, 2.5vw, 3rem);
	line-height: 1;
}

.store-page .store-bundle-concept > p:last-child {
	color: rgba(255,255,255,.7);
}

.store-page .store-merch-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
}

.store-page .store-merch-card,
.store-page .store-merch-card:nth-child(n),
.store-page .store-family-panel {
	grid-column: auto;
}

.store-page .store-merch-card__image,
.store-page .store-merch-card:nth-child(n) .store-merch-card__image {
	aspect-ratio: 4 / 5;
}

.store-page .store-family-panel {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	gap: 24px;
	margin: 0;
	padding: clamp(36px, 5vw, 72px);
	background: var(--ltlf-red);
}

.store-page .store-family-panel h3 {
	font-size: clamp(3rem, 5vw, 6rem);
}

.store-page .store-family-panel p {
	margin: 0;
	line-height: 1.65;
}

.store-page .store-merch-empty {
	grid-column: span 2;
	max-width: none;
}

.store-page .store-direct {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(90px, 11vw, 170px) max(var(--ltlf-gutter), calc((100vw - 1420px) / 2));
	background: var(--ltlf-red);
	text-align: center;
}

.store-page .store-direct .eyebrow,
.store-page .store-direct h2,
.store-page .store-direct > p:not(.eyebrow),
.store-page .store-direct__actions {
	grid-column: 1 / -1;
	justify-self: center;
}

.store-page .store-direct h2 {
	max-width: 13ch;
	font-size: clamp(4rem, 8vw, 9rem);
	line-height: .82;
}

.store-page .store-direct > p:not(.eyebrow) {
	max-width: 820px;
	color: rgba(255,255,255,.9);
}

.store-page .store-direct__actions {
	justify-content: center;
}

@media (max-width: 1100px) {
	.store-page .store-music-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.store-page .store-merch-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.store-page .store-family-panel {
		min-height: 420px;
	}
}

@media (max-width: 720px) {
	.store-page .store-music-grid,
	.store-page .store-music-grid--count-1,
	.store-page .store-music-grid--count-2,
	.store-page .store-music-grid--count-3,
	.store-page .store-merch-grid {
		grid-template-columns: 1fr;
		max-width: none;
	}

	.store-page .store-bundles__intro,
	.store-page .store-bundle-concept,
	.store-page .store-bundle-concept:nth-child(n) {
		grid-template-columns: 1fr;
	}

	.store-page .store-bundle-concept {
		gap: 12px;
	}

	.store-page .store-merch-empty {
		grid-column: auto;
	}

	.store-page .store-family-panel {
		min-height: 360px;
	}
}

/* WooCommerce storefront and transaction pages */
.store-page .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce {
	width: min(100% - 40px, 1420px);
	margin-inline: auto;
}

.store-hero {
	min-height: clamp(560px, 68vh, 760px);
	display: grid;
	align-items: end;
	padding: clamp(120px, 12vw, 180px) 0 clamp(64px, 7vw, 100px);
}

.store-hero__inner,
.store-products,
.store-bundles,
.store-merch {
	width: min(100% - 40px, 1420px);
	margin-inline: auto;
}

.store-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
	align-items: end;
	gap: clamp(48px, 8vw, 140px);
}

.store-hero__copy {
	max-width: 820px;
}

.store-jump-nav {
	display: grid;
	gap: 1px;
	background: rgba(255,255,255,.2);
}

.store-jump-nav a {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 26px;
	background: rgba(3,41,61,.86);
	color: #fff;
	font-weight: 900;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.store-products,
.store-bundles,
.store-merch {
	padding-block: clamp(72px, 8vw, 118px);
}

.store-products__header,
.store-bundles__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
	align-items: end;
	gap: clamp(36px, 8vw, 120px);
	margin-bottom: clamp(38px, 5vw, 68px);
}

.store-products__header > .eyebrow,
.store-bundles__intro > .eyebrow {
	grid-column: 1 / -1;
	margin-bottom: calc(-1 * clamp(22px, 3vw, 42px));
}

.store-products__header > p:last-child,
.store-bundles__intro > p:last-child {
	max-width: 480px;
	margin: 0;
	color: var(--ltlf-muted);
	line-height: 1.65;
}

.store-products__header h2,
.store-bundles__intro h2 {
	margin: 0;
	font-size: clamp(3.25rem, 6.2vw, 7.2rem);
	line-height: .88;
	overflow-wrap: normal;
}

.store-music-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 420px));
	justify-content: start;
	gap: clamp(24px, 3vw, 48px);
}

.store-music-grid--count-1 {
	grid-template-columns: minmax(280px, 480px);
}

.store-music-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border-top: 4px solid var(--ltlf-navy);
}

.store-music-card__image {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: #e6e1d9;
}

.store-music-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.store-music-card__content {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px 24px;
	padding-top: 22px;
}

.store-music-card__content h3,
.store-merch-card h3 {
	margin: 0;
	font-size: clamp(1.5rem, 2.3vw, 2.35rem);
}

.store-music-card__type {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--ltlf-red);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.store-music-card__price {
	font-weight: 900;
	white-space: nowrap;
}

.store-music-card__audio,
.store-music-card__actions {
	grid-column: 1 / -1;
	width: 100%;
}

.store-music-card__audio {
	margin-top: 8px;
}

.store-music-card__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.store-music-card__actions .button,
.store-merch-card .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 14px 18px;
	border: 0;
	background: var(--ltlf-red);
	color: #fff;
	font-weight: 900;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.store-bundles {
	color: #fff;
}

.store-bundle-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2px;
}

.store-bundle-concept {
	min-height: 360px;
	padding: clamp(30px, 4vw, 58px);
	background: #fff;
	color: var(--ltlf-navy);
}

.store-bundle-concept:nth-child(2) {
	background: var(--ltlf-red);
	color: #fff;
}

.store-bundle-concept:nth-child(3) {
	background: #f4efe7;
}

.store-bundle-concept h3 {
	margin: 0 0 24px;
	font-size: clamp(2.5rem, 4.5vw, 5rem);
	line-height: .9;
}

.store-merch-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 32px);
}

.store-merch-card {
	grid-column: span 4;
}

.store-merch-card:nth-child(4n + 1) {
	grid-column: span 7;
}

.store-merch-card:nth-child(4n + 2) {
	grid-column: span 5;
}

.store-merch-card__image {
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #e6e1d9;
}

.store-merch-card:nth-child(4n + 1) .store-merch-card__image,
.store-merch-card:nth-child(4n + 2) .store-merch-card__image {
	aspect-ratio: 16 / 11;
}

.store-merch-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.store-merch-card__content {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: start;
	gap: 14px 24px;
	padding-top: 20px;
}

.store-merch-card__content .button {
	grid-column: 1 / -1;
}

.store-family-panel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(36px, 8vw, 120px);
	margin-top: clamp(70px, 9vw, 130px);
	padding: clamp(42px, 7vw, 100px);
	background: var(--ltlf-navy);
	color: #fff;
}

.store-family-panel h3 {
	margin: 0;
	font-size: clamp(3rem, 6vw, 7rem);
	line-height: .88;
}

.store-merch-empty {
	max-width: 760px;
	padding: clamp(30px, 4vw, 54px);
	border-top: 7px solid var(--ltlf-red);
	background: var(--ltlf-cream);
}

.store-merch-empty > p:last-child {
	max-width: 620px;
	margin: 22px 0 0;
	color: var(--ltlf-muted);
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	line-height: 1.7;
}

.store-direct {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	gap: 24px clamp(40px, 8vw, 130px);
	width: min(100% - 40px, 1420px);
	margin: 0 auto clamp(80px, 10vw, 150px);
	padding: clamp(48px, 6vw, 84px);
	background: var(--ltlf-navy);
	color: #fff;
}

.store-direct .eyebrow {
	grid-column: 1 / -1;
}

.store-direct h2 {
	margin: 0;
	font-size: clamp(3.2rem, 6vw, 7rem);
	line-height: .88;
}

.store-direct > p:not(.eyebrow) {
	max-width: 520px;
	margin: 0;
	color: rgba(255,255,255,.72);
	line-height: 1.7;
}

.store-direct__actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.store-direct__actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 15px 22px;
	border: 1px solid rgba(255,255,255,.5);
	color: #fff;
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
}

body.woocommerce-cart main,
body.woocommerce-order-received main {
	padding-block: clamp(120px, 14vw, 200px) clamp(80px, 10vw, 150px);
	background: #f4efe7;
}

body.woocommerce-cart .woocommerce h1,
body.woocommerce-checkout .woocommerce h1,
body.woocommerce-order-received .woocommerce h1 {
	font-size: clamp(4rem, 10vw, 10rem);
	line-height: .84;
}

.woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 24px 18px;
	border: 0;
	border-bottom: 1px solid rgba(3,41,61,.2);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button {
	border-radius: 0;
	background: var(--ltlf-red);
	color: #fff;
	font-weight: 900;
	text-transform: uppercase;
}

.wc-block-cart,
form.woocommerce-cart-form + .cart-collaterals {
	align-items: start;
}

.wc-block-cart__sidebar,
.cart-collaterals .cart_totals,
.wc-block-checkout__sidebar {
	position: sticky;
	top: 30px;
	padding: clamp(24px, 3vw, 42px);
	background: #fff;
}

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-areas:
		"customer heading"
		"customer review";
	grid-template-columns: minmax(0, 1.45fr) minmax(340px, .65fr);
	grid-template-rows: auto 1fr;
	align-items: start;
	gap: clamp(42px, 6vw, 90px);
	row-gap: 0;
}

.woocommerce-checkout form.checkout #customer_details {
	grid-area: customer;
	min-width: 0;
}

.woocommerce-checkout form.checkout #order_review_heading {
	grid-area: heading;
	min-width: 0;
	margin-top: 0;
}

.woocommerce-checkout form.checkout #order_review {
	grid-area: review;
	min-width: 0;
}

.woocommerce-checkout form.checkout #order_review {
	position: sticky;
	top: 30px;
	padding: clamp(24px, 3vw, 42px);
	background: #fff;
}

.woocommerce-checkout .woocommerce-billing-fields > h3::before,
.ltlf-cart-digital-only .woocommerce-checkout #payment::before,
.ltlf-cart-needs-shipping .woocommerce-shipping-fields > h3::before,
.ltlf-cart-needs-shipping .woocommerce-checkout #payment::before {
	display: block;
	margin-bottom: 8px;
	color: var(--ltlf-red);
	font-size: .75rem;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.woocommerce-checkout .woocommerce-billing-fields > h3::before { content: "01 · Contact"; }
.ltlf-cart-digital-only .woocommerce-checkout #payment::before { content: "02 · Payment"; }
.ltlf-cart-needs-shipping .woocommerce-shipping-fields > h3::before { content: "02 · Delivery"; }
.ltlf-cart-needs-shipping .woocommerce-checkout #payment::before { content: "03 · Payment"; }

.woocommerce-order-received .woocommerce-order {
	max-width: 1000px;
	padding: clamp(32px, 5vw, 70px);
	background: #fff;
}

/* Native WooCommerce Checkout inside the approved LTLF presentation shell. */
.ltlf-checkout-page {
	overflow: visible;
	background: var(--ltlf-paper);
}

.ltlf-checkout-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
	align-items: end;
	gap: clamp(40px, 6vw, 100px);
	padding: 52px var(--ltlf-gutter) 56px;
	background: var(--ltlf-navy-deep);
	color: var(--ltlf-cream);
}

.ltlf-checkout-hero h1 {
	margin: 0;
	font-size: clamp(58px, 7.2vw, 104px);
	line-height: .84;
	white-space: nowrap;
}

.ltlf-checkout-hero h1 span {
	color: var(--ltlf-red);
}

.ltlf-checkout-hero__support > p {
	max-width: 520px;
	margin: 0 0 25px;
	color: rgba(255, 255, 255, .68);
	line-height: 1.65;
}

.ltlf-checkout-hero__support ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, .22);
	list-style: none;
}

.ltlf-checkout-hero__support li {
	position: relative;
	min-width: 0;
	padding: 13px 8px 0 0;
	color: rgba(255, 255, 255, .42);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ltlf-checkout-hero__support li::before {
	position: absolute;
	top: -2px;
	right: 8px;
	left: 0;
	height: 3px;
	background: transparent;
	content: "";
}

.ltlf-checkout-hero__support li:is(.is-complete, .is-current) {
	color: var(--ltlf-cream);
}

.ltlf-checkout-hero__support li:is(.is-complete, .is-current)::before {
	background: var(--ltlf-red);
}

.ltlf-checkout-hero__support li span {
	display: block;
	margin-bottom: 4px;
	color: var(--ltlf-white);
}

.ltlf-checkout-content {
	width: min(1660px, calc(100% - (2 * var(--ltlf-gutter))));
	max-width: 1660px;
	margin-inline: auto;
	padding-block: clamp(55px, 7vw, 90px) clamp(80px, 9vw, 130px);
}

.ltlf-checkout-native,
.ltlf-checkout-native > *,
.ltlf-checkout-native .woocommerce,
.ltlf-checkout-native .wp-block-woocommerce-checkout {
	width: 100%;
	max-width: none;
	min-width: 0;
}

/* Checkout Block: retain WooCommerce components and only control composition. */
.ltlf-checkout-native .wc-block-checkout {
	display: grid;
	grid-template-columns: minmax(560px, 1.15fr) minmax(440px, .85fr);
	align-items: start;
	gap: clamp(48px, 5vw, 96px);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.ltlf-checkout-native .wc-block-checkout__main,
.ltlf-checkout-native .wc-block-checkout__sidebar {
	box-sizing: border-box;
	width: auto;
	max-width: none;
	min-width: 0;
	margin: 0;
}

.ltlf-checkout-native .wc-block-checkout__main {
	grid-column: 1;
	padding-right: 0;
}

.ltlf-checkout-native .wc-block-checkout__main > *,
.ltlf-checkout-native .wc-block-components-checkout-step,
.ltlf-checkout-native .wc-block-components-checkout-step__container,
.ltlf-checkout-native .wc-block-components-checkout-step__content {
	width: 100%;
	max-width: none;
	min-width: 0;
}

.ltlf-checkout-native .wc-block-checkout__sidebar {
	grid-column: 2;
	position: sticky;
	top: 28px;
	align-self: start;
	padding: clamp(24px, 3vw, 42px);
	background: var(--ltlf-cream);
}

/* Classic checkout receives the same wide form/summary proportions. */
.ltlf-checkout-native .woocommerce-checkout form.checkout {
	width: 100%;
	max-width: none;
}

.ltlf-checkout-native .woocommerce-checkout #order_review {
	background: var(--ltlf-cream);
}

.ltlf-checkout-native :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.ltlf-checkout-native .select2-container {
	max-width: 100%;
}

.ltlf-checkout-native :is(.form-row, .wc-block-components-text-input, .wc-block-components-combobox, .wc-block-components-address-form__address_2-toggle) {
	min-width: 0;
}

.ltlf-checkout-native :is(#payment, .payment_methods, .payment_box, .wc-stripe-elements-field, .wc-block-components-checkout-step__container) {
	max-width: 100%;
	min-width: 0;
}

.ltlf-checkout-native :is(.wc-stripe-elements-field, .payment_box iframe) {
	width: 100%;
}

.ltlf-checkout-native :is(.wc-block-components-order-summary-item, .wc-block-components-order-summary-item__description, .wc-block-components-order-summary-item__individual-prices, .wc-block-components-product-name, .product-name) {
	min-width: 0;
	word-break: normal;
	overflow-wrap: break-word;
}

.ltlf-checkout-native .wc-block-components-product-name,
.ltlf-checkout-native .product-name a {
	display: inline;
}

.ltlf-checkout-native :is(.wc-block-components-totals-coupon__form, .checkout_coupon.woocommerce-form-coupon) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	width: 100%;
}

.ltlf-checkout-native :is(.wc-block-components-totals-coupon__form, .checkout_coupon.woocommerce-form-coupon) > * {
	min-width: 0;
}

.ltlf-checkout-native .checkout_coupon.woocommerce-form-coupon .form-row {
	float: none;
	width: auto;
	margin: 0;
}

.ltlf-checkout-native :is(.wc-block-components-checkout-place-order-button, #place_order) {
	width: 100%;
	min-height: 56px;
}

.ltlf-checkout-native .wc-block-components-checkout-step {
	margin-bottom: clamp(34px, 4vw, 58px);
}

.ltlf-checkout-native .wc-block-components-checkout-step:last-of-type {
	margin-bottom: 24px;
}

/* Commerce pages use the viewport instead of the editorial reading measure. */
body.woocommerce-cart main {
	padding: clamp(72px, 7vw, 110px) var(--ltlf-gutter) clamp(90px, 10vw, 150px);
}

body.woocommerce-cart :is(.entry-content, .woocommerce, .wp-block-woocommerce-cart) {
	width: 100%;
	max-width: none;
}

body.woocommerce-cart .wc-block-cart:not(.is-mobile) {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(390px, .55fr);
	align-items: start;
	gap: clamp(48px, 6vw, 100px);
	width: 100%;
	max-width: none;
	margin: 0;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar {
	box-sizing: border-box;
	width: auto;
	max-width: none;
	min-width: 0;
	margin: 0;
}

body.woocommerce-cart .wc-block-cart-items {
	width: 100%;
}

body.woocommerce-cart .wc-block-cart-item__image {
	width: clamp(104px, 10vw, 150px);
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-grid__product-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

body.woocommerce-cart .wc-block-cart__sidebar {
	padding: clamp(28px, 3vw, 44px);
	border-top: 7px solid var(--ltlf-red);
}

body.woocommerce-cart .wc-block-cart__submit-button {
	min-height: 62px;
}

/* Empty Cart: retain the native block and recommendations, restyle their state. */
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
body.woocommerce-cart .wc-block-cart__empty-cart__title::before {
	display: none;
	content: none;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title {
	max-width: 760px;
	margin: 0 auto clamp(54px, 7vw, 96px);
	padding: clamp(38px, 5vw, 64px);
	border-top: 8px solid var(--ltlf-red);
	background: var(--ltlf-navy);
	color: var(--ltlf-cream);
	font-size: clamp(30px, 4vw, 58px);
	line-height: .95;
	text-align: left;
}

body.woocommerce-cart .wc-block-grid.has-3-columns,
body.woocommerce-cart .wp-block-woocommerce-product-new {
	max-width: 1180px;
	margin-inline: auto;
}

body.woocommerce-cart .wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 42px);
}

body.woocommerce-cart .wc-block-grid__product {
	width: auto;
	max-width: none;
	padding: 0;
	border: 0;
	text-align: left;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
	border-radius: 0;
	background: var(--ltlf-red);
	font-weight: 900;
	text-transform: uppercase;
}

.ltlf-order-endpoint-page {
	background: var(--ltlf-paper);
}

.ltlf-order-endpoint-content {
	width: min(1180px, calc(100% - (2 * var(--ltlf-gutter))));
	margin-inline: auto;
}

.ltlf-order-endpoint-content .woocommerce-order {
	max-width: none;
}

@media (max-width: 1100px) {
	.ltlf-checkout-native .wc-block-checkout {
		grid-template-columns: 1fr;
	}

	.ltlf-checkout-native .wc-block-checkout__main,
	.ltlf-checkout-native .wc-block-checkout__sidebar {
		grid-column: 1;
	}

	.ltlf-checkout-native .wc-block-checkout__sidebar {
		position: static;
	}
}

@media (max-width: 1100px) {
	.store-hero__inner,
	.store-products__header,
	.store-bundles__intro,
	.store-family-panel,
	.store-direct,
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
	}

	.store-music-grid {
		grid-template-columns: repeat(auto-fit, minmax(260px, 420px));
	}

	.store-music-grid--count-1 {
		grid-template-columns: minmax(260px, 480px);
	}

	.store-products__header > .eyebrow,
	.store-bundles__intro > .eyebrow {
		margin-bottom: 0;
	}

	.store-merch-card,
	.store-merch-card:nth-child(n) {
		grid-column: span 6;
	}

	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review {
		grid-column: 1;
	}

	.woocommerce-checkout form.checkout #order_review,
	.wc-block-checkout__sidebar,
	.wc-block-cart__sidebar,
	.cart-collaterals .cart_totals {
		position: static;
	}

	.woocommerce-checkout form.checkout {
		grid-template-areas: "customer" "heading" "review";
		grid-template-rows: auto;
	}

	.ltlf-checkout-native .wc-block-checkout {
		grid-template-columns: 1fr;
	}

	.ltlf-checkout-native .wc-block-checkout__main,
	.ltlf-checkout-native .wc-block-checkout__sidebar {
		grid-column: 1;
	}

	.ltlf-checkout-native .wc-block-checkout__sidebar {
		position: static;
	}

	body.woocommerce-cart .wc-block-cart:not(.is-mobile) {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart .wc-block-cart__sidebar {
		position: static;
	}
}

@media (max-width: 850px) {
	.ltlf-checkout-hero {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 28px;
	}

	.ltlf-checkout-hero__support {
		max-width: 620px;
	}

	.ltlf-checkout-native .wc-block-checkout__sidebar {
		grid-row: 1;
	}
}

@media (max-width: 720px) {
	.store-hero {
		min-height: 560px;
		padding-top: 120px;
	}

	.store-music-grid,
	.store-bundle-grid,
	.store-family-panel,
	.store-direct {
		grid-template-columns: 1fr;
	}

	.store-direct {
		width: calc(100% - 36px);
		padding: 36px 24px;
	}

	.store-merch-card,
	.store-merch-card:nth-child(n) {
		grid-column: 1 / -1;
	}

	.store-merch-card .store-merch-card__image,
	.store-merch-card:nth-child(n) .store-merch-card__image {
		aspect-ratio: 4 / 5;
	}

	.store-music-card__actions {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart main,
	body.woocommerce-order-received main {
		padding-top: 90px;
	}

	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding-inline: 8px;
	}

	.ltlf-checkout-hero {
		padding: 48px 20px;
	}

	.ltlf-checkout-hero h1 {
		font-size: 58px;
		white-space: normal;
	}

	.ltlf-checkout-hero__support > p {
		font-size: 13px;
	}

	.ltlf-checkout-content {
		width: calc(100% - 36px);
	}

	.ltlf-checkout-native .wc-block-checkout__sidebar,
	.ltlf-checkout-native .woocommerce-checkout form.checkout #order_review {
		padding: 24px 18px;
	}

	.ltlf-checkout-native :is(.wc-block-components-totals-coupon__form, .checkout_coupon.woocommerce-form-coupon) {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart main {
		padding-inline: 18px;
	}

body.woocommerce-cart .wc-block-grid__products {
		grid-template-columns: 1fr;
	}
}

/* Commerce refinements: approved store composition and centered checkout shell. */
.store-hero__aside {
	position: relative;
	z-index: 1;
	max-width: 620px;
	padding-bottom: 8px;
}

.store-hero__aside > p {
	margin: 0;
	color: rgba(255,255,255,.76);
	font-size: clamp(1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
}

.store-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.store-jump {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	border-bottom: 1px solid rgba(3,41,61,.2);
	background: var(--ltlf-paper);
}

.store-jump a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 68px;
	border-right: 1px solid rgba(3,41,61,.2);
	color: var(--ltlf-navy);
	font-size: .75rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}

.store-jump a:hover,
.store-jump a:focus-visible {
	background: var(--ltlf-red);
	color: #fff;
}

.store-featured {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	width: min(100% - 40px, 1420px);
	margin-inline: auto;
	padding-block: clamp(72px, 9vw, 132px);
}

.store-featured__art {
	position: relative;
	min-width: 0;
	padding: 0 clamp(20px, 3vw, 48px) clamp(20px, 3vw, 48px) 0;
	background: linear-gradient(135deg, transparent 0 88%, var(--ltlf-red) 88%);
}

.store-featured__art a,
.store-featured__art img {
	display: block;
	width: 100%;
}

.store-featured__art img {
	aspect-ratio: 1;
	height: auto;
	object-fit: cover;
}

.store-featured__art > span {
	position: absolute;
	top: 24px;
	left: -18px;
	padding: 14px 20px;
	background: var(--ltlf-red);
	color: #fff;
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.store-featured__copy {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	padding: clamp(38px, 6vw, 90px);
	border-left: clamp(10px, 1.2vw, 20px) solid var(--ltlf-red);
}

.store-featured__copy h2 {
	max-width: 7ch;
	margin: 18px 0 28px;
	font-size: clamp(4.5rem, 9vw, 9rem);
	line-height: .78;
	overflow-wrap: normal;
}

.store-featured__copy > p:not(.eyebrow) {
	max-width: 570px;
	color: var(--ltlf-muted);
	font-size: 1.08rem;
	line-height: 1.65;
}

.store-featured__copy audio {
	width: 100%;
	margin: 22px 0;
}

.store-featured__copy .music-purchase {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 10px;
}

.store-featured__copy .music-purchase__price {
	font-size: 1.75rem;
	font-weight: 900;
}

.store-featured__details {
	margin-top: 20px;
	font-weight: 900;
	text-transform: uppercase;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .ltlf-checkout-content {
	display: grid;
	place-items: start center;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding-inline: var(--ltlf-gutter);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .ltlf-checkout-native {
	box-sizing: border-box;
	width: min(100%, 1660px);
	margin-inline: auto !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .ltlf-checkout-native :is(.wp-block-woocommerce-checkout, .wc-block-checkout, .woocommerce) {
	float: none !important;
	margin-inline: auto !important;
}

@media (max-width: 1100px) {
	.store-featured {
		grid-template-columns: 1fr;
	}

	.store-featured__copy {
		border-top: 14px solid var(--ltlf-red);
		border-left: 0;
	}
}

@media (max-width: 720px) {
	.store-jump {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.store-featured {
		width: calc(100% - 36px);
	}

	.store-featured__copy {
		padding: 36px 8px;
	}

	.store-featured__copy h2 {
		font-size: clamp(4rem, 24vw, 6.5rem);
	}

body.woocommerce-checkout:not(.woocommerce-order-received) .ltlf-checkout-content {
		padding-inline: 18px;
	}
}

/* Final Shop cascade: keep the approved archive composition above legacy rules. */
.store-page .store-music-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 2vw, 32px); }
.store-page .store-music-grid--count-1 { grid-template-columns: minmax(280px, 1fr); max-width: 420px; }
.store-page .store-music-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.store-page .store-music-grid--count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.store-page .store-music-card { border: 1px solid var(--ltlf-line); background: #fff; }
.store-page .store-music-card__content { padding: clamp(20px, 2.2vw, 30px); }
.store-page .store-music-card__actions { grid-template-columns: 1fr; }
.store-page .store-bundles { box-sizing: border-box; width: 100%; max-width: none; padding: clamp(82px, 10vw, 150px) max(var(--ltlf-gutter), calc((100vw - 1420px) / 2)); background: var(--ltlf-navy); }
.store-page .store-bundles__intro { grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); border-top: 4px solid var(--ltlf-red); padding-top: clamp(28px, 4vw, 52px); }
.store-page .store-bundles__intro > div h2 { max-width: 8ch; margin: 18px 0 0; color: #fff; font-size: clamp(4rem, 7.5vw, 8.5rem); line-height: .82; }
.store-page .store-bundles__intro > p:last-child { color: rgba(255,255,255,.7); }
.store-page .store-bundle-grid { grid-template-columns: 1fr; gap: 0; border-top: 1px solid rgba(255,255,255,.28); }
.store-page .store-bundle-concept,
.store-page .store-bundle-concept:nth-child(n) { display: grid; grid-template-columns: minmax(130px, .55fr) minmax(240px, 1.45fr) minmax(220px, 1fr); align-items: center; gap: 24px; min-height: 0; padding: 30px 12px; border-bottom: 1px solid rgba(255,255,255,.28); background: transparent; color: #fff; }
.store-page .store-bundle-concept:last-child { background: var(--ltlf-red); }
.store-page .store-bundle-concept :is(.eyebrow, h3, p) { margin: 0; }
.store-page .store-bundle-concept h3 { font-size: clamp(1.5rem, 2.5vw, 3rem); line-height: 1; }
.store-page .store-bundle-concept > p:last-child { color: rgba(255,255,255,.7); }
.store-page .store-merch-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.store-page .store-merch-card,
.store-page .store-merch-card:nth-child(n),
.store-page .store-family-panel { grid-column: auto; }
.store-page .store-merch-card__image,
.store-page .store-merch-card:nth-child(n) .store-merch-card__image { aspect-ratio: 4 / 5; }
.store-page .store-family-panel { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; gap: 24px; margin: 0; padding: clamp(36px, 5vw, 72px); background: var(--ltlf-red); }
.store-page .store-family-panel h3 { font-size: clamp(3rem, 5vw, 6rem); }
.store-page .store-family-panel p { margin: 0; line-height: 1.65; }
.store-page .store-merch-empty { grid-column: span 2; max-width: none; }
.store-page .store-direct { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: clamp(90px, 11vw, 170px) max(var(--ltlf-gutter), calc((100vw - 1420px) / 2)); background: var(--ltlf-red); text-align: center; }
.store-page .store-direct .eyebrow,
.store-page .store-direct h2,
.store-page .store-direct > p:not(.eyebrow),
.store-page .store-direct__actions { grid-column: 1 / -1; justify-self: center; }
.store-page .store-direct h2 { max-width: 13ch; font-size: clamp(4rem, 8vw, 9rem); line-height: .82; }
.store-page .store-direct > p:not(.eyebrow) { max-width: 820px; color: rgba(255,255,255,.9); }
.store-page .store-direct__actions { justify-content: center; }

@media (max-width: 1100px) {
	.store-page .store-music-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.store-page .store-merch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.store-page .store-family-panel { min-height: 420px; }
}

@media (max-width: 720px) {
	.store-page .store-music-grid,
	.store-page .store-music-grid--count-1,
	.store-page .store-music-grid--count-2,
	.store-page .store-music-grid--count-3,
	.store-page .store-merch-grid { grid-template-columns: 1fr; max-width: none; }
	.store-page .store-bundles__intro,
	.store-page .store-bundle-concept,
	.store-page .store-bundle-concept:nth-child(n) { grid-template-columns: 1fr; }
	.store-page .store-bundle-concept { gap: 12px; }
	.store-page .store-merch-empty { grid-column: auto; }
	.store-page .store-family-panel { min-height: 360px; }
}

/* Wide-screen Shop correction: match the prototype canvas and type scale. */
.store-page .store-hero__inner,
.store-page .store-products,
.store-page .store-merch {
	width: min(calc(100% - (2 * var(--ltlf-gutter))), 2200px);
}

.store-page .store-hero {
	min-height: clamp(500px, 56vh, 700px);
	padding-block: clamp(100px, 9vw, 150px) clamp(64px, 6vw, 90px);
}

.store-page .store-hero__inner {
	grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
	gap: clamp(48px, 7vw, 120px);
}

.store-page .store-hero h1 {
	max-width: 11ch;
	font-size: clamp(70px, 6.5vw, 118px);
	line-height: .82;
}

.store-page .store-products {
	padding-block: clamp(76px, 7vw, 112px);
}

.store-page .store-products__header {
	grid-template-columns: minmax(0, 1.55fr) minmax(320px, .45fr);
	gap: clamp(48px, 7vw, 120px);
	margin-bottom: clamp(42px, 5vw, 72px);
}

.store-page .store-products__header h2 {
	font-size: clamp(64px, 5vw, 96px);
	line-height: .86;
}

.store-page .store-bundles {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(620px, 1.15fr);
	align-items: start;
	gap: clamp(64px, 8vw, 150px);
	padding: clamp(86px, 8vw, 130px) max(var(--ltlf-gutter), calc((100vw - 2200px) / 2));
}

.store-page .store-bundles__intro {
	display: block;
	margin: 0;
	padding-top: clamp(30px, 3vw, 48px);
}

.store-page .store-bundles__intro > div h2 {
	max-width: 8ch;
	font-size: clamp(68px, 5.4vw, 104px);
	line-height: .84;
}

.store-page .store-bundles__intro > p:last-child {
	max-width: 620px;
	margin-top: 28px;
}

.store-page .store-bundle-grid {
	align-self: center;
}

.store-page .store-bundle-concept,
.store-page .store-bundle-concept:nth-child(n) {
	grid-template-columns: minmax(100px, .42fr) minmax(260px, 1fr) minmax(220px, .8fr);
	gap: clamp(18px, 2vw, 38px);
	padding: clamp(24px, 2.2vw, 36px) clamp(12px, 1.5vw, 26px);
}

.store-page .store-bundle-concept h3 {
	font-size: clamp(28px, 2vw, 42px);
}

.store-page .store-family-panel h3 {
	font-size: clamp(54px, 4vw, 82px);
	line-height: .86;
}

.store-page .store-direct {
	min-height: 620px;
	align-content: center;
	padding: clamp(90px, 8vw, 140px) max(var(--ltlf-gutter), calc((100vw - 2200px) / 2));
}

.store-page .store-direct h2 {
	max-width: 16ch;
	font-size: clamp(72px, 5.4vw, 104px);
	line-height: .84;
}

@media (max-width: 1100px) {
	.store-page .store-hero__inner,
	.store-page .store-products__header,
	.store-page .store-bundles {
		grid-template-columns: 1fr;
	}

	.store-page .store-bundles {
		gap: 52px;
	}
}

@media (max-width: 720px) {
	.store-page .store-hero h1,
	.store-page .store-products__header h2,
	.store-page .store-bundles__intro > div h2,
	.store-page .store-direct h2 {
		font-size: clamp(48px, 15vw, 72px);
	}

	.store-page .store-bundle-concept,
	.store-page .store-bundle-concept:nth-child(n) {
		grid-template-columns: 1fr;
	}

	.store-page .store-direct {
		min-height: 520px;
	}
}

/* Shop prototype alignment. Scoped to the WooCommerce archive only. */
body.woocommerce-shop .store-page .store-hero {
	min-height: 0;
	padding-block: clamp(82px, 7vw, 120px);
}

body.woocommerce-shop .store-page .store-hero__inner {
	grid-template-columns: minmax(0, 1.55fr) minmax(320px, .45fr);
}

body.woocommerce-shop .store-page .store-hero h1 {
	max-width: none;
	font-size: clamp(68px, 5vw, 100px);
	line-height: .86;
}

body.woocommerce-shop .store-page .store-hero h1 span:first-child {
	white-space: nowrap;
}

body.woocommerce-shop .store-jump {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.woocommerce-shop .store-featured {
	grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
	box-sizing: border-box;
	width: min(calc(100% - (2 * var(--ltlf-gutter))), 2200px);
	margin: clamp(72px, 7vw, 110px) auto;
	background: #fff;
}

body.woocommerce-shop .store-featured__art {
	display: block;
	min-height: 0;
	background: var(--ltlf-paper);
}

body.woocommerce-shop .store-featured__art img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.woocommerce-shop .store-featured__copy {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	gap: 22px;
	padding: clamp(48px, 6vw, 92px);
	border-top: 14px solid var(--ltlf-red);
	border-left: 0;
}

body.woocommerce-shop .store-featured__copy :is(h2, p) {
	margin: 0;
}

body.woocommerce-shop .store-featured__copy h2 {
	max-width: none;
	font-size: clamp(58px, 5vw, 96px);
	line-height: .86;
}

body.woocommerce-shop .store-featured__price {
	font-size: 1.55rem;
	font-weight: 900;
}

body.woocommerce-shop .store-preview {
	position: relative;
	width: 100%;
}

body.woocommerce-shop .store-preview summary {
	width: max-content;
	cursor: pointer;
	list-style: none;
	color: var(--ltlf-navy);
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .03em;
	text-transform: uppercase;
}

body.woocommerce-shop .store-preview summary::-webkit-details-marker {
	display: none;
}

body.woocommerce-shop .store-preview audio {
	display: block;
	width: min(100%, 420px);
	height: 36px;
	margin-top: 14px;
}

body.woocommerce-shop .store-page .store-products {
	padding-block: clamp(70px, 6vw, 100px);
}

body.woocommerce-shop .store-page .store-products__header {
	margin-bottom: clamp(36px, 4vw, 58px);
}

body.woocommerce-shop .store-page .store-music-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.woocommerce-shop .store-page .store-music-grid--count-1 {
	width: min(100%, 520px);
	max-width: none;
	grid-template-columns: minmax(0, 1fr);
}

body.woocommerce-shop .store-music-card__image {
	aspect-ratio: 1 / 1;
}

body.woocommerce-shop .store-music-card__content {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 14px 20px;
	padding: 24px;
}

body.woocommerce-shop .store-music-card__content :is(.store-music-card__type, h3, .store-music-card__actions) {
	grid-column: 1 / -1;
}

body.woocommerce-shop .store-music-card__content h3,
body.woocommerce-shop .store-music-card__price {
	margin: 0;
}

body.woocommerce-shop .store-music-card__content .store-preview {
	width: auto;
	justify-self: end;
}

body.woocommerce-shop .store-music-card__content .store-preview audio {
	position: absolute;
	z-index: 2;
	right: 0;
	width: 300px;
	background: #fff;
}

body.woocommerce-shop .store-page .store-bundles {
	grid-template-columns: minmax(0, .9fr) minmax(560px, 1.1fr);
	gap: clamp(52px, 7vw, 120px);
	padding-block: clamp(76px, 7vw, 112px);
}

body.woocommerce-shop .store-page .store-bundles__intro > div h2 {
	font-size: clamp(62px, 4.7vw, 92px);
}

body.woocommerce-shop .store-page .store-bundle-concept,
body.woocommerce-shop .store-page .store-bundle-concept:nth-child(n) {
	grid-template-columns: minmax(100px, .38fr) minmax(260px, 1fr);
	padding-block: 28px;
}

body.woocommerce-shop .store-page .store-merch-grid {
	gap: clamp(20px, 2vw, 34px);
}

body.woocommerce-shop .store-page .store-merch-empty,
body.woocommerce-shop .store-page .store-family-panel {
	min-height: 360px;
}

body.woocommerce-shop .store-page .store-merch-empty {
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: clamp(42px, 5vw, 72px);
	background: #fff;
	border-top: 14px solid var(--ltlf-red);
}

body.woocommerce-shop .store-page .store-direct {
	min-height: 0;
	padding-block: clamp(82px, 7vw, 112px);
}

body.woocommerce-shop .store-page .store-direct h2 {
	font-size: clamp(66px, 5vw, 96px);
}

body.woocommerce-shop .site-footer {
	min-height: 0;
	padding: clamp(82px, 7vw, 112px) var(--ltlf-gutter) 28px;
}

body.woocommerce-shop .site-footer__statement {
	max-width: 1160px;
	margin-inline: auto;
	font-size: clamp(64px, 5.5vw, 108px);
	line-height: .84;
}

body.woocommerce-shop .site-footer__bottom {
	margin-top: clamp(58px, 6vw, 88px);
}

@media (max-width: 1100px) {
	body.woocommerce-shop .store-page .store-hero__inner,
	body.woocommerce-shop .store-featured,
	body.woocommerce-shop .store-page .store-bundles {
		grid-template-columns: 1fr;
	}

	body.woocommerce-shop .store-page .store-hero h1 span:first-child {
		white-space: normal;
	}
}

@media (max-width: 720px) {
	body.woocommerce-shop .store-jump {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.woocommerce-shop .store-featured {
		width: calc(100% - 36px);
	}

	body.woocommerce-shop .store-page .store-music-grid,
	body.woocommerce-shop .store-page .store-music-grid--count-1 {
		width: 100%;
		grid-template-columns: 1fr;
	}

	body.woocommerce-shop .store-music-card__content .store-preview audio {
		position: static;
		width: 100%;
	}
}
