/* ---------- reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: #fff;
  background: #000;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: #033070; text-decoration: none; }
ul { list-style: none; padding: 0; margin: 0; }
section { padding: 54px 0; }
h1, h2, h3 {
  font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
  margin: 0;
}

/* ---------- top nav ---------- */
.site-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: transparent;
  transition: background-color 0.4s ease, padding 0.3s ease;
  padding: 16px 0;
}
.site-nav.scrolled {
  background: rgba(38, 38, 38, 0.82);
  padding: 8px 0;
}
.site-nav nav { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.site-nav ul { display: flex; justify-content: flex-end; gap: 28px; }
.site-nav a {
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: color 0.2s;
}
.site-nav a:hover { color: #fff; }
@media (max-width: 767px) {
  .site-nav nav { padding: 0 16px; }
  .site-nav ul { gap: 16px; justify-content: center; }
  .site-nav a { font-size: 13px; }
}

/* smooth-scroll anchor offset under fixed header */
html { scroll-behavior: smooth; }
section { scroll-margin-top: 60px; }

/* ---------- hero / home ---------- */
.hero {
  position: relative;
  padding: 58px 0 119px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 60px;
}
.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
.hero-content {
  max-width: 1280px;
  width: 90%;
  margin: 60px auto 0;
  text-align: right;
}
.hero-content h1 {
  font-weight: 100;
  font-size: clamp(42px, 8vw, 110px);
  line-height: 1;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.4);
  margin-bottom: 5px;
}
.hero-content h3 {
  font-weight: 500;
  font-size: clamp(25px, 3.2vw, 44px);
  line-height: 1;
  color: #fff;
  margin-bottom: 16px;
}

/* hero social icons (FB + X) */
.social-icons {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 12px;
}
.social-icons .icon,
.site-footer .icon {
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #2ea3f2;
  position: relative;
  transition: opacity 0.2s;
}
.social-icons .icon:hover,
.site-footer .icon:hover { opacity: 0.85; }
.social-icons .icon::before,
.site-footer .icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 50% 50%;
          mask-size: 50% 50%;
}

