.artist-home,.epk-page{overflow-x:clip}
/* Grain belongs to the photography, never to the page's text or controls. */
.artist-home .hero-image,.artist-home .story-image{overflow:hidden;isolation:isolate}
.artist-home .hero-image::before,.artist-home .story-image::after,.artist-home .music::after,.artist-home .syndicate-section::before,.feature-grain::after,.video-cover::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--texture-grain);background-repeat:repeat;background-size:180px 180px;background-position:0 0;opacity:.32;mix-blend-mode:overlay}
.artist-home .hero-image::before,.artist-home .story-image::after{z-index:1}
.artist-home .hero-image::after{z-index:2}
.artist-home .music::before{z-index:-2}
.artist-home .music::after{inset:0 calc((100vw - 100%)/-2);z-index:-1;opacity:.22}
.artist-home .syndicate-section::before{z-index:-2}
.artist-home .syndicate-shade{z-index:-1}
/* Large photographic features use the approved texture below captions and controls. */
.feature-grain{display:block;position:relative;isolation:isolate}
.feature-grain::after{z-index:1}
.video-cover{isolation:isolate}
.video-cover::before{z-index:1}
.video-cover>span,.epk-film-cover::after{z-index:2}
/* Move the cached texture in discrete frames; the photographs stay still. */
@keyframes film-grain{0%,100%{background-position:0 0}12.5%{background-position:-41px 27px}25%{background-position:53px -17px}37.5%{background-position:-23px -59px}50%{background-position:71px 43px}62.5%{background-position:-67px 11px}75%{background-position:19px 67px}87.5%{background-position:37px -43px}}
@media(prefers-reduced-motion:no-preference){.artist-home .hero-image::before,.artist-home .story-image::after,.artist-home .music::after,.artist-home .syndicate-section::before,.feature-grain::after,.video-cover::before{animation:film-grain .4s steps(1,end) infinite}}
/* Temporarily disable every grain overlay in the mobile layout; desktop stays unchanged. */
@media(max-width:800px){.artist-home .hero-image::before,.artist-home .story-image::after,.artist-home .music::after,.artist-home .syndicate-section::before,.feature-grain::after,.video-cover::before{content:none;display:none;background-image:none;animation:none}}
.artist-home .hero-tagline,.artist-home .album-note,.artist-home .strip-inner h2,.artist-home .watch-heading h2,.artist-home .show-message h3,.artist-home .merch-intro h2,.artist-home .video-title,.artist-home .footer-top>p,.epk-page .epk-tagline,.epk-page .epk-section h2,.epk-page .epk-contact h2,.epk-film-heading h2{font-family:var(--editorial);font-weight:500}
.artist-home .hero-tagline{font-size:2rem}
.artist-home .watch-heading h2{font-size:clamp(3.3rem,5.5vw,5.8rem);letter-spacing:-.045em;line-height:.98}
.artist-home .show-message h3{font-size:clamp(2.5rem,3.4vw,3.5rem);line-height:1.02}
.artist-home .album-note{font-size:1.7rem;line-height:1.35}
.artist-home .merch-intro h2{font-size:clamp(3.2rem,4.2vw,4.3rem);line-height:.97}
.artist-home .live-photo img{object-position:50% 50%}
.artist-home .live-photo{transition:transform .45s ease,box-shadow .45s ease}
.artist-home .live-photo:hover{transform:rotate(0deg);box-shadow:13px 16px 0 var(--image-shadow)}
.artist-home .release-strip{background:linear-gradient(110deg,var(--release-start),var(--release-mid) 65%,var(--release-end))}
.artist-home .hero-byline::before{content:"";display:inline-block;width:27px;height:1px;background:var(--accent);vertical-align:middle;margin-right:15px}
.artist-home .hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,#b74f1c25);pointer-events:none}
.artist-home .watch-section,.epk-page .epk-media{background:radial-gradient(ellipse at 12% 5%,color-mix(in srgb,var(--film-glow) 18.8235%,transparent),transparent 55%),var(--editorial-surface)}
.epk-page .epk-section h2,.epk-page .epk-contact h2{font-size:clamp(3.2rem,5.4vw,5.7rem);line-height:.98;letter-spacing:-.045em}
.epk-page h2 em{color:var(--accent);font-weight:500}
.epk-page .epk-tagline{font-size:2.25rem}
.epk-page .epk-hero{position:relative}
.epk-page .epk-hero::before{content:"";position:absolute;inset:-20px -6vw;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 73% 20%,#8953292a,transparent 58%)}
.epk-page .epk-hero-photo{transform:rotate(1.2deg)}
.epk-page .epk-hero-photo img{border:1px solid color-mix(in srgb,var(--warm-border) 34.902%,transparent);box-shadow:11px 12px 0 #302117}
.epk-page .epk-facts{border-color:color-mix(in srgb,var(--warm-border) 34.902%,transparent)}
.epk-film-section{padding-block:85px 48px}
.epk-film-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}
.epk-film-heading h2{font-size:clamp(3.5rem,6.5vw,6.5rem);line-height:.94;letter-spacing:-.045em;margin-top:20px}
.film-runtime{font-family:var(--mono);font-size:.875rem;letter-spacing:.1em;line-height:2;color:var(--caption);padding-bottom:7px}
.film-runtime span{font-size:.75rem;color:var(--muted)}
.epk-film-cover{aspect-ratio:2.18;box-shadow:0 20px 65px #0007;border:1px solid #bc946857}
.epk-film-cover>img{object-position:center 46%;filter:none}
.epk-film-cover::after{content:"";position:absolute;inset:15px;border:1px solid #fff2;pointer-events:none}
.epk-film-cover .video-vignette{background:linear-gradient(0deg,#080704d9,transparent 50%),linear-gradient(90deg,#09080455,transparent 55%)}
.epk-film-cover .play-circle{left:50%;top:47%;background:#14100bd9;border-color:color-mix(in srgb,var(--accent) 53.3333%,transparent);width:82px;height:82px}
.film-play-label{position:absolute;left:0;right:0;top:calc(47% + 55px);text-align:center;font-size:.75rem;letter-spacing:.23em;color:#f4e5c9}
.film-frame-note{position:absolute;bottom:29px;left:33px;font-family:var(--mono);font-size:.75rem;letter-spacing:.15em;color:var(--caption)}
.film-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;font-size:.875rem;color:var(--muted)}
.film-caption .text-link{font-size:.875rem}
.epk-page .epk-bio{border-top:1px solid color-mix(in srgb,var(--warm-border) 23.9216%,transparent)}
.epk-page .epk-contact{background:radial-gradient(ellipse at 100% 90%,#93492133,transparent 65%),var(--contact-surface)}
.epk-page .epk-prose{max-width:720px}
.epk-page .epk-full-bio{border-color:color-mix(in srgb,var(--warm-border) 34.902%,transparent)}
.epk-page .epk-photo-grid img{filter:saturate(.93)}
@keyframes film-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes film-open{from{transform:scale(1.055)}to{transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
 .artist-home .hero-image>img{animation:film-open 4s cubic-bezier(.15,.35,.2,1) both}
 .artist-home .hero-main{animation:film-arrive 1s .08s both}
 .film-reveal{animation:film-arrive .75s cubic-bezier(.2,.65,.3,1) both}
}
@media(max-width:1100px){.epk-page .header nav{gap:18px}.epk-page .header nav a{font-size:.875rem}.epk-film-section{padding-top:65px}.artist-home .album-note{font-size:1.5rem}}
@media(max-width:800px){.epk-film-cover{aspect-ratio:1.8}.epk-film-heading h2{font-size:4.4rem}.artist-home .watch-heading h2{font-size:4rem}.artist-home .show-message h3{font-size:2.6rem}.epk-page .header nav{gap:0}.epk-page .header nav a{font-size:1.125rem}}
@media(max-width:560px){
 .artist-home .hero-tagline{font-size:1.85rem}.artist-home .watch-heading h2{font-size:3.45rem}.artist-home .merch-intro h2{font-size:3.25rem}.artist-home .show-message h3{font-size:2.85rem}.artist-home .album-note{font-size:1.55rem}
 .artist-home .hero-byline::before{width:17px;margin-right:10px}.epk-page .epk-tagline{font-size:2rem}
 .epk-film-section{padding-block:52px 30px}.epk-film-heading{display:block;margin-bottom:25px}.epk-film-heading h2{font-size:3.7rem}.film-runtime{margin-top:24px;font-size:.8125rem;line-height:1.8}.epk-film-cover{aspect-ratio:1.35}.epk-film-cover>img{object-position:50% center}.epk-film-cover .play-circle{width:64px;height:64px}.film-play-label{top:calc(47% + 44px);font-size:.6875rem}.epk-film-cover::after{inset:10px}.film-frame-note{bottom:20px;left:22px;font-size:.625rem}.film-caption{display:block;font-size:.8125rem}.film-caption .text-link{display:table;margin-top:10px}.epk-page .epk-section h2,.epk-page .epk-contact h2{font-size:3.8rem}.epk-page .epk-hero-photo img{box-shadow:6px 7px 0 #302117}
}
@media(prefers-reduced-motion:reduce){.film-reveal,.artist-home .hero-main,.artist-home .hero-image>img{animation:none!important;transform:none}.artist-home .live-photo{transition:none}}

/* Keep the artist-selected window portrait framed in the existing layout. */
.artist-home .story-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}

/* Frame the artist-selected kick portrait from the top; keep artwork clear. */
.artist-home .hero-image{inset:60px 0 0 auto;width:min(66%,840px)}
.artist-home .hero-image img{object-position:50% 0;filter:none}
.artist-home .hero-sleeve{right:auto;left:62%;bottom:60px;width:145px}
@media(max-width:1100px){.artist-home .hero-sleeve{bottom:45px;width:135px}}
@media(max-width:800px){.artist-home .hero-sleeve{left:auto;right:0;bottom:45px;width:122px}}
@media(max-width:560px){.artist-home .hero-image{inset:78px -25% 22% 0;width:auto}.artist-home .hero-image img{object-position:50% 0}.artist-home .hero-sleeve{left:0;right:auto;top:112px;bottom:auto;width:104px}}
