/* Full artwork breathes without cropping the NEOZEROX logo. */
.featured-art .artwork-zoom:not(.section-motion-artwork),.video-release-art[data-artwork-motion=true]:not(.section-motion-artwork){animation:cover-breathe var(--artwork-seconds,6s) cubic-bezier(.37,0,.63,1) infinite;transform-origin:center}
.video-release-art[data-artwork-motion=true].is-playing{animation:none;transform:none}
@keyframes cover-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}

/* The band owns only the orange strip. All space before the next heading is
   inside that section, so its background continues directly beneath the band. */
.release-ribbon-wrap.release-platform-ribbon{position:relative;isolation:isolate;z-index:2;box-sizing:border-box;width:100%;min-width:0;left:auto;transform:none;margin:var(--ribbon-tilt-clearance,1.3351vw) 0 0;padding:0;overflow:visible;background:none;border:0;box-shadow:none}
.release-platform-ribbon .release-ribbon{position:relative;isolation:isolate;left:-1%;width:102%;display:block;overflow:hidden;min-height:60px;background:var(--orange);transform:none;rotate:var(--ribbon-tilt,-1.5deg);transform-origin:center}
html body main>.release-platform-ribbon+section{padding-top:calc(var(--ribbon-gap-after,64px) + var(--ribbon-tilt-clearance,1.3351vw))}
/* Keep MUSIC visible even while the rest of its section enters the viewport. */
html body #shop{position:relative;z-index:0;isolation:isolate;clear:both;margin-top:0!important}
html body #shop .music-header{position:relative;z-index:1;clear:both;opacity:1!important;transform:none!important}
.release-platform-ribbon .ribbon-scroll{display:flex;width:max-content;animation:ribbon-drift-right var(--ribbon-seconds,90s) linear infinite}
.release-platform-ribbon .ribbon-scroll:has(:focus-visible){animation:none;transform:translateX(0)}
.release-platform-ribbon .ribbon-cycle{display:flex;align-items:center;justify-content:space-around;gap:36px;min-width:100vw;flex-shrink:0;padding:var(--ribbon-padding-y,8px) 20px}
.release-platform-ribbon .ribbon-unit{display:flex;align-items:center;justify-content:center;gap:14px;flex-shrink:0;min-width:0;max-width:100%;white-space:nowrap}
.release-platform-ribbon .ribbon-kicker{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 14px;border:1px solid #ffffff26;border-radius:10px;background:linear-gradient(135deg,#172832,#081116);color:#ffb578;box-shadow:0 4px 12px #52270f24,inset 0 1px 0 #ffffff12;font:800 clamp(.75rem,1vw,.875rem)/1.2 Inter,Arial,sans-serif;letter-spacing:.045em}
.release-platform-ribbon .ribbon-divider{width:1px;height:27px;background:#08111655;flex-shrink:0}
.release-platform-ribbon .release-ribbon-title{font:800 clamp(.9375rem,1.5vw,1.2rem)/1.3 Inter,Arial,sans-serif;letter-spacing:-.025em}
.release-platform-ribbon a.ribbon-kicker:hover{filter:brightness(1.12)}
.release-platform-ribbon a.release-ribbon-title:hover{text-decoration:underline;text-underline-offset:5px}
.release-platform-ribbon a:is(.ribbon-kicker,.release-ribbon-title):focus-visible{outline:3px solid #081116;outline-offset:4px}
/* Six 44px touch targets can wrap on narrow screens, including static mode. */
.release-platform-ribbon .ribbon-platforms{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:8px;max-width:none;flex-shrink:0}
.release-platform-ribbon .ribbon-platform{display:grid;place-items:center;width:44px;height:44px;border:1px solid #08111644;border-radius:50%;background:#081116;color:#fff;box-shadow:0 3px 10px #52270f26;transition:background .25s,color .25s}
.release-platform-ribbon .ribbon-platform svg{width:18px;height:18px;fill:currentColor}
.release-platform-ribbon .ribbon-platform:hover{background:#fff;color:#081116}
.release-platform-ribbon .ribbon-platform:focus-visible{outline:3px solid #081116;outline-offset:4px}
@keyframes ribbon-drift-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* Each platform gets a short turn; the remaining cycle is still. */
[data-pulse-item]{animation-duration:calc(var(--pulse-count,5)*var(--platform-seconds,1.6s));animation-delay:calc(var(--pulse-index,0)*var(--platform-seconds,1.6s));animation-timing-function:cubic-bezier(.37,0,.63,1);animation-iteration-count:infinite;transform-origin:center}
.cta-pulse:not(.section-motion-button),.hero .btn.primary:not(.section-motion-button),#playlist .playlist-toggle:not(.section-motion-button),#neozerox-music .spotify-follow:not(.section-motion-button),.youtube-cta .youtube-channel:not(.section-motion-button){animation:cta-breathe var(--button-seconds,4.5s) cubic-bezier(.37,0,.63,1) infinite;transform-origin:center}
#playlist .playlist-toggle{animation-delay:calc(var(--button-seconds,4.5s)*.23)}
#neozerox-music .spotify-follow{animation-delay:calc(var(--button-seconds,4.5s)*.12)}
@keyframes cta-breathe{0%,100%{transform:scale(1)}50%{transform:scale(var(--button-scale,1.04))}}
#contacto .contact-heading{text-align:center;width:100%}
#contacto .contact-heading h2{max-width:none;width:100%;margin-inline:auto}
#videos.videos-section{padding-block:34px 48px}
#videos>.container{width:100%;max-width:none}
#videos .media-carousel{padding-bottom:14px}
#videos .youtube-cta{margin:18px 0 0;padding:8px 24px}
.footer-container .site-footer{margin-top:22px;padding-bottom:38px}
@media(max-width:600px){.release-platform-ribbon .ribbon-cycle{padding:var(--ribbon-padding-y,8px) 16px;gap:28px}.release-platform-ribbon .ribbon-unit{gap:12px}.release-platform-ribbon .release-ribbon-title{font-size:.9375rem}.release-platform-ribbon .ribbon-kicker{font-size:.75rem;padding:6px 12px}.release-platform-ribbon .ribbon-platforms{gap:6px}#videos.videos-section{padding-bottom:36px}}
@media(max-width:760px){html body #bookings .section-heading h2[data-text-key="sections.bookings.heading"]{font-size:clamp(1.375rem,7.8vw,2rem)!important;line-height:1.18!important;letter-spacing:-.05em;max-width:100%;margin-inline:auto;white-space:normal!important;overflow-wrap:anywhere}}
@keyframes platform-pulse-1{0%,100%{transform:scale(1)}50%{transform:scale(var(--platform-scale,1.08))}}
@keyframes platform-pulse-2{0%,50%,100%{transform:scale(1)}25%{transform:scale(var(--platform-scale,1.08))}}
@keyframes platform-pulse-3{0%,33.3333%,100%{transform:scale(1)}16.6667%{transform:scale(var(--platform-scale,1.08))}}
@keyframes platform-pulse-4{0%,25%,100%{transform:scale(1)}12.5%{transform:scale(var(--platform-scale,1.08))}}
@keyframes platform-pulse-5{0%,20%,100%{transform:scale(1)}10%{transform:scale(var(--platform-scale,1.08))}}
@keyframes platform-pulse-6{0%,16.6667%,100%{transform:scale(1)}8.3333%{transform:scale(var(--platform-scale,1.08))}}
@keyframes platform-pulse-7{0%,14.2857%,100%{transform:scale(1)}7.1429%{transform:scale(var(--platform-scale,1.08))}}
@keyframes platform-pulse-8{0%,12.5%,100%{transform:scale(1)}6.25%{transform:scale(var(--platform-scale,1.08))}}
@media(prefers-reduced-motion:reduce){
 .featured-art .artwork-zoom,.video-release-art[data-artwork-motion=true],[data-pulse-item],.cta-pulse,.hero .btn.primary,#playlist .playlist-toggle,#playlist .playlist-brand>svg,#neozerox-music .spotify-follow,.youtube-cta .youtube-channel,.release-platform-ribbon .ribbon-scroll{animation:none}
 .release-platform-ribbon .ribbon-scroll,.release-platform-ribbon .ribbon-cycle{width:100%;min-width:0}
 .release-platform-ribbon .ribbon-cycle{padding:var(--ribbon-padding-y,8px) 20px}
 .release-platform-ribbon .ribbon-cycle[aria-hidden],.release-platform-ribbon .ribbon-unit[aria-hidden]{display:none}
 .release-platform-ribbon .ribbon-unit{flex-wrap:wrap;white-space:normal;text-align:center}
 .release-platform-ribbon .ribbon-platforms{flex-wrap:wrap;max-width:100%;gap:4px}
 .release-platform-ribbon .release-ribbon-title{width:100%}
 .release-platform-ribbon .ribbon-divider{display:none}
}

/* The label and service links stay outside the title's scrolling viewport. */
.release-platform-ribbon[data-ribbon-scope=title] .release-ribbon-split{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:0 20px}
.release-platform-ribbon[data-ribbon-scope=title] .release-ribbon-split:not(:has(.ribbon-fixed-platforms)){grid-template-columns:auto minmax(0,1fr)}
.release-platform-ribbon[data-ribbon-scope=title] .ribbon-fixed-label{position:relative;z-index:2;min-width:0;max-width:min(25vw,240px);padding-block:var(--ribbon-padding-y,8px)}
.release-platform-ribbon[data-ribbon-scope=title] .ribbon-fixed-label .ribbon-kicker{max-width:100%;white-space:normal;text-align:center}
.release-platform-ribbon[data-ribbon-scope=title] .ribbon-title-viewport{min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.release-platform-ribbon[data-ribbon-scope=title] .ribbon-title-viewport .ribbon-cycle{width:max-content;min-width:max-content;justify-content:flex-start;padding:var(--ribbon-padding-y,8px) 18px;gap:36px}
.release-platform-ribbon[data-ribbon-scope=title] .ribbon-title-viewport .ribbon-unit{max-width:none}
.release-platform-ribbon[data-ribbon-scope=title] .ribbon-fixed-platforms{padding-block:var(--ribbon-padding-y,8px)}
.release-platform-ribbon[data-ribbon-scope=title][data-motion-platforms=none] .ribbon-platform{animation:none!important}
.release-platform-ribbon[data-ribbon-scope=title]:is([data-motion-auto=false],[data-motion-carousel=static]) .ribbon-title-viewport .ribbon-cycle{width:100%;min-width:0;padding-inline:4px}
.release-platform-ribbon[data-ribbon-scope=title]:is([data-motion-auto=false],[data-motion-carousel=static]) .ribbon-title-viewport .release-ribbon-title{white-space:normal;max-width:100%;text-align:center}
@media(max-width:760px){
 .release-platform-ribbon[data-ribbon-scope=title] .release-ribbon-split{gap:7px;padding-inline:12px}
 .release-platform-ribbon[data-ribbon-scope=title] .ribbon-fixed-label{max-width:108px}
 .release-platform-ribbon[data-ribbon-scope=title] .ribbon-fixed-label .ribbon-kicker{font-size:.68rem;padding-inline:9px;letter-spacing:.02em}
 .release-platform-ribbon[data-ribbon-scope=title] .ribbon-fixed-platforms .ribbon-platforms{display:grid;grid-template-columns:repeat(3,26px);gap:2px}
 .release-platform-ribbon[data-ribbon-scope=title] .ribbon-fixed-platforms .ribbon-platform{width:26px;height:26px}
 .release-platform-ribbon[data-ribbon-scope=title] .ribbon-fixed-platforms .ribbon-platform svg{width:13px;height:13px}
 .release-platform-ribbon[data-ribbon-scope=title] .ribbon-title-viewport .release-ribbon-title{font-size:.9rem;padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){
 .release-platform-ribbon[data-ribbon-scope=title] .ribbon-title-viewport .ribbon-cycle{width:100%;min-width:0;padding-inline:4px}
 .release-platform-ribbon[data-ribbon-scope=title] .ribbon-title-viewport .release-ribbon-title{white-space:normal;text-align:center}
}
