/* Artist portfolio: clear listening paths, room for the portrait, and quiet cyan details. */
body.artist-site {
  --bg: #080c11;
  --surface: #10171f;
  --white: #f1f4f7;
  --muted: #abb5c0;
  --accent: #24cedd;
  --line: #d6e4ee24;
  --width: 1184px;
  background: var(--bg);
  color: var(--white);
}
body.artist-site .container { width: min(var(--width), calc(100% - 72px)); }
body.artist-site :is(section[id], .playlist-module) { scroll-margin-top: 92px; }
body.artist-site :focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
body.artist-site .btn {
  min-height: 48px;
  border-radius: 3px;
  font-size: .8125rem;
  letter-spacing: .015em;
  transition: color .2s, background .2s, border-color .2s;
}
body.artist-site .btn:hover { transform: none; }
body.artist-site .btn.primary { color: #061317; background: var(--accent); border-color: var(--accent); }
body.artist-site .btn.primary:hover { background: #80e6ed; border-color: #80e6ed; }
body.artist-site :is(.btn, .stream-links a, .social-row a) { animation: none; }

/* Navigation */
body.artist-site .site-header { height: 72px; background: #080c11b8; border-color: #d6e4ee19; }
body.artist-site .site-header.scrolled { background: #080c11f5; }
body.artist-site .header-inner { gap: 22px; }
body.artist-site .desktop-nav { gap: 20px; }
body.artist-site .desktop-nav a { font-size: .71875rem; letter-spacing: .07em; color: #c1cbd4; }
body.artist-site .desktop-nav a:hover { color: var(--accent); }
body.artist-site .header-listen { min-height: 39px; padding: 8px 18px; font-size: .71875rem; }
body.artist-site .language-switcher { background: #111820; border-color: #d6e4ee26; }
body.artist-site .mobile-nav { top: 72px; max-height: calc(100svh - 72px); }

/* The image owns the right side; the introduction has its own readable space. */
body.artist-site .hero {
  height: min(860px, 100svh);
  min-height: 680px;
  max-height: none;
  padding: 138px max(36px, calc((100vw - 1184px) / 2)) 84px;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  background: #0c1117;
  border-bottom: 1px solid #d6e4ee15;
}
body.artist-site .hero-content { width: 49%; max-width: 565px; margin: 0; }
body.artist-site .hero-backdrop { opacity: .12; }
body.artist-site .hero-slideshow-layers { inset: 0 0 0 39%; }
body.artist-site .hero .hero-photo {
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  transform: none;
  filter: grayscale(.65) brightness(.88);
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000);
}
body.artist-site .hero::before {
  background: linear-gradient(90deg, #080c11 0%, #080c11fa 28%, #080c11e0 42%, #080c1152 60%, #080c1100 78%);
}
body.artist-site .hero::after {
  background: linear-gradient(0deg, #080c11 0%, #080c1100 25%, #080c1100 77%, #080c1155);
}
body.artist-site .hero-logo-motion { width: min(100%, 510px); max-width: 100%; margin: 0 0 32px; }
body.artist-site .hero-logo { width: min(100%, 510px); margin: 0 0 32px; }
body.artist-site .hero-logo-motion .hero-logo { width: 100%; margin: 0; }
body.artist-site .hero-eyebrow {
  margin-bottom: 15px;
  font-size: .6875rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: .19em;
  color: var(--accent);
}
body.artist-site .hero h1 {
  max-width: 540px;
  font-family: Sora, Manrope, Arial, sans-serif;
  font-size: clamp(1.65rem, 2.45vw, 2.35rem);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body.artist-site .artist-hero-description {
  max-width: 43ch;
  margin-top: 21px;
  color: #bbc5cf;
  font-size: .9375rem;
  line-height: 1.8;
}
body.artist-site .hero .button-row { justify-content: flex-start; gap: 12px; margin-top: 28px; }
body.artist-site .hero .btn { padding: 13px 21px; font-size: .78125rem; text-transform: none; }
body.artist-site .hero .btn:not(.primary) { background: #101820a6; border-color: #d6e4ee55; }
body.artist-site .hero .btn:not(.primary):hover { border-color: var(--accent); color: var(--accent); }
body.artist-site .hero .social-row { justify-content: flex-start; gap: 7px; margin: 22px 0 0 -8px; width: auto; max-width: none; }
body.artist-site .hero .social-row a { width: 44px; height: 44px; color: #c1cad4; }
body.artist-site .hero .social-row a:hover { color: var(--accent); transform: none; }
body.artist-site .hero .social-row svg { width: 21px; height: 21px; }
body.artist-site .artist-explore {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin-top: 22px;
  color: #a7b4c0;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.artist-site .artist-explore svg { width: 17px; height: 17px; color: var(--accent); }
body.artist-site .artist-explore:hover { color: var(--white); }
body.artist-site .hero-slideshow-toggle { top: 97px; right: 28px; background: #080c1199; }

/* One consistent rhythm ties the music, artist, and professional information together. */
html body.artist-site main > .section { padding-block: 80px; }
html body.artist-site main > :is(.music-selected-section, .music-playlist-section, .music-follow-section) { padding-top: 0; padding-bottom: 64px; }
html body.artist-site main > .press-section { padding-top: 20px; padding-bottom: 80px; }
html body.artist-site main > .contact-section { padding: 80px 0 0; }
html body.artist-site main .section-heading { justify-content: space-between; align-items: flex-end; text-align: left; gap: 24px; margin-bottom: 34px; }
html body.artist-site main :is(.section-heading h2, #videos > .container > h2, .artist-copy h2, #presskit h2, #contacto h2) {
  font-size: clamp(2rem, 3.6vw, 3rem);
  line-height: 1.16;
  letter-spacing: -.045em;
  text-wrap: balance;
}
body.artist-site .section-heading .eyebrow { margin-bottom: 10px; }
body.artist-site .eyebrow { font-size: .6875rem; letter-spacing: .16em; }
body.artist-site .section-intro { margin-top: 15px; font-size: .9375rem; line-height: 1.8; }
body.artist-site .small-link { min-height: 40px; font-size: .8125rem; gap: 10px; }

/* Featured music is presented as a release, with the original cover intact. */
body.artist-site .featured-release {
  grid-template-columns: minmax(240px, .82fr) minmax(0, 1.18fr);
  gap: 58px;
  min-height: 0;
  padding: 40px;
  margin-bottom: 0;
  border: 1px solid #d6e4ee23;
  background: radial-gradient(ellipse at 88% 8%, #24cedd0b, transparent 58%), #0e151d;
  color: var(--white);
}
body.artist-site .featured-release::before { content: none; }
body.artist-site .featured-art { width: 100%; max-width: 360px; transform: none; box-shadow: 0 16px 35px #0004; }
body.artist-site .featured-art:hover, body.artist-site .featured-art.reveal-shown { transform: none; }
body.artist-site .featured-art img { border: 1px solid #d6e4ee22; }
body.artist-site .featured-art .play-overlay { width: 48px; height: 48px; background: #0a1018dc; color: var(--white); border-color: #d6e4ee66; }
body.artist-site .feature-copy { min-width: 0; text-align: left; }
body.artist-site .release-tag { background: #24cedd0a; color: var(--accent); border: 1px solid #24cedd40; padding: 5px 10px; margin-bottom: 19px; font-size: .625rem; letter-spacing: .12em; }
body.artist-site .feature-copy h3 { font-family: Sora, Manrope, Arial, sans-serif; font-size: clamp(2rem, 3.5vw, 3.1rem); font-weight: 700; line-height: 1.12; color: var(--white); letter-spacing: -.045em; }
body.artist-site .feature-subtitle { font-size: clamp(1.125rem, 1.8vw, 1.45rem); line-height: 1.5; color: #c8d1da; margin-top: 11px; }
body.artist-site .feature-credit { font-size: .71875rem; line-height: 1.75; letter-spacing: .1em; color: var(--muted); margin: 18px 0 26px; }
body.artist-site .feature-copy .btn.primary { min-height: 48px; padding: 12px 20px; background: var(--accent); color: #061317; border-color: var(--accent); }
body.artist-site .feature-copy .btn.primary:hover { background: #80e6ed; border-color: #80e6ed; }
body.artist-site .feature-copy .stream-links { margin-top: 22px; gap: 8px; }
body.artist-site .stream-links a, body.artist-site .feature-copy .stream-links a { width: 42px; height: 42px; border: 1px solid #d6e4ee26; background: #ffffff03; color: #c0cbd5; }
body.artist-site .stream-links a:hover, body.artist-site .feature-copy .stream-links a:hover { color: var(--accent); border-color: #24cedd77; background: #24cedd09; }
body.artist-site .stream-links svg { width: 19px; height: 19px; }
body.artist-site .featured-release :focus-visible { outline-color: var(--accent); }
body.artist-site .catalogue-heading { margin: 0 0 26px; padding-top: 0; align-items: baseline; }
body.artist-site .catalogue-heading h3 { font-size: 1.125rem; line-height: 1.5; font-weight: 600; }
body.artist-site .catalogue-heading > span { font-size: .625rem; letter-spacing: .12em; }
body.artist-site .release-grid { gap: 36px 28px; }
body.artist-site .release-cover { border: 1px solid #d6e4ee1c; }
body.artist-site .release-info { padding-top: 18px; }
body.artist-site .release-meta { font-size: .6875rem; letter-spacing: .07em; line-height: 1.7; }
body.artist-site .release-card h3 { font-size: 1.125rem; line-height: 1.45; letter-spacing: -.02em; }
body.artist-site .release-tools { margin-top: 14px; align-items: flex-start; }
body.artist-site .release-tools .stream-links { flex-wrap: wrap; gap: 4px; }
body.artist-site .release-tools .stream-links a { width: 38px; height: 40px; border: 0; background: transparent; }
body.artist-site .archive-release { margin-top: 40px; padding: 22px; gap: 24px; border: 1px solid #d6e4ee20; background: #0d141b; }
body.artist-site .archive-art { flex-basis: 88px; }
body.artist-site .archive-art img { width: 88px; height: 88px; }
body.artist-site .archive-copy h3 { font-size: 1.125rem; line-height: 1.4; }
body.artist-site .archive-copy p { font-size: .8125rem; }
body.artist-site .archive-copy .release-meta { font-size: .625rem; }

/* Optional listening modules remain quiet and easy to open. */
body.artist-site .playlist-module { border-color: #d6e4ee24; background: #0e151d; }
body.artist-site .playlist-heading { padding: 23px 28px; }
body.artist-site .playlist-brand h3 { font-size: 1rem; letter-spacing: 0; }
body.artist-site .playlist-brand span { font-size: .625rem; letter-spacing: .1em; }
body.artist-site .playlist-toggle { font-size: .8125rem; }
body.artist-site .catalogue-cta { margin-top: 0; padding: 28px 32px; gap: 30px; border: 1px solid #d6e4ee24; background: #0e151d; }
body.artist-site .catalogue-cta > p { font-size: clamp(1.3rem, 2.2vw, 1.75rem); font-weight: 600; line-height: 1.35; letter-spacing: -.035em; }
body.artist-site .catalogue-cta .spotify-follow { min-height: 48px; padding: 5px 0; gap: 15px; font-size: 1rem; line-height: 1.6; letter-spacing: -.015em; }
body.artist-site .catalogue-cta .spotify-follow > svg:first-child { width: 30px; height: 30px; }
body.artist-site .catalogue-cta .spotify-follow > .arrow { width: 20px; height: 20px; }
body.artist-site .release-ribbon-wrap { margin: 0; transform: none; width: 100%; left: auto; }
body.artist-site .release-platform-ribbon .release-ribbon { left: auto; width: 100%; rotate: 0deg; background: #101922; color: var(--white); border-block: 1px solid #d6e4ee20; }
body.artist-site .release-platform-ribbon .ribbon-kicker { color: var(--accent); background: #0b121a; border-color: #d6e4ee29; border-radius: 3px; box-shadow: none; font-size: .625rem; }
body.artist-site .release-platform-ribbon .release-ribbon-title { font-size: .875rem; font-weight: 600; }
body.artist-site .release-platform-ribbon .ribbon-platform { border-color: #d6e4ee30; background: #0b121a; box-shadow: none; }

/* Videos, artist story, and booking information. */
html body.artist-site main > .videos-section { padding-block: 72px; border-block: 1px solid #d6e4ee12; background: #0b1118; }
body.artist-site #videos > .container { width: min(var(--width), calc(100% - 72px)); max-width: var(--width); }
html body.artist-site main #videos > .container > h2 { text-align: left; margin-bottom: 28px; }
body.artist-site .media-carousel { padding: 0 0 10px; }
body.artist-site .media-track { padding-inline: 0; gap: 20px; }
body.artist-site .media-card.media-video { flex-basis: 376px; height: 260px; max-width: 86vw; border-color: #d6e4ee26; }
body.artist-site .media-label { padding: 40px 19px 18px; font-size: .8125rem; line-height: 1.55; }
body.artist-site .carousel-controls { justify-content: flex-start; gap: 8px; margin-top: 21px; }
body.artist-site .carousel-controls button { width: 40px; height: 40px; border-color: #d6e4ee30; }
body.artist-site #videos .youtube-cta { justify-content: flex-start; margin-top: 23px; padding: 0; }
body.artist-site .youtube-channel { font-size: .75rem; letter-spacing: .04em; }
body.artist-site .artist-grid { grid-template-columns: 1fr 1.08fr; gap: 68px; }
body.artist-site .artist-carousel { height: 550px; border-color: #d6e4ee20; background: #111922; }
body.artist-site .artist-copy h2 { margin: 14px 0 24px; }
body.artist-site .artist-copy .intro { color: #d9e1e9; font-size: 1.125rem; line-height: 1.8; }
body.artist-site .artist-copy p { font-size: .9375rem; line-height: 1.85; }
body.artist-site .artist-copy p + p { margin-top: 18px; }
body.artist-site .artist-labels { margin-top: 26px; padding-top: 23px; }
body.artist-site .labels-row { gap: 12px 22px; line-height: 1.75; font-size: .8125rem; }
body.artist-site .bookings-section { background: #0c131b; border-color: #d6e4ee1a; }
html body.artist-site main .bookings-section .section-heading { flex-direction: row; align-items: flex-end; }
body.artist-site .bookings-section .section-intro { margin-top: 15px; max-width: none; }
body.artist-site .bookings-section .small-link { margin: 0; }
body.artist-site .booking-cards { gap: 20px; }
body.artist-site .booking-card { min-height: 214px; padding: 28px; background: #111a23; border-color: #d6e4ee22; }
body.artist-site .booking-card > span { font-size: .625rem; letter-spacing: .14em; }
body.artist-site .booking-card h3 { font-size: 1.55rem; line-height: 1.35; margin-top: 20px; }
body.artist-site .booking-card p { font-size: .8125rem; line-height: 1.8; }
body.artist-site .booking-card .booking-genres { font-size: .875rem; line-height: 1.85; }
body.artist-site .booking-card a { font-size: .78125rem; line-height: 1.65; }

/* Professional assets and contact form. */
body.artist-site .press-panel { grid-template-columns: 1.05fr 1fr; gap: 58px; padding: 44px; background: linear-gradient(115deg, #12202a, #101821 62%); border-color: #24cedd32; }
body.artist-site .press-copy h2 { margin: 13px 0 19px; }
body.artist-site .press-copy p { font-size: .9375rem; line-height: 1.8; }
body.artist-site .press-downloads { gap: 12px; }
body.artist-site .press-download { padding: 18px 20px; gap: 16px; background: #080f16a1; border-color: #d6e4ee29; }
body.artist-site .press-language strong { font-size: .9375rem; }
body.artist-site .press-language small { font-size: .6875rem; margin-top: 4px; }
body.artist-site .contact-section { background: #0b1118; border-color: #d6e4ee20; }
body.artist-site #contacto .contact-heading { text-align: left; }
body.artist-site .contact-grid { grid-template-columns: .86fr 1.14fr; gap: 72px; margin-top: 38px; align-items: start; }
body.artist-site .contact-email { font-size: clamp(1.15rem, 1.9vw, 1.5rem); line-height: 1.6; letter-spacing: -.035em; }
body.artist-site .contact-location { margin-top: 16px; font-size: .8125rem; line-height: 1.9; }
body.artist-site .contact-purpose { font-size: .9375rem; line-height: 1.9; margin-top: 27px; }
body.artist-site .contact-copy .social-row { gap: 10px; margin-top: 25px; }
body.artist-site .contact-copy .social-row a { width: 42px; height: 44px; }
body.artist-site .booking-form { gap: 20px 18px; padding: 26px; background: #111922; border: 1px solid #d6e4ee25; }
body.artist-site .booking-form label { font-size: .8125rem; gap: 9px; color: #d0dae4; }
body.artist-site .booking-form label small { font-size: .6875rem; }
html body.artist-site .booking-form :is(input, select, textarea) { min-height: 47px; border-radius: 3px; background: #080f1688; border-color: #d6e4ee36; font-size: .9375rem; }
body.artist-site .booking-form :is(input, select, textarea):focus { border-color: var(--accent); }
body.artist-site .form-note { font-size: .71875rem; line-height: 1.8; }
body.artist-site .site-footer { margin-top: 64px; padding-top: 32px; }
body.artist-site .footer-top img { width: 154px; }
body.artist-site .footer-bottom { font-size: .6875rem; line-height: 1.8; }

@media (max-width: 1280px) {
  body.artist-site .header-inner { gap: 16px; }
}
@media (max-width: 1100px) {
  body.artist-site .hero-content { width: 51%; }
  body.artist-site .hero-logo-motion { margin-bottom: 26px; }
  body.artist-site .hero .button-row { gap: 10px; }
  body.artist-site .hero .btn { padding-inline: 16px; font-size: .75rem; }
  body.artist-site .featured-release { gap: 38px; padding: 32px; }
  body.artist-site .artist-grid { gap: 42px; }
  body.artist-site .contact-grid { gap: 42px; }
  body.artist-site .press-panel { gap: 38px; padding: 36px; }
  body.artist-site .booking-card { padding: 23px; }
}
@media (max-width: 900px) {
  body.artist-site .hero { --artist-portrait-height: clamp(350px, 58vw, 480px); height: auto; min-height: 0; padding: calc(72px + var(--artist-portrait-height) - 48px) 36px 48px; }
  body.artist-site .hero-slideshow-layers { inset: 72px 0 auto; height: var(--artist-portrait-height); }
  body.artist-site .hero .hero-photo { mask-image: linear-gradient(180deg, #000 0%, #000 65%, transparent 100%); }
  body.artist-site .hero::before { background: linear-gradient(0deg, #080c11 0%, #080c11 37%, #080c1100 66%); }
  body.artist-site .hero::after { background: linear-gradient(90deg, #080c1129, transparent 20%, transparent 80%, #080c1129); }
  body.artist-site .hero-content { width: 100%; max-width: 650px; margin-inline: auto; }
  body.artist-site .hero-logo-motion { width: min(440px, 100%); margin-bottom: 25px; }
  body.artist-site .hero-logo { width: min(440px, 100%); margin-bottom: 25px; }
  body.artist-site .hero h1 { font-size: clamp(1.65rem, 4.5vw, 2.1rem); max-width: 620px; }
  body.artist-site .artist-hero-description { max-width: 55ch; margin-top: 16px; }
  body.artist-site .hero .button-row { flex-direction: row; margin-top: 24px; gap: 12px; }
  body.artist-site .hero .btn { width: auto; padding-inline: 22px; font-size: .8125rem; }
  body.artist-site .hero .social-row { margin-top: 17px; }
  body.artist-site .artist-explore { margin-top: 12px; }
  body.artist-site .hero-slideshow-toggle { top: 94px; right: 24px; }
  body.artist-site .featured-release { grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr); gap: 30px; padding: 28px; }
  body.artist-site .feature-copy h3 { font-size: 2.1rem; }
  body.artist-site .feature-copy .stream-links { gap: 5px; }
  body.artist-site .feature-copy .stream-links a { width: 38px; height: 40px; }
  body.artist-site .release-grid { gap: 30px 20px; }
  body.artist-site .artist-grid { gap: 30px; }
  body.artist-site .artist-carousel { height: 520px; }
  body.artist-site .booking-cards { gap: 15px; }
  body.artist-site .booking-card { padding: 23px 20px; }
  body.artist-site .booking-card h3 { font-size: 1.25rem; }
  body.artist-site .press-panel { gap: 30px; }
  body.artist-site .contact-grid { gap: 32px; }
}
@media (max-width: 760px) {
  body.artist-site .container, body.artist-site #videos > .container { width: calc(100% - 40px); }
  body.artist-site .site-header { height: 64px; }
  body.artist-site .header-inner { width: calc(100% - 32px); gap: 10px; }
  body.artist-site .mobile-nav { top: 64px; max-height: calc(100svh - 64px); }
  body.artist-site .hero { padding: calc(64px + var(--artist-portrait-height) - 48px) 24px 40px; }
  body.artist-site .hero-slideshow-layers { top: 64px; }
  body.artist-site .hero-slideshow-toggle { top: 84px; right: 20px; }
  html body.artist-site main > .section { padding-block: 54px; }
  html body.artist-site main > :is(.music-selected-section, .music-playlist-section, .music-follow-section) { padding-top: 0; padding-bottom: 48px; }
  html body.artist-site main > .press-section { padding-top: 0; padding-bottom: 54px; }
  html body.artist-site main > .contact-section { padding-top: 54px; padding-bottom: 0; }
  html body.artist-site main .section-heading { align-items: flex-start; gap: 18px; margin-bottom: 27px; }
  html body.artist-site main :is(.section-heading h2, #videos > .container > h2, .artist-copy h2, #presskit h2, #contacto h2) { font-size: clamp(1.75rem, 6.8vw, 2.4rem); line-height: 1.2; }
  body.artist-site .featured-release { grid-template-columns: 1fr; gap: 29px; padding: 28px; }
  body.artist-site .featured-art { max-width: 340px; justify-self: center; }
  body.artist-site .feature-copy { text-align: left; }
  body.artist-site .feature-copy h3 { font-size: clamp(1.9rem, 7vw, 2.5rem); }
  body.artist-site .feature-copy .btn.primary { width: auto; max-width: none; }
  body.artist-site .feature-copy .stream-links { justify-content: flex-start; gap: 7px; }
  body.artist-site .catalogue-heading { gap: 16px; margin-bottom: 22px; }
  body.artist-site .release-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  body.artist-site .archive-release { padding: 18px; gap: 18px; flex-wrap: wrap; margin-top: 30px; }
  body.artist-site .archive-art { flex-basis: 76px; }
  body.artist-site .archive-art img { width: 76px; height: 76px; }
  body.artist-site .archive-release .btn { margin-left: 94px; min-height: 44px; font-size: .75rem; }
  body.artist-site .playlist-heading { padding: 20px; }
  body.artist-site .catalogue-cta { flex-direction: column; align-items: flex-start; padding: 24px; gap: 18px; }
  body.artist-site .catalogue-cta > p { font-size: 1.5rem; }
  body.artist-site .catalogue-cta .spotify-follow { width: 100%; font-size: .9375rem; }
  body.artist-site .artist-grid { grid-template-columns: 1fr; gap: 32px; }
  body.artist-site .artist-carousel { height: auto; aspect-ratio: 4/5; max-height: 600px; }
  body.artist-site .artist-copy .intro { font-size: 1.0625rem; }
  html body.artist-site main .bookings-section .section-heading { flex-direction: column; align-items: flex-start; }
  body.artist-site .bookings-section .section-intro { margin: 14px 0 0; }
  body.artist-site .booking-cards { grid-template-columns: 1fr; gap: 14px; }
  body.artist-site .booking-card { min-height: 0; padding: 25px; }
  body.artist-site .booking-card h3 { font-size: 1.5rem; margin-top: 17px; }
  body.artist-site .booking-card p { font-size: .875rem; margin-top: 0; }
  body.artist-site .booking-card .booking-genres { font-size: .9375rem; }
  body.artist-site .booking-card a { font-size: .875rem; margin-top: 16px; padding-top: 0; }
  body.artist-site .press-panel { grid-template-columns: 1fr; padding: 28px; gap: 28px; }
  body.artist-site .contact-grid { grid-template-columns: 1fr; gap: 32px; margin-top: 30px; }
  body.artist-site .contact-copy { text-align: left; }
  body.artist-site .contact-purpose { margin-inline: 0; }
  body.artist-site .contact-copy .social-row { justify-content: flex-start; margin-left: -8px; }
  body.artist-site .booking-form { padding: 24px; }
  body.artist-site .site-footer { margin-top: 46px; }
}
@media (max-width: 480px) {
  body.artist-site .hero { --artist-portrait-height: 350px; padding-inline: 24px; }
  body.artist-site .hero-logo-motion, body.artist-site .hero-logo { margin-bottom: 23px; }
  body.artist-site .hero-logo-motion .hero-logo { margin-bottom: 0; }
  body.artist-site .hero-eyebrow { font-size: .59375rem; letter-spacing: .14em; margin-bottom: 12px; }
  body.artist-site .hero h1 { font-size: 1.6rem; line-height: 1.3; }
  body.artist-site .artist-hero-description { font-size: .875rem; line-height: 1.8; }
  body.artist-site .hero .button-row { display: grid; grid-template-columns: 1fr; gap: 10px; }
  body.artist-site .hero .btn { width: 100%; min-height: 48px; }
  body.artist-site .hero .social-row { gap: 8px; }
  body.artist-site .hero .social-row a { width: 43px; height: 43px; }
  body.artist-site .featured-release { padding: 23px; gap: 27px; }
  body.artist-site .feature-copy .btn.primary { width: 100%; }
  body.artist-site .feature-copy .stream-links a { width: 40px; height: 42px; }
  body.artist-site .feature-credit { margin-block: 15px 23px; }
  body.artist-site .release-meta { font-size: .625rem; letter-spacing: .025em; }
  body.artist-site .release-card h3 { font-size: .9375rem; }
  body.artist-site .release-tools { margin-top: 10px; }
  body.artist-site .release-tools .stream-links { gap: 2px; }
  body.artist-site .release-tools .stream-links a { width: 36px; height: 40px; }
  body.artist-site .archive-copy { min-width: 0; }
  body.artist-site .archive-copy h3 { font-size: 1rem; }
  body.artist-site .archive-release .btn { margin-left: 0; width: 100%; }
  body.artist-site .playlist-heading { flex-wrap: wrap; gap: 12px; }
  body.artist-site .playlist-brand { gap: 12px; }
  body.artist-site .playlist-brand h3 { font-size: .875rem; }
  body.artist-site .playlist-toggle { min-height: 44px; padding: 4px 0; }
  body.artist-site .media-card.media-video { flex-basis: 100%; max-width: none; height: 240px; }
  body.artist-site .youtube-channel { width: 100%; padding-inline: 15px; gap: 10px; font-size: .6875rem; }
  body.artist-site .press-panel { padding: 26px 23px; }
  body.artist-site .press-download { padding: 17px 15px; gap: 13px; }
  body.artist-site .booking-form { grid-template-columns: 1fr; padding: 22px; gap: 19px; }
  body.artist-site .booking-form .full { grid-column: 1; }
  body.artist-site .booking-form .btn { width: 100%; }
  body.artist-site .footer-bottom { align-items: flex-start; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  body.artist-site :is(.btn, [data-pulse-item], .cta-pulse, .section-motion-icon, .section-motion-button, .hero-logo-effects, .hero-logo-color, .artwork-zoom) { animation: none !important; }
  body.artist-site :is(.hero-frame, .artist-slide, .release-cover img, .featured-art img, .media-card img) { animation: none !important; transition: none !important; }
  body.artist-site .reveal-pending { opacity: 1; transform: none; }
  body.artist-site .reveal-ready { transition: none; }
}