/* brand colors per network */
.icon-facebook   { background: #3b5998; }
.icon-twitter    { background: #000;    }
.icon-instagram  { background: #c1558b; }
.icon-youtube    { background: #ff0000; }
.icon-soundcloud { background: #ff5500; }
.icon-bandcamp   { background: #629aa9; }
.icon-apple      { background: #fb5bc5; }

/* SVG masks (simple icons) */
.icon-facebook::before   { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/></svg>");
                                   mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/></svg>"); }
.icon-twitter::before    { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/></svg>");
                                   mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/></svg>"); }
.icon-instagram::before  { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z'/></svg>");
                                   mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z'/></svg>"); }
.icon-youtube::before    { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/></svg>");
                                   mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/></svg>"); }
.icon-soundcloud::before { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M23.999 14.165c-.052 1.796-1.612 3.169-3.401 3.169h-8.18a.68.68 0 0 1-.679-.678V7.65a.681.681 0 0 1 .438-.635c0 0 1.387-.354 2.846-.354 1.244 0 2.5.265 3.628.747a6.143 6.143 0 0 1 3.493 4.45c.144.022.29.034.434.034 1.681 0 3.421 1.078 3.421 3.273ZM10.481 8.74c-.144 0-.291-.012-.434-.034a6.144 6.144 0 0 0-3.493-4.45 6.7 6.7 0 0 0-3.628-.747c-1.459 0-2.846.354-2.846.354a.681.681 0 0 0-.438.635v9.005a.68.68 0 0 0 .679.678h8.18c1.789 0 3.349-1.373 3.401-3.169.001-2.195-1.74-3.272-3.421-3.272Z'/></svg>");
                                   mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M23.999 14.165c-.052 1.796-1.612 3.169-3.401 3.169h-8.18a.68.68 0 0 1-.679-.678V7.65a.681.681 0 0 1 .438-.635c0 0 1.387-.354 2.846-.354 1.244 0 2.5.265 3.628.747a6.143 6.143 0 0 1 3.493 4.45c.144.022.29.034.434.034 1.681 0 3.421 1.078 3.421 3.273ZM10.481 8.74c-.144 0-.291-.012-.434-.034a6.144 6.144 0 0 0-3.493-4.45 6.7 6.7 0 0 0-3.628-.747c-1.459 0-2.846.354-2.846.354a.681.681 0 0 0-.438.635v9.005a.68.68 0 0 0 .679.678h8.18c1.789 0 3.349-1.373 3.401-3.169.001-2.195-1.74-3.272-3.421-3.272Z'/></svg>"); }
.icon-bandcamp::before   { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M0 18.75l7.437-13.5H24l-7.438 13.5H0z'/></svg>");
                                   mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M0 18.75l7.437-13.5H24l-7.438 13.5H0z'/></svg>"); }
.icon-apple::before      { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M23.997 6.124c0-.738-.065-1.47-.24-2.19-.317-1.31-1.062-2.31-2.18-3.043C21.003.517 20.373.285 19.703.164c-.517-.093-1.038-.135-1.564-.15-.04-.003-.083-.01-.124-.013H5.988c-.152.01-.303.017-.455.026C4.786.07 4.043.15 3.34.428 2.004.958 1.04 1.88.475 3.208c-.192.448-.292.925-.363 1.408-.056.392-.088.785-.1 1.18 0 .032-.007.062-.01.093v12.223c.01.14.017.283.027.424.05.815.154 1.624.497 2.373.65 1.42 1.738 2.353 3.234 2.802.42.127.856.187 1.293.227.555.05 1.11.064 1.667.064h11.03c.525 0 1.048-.034 1.57-.1.823-.106 1.597-.35 2.296-.81 1.36-.892 2.193-2.155 2.43-3.778.06-.395.07-.79.083-1.187 0-.026.005-.05.008-.075V6.226c-.005-.034-.01-.069-.014-.102zm-6.34 9.665l-1.97.395a.84.84 0 0 1-.176.025c-.6.1-1.022-.3-1.07-.852V8.7l-7.23 1.45v6.95c0 .085-.005.168-.015.25-.022.288-.16.47-.434.546l-1.853.37c-.582.117-.987-.2-1.06-.787a1.057 1.057 0 0 1-.012-.16c-.016-.435.16-.78.5-1.025.27-.196.583-.296.9-.395l.2-.06c.09-.027.108-.06.11-.15v-9.1l.005-.222c.025-.27.165-.456.43-.532.196-.057.4-.097.6-.137l3.184-.638 5.17-1.034 2.1-.42a.974.974 0 0 1 .16-.025c.43-.044.79.224.86.65.013.082.022.165.022.247v9.875c0 .172-.006.343-.025.514-.02.18-.09.337-.243.443a1.07 1.07 0 0 1-.354.16z'/></svg>");
                                   mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M23.997 6.124c0-.738-.065-1.47-.24-2.19-.317-1.31-1.062-2.31-2.18-3.043C21.003.517 20.373.285 19.703.164c-.517-.093-1.038-.135-1.564-.15-.04-.003-.083-.01-.124-.013H5.988c-.152.01-.303.017-.455.026C4.786.07 4.043.15 3.34.428 2.004.958 1.04 1.88.475 3.208c-.192.448-.292.925-.363 1.408-.056.392-.088.785-.1 1.18 0 .032-.007.062-.01.093v12.223c.01.14.017.283.027.424.05.815.154 1.624.497 2.373.65 1.42 1.738 2.353 3.234 2.802.42.127.856.187 1.293.227.555.05 1.11.064 1.667.064h11.03c.525 0 1.048-.034 1.57-.1.823-.106 1.597-.35 2.296-.81 1.36-.892 2.193-2.155 2.43-3.778.06-.395.07-.79.083-1.187 0-.026.005-.05.008-.075V6.226c-.005-.034-.01-.069-.014-.102zm-6.34 9.665l-1.97.395a.84.84 0 0 1-.176.025c-.6.1-1.022-.3-1.07-.852V8.7l-7.23 1.45v6.95c0 .085-.005.168-.015.25-.022.288-.16.47-.434.546l-1.853.37c-.582.117-.987-.2-1.06-.787a1.057 1.057 0 0 1-.012-.16c-.016-.435.16-.78.5-1.025.27-.196.583-.296.9-.395l.2-.06c.09-.027.108-.06.11-.15v-9.1l.005-.222c.025-.27.165-.456.43-.532.196-.057.4-.097.6-.137l3.184-.638 5.17-1.034 2.1-.42a.974.974 0 0 1 .16-.025c.43-.044.79.224.86.65.013.082.022.165.022.247v9.875c0 .172-.006.343-.025.514-.02.18-.09.337-.243.443a1.07 1.07 0 0 1-.354.16z'/></svg>"); }

/* streaming logo row — fluid: 6 across at desktop, gracefully reduces to 1 on mobile */
.streaming-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  align-items: center;
  gap: 24px 16px;
  max-width: 1280px;
  width: 90%;
  margin: 42px auto 0;
}
.streaming-row a {
  display: flex;
  justify-content: center;
  align-items: center;
}
.streaming-row img {
  max-width: 100%;
  width: auto;
  filter: drop-shadow(0 0 0.3em rgba(0, 0, 0, 0.4));
}

/* ---------- latest release (splash feature) ---------- */
.latest-release {
  position: relative;
  padding: 96px 0;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
}
.latest-release::before {
  content: "";
  position: absolute;
  inset: -10%;
  background: var(--cover) center/cover no-repeat;
  filter: blur(48px) saturate(1.05);
  opacity: 0.55;
  z-index: -2;
}
.latest-release::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.85) 100%);
  z-index: -1;
}
.latest-inner {
  display: grid;
  grid-template-columns: minmax(260px, 380px) 1fr;
  gap: clamp(32px, 6vw, 80px);
  align-items: center;
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}
.latest-art {
  position: relative;
}
.latest-art img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.6),
    0 8px 24px rgba(0, 0, 0, 0.4);
}
.latest-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin: 0 0 18px;
}
.latest-title {
  font-size: clamp(48px, 7vw, 96px);
  font-weight: 100;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: #fff;
  margin: 0 0 12px;
  text-shadow: 0 0 0.4em rgba(0, 0, 0, 0.4);
}
.latest-by {
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 36px;
}
.latest-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: #fff;
  color: #033070;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.latest-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
}
.latest-cta svg {
  transition: transform 0.2s ease;
}
.latest-cta:hover svg {
  transform: translateX(3px);
}

@media (max-width: 767px) {
  .latest-release { padding: 64px 0; }
  .latest-inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 32px;
  }
  .latest-art {
    max-width: 280px;
    margin: 0 auto;
  }
  .latest-by { margin-bottom: 24px; }
}

/* ---------- about ---------- */
.about {
  background: radial-gradient(circle at center, #222242 0%, #212121 100%);
  padding: 0;
}
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  max-width: 1280px;
  width: 90%;
  margin: 121px auto 104px;
  align-items: center;
}
.about-col { display: flex; flex-direction: column; gap: 24px; align-items: center; }
.about-col img { width: 100%; max-width: 100%; }
/* p3, p4, p5 (the .jpeg headshots) get rounded corners; the group png does not */
.about-col img[src$=".jpeg"] {
  border-radius: 10px;
}

/* ---------- music ---------- */
.music {
  background: var(--bg) center/cover no-repeat fixed;
  padding: 80px 0;
  text-align: center;
}
.music h2 {
  text-align: center;
  max-width: 1280px;
  width: 90%;
  margin: 0 auto 32px;
  color: #fff;
  font-size: 34px;
  font-weight: 300;
  line-height: 34px;
}
.album-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1280px;
  width: 90%;
  margin: 0 auto;
}
.album-grid a {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}
.album-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------- videos ---------- */
.videos {
  background: radial-gradient(circle, #243672 9%, #212121 100%);
  padding: 54px 0;
}
.videos h2 {
  text-align: center;
  max-width: 1280px;
  width: 90%;
  margin: 0 auto 32px;
  color: #fff;
  font-size: 34px;
  font-weight: 300;
  line-height: 34px;
}
.video-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 1280px;
  width: 90%;
  margin: 0 auto;
}
.video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #111;
}
.video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ---------- footer ---------- */
.site-footer {
  background: #000;
  padding: 32px 16px;
  text-align: center;
}
.social-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .about-grid { grid-template-columns: 1fr; gap: 16px; margin: 60px auto; }
  .album-grid { grid-template-columns: repeat(2, 1fr); }
  .video-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .streaming-row { max-width: 220px; gap: 16px; }
  .streaming-row img { max-width: 175px; }
  .music h2, .videos h2 { font-size: 26px; line-height: 26px; }
}
