:root{--black:#050505;--panel:#0d0d0e;--panel2:#151316;--white:#f5f2f3;--muted:#aaa3a7;--line:rgba(255,255,255,.16);--pink:#fa5181;--pink-dark:#b9345a;--max:1500px;--gutter:clamp(20px,6vw,86px);--page-inline:max(var(--gutter),calc((100vw - var(--max))/2))}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:var(--black);color:var(--white);font-family:"DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:fixed;z-index:100;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px var(--page-inline);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled,.site-header.inner{background:rgba(5,5,5,.9);border-color:var(--line);backdrop-filter:blur(15px)}.brand{color:var(--pink);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.site-header nav{display:flex;gap:30px}.site-header nav a{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.68}.site-header nav a:hover,.site-header nav a.active{color:var(--pink);opacity:1}.menu-button{display:none;border:0;background:transparent;color:#fff;text-transform:uppercase;font-size:10px;letter-spacing:.18em}
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.08) 42%,rgba(0,0,0,.78)),linear-gradient(90deg,rgba(0,0,0,.34),transparent 68%)}.hero-copy{position:relative;z-index:2;height:100%;padding:14vh 6vw 12vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-copy img{width:min(520px,50vw);height:min(520px,55vh);object-fit:contain;object-position:left center;filter:drop-shadow(0 0 28px rgba(255,44,171,.17))}.hero-copy p{max-width:620px;margin:8px 0 0;font-size:clamp(18px,2vw,29px);line-height:1.35}.scroll-cue{position:absolute;z-index:3;right:4vw;bottom:26px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.scroll-cue span{color:var(--pink);font-size:17px;margin-left:12px}
.section{padding:clamp(64px,6vw,110px) var(--page-inline)}.eyebrow{margin:0 0 30px;color:var(--pink);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.intro{background:#0a0a0a}.intro-grid{display:grid;grid-template-columns:1.45fr .65fr;gap:9vw;align-items:end}.intro h1,.section-head h2,.page-hero h1,.artist-feature h2,.album-teaser h2,.live-teaser h2,.newsletter h2,.contact-cta h2{margin:0;font-size:clamp(52px,7.6vw,118px);line-height:.88;letter-spacing:-.065em;font-weight:500;text-transform:uppercase}.intro h1 span,.album-teaser h2 span{color:var(--pink)}.prose,.section-head>p{color:#c4bec1;font-size:16px;line-height:1.68}.prose p:first-child{color:var(--white);font-size:19px}.prose p:last-child{margin-bottom:0}
.split-feature{display:grid;grid-template-columns:1.08fr .92fr;min-height:760px;background:var(--pink);color:#090909}.media{position:relative;overflow:hidden;background:#181818}.media.landscape{aspect-ratio:16/9}.media.portrait{aspect-ratio:9/16}.media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.split-feature>.media{height:100%;aspect-ratio:auto;min-height:760px}.split-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.split-copy .eyebrow{color:#090909;opacity:.62}.split-copy blockquote{margin:0;font-size:clamp(55px,6.8vw,105px);line-height:.88;letter-spacing:-.06em;font-weight:500}.attribution{margin:22px 0 60px;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.split-copy>p:not(.eyebrow,.attribution,.credit-line){max-width:610px;font-size:17px;line-height:1.66}.credit-line{margin-top:22px;font-size:12px;font-weight:600}.credit-line a{text-decoration:underline;text-underline-offset:4px}
.section-head{display:grid;grid-template-columns:1.45fr .55fr;gap:8vw;align-items:end;margin-bottom:65px}.section-head>p{margin:0}.section-head .text-link{align-self:end}.stories{background:#f2eeee;color:#080808}.stories .section-head>p{color:#565054}.story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.story-card{border-top:1px solid rgba(0,0,0,.32);padding-top:14px}.story-thumb{aspect-ratio:4/3;margin-bottom:20px;overflow:hidden;background:#ccc}.story-thumb img{width:100%;height:100%;object-fit:cover}.story-thumb.portrait-crop img{object-position:center 28%}.story-card>span,.label,.location{color:var(--pink-dark);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.story-card h3{margin:38px 0 12px;font-size:clamp(25px,2.1vw,36px);line-height:1.02;letter-spacing:-.035em}.story-card p{color:#5b5559;font-size:14px;line-height:1.55}
.showcase{background:var(--black)}.feature-video{display:grid;grid-template-columns:1.45fr .55fr;gap:0;background:var(--panel)}.feature-info{padding:clamp(28px,4vw,65px);display:flex;flex-direction:column;justify-content:center}.feature-info h3{margin:18px 0;font-size:clamp(34px,4vw,62px);line-height:.95;letter-spacing:-.045em}.feature-info>p:not(.location){color:var(--muted);line-height:1.62}.feature-info dl{margin:26px 0 16px}.feature-info dl div{display:grid;grid-template-columns:110px 1fr;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.feature-info dt{color:var(--muted)}.feature-info dd{margin:0}.feature-info a,details a{color:var(--pink)}
.competition{background:var(--panel2)}.duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.video-story{min-width:0}.video-story .label{margin:20px 0 12px}.video-story h3{margin:0 0 8px;font-size:clamp(28px,3.2vw,48px);letter-spacing:-.04em}.video-story>p:not(.label){color:var(--muted)}details{margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{padding:16px 0;color:#ddd;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}details p{color:var(--muted);font-size:13px;line-height:1.65;padding:0 0 18px;margin:0}
.portrait-section{background:var(--black)}.portrait-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;max-width:1150px;margin:0 auto}.portrait-story h3{margin:18px 0 5px;font-size:24px;letter-spacing:-.03em}.portrait-story p{margin:0 0 8px;color:var(--muted);font-size:12px}.portrait-story>a{color:var(--pink);font-size:11px}
.artist-feature{display:grid;grid-template-columns:1fr 1fr;background:#efebef;color:#080808}.artist-feature>img{width:100%;height:100%;max-height:950px;object-fit:cover;object-position:center 22%}.artist-feature>div{padding:8vw;display:flex;flex-direction:column;justify-content:center}.artist-feature h2{font-size:clamp(50px,6.7vw,105px)}.artist-feature>div>p:not(.eyebrow){max-width:660px;color:#403b3e;font-size:17px;line-height:1.65}.artist-feature small{margin-top:34px;color:#6a6266;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;width:fit-content;margin-top:25px;padding:15px 18px;border:1px solid var(--pink);color:var(--pink);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.button:hover{background:var(--pink);color:#070707}.button.small{margin:0}.button.light{border-color:#080808;background:#080808;color:#fff}.button.light:hover{background:#fff;color:#080808}.text-link{color:var(--pink);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.album-teaser{padding:clamp(100px,12vw,190px) 6vw;background:#080808}.album-teaser h2{max-width:1300px}.album-teaser>p:last-child{max-width:620px;margin:54px 0 0 auto;color:var(--muted);font-size:17px;line-height:1.65}
.releases{background:#f3eff0;color:#080808}.release-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.release-grid article>img{width:100%;aspect-ratio:1;object-fit:cover}.release-grid article>div{display:grid;grid-template-columns:1fr auto;gap:2px 15px;padding-top:17px;border-top:1px solid rgba(0,0,0,.32)}.release-grid span{font-size:9px;letter-spacing:.16em}.release-grid h3{grid-column:1/-1;margin:10px 0 2px;font-size:clamp(29px,3.5vw,52px);font-weight:500;letter-spacing:-.045em}.release-grid p{margin:0;color:#665e63}.release-grid .button{grid-column:2;grid-row:1/4;align-self:end;color:var(--pink-dark);border-color:var(--pink-dark)}

.live-teaser{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:6vw;padding:clamp(90px,9vw,150px) 6vw;background:var(--panel)}.live-teaser h2{font-size:clamp(48px,6vw,91px)}.live-teaser>div>p:not(.eyebrow){max-width:560px;color:var(--muted);line-height:1.65}.newsletter{text-align:center;padding:clamp(90px,10vw,150px) 6vw;background:#080808}.newsletter h2{max-width:1000px;margin:0 auto;font-size:clamp(45px,6vw,88px)}.form-status{grid-column:1/-1;color:var(--muted);font-size:12px}.contact-cta{padding:clamp(100px,12vw,180px) 6vw;background:var(--pink);color:#080808}.contact-cta .eyebrow{color:#080808;opacity:.6}.contact-cta>p:not(.eyebrow){max-width:650px;margin:40px 0 0 auto;font-size:17px;line-height:1.65}.contact-cta .button{margin-left:auto}
.site-footer{display:grid;grid-template-columns:1fr 1fr .5fr;gap:50px;min-height:350px;padding:70px 6vw 26px;border-top:1px solid var(--line);align-items:start}.site-footer img{width:190px;height:190px;object-fit:contain}.site-footer>p{margin:0;color:var(--muted);font-size:20px;line-height:1.4}.site-footer nav{display:flex;flex-direction:column;gap:12px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.site-footer small{grid-column:1/-1;align-self:end;padding-top:20px;border-top:1px solid var(--line);color:#777;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.page-hero{min-height:74svh;padding:170px 6vw 90px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--panel)}.page-hero h1{max-width:1300px}.page-hero>p:not(.eyebrow){max-width:640px;margin:36px 0 0 auto;color:var(--muted);font-size:18px;line-height:1.6}.page-hero.photo{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end}.page-hero.photo img{width:100%;height:67vh;object-fit:cover;object-position:center 22%}.page-hero.photo>div>p:not(.eyebrow){max-width:590px;color:var(--muted);font-size:17px;line-height:1.65}.editorial{max-width:1050px;margin:0 auto}.editorial h2{margin:90px 0 22px;font-size:clamp(38px,5vw,72px);line-height:.96;letter-spacing:-.05em}.editorial p{color:#c3bdc0;font-size:18px;line-height:1.75}.editorial p.lead{color:#fff;font-size:24px}.archive-section{padding:100px 6vw}.archive-section:nth-child(even){background:var(--panel)}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.archive-grid.landscapes{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-card h3{margin:18px 0 5px;font-size:23px}.archive-card>p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.archive-card>a{display:inline-block;margin-top:8px;color:var(--pink);font-size:11px}.live-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.live-format-grid article{min-height:360px;padding:35px;background:var(--panel);display:flex;flex-direction:column}.live-format-grid span{color:var(--pink);font-size:10px}.live-format-grid h3{margin:auto 0 18px;font-size:34px;letter-spacing:-.04em}.live-format-grid p{margin:0;color:var(--muted);line-height:1.6}.contact-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;padding:170px 6vw 120px}.contact-page h1{margin:0;font-size:clamp(58px,8vw,120px);line-height:.85;letter-spacing:-.065em;text-transform:uppercase}.contact-page>div>p:not(.eyebrow){color:var(--muted);line-height:1.65}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-form label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form textarea,.contact-form select{padding:11px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:#fff;outline:none}.contact-form textarea{resize:vertical}.contact-form button{grid-column:1/-1;padding:17px 20px;border:0;background:var(--pink);color:#080808;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}
@media(max-width:1000px){.intro-grid,.section-head,.feature-video,.artist-feature,.live-teaser,.page-hero.photo,.contact-page{grid-template-columns:1fr}.split-feature{grid-template-columns:1fr}.split-feature>.media{height:auto;min-height:0;aspect-ratio:16/9}.story-grid{grid-template-columns:1fr 1fr}.section-head{gap:35px}.feature-info{padding:45px}.artist-feature>img{max-height:800px}.live-teaser{gap:55px}.archive-grid{grid-template-columns:1fr 1fr}.page-hero.photo img{height:65vh}.contact-page{gap:70px}.site-footer{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.site-header{padding:18px 20px}.menu-button{display:block}.site-header nav{display:none;position:absolute;inset:58px 0 auto;padding:24px 20px 30px;flex-direction:column;background:rgba(5,5,5,.97);border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{min-height:620px}.hero-video{width:178vh;left:50%;transform:translateX(-50%)}.hero-copy{justify-content:flex-end;padding:110px 22px 90px}.hero-copy img{width:78vw;height:auto}.hero-copy p{font-size:18px}.section{padding:82px 22px}.intro h1,.section-head h2{font-size:47px}.split-copy{padding:82px 22px}.split-copy blockquote{font-size:50px}.story-grid,.duo-grid,.portrait-row,.release-grid,.archive-grid,.archive-grid.landscapes,.live-format-grid,.contact-form{grid-template-columns:1fr}.story-grid{gap:55px}.feature-info{padding:34px 22px}.portrait-row{max-width:82vw}.artist-feature>div{padding:82px 22px}.album-teaser,.newsletter,.contact-cta,.live-teaser{padding:82px 22px}.live-teaser h2,.newsletter h2,.contact-cta h2{font-size:48px}.contact-cta .button{margin-left:0}.site-footer{grid-template-columns:1fr;padding:65px 22px 25px}.site-footer small{grid-column:1}.page-hero{min-height:70svh;padding:130px 22px 70px}.page-hero h1{font-size:53px}.page-hero.photo img{height:54vh}.archive-section{padding:82px 22px}.archive-grid{gap:55px}.contact-page{padding:130px 22px 85px}.contact-form label{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
.hero{background:#000 url('https://vz-dd6a6b97-9f2.b-cdn.net/3bc40edc-92ab-41f3-9b4d-1c6e0c11fcdb/thumbnail.jpg') center/cover no-repeat}
.video-poster{position:absolute;z-index:2;inset:0;width:100%;height:100%;padding:0;border:0;background:#050505;cursor:pointer;overflow:hidden}.video-poster img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.video-poster::after{content:"";position:absolute;inset:0;border:1px solid transparent;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.34));transition:border-color .2s,background-color .2s}.video-poster:hover img{transform:scale(1.018);filter:brightness(.82)}.video-poster:hover::after{border-color:rgba(250,81,129,.75);background-color:rgba(0,0,0,.08)}.video-poster span{position:absolute;z-index:1;left:18px;bottom:18px;padding:11px 14px;background:var(--pink);color:#080808;font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.22)}/* R1: poster fade handled below */.media.playing .video-poster{opacity:0;pointer-events:none}
@media(max-width:820px){.site-header{padding:18px 20px}.menu-button{display:block}.site-header nav{display:none;position:absolute;inset:58px 0 auto;padding:24px 20px 30px;flex-direction:column;background:rgba(5,5,5,.97);border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}}
.hero-video{filter:saturate(.82) contrast(1.06) brightness(.84)}
.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.2) 48%,rgba(0,0,0,.62)),linear-gradient(90deg,rgba(0,0,0,.28),transparent 74%)}

/* September editorial revision */
.brand{font-size:14px;letter-spacing:.16em}
.site-header nav a{font-size:12px;letter-spacing:.15em}
.hero{background:#000}
.hero-video{opacity:.44;filter:saturate(.72) contrast(1.04) brightness(.7)}
.hero-shade{background:rgba(0,0,0,.42);backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-copy{max-width:780px}
.hero-copy>picture>img{width:min(470px,50vw);height:auto;max-height:52vh;filter:drop-shadow(0 0 30px rgba(250,81,129,.18))}
.hero-copy>p{max-width:650px;margin:24px 0 0;font-size:clamp(19px,2vw,29px);line-height:1.4}

.madonna-feature{overflow:hidden;display:grid;grid-template-columns:1fr minmax(280px,430px);gap:clamp(50px,8vw,130px);align-items:center;padding:clamp(90px,10vw,160px) 9vw;background:#f2eeee;color:#080808}
.madonna-copy{max-width:850px}
.madonna-copy .eyebrow{margin-bottom:25px;color:var(--pink-dark)}
.madonna-kicker{margin:0 0 22px;color:var(--pink-dark);font-size:clamp(25px,3vw,46px);font-weight:600;letter-spacing:-.035em;text-transform:uppercase}
.madonna-copy blockquote{max-width:900px;margin:0;font-size:clamp(53px,6.4vw,102px);font-weight:500;line-height:.9;letter-spacing:-.06em}
.madonna-copy>p:not(.eyebrow,.madonna-kicker,.credit-line){max-width:670px;margin:42px 0 0;color:#4f494c;font-size:17px;line-height:1.66}
.madonna-copy .credit-line{margin-top:24px}
.madonna-video{width:100%;aspect-ratio:4/5;background:#151515;box-shadow:none}
.madonna-video iframe{position:absolute}

.story-card{display:block;position:relative}
.story-card .story-thumb{position:relative}
.story-card .story-thumb img{transition:transform .45s ease,filter .45s ease}
.story-card:hover .story-thumb img{transform:scale(1.025);filter:brightness(.76)}

.gilberto-thumb img{object-fit:cover;object-position:center 16%;background:#111}
.credential{margin:8px 0 18px!important;color:var(--pink)!important;font-size:12px!important;font-weight:600;letter-spacing:.12em;line-height:1.35!important;text-transform:uppercase}

.movement-hero h1{max-width:1100px}
.stage-section{background:#27131d}
.cirque-section{background:#f2eeee!important;color:#080808}
.cirque-section .section-head>p,.cirque-section .archive-card>p{color:#5a5357}
.cirque-intro{display:flex;justify-content:space-between;gap:30px;margin:-25px 0 50px;padding-top:22px;border-top:1px solid rgba(0,0,0,.25);color:#50494d}
.cirque-intro p{margin:0}
.cirque-intro a{color:var(--pink-dark);font-size:12px;font-weight:600}
.cirque-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cirque-grid .archive-card h3{font-size:clamp(26px,3vw,44px)}
.live-page-hero h1{max-width:1200px}
.live-plan .section-head h2{max-width:900px}
.live-collaboration>div>p:not(.eyebrow){margin-bottom:18px}

@media(max-width:1000px){
  .madonna-feature{grid-template-columns:1fr;gap:55px;padding-left:6vw;padding-right:6vw}
  .madonna-video{width:min(430px,70vw);justify-self:center}
  .cirque-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .brand{font-size:12px}.menu-button{font-size:11px}
  .hero-copy{justify-content:center;padding:110px 22px 80px}
  .hero-copy>picture>img{width:min(330px,82vw);height:auto;max-height:none}
  .hero-copy>p{max-width:330px;margin-top:18px;font-size:17px}
  .madonna-feature{padding:82px 22px}
  .madonna-copy blockquote{font-size:50px}
  .madonna-video{width:min(330px,88vw)}
  .cirque-intro{flex-direction:column}
  .cirque-grid{grid-template-columns:1fr;max-width:82vw;margin:0 auto}
  .page-hero h1{font-size:clamp(44px,14vw,58px)}
}

/* October content and colour pass */
.hero-video{opacity:.64;filter:saturate(.82) contrast(1.03) brightness(.86)}
.hero-shade{background:rgba(0,0,0,.25)}
.stories{background:#111;color:var(--white)}
.stories .section-head>p,.stories .story-card p{color:var(--muted)}
.stories .story-card{border-color:var(--line)}
.stories .story-card>span{color:var(--pink)}
.stage-grid,.stage-archive-grid{display:grid;gap:30px}
.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.stage-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.portrait-row{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1400px}
.live-teaser-visual{min-height:420px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,70px);background:linear-gradient(145deg,#080808,#24151d);overflow:hidden}
.live-teaser-visual span{color:var(--pink);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.live-teaser-visual strong{margin-top:auto;color:transparent;-webkit-text-stroke:1px var(--pink);font-size:clamp(90px,14vw,220px);font-weight:500;line-height:.75;letter-spacing:-.08em}
.newsletter-button{margin:48px auto 0}
@media(max-width:1000px){.stage-grid,.stage-archive-grid{grid-template-columns:1fr 1fr}.portrait-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.stage-grid,.stage-archive-grid,.portrait-row{grid-template-columns:1fr}.portrait-row{max-width:82vw}.live-teaser-visual{min-height:280px}}

/* October full feedback pass */
.story-card .story-thumb{margin-bottom:20px}
.story-card .video-poster span{right:12px;bottom:12px;left:auto}
.story-link{display:inline-block;margin-top:15px;color:var(--pink);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.compact-credit{margin-top:15px!important;color:#d7d0d4!important}
.compact-credit strong,.credit-facts strong{color:var(--pink);font-weight:600}
.credit-facts{display:flex;flex-direction:column;gap:5px;margin:14px 0 18px;color:var(--muted);font-size:13px;line-height:1.45}
.credit-facts strong{display:inline-block;min-width:74px}
.release-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.album-teaser .button{margin:34px 0 0 auto}

.label-page-hero h1{max-width:1150px}
.label-intro{background:#f2eeee;color:#080808}
.label-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:start}
.label-intro h2{margin:0;font-size:clamp(46px,6vw,88px);font-weight:500;line-height:.92;letter-spacing:-.055em;text-transform:uppercase}
.label-intro p{margin:0 0 22px;color:#50494d;font-size:17px;line-height:1.65}
.label-catalogue{background:#0b0a0b}
.label-release{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:clamp(55px,8vw,130px);align-items:center;padding:clamp(90px,10vw,150px) 6vw;border-top:1px solid var(--line)}
.label-release:nth-child(even){background:#151215}
.label-release>img{width:100%;aspect-ratio:1;object-fit:cover}
.label-release h2{margin:0;font-size:clamp(58px,8vw,118px);font-weight:500;line-height:.86;letter-spacing:-.065em;text-transform:uppercase}
.release-lead{max-width:740px;margin:30px 0 0;color:#c8c0c5;font-size:18px;line-height:1.65}
.release-actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin:8px 0 32px}
.release-actions .text-link{margin-top:25px}
.release-actions .secondary-action{border-color:rgba(250,81,129,.42);color:#d9b7c3}
.release-actions .secondary-action:hover{border-color:var(--pink);background:transparent;color:var(--pink)}
.label-release details{margin-top:0}
.release-copy{padding:5px 0 24px}
.release-copy p{max-width:820px;margin:0 0 18px;color:#bdb5ba;font-size:15px;line-height:1.75}

.live-format-grid.four{grid-template-columns:repeat(4,1fr)}
.contact-form label{font-size:12px;line-height:1.4}
.contact-form input,.contact-form textarea,.contact-form select{min-height:46px;padding:12px 0;font-size:16px}
.contact-form select{color:#fff}
@media(max-width:1120px){
  .release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .live-format-grid.four{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .label-intro-grid,.label-release{grid-template-columns:1fr}
  .label-release>img{max-width:520px}
}
@media(max-width:680px){
  .release-grid,.live-format-grid.four{grid-template-columns:1fr}
  .label-release{padding:82px 22px;gap:42px}
  .label-release h2{font-size:52px}
  .label-intro-grid{gap:24px}
  .label-intro h2{font-size:47px}
  .album-teaser .button{margin-left:0}
}

/* October final review pass */
:focus-visible{outline:2px solid var(--pink);outline-offset:4px}
.media,.story-thumb,.video-poster,.video-poster img{background-color:#050505}
.media{border:1px solid rgba(255,255,255,.12)}
.video-poster{display:block;color:inherit}
.video-poster span{box-shadow:0 8px 24px rgba(0,0,0,.22)}
.video-poster.poster-fallback{background:linear-gradient(145deg,#080808 0%,#24151d 58%,#080808 100%)}
.video-poster.poster-fallback::before{content:"Dance To Nomine";position:absolute;left:18px;top:18px;color:var(--pink);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.archive-card,.portrait-story,.video-story{min-width:0}
.archive-card h3,.portrait-story h3,.video-story h3{overflow-wrap:anywhere}
.archive-card .credit-line{display:flex;flex-wrap:wrap;gap:6px 14px}

.cay-section{background:#15191b}
.cay-grid{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:clamp(35px,6vw,90px)}
.cay-grid .archive-card{padding-top:14px;border-top:1px solid var(--line)}

.album-teaser{display:grid;grid-template-columns:minmax(260px,520px) minmax(0,1fr);gap:clamp(55px,8vw,130px);align-items:center;padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(90px,10vw,150px)}
.album-teaser>img{width:100%;aspect-ratio:1;object-fit:cover}
.album-teaser>div>p:not(.eyebrow){max-width:680px;color:var(--muted);font-size:17px;line-height:1.65}
.album-teaser .album-formats{color:#fff!important;font-weight:500}
.album-teaser .button{margin-left:0}

.label-page-hero{display:grid;grid-template-columns:minmax(240px,430px) minmax(0,1fr);gap:clamp(55px,8vw,130px);align-items:center;min-height:88svh;padding-top:130px;background:#050505}
.label-page-hero .label-hero-logo{width:100%;max-height:55vh;object-fit:contain}
.label-page-hero>div{align-self:end;padding-bottom:2vh}
.label-page-hero>div>p:not(.eyebrow){max-width:680px;margin:36px 0 0 auto;color:var(--muted);font-size:18px;line-height:1.6}
.label-release:first-child{background:#111}
.label-release .eyebrow{line-height:1.5}

.about-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,560px);gap:clamp(55px,8vw,130px);align-items:center;padding:150px 6vw 90px;background:var(--panel)}
.about-hero-copy h1{max-width:900px;margin:0;font-size:clamp(58px,8vw,120px);font-weight:500;line-height:.85;letter-spacing:-.065em;text-transform:uppercase}
.about-hero-copy>p:not(.eyebrow){max-width:590px;margin:36px 0 0;color:var(--muted);font-size:17px;line-height:1.65}
.about-portrait{width:100%;max-width:560px;margin:0;justify-self:end}
.about-portrait img{display:block;width:100%;height:auto;border:1px solid var(--line);background:#0b0a0b}
.home-release-actions{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;align-items:stretch;align-self:end;gap:8px;width:118px}
.release-grid .home-release-actions .button{grid-column:auto;grid-row:auto;width:100%;min-height:44px;justify-content:center;padding:12px 14px;border-color:var(--pink-dark);color:var(--pink-dark);font-size:10px;letter-spacing:.15em}
.release-grid .home-release-actions .button:hover{background:var(--pink-dark);color:#fff}

.ensemble-section{background:#d8cdd3!important;color:#080808}
.ensemble-section .section-head>p{color:#50484d}
.ensemble-section .feature-video{color:var(--white)}
#personal{background:#0b0b0c}

.showcase{padding-bottom:clamp(70px,7vw,110px)}
.competition{padding-top:clamp(70px,7vw,110px);background:#d8cdd3;color:#080808}
.competition .section-head>p,.competition .video-story>p:not(.label),.competition .credit-facts{color:#50484d}
.competition .label,.competition .credit-facts strong,.competition .text-link,.competition details a{color:#8e224a}
.competition details{border-color:rgba(0,0,0,.25)}
.competition summary{color:#2e292c}
.competition details p{color:#50484d}
.portrait-section{padding-top:clamp(75px,7.5vw,120px)}

.live-page-hero{align-items:flex-start}
.live-page-hero>p:not(.eyebrow){margin-left:0}
.live-hero-cta{margin-top:32px}

body.modal-open{overflow:hidden}
.video-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:70px clamp(18px,5vw,70px);background:rgba(0,0,0,.9);backdrop-filter:blur(8px)}
.video-modal-frame{position:relative;width:min(1100px,92vw);max-height:82vh;aspect-ratio:16/9;background:#000;box-shadow:0 24px 90px rgba(0,0,0,.55)}
.video-modal-frame.is-portrait{width:min(460px,82vw);aspect-ratio:9/16}
.video-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-modal-close{position:absolute;z-index:2;top:22px;right:clamp(18px,4vw,55px);padding:11px 14px;border:1px solid rgba(255,255,255,.4);background:#080808;color:#fff;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.video-modal-close:hover{border-color:var(--pink);color:var(--pink)}

@media(max-width:1000px){
  .album-teaser,.label-page-hero{grid-template-columns:1fr}
  .album-teaser>img,.label-page-hero .label-hero-logo{max-width:520px}
  .label-page-hero>div{align-self:auto;padding-bottom:0}
  .about-hero{grid-template-columns:1fr;padding-top:130px}
  .about-portrait{justify-self:start;max-width:560px}
}
@media(max-width:680px){
  .album-teaser{padding:82px 22px;gap:42px}
  .label-page-hero{padding:120px 22px 70px;gap:42px}
  .label-page-hero .label-hero-logo{width:min(78vw,340px)}
  .video-modal{padding:62px 12px 20px}
  .video-modal-frame{width:100%;max-height:74vh}
  .video-modal-close{top:16px;right:12px}
  .about-hero{padding:120px 22px 70px;gap:42px}
  .about-hero-copy h1{font-size:53px}
  .about-portrait{width:100%;max-width:none}
  .release-grid article>div{grid-template-columns:1fr}
  .home-release-actions{grid-column:1;grid-row:auto;align-items:flex-start;margin-top:12px}
}

/* Pre-release styling polish */
.button{min-height:44px}
.stage-section .label,.cay-section .label,.feature-info .location{color:var(--pink)}
.cirque-section .eyebrow,.ensemble-section .eyebrow,.label-intro .eyebrow{color:#8e224a}
.release-actions{gap:12px}
.release-actions .button,.release-actions .secondary-action{width:176px;min-height:48px;justify-content:space-between;gap:12px;border-color:var(--pink);color:var(--pink)}
.release-actions .secondary-action:hover{border-color:var(--pink);background:var(--pink);color:#070707}
summary{min-height:44px;display:flex;align-items:center}
.archive-card>a,.credit-line a,details a{overflow-wrap:anywhere;line-height:1.5}

@media(max-width:820px){
  .menu-button{min-width:44px;min-height:44px;padding:10px}
  .site-header nav a{display:flex;align-items:center;min-height:38px}
}
@media(max-width:680px){
  .cay-grid{grid-template-columns:1fr;max-width:82vw;margin:0 auto}
  .live-format-grid article{min-height:260px;padding:28px}
  .release-actions{display:grid;grid-template-columns:1fr;max-width:260px}
  .release-actions .button,.release-actions .secondary-action{width:100%}
  .site-footer nav a{display:flex;align-items:center;min-height:36px}
}

/* Compact site footer */
.site-footer{grid-template-columns:150px minmax(280px,1fr) auto;column-gap:clamp(45px,7vw,110px);row-gap:38px;min-height:0;padding:56px max(6vw,calc((100vw - 1400px)/2)) 24px;align-items:start}
.site-footer img{width:132px;height:132px}
.site-footer>p{max-width:430px;padding-top:6px;font-size:18px}
.site-footer nav{min-width:210px;gap:8px;padding-top:3px}
.site-footer small{padding-top:18px}
.about-hero-copy h1 span,.movement-hero h1 span,.contact-page h1 span{color:var(--pink)}

@media(max-width:900px){
  .site-footer{grid-template-columns:110px 1fr;column-gap:30px;row-gap:30px;padding:48px 22px 22px}
  .site-footer img{width:100px;height:100px}
  .site-footer>p{padding-top:2px;font-size:17px}
  .site-footer nav{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;min-width:0;gap:4px 22px;padding-top:0}
  .site-footer small{grid-column:1/-1}
}

/* Release candidate layout and interaction rules */
.scroll-arrow{position:relative;display:inline-block;width:15px;height:19px;margin-left:12px;vertical-align:-5px;color:var(--pink)}
.scroll-arrow::before{content:"";position:absolute;left:7px;top:0;width:1.5px;height:17px;background:currentColor}
.scroll-arrow::after{content:"";position:absolute;right:1px;bottom:1px;width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}

summary{position:relative;justify-content:space-between;gap:18px;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:0 0 14px;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/12px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 12px no-repeat;opacity:.8;transition:transform .2s ease}
details[open]>summary::after{transform:rotate(45deg)}
.story-details{margin-top:auto;border-color:var(--line)}
.story-details summary{color:var(--pink)}
.story-details p{padding:0 0 16px;color:var(--muted)}

.release-grid article{display:flex;min-width:0;flex-direction:column}
.release-grid article>div{display:flex;flex:1;flex-direction:column;gap:0;padding-top:16px;border-top:1px solid rgba(0,0,0,.32)}
.release-grid h3{min-height:2em;margin:10px 0 4px;font-size:clamp(29px,3.3vw,50px);line-height:.98}
.release-grid p{min-height:2.8em;margin:0 0 16px;line-height:1.35}
.release-grid article>div>.button,.home-release-actions{width:100%;max-width:250px;margin-top:auto}
.release-grid article>div>.button{display:flex;justify-content:center;min-height:44px;color:var(--pink-dark);border-color:var(--pink-dark)}
.home-release-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.release-grid .home-release-actions .button{width:100%;min-height:44px;margin:0;padding:12px 10px;justify-content:center;color:var(--pink-dark);border-color:var(--pink-dark)}
.release-grid article>div>.button:hover,.release-grid .home-release-actions .button:hover{background:var(--pink-dark);color:#fff}

.site-footer{grid-template-columns:132px minmax(260px,420px) minmax(210px,1fr);column-gap:clamp(28px,4vw,64px);row-gap:34px;min-height:0;padding:52px max(6vw,calc((100vw - 1400px)/2)) 24px;align-items:center}
.site-footer img{width:118px;height:118px}
.site-footer>p{max-width:390px;padding:0;font-size:18px}
.site-footer nav{justify-self:end;min-width:230px;gap:10px;padding:0}
.site-footer small{padding-top:18px}

@media(max-width:900px){
  .site-footer{grid-template-columns:92px 1fr;column-gap:24px;row-gap:24px;align-items:center;padding:44px 22px 22px}
  .site-footer img{width:86px;height:86px}
  .site-footer>p{font-size:16px;font-weight:600;line-height:1.35}
  .site-footer nav{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;justify-self:stretch;min-width:0;gap:2px 18px}
  .site-footer small{grid-column:1/-1}
}

@media(max-width:680px){
  .hero{min-height:620px}
  .hero-copy{align-items:flex-start;justify-content:flex-start;max-width:none;padding:108px 20px 76px;text-align:left}
  .hero-copy>picture>img{width:min(205px,54vw);height:auto;margin:0}
  .hero-copy>p{max-width:300px;margin:18px 0 0;font-size:16px;font-weight:600;line-height:1.4;text-align:left;text-wrap:balance}
  .scroll-cue{right:20px;bottom:20px}
  .label-page-hero .label-hero-logo{width:min(260px,70vw);margin-inline:auto}

  .section,.archive-section{padding:64px 18px}
  .madonna-feature,.artist-feature>div,.album-teaser,.newsletter,.contact-cta,.live-teaser{padding:68px 20px}
  .section-head{gap:22px;margin-bottom:38px}
  .intro h1,.section-head h2{font-size:42px;line-height:.92}
  .page-hero{padding:118px 20px 60px}
  .page-hero h1,.contact-page h1{font-size:44px;line-height:.9}
  .about-hero-copy h1{font-size:44px;line-height:.84}
  .page-hero>p:not(.eyebrow),.page-hero.photo>div>p:not(.eyebrow){margin-top:26px;font-size:16px}
  .about-hero,.contact-page{padding:118px 20px 68px}
  .about-hero{gap:34px}

  .story-grid,.stage-grid,.stage-archive-grid,.portrait-row,.release-grid,.archive-grid,.archive-grid.landscapes,.cay-grid,.live-format-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:36px 14px}
  .cirque-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:28px 10px}
  .portrait-row{width:100%}

  .story-card,.video-story,.archive-card,.portrait-story{display:flex;min-width:0;flex-direction:column}
  .story-card{padding-top:10px}
  .story-card>span{min-height:2.8em}
  .story-card h3{min-height:2.15em;margin:12px 0 8px;font-size:22px;line-height:1.05}
  .story-card>p:not(.compact-credit){font-size:12px;line-height:1.45}
  .story-card .compact-credit{min-height:3.1em;margin:10px 0 8px!important;font-size:11px;line-height:1.4}
  .story-card>span,.video-story .label,.archive-card .label{font-size:8px;line-height:1.4}
  .story-thumb{margin-bottom:14px}
  .story-link{margin-top:auto;padding-top:10px}
  .story-details{width:100%;margin-top:auto}

  .video-story .label{min-height:2.8em;margin:12px 0 7px}
  .video-story h3{min-height:2.15em;margin:0 0 7px;font-size:22px;line-height:1.05}
  .video-story>p:not(.label){font-size:12px;line-height:1.45}
  .video-story>.credit-facts{min-height:7.6em}
  .credit-facts{gap:3px;margin:10px 0 12px;font-size:11px;line-height:1.4}
  .archive-card h3,.portrait-story h3{margin:12px 0 5px;font-size:18px;line-height:1.08}
  .archive-card>p,.portrait-story p{font-size:11px;line-height:1.45}
  .archive-card>a,.portrait-story>a,.credit-line a,.cirque-intro a,.story-link{display:inline-flex;align-items:center;min-height:36px;font-size:10px;line-height:1.35}
  .archive-card .credit-line{gap:2px 8px;margin-top:8px}
  .stage-archive-grid .archive-card>.credit-facts{min-height:7.6em}
  .stage-archive-grid .archive-card>details{margin-top:auto}
  .cirque-intro{display:block;margin:-10px 0 34px}
  .cirque-intro a{margin-top:8px}
  .cirque-grid .archive-card h3{font-size:17px}
  .cirque-grid .archive-card>p{font-size:10px}

  .mobile-card-details{width:100%;margin-top:auto}
  .mobile-card-details summary{min-height:44px}
  .mobile-card-details .credit-facts{padding-top:2px}
  .mobile-card-details .credit-line{padding-bottom:12px}

  .release-grid article>div{display:flex;padding-top:12px}
  .release-grid h3{min-height:2.05em;margin:8px 0 3px;font-size:19px;line-height:1.05}
  .release-grid span{min-height:2.7em;font-size:9px;line-height:1.35}
  .release-grid p{min-height:2.8em;margin-bottom:10px;font-size:10px;line-height:1.35}
  .release-grid article>div>.button,.home-release-actions{max-width:none}
  .release-grid article>div>.button,.release-grid .home-release-actions .button{min-height:38px;margin-top:0;padding:9px 7px;font-size:8px;letter-spacing:.11em}
  .home-release-actions{position:static;display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:auto;gap:6px}

  .release-actions{display:grid;grid-template-columns:1fr 1fr;max-width:none}
  .release-actions .button,.release-actions .secondary-action{width:100%;min-width:0;padding:12px 10px;justify-content:center}
  .album-release .release-actions{grid-template-columns:minmax(0,220px)}

  .live-format-grid article{min-height:220px;padding:22px 18px}
  .live-format-grid h3{font-size:26px}
  .live-format-grid p{font-size:13px}
  .video-poster span{left:10px;bottom:10px;padding:10px 11px;font-size:8px}
  .button{min-height:46px;padding:13px 15px;line-height:1.35}

  .site-footer{grid-template-columns:78px minmax(0,1fr);gap:18px;padding:44px 20px 24px;text-align:left}
  .site-footer img{width:72px;height:72px;margin:0}
  .site-footer>p{max-width:250px;margin:0;padding:0;font-size:15px;font-weight:600;line-height:1.35}
  .site-footer nav{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;gap:2px 12px;margin-top:4px;padding:0}
  .site-footer nav a{justify-content:flex-start;min-height:40px;font-size:9px;line-height:1.35}
  .site-footer small{grid-column:1/-1;margin-top:4px;padding-top:16px;text-align:left;line-height:1.5}
}

/* Local handover pass: desktop and phone are composed independently */
.contact-cta{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);column-gap:clamp(55px,8vw,130px);align-items:start}
.contact-cta .eyebrow,.contact-cta h2{grid-column:1}
.contact-cta>p:not(.eyebrow),.contact-cta .button{grid-column:2;margin-left:0}
.contact-cta>p:not(.eyebrow){margin-top:0;align-self:end}
.contact-cta .button{justify-self:start;margin-top:28px}
.press-release h3{margin:42px 0 18px;color:var(--white);font-size:22px;letter-spacing:-.02em}
.press-release ol{margin:0;padding:0 0 10px 22px;color:#bdb5ba}
.press-release li{margin:0 0 9px;padding-left:5px;line-height:1.55}
.album-release .eyebrow,.album-release h2{margin-left:0}
.hero::after{content:"";position:absolute;z-index:1;right:0;bottom:0;left:0;height:44px;background:linear-gradient(180deg,transparent,rgba(5,5,5,.96));pointer-events:none}

@media(max-width:820px){
  body.menu-open::after{content:"";position:fixed;z-index:90;inset:0;background:rgba(0,0,0,.46)}
  .site-header{z-index:100}
  .site-header nav{inset:70px 0 auto;align-items:flex-end;gap:5px;padding:20px 20px 26px;text-align:right;background:rgba(5,5,5,.98)}
  .site-header nav a{justify-content:flex-end;width:100%;font-size:13px}
}

@media(max-width:680px){
  .hero{height:100svh;min-height:620px}
  .hero-copy{align-items:flex-start;justify-content:flex-start;padding:94px 20px 72px}
  .hero-copy>picture>img{width:min(170px,44vw);margin:0}
  .hero-copy>p{max-width:305px;margin-top:14px;font-size:16px;font-weight:600;line-height:1.38}
  .hero-video{pointer-events:none}

  .about-hero{padding-top:112px;gap:26px}
  .about-hero-copy h1{font-size:42px;line-height:.86}
  .about-hero-copy>p:not(.eyebrow){margin-top:24px;font-size:15px}
  .about-portrait{width:55%;max-width:240px;justify-self:end}

  .movement-hero{min-height:auto;padding-bottom:38px}
  #international{padding-top:42px}
  .label-page-hero{min-height:auto}
  .label-page-hero .label-hero-logo{width:min(230px,60vw)}
  .album-release .eyebrow{margin-bottom:22px}
  .label-release h2{font-size:44px;line-height:.86;overflow-wrap:normal;word-break:normal}

  .contact-cta{display:flex;flex-direction:column;padding:68px 20px}
  .contact-cta h2{font-size:44px;line-height:.9}
  .contact-cta>p:not(.eyebrow){max-width:520px;margin:26px 0 0;font-size:15px;line-height:1.55}
  .contact-cta .button{margin:24px 0 0}

  .story-card>span,.story-card h3,.story-card .compact-credit,
  .video-story .label,.video-story h3,.video-story>.credit-facts,
  .stage-archive-grid .archive-card>.credit-facts,.release-grid h3,
  .release-grid span,.release-grid p{min-height:0}
  .story-card h3{margin:11px 0 7px}
  .story-card>p:not(.compact-credit,.credit-line){margin:0 0 8px}
  .story-card .compact-credit{margin:8px 0!important}
  .story-card .credit-line{margin:3px 0 9px}
  .story-details,.stage-archive-grid .archive-card>details,.mobile-card-details{margin-top:0}

  .video-story .label{margin:11px 0 7px}
  .video-story h3{margin:0 0 7px}
  .credit-facts{margin:8px 0 10px}
  .archive-card .credit-line{margin:5px 0 8px}
  .archive-card>details{margin-top:8px}
  .archive-card>a,.portrait-story>a{margin-top:5px}

  .cirque-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 8px}
  .cay-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:34px 14px}
  .portrait-row{max-width:none}
  #international.archive-section{padding-bottom:50px}

  .release-grid article>div{padding-top:10px}
  .release-grid h3{margin:7px 0 3px;font-size:18px}
  .release-grid span{font-size:8px}
  .release-grid p{margin-bottom:9px}
  .release-grid article>div>.button,.release-grid .home-release-actions .button{min-height:38px}

  .site-footer{grid-template-columns:58px minmax(0,1fr);column-gap:14px;row-gap:16px;padding:34px 20px 22px;align-items:center}
  .site-footer img{width:56px;height:56px}
  .site-footer>p{max-width:240px;font-size:14px;line-height:1.3}
  .site-footer nav{grid-column:1/-1;gap:0 18px;margin-top:3px}
  .site-footer nav a{min-height:34px;font-size:9px}
  .site-footer small{margin-top:1px;padding-top:13px}

  .press-release h3{font-size:19px}
  .press-release p,.press-release li{font-size:13px}
  .video-modal-close{background:var(--pink);color:#080808;border-color:var(--pink)}
}


/* ===== Layout alignment pass (2026-10-05) ===== */
/* Shared horizontal rhythm */
.site-header,
.section,
.page-hero,
.archive-section,
.madonna-feature,
.album-teaser,
.live-teaser,
.newsletter,
.contact-cta,
.site-footer,
.about-hero,
.contact-page,
.label-release,
.label-page-hero,
.label-intro.section,
.hero-copy{
  padding-left:var(--page-inline);
  padding-right:var(--page-inline);
}

.madonna-feature{
  padding-top:clamp(64px,6vw,110px);
  padding-bottom:clamp(64px,6vw,110px);
  gap:clamp(40px,6vw,100px);
}

.artist-feature>div{
  padding:clamp(64px,6vw,110px) var(--page-inline);
}

.newsletter,
.contact-cta,
.label-intro{
  padding-top:clamp(64px,6vw,110px);
  padding-bottom:clamp(64px,6vw,110px);
}

.intro.section,
.section{
  padding-top:clamp(64px,6vw,110px);
  padding-bottom:clamp(64px,6vw,110px);
}

.site-footer{
  padding-left:var(--page-inline);
  padding-right:var(--page-inline);
}

.site-footer small{color:#8a8a8a}

/* Text-only heroes: drop empty viewport bands */
.page-hero,
.label-page-hero,
.live-page-hero,
.movement-hero{
  min-height:auto;
  padding-top:120px;
  padding-bottom:clamp(48px,5vw,80px);
}
.about-hero{
  min-height:auto;
  padding-top:120px;
  padding-bottom:clamp(48px,5vw,90px);
}
.contact-page{
  padding-top:120px;
}

/* Watch chip: bottom-left sitewide */
.video-poster span,
.story-card .video-poster span{
  left:18px;
  right:auto;
  bottom:18px;
}

/* Madonna video is 16:9 source */
.madonna-video{
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
}
.madonna-video .video-poster img,
.madonna-video iframe{
  width:100%;
  height:100%;
  object-fit:cover;
}
.madonna-feature .eyebrow{
  margin:0 0 30px;
  color:var(--pink-dark);
  font-size:10px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}

/* About editorial: left-align to gutter, keep reading measure */
.editorial{
  max-width:1050px;
  margin:0;
  margin-right:auto;
}

/* About photo caption */
.about-portrait figcaption{
  margin-top:12px;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Portrait row: 5 across on desktop */
.portrait-row{
  grid-template-columns:repeat(5,minmax(0,1fr));
  max-width:none;
  width:100%;
  margin:0;
  gap:22px;
}

/* Cirque stays 3 on desktop */
.cirque-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* Home release single-action layout */
.home-release-actions--single{
  grid-template-columns:1fr;
}
.release-grid .home-release-actions .button{
  font-size:11px;
  min-height:44px;
}

/* Newsletter default left alignment on small screens handled below;
   desktop stays centered as designed */
.newsletter{text-align:center}
.newsletter .button{margin-left:auto;margin-right:auto}

/* ---- Card subgrid: align rows without empty stretch gaps ---- */
.story-grid,
.duo-grid,
.stage-grid,
.stage-archive-grid,
.archive-grid,
.portrait-row,
.cay-grid{
  align-items:start;
}

.story-card,
.video-story,
.archive-card,
.portrait-story{
  display:grid;
  grid-template-rows:auto;
  align-content:start;
  align-items:start;
  height:auto;
  min-height:0;
}

.story-card .story-details,
.video-story > details,
.archive-card > details,
.mobile-card-details{
  margin-top:8px;
  width:100%;
}

/* Desktop subgrid for paired / multi-column card grids */
@supports (grid-template-rows:subgrid){
  .story-grid > .story-card{
    grid-template-rows:subgrid;
    grid-row:span 7;
    row-gap:0;
  }
  .story-grid > .story-card > .story-thumb,
  .story-grid > .story-card > .media{grid-row:1}
  .story-grid > .story-card > span{grid-row:2}
  .story-grid > .story-card > h3{grid-row:3}
  .story-grid > .story-card > p:not(.compact-credit):not(.credit-line){grid-row:4}
  .story-grid > .story-card > .compact-credit{grid-row:5}
  .story-grid > .story-card > .credit-line{grid-row:6}
  .story-grid > .story-card > .story-details,
  .story-grid > .story-card > .story-link{grid-row:7}

  .duo-grid > .video-story,
  .stage-grid > .video-story,
  .stage-archive-grid > .video-story,
  .stage-archive-grid > .archive-card{
    grid-template-rows:subgrid;
    grid-row:span 6;
    row-gap:0;
  }
  .duo-grid > .video-story > .media,
  .stage-grid > .video-story > .media,
  .stage-archive-grid > .video-story > .media,
  .stage-archive-grid > .archive-card > .media{grid-row:1}
  .duo-grid > .video-story > .label,
  .stage-grid > .video-story > .label,
  .stage-archive-grid > .video-story > .label,
  .stage-archive-grid > .archive-card > .label{grid-row:2}
  .duo-grid > .video-story > h3,
  .stage-grid > .video-story > h3,
  .stage-archive-grid > .video-story > h3,
  .stage-archive-grid > .archive-card > h3{grid-row:3}
  .duo-grid > .video-story > .credit-facts,
  .stage-grid > .video-story > .credit-facts,
  .stage-archive-grid > .video-story > .credit-facts,
  .stage-archive-grid > .archive-card > .credit-facts{grid-row:4}
  .duo-grid > .video-story > .credit-line,
  .stage-grid > .video-story > .credit-line,
  .stage-archive-grid > .video-story > .credit-line,
  .stage-archive-grid > .archive-card > .credit-line{grid-row:5}
  .duo-grid > .video-story > details,
  .stage-grid > .video-story > details,
  .stage-archive-grid > .video-story > details,
  .stage-archive-grid > .archive-card > details{grid-row:6}

  #personal .archive-grid > .archive-card,
  #cay .archive-grid > .archive-card,
  .cay-grid > .archive-card{
    grid-template-rows:subgrid;
    grid-row:span 5;
    row-gap:0;
  }
  #personal .archive-grid > .archive-card > .media,
  #cay .archive-grid > .archive-card > .media,
  .cay-grid > .archive-card > .media{grid-row:1}
  #personal .archive-grid > .archive-card > h3,
  #cay .archive-grid > .archive-card > h3,
  .cay-grid > .archive-card > h3{grid-row:2}
  #personal .archive-grid > .archive-card > .credit-facts,
  #cay .archive-grid > .archive-card > .credit-facts,
  .cay-grid > .archive-card > .credit-facts{grid-row:3}
  #personal .archive-grid > .archive-card > .credit-line,
  #personal .archive-grid > .archive-card > a,
  #cay .archive-grid > .archive-card > .credit-line,
  #cay .archive-grid > .archive-card > a,
  .cay-grid > .archive-card > .credit-line,
  .cay-grid > .archive-card > a{grid-row:4}
  #personal .archive-grid > .archive-card > details,
  #personal .archive-grid > .archive-card > .mobile-card-details,
  #cay .archive-grid > .archive-card > details,
  #cay .archive-grid > .archive-card > .mobile-card-details,
  .cay-grid > .archive-card > details,
  .cay-grid > .archive-card > .mobile-card-details{grid-row:5}

  #international .archive-grid > .archive-card,
  .cirque-grid > .archive-card,
  .portrait-row > .portrait-story{
    grid-template-rows:subgrid;
    grid-row:span 4;
    row-gap:0;
  }
  #international .archive-grid > .archive-card > .media,
  .cirque-grid > .archive-card > .media,
  .portrait-row > .portrait-story > .media{grid-row:1}
  #international .archive-grid > .archive-card > h3,
  .cirque-grid > .archive-card > h3,
  .portrait-row > .portrait-story > h3{grid-row:2}
  #international .archive-grid > .archive-card > p,
  .cirque-grid > .archive-card > p,
  .portrait-row > .portrait-story > p{grid-row:3}
  #international .archive-grid > .archive-card > .credit-line,
  #international .archive-grid > .archive-card > a,
  .cirque-grid > .archive-card > .credit-line,
  .cirque-grid > .archive-card > a,
  .portrait-row > .portrait-story > a{grid-row:4}
}

/* Kill artificial min-heights / stretch that create empty card guts */
.story-card > span,
.story-card h3,
.story-card .compact-credit,
.video-story .label,
.video-story h3,
.video-story > .credit-facts,
.stage-archive-grid .archive-card > .credit-facts,
.release-grid h3,
.release-grid span,
.release-grid p,
.archive-card h3,
.portrait-story h3{
  min-height:0 !important;
}

@media(max-width:1120px){
  .portrait-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1000px){
  .madonna-feature{
    padding-left:var(--page-inline);
    padding-right:var(--page-inline);
  }
  .portrait-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portrait-row > .portrait-story:last-child:nth-child(odd){
    grid-column:auto;
    max-width:none;
  }
  .cirque-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cirque-grid > .archive-card:last-child:nth-child(odd){
    grid-column:auto;
    max-width:none;
  }
}

@media(max-width:820px){
  .site-header{padding-left:var(--page-inline);padding-right:var(--page-inline)}
  .site-header nav{padding-left:var(--page-inline);padding-right:var(--page-inline)}
}

/* Phone: single source of truth for spacing / rhythm */
@media(max-width:680px){
  :root{
    --gutter:20px;
    --page-inline:20px;
  }

  .site-header,
  .section,
  .page-hero,
  .archive-section,
  .madonna-feature,
  .album-teaser,
  .live-teaser,
  .newsletter,
  .contact-cta,
  .site-footer,
  .about-hero,
  .contact-page,
  .label-release,
  .label-page-hero,
  .artist-feature>div,
  .hero-copy,
  .split-copy{
    padding-left:var(--page-inline);
    padding-right:var(--page-inline);
  }

  .section,
  .archive-section{
    padding-top:64px;
    padding-bottom:64px;
  }
  .madonna-feature,
  .newsletter,
  .contact-cta,
  .album-teaser,
  .live-teaser,
  .label-intro{
    padding-top:64px;
    padding-bottom:64px;
  }

  /* Home hero: no empty 100svh band */
  .hero{
    height:auto;
    min-height:0;
  }
  .hero-copy{
    height:auto;
    justify-content:center;
    align-items:flex-start;
    padding-top:110px;
    padding-bottom:56px;
  }
  .hero-copy > picture > img{
    width:min(260px,72vw);
    height:auto;
    max-height:none;
  }
  .hero-copy > p{
    max-width:320px;
    margin-top:16px;
    font-size:16px;
  }
  .scroll-cue{right:20px;bottom:18px}

  /* Text heroes / live hero */
  .page-hero,
  .live-page-hero,
  .movement-hero,
  .label-page-hero,
  .about-hero{
    min-height:0;
    height:auto;
    padding-top:112px;
    padding-bottom:48px;
  }

  /* Newsletter left-aligned like contact-cta */
  .newsletter{
    text-align:left;
  }
  .newsletter h2{
    margin-left:0;
    margin-right:0;
  }
  .newsletter .button,
  .newsletter-button{
    margin-left:0;
    margin-right:0;
  }
  .contact-cta{
    text-align:left;
  }

  /* Grids: 2-up with tidy orphan handling */
  .story-grid,
  .duo-grid,
  .stage-grid,
  .stage-archive-grid,
  .portrait-row,
  .release-grid,
  .archive-grid,
  .archive-grid.landscapes,
  .cay-grid,
  .live-format-grid.four,
  .cirque-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
    gap:34px 14px;
    align-items:start;
  }

  .portrait-row > .portrait-story:last-child:nth-child(odd),
  .cirque-grid > .archive-card:last-child:nth-child(odd),
  #personal .archive-grid > .archive-card:last-child:nth-child(odd){
    grid-column:auto;
    max-width:none;
  }

  /* Phone tap targets */
  .release-grid article > div > .button,
  .release-grid .home-release-actions .button{
    min-height:44px;
    padding:12px 10px;
    font-size:11px;
    letter-spacing:.12em;
  }
  .text-link,
  .credit-line a,
  .archive-card > a,
  .portrait-story > a,
  .story-link,
  .cirque-intro a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:10px 0;
    box-sizing:border-box;
  }
  .video-poster span{
    left:10px;
    right:auto;
    bottom:10px;
  }

  /* Subgrid on phone 2-up rows */
  @supports (grid-template-rows:subgrid){
    .story-grid > .story-card{
      grid-template-rows:subgrid;
      grid-row:span 7;
    }
    .duo-grid > .video-story,
    .stage-grid > .video-story,
    .stage-archive-grid > .video-story,
    .stage-archive-grid > .archive-card{
      grid-template-rows:subgrid;
      grid-row:span 6;
    }
    #personal .archive-grid > .archive-card,
    #cay .archive-grid > .archive-card,
    .cay-grid > .archive-card{
      grid-template-rows:subgrid;
      grid-row:span 5;
    }
    #international .archive-grid > .archive-card,
    .cirque-grid > .archive-card,
    .portrait-row > .portrait-story{
      grid-template-rows:subgrid;
      grid-row:span 4;
    }
  }

  .story-card,
  .video-story,
  .archive-card,
  .portrait-story{
    display:grid;
    align-content:start;
  }

  .story-details,
  .stage-archive-grid .archive-card > details,
  .mobile-card-details,
  .archive-card > details,
  .video-story > details{
    margin-top:8px;
  }

  .site-footer{
    padding-left:var(--page-inline);
    padding-right:var(--page-inline);
  }
}

@media(min-width:681px) and (max-width:899px){
  .site-footer{
    padding-left:var(--page-inline);
    padding-right:var(--page-inline);
  }
}


/* ===== Phone typography floor (top-site standards) ===== */
@media(max-width:680px){
  /* Absolute floor: nothing below 11px */
  body{font-size:16px;line-height:1.5}

  /* Eyebrows / kickers / small-caps labels: 11-12px */
  .eyebrow,
  .madonna-feature .eyebrow,
  .label,
  .story-card > span,
  .location,
  .live-format-grid span,
  .live-teaser-visual span,
  .video-poster span,
  .scroll-cue,
  .feature-info .location,
  .stage-section .label,
  .cay-section .label{
    font-size:12px !important;
    letter-spacing:.14em;
    line-height:1.4;
  }

  /* Brand + nav + menu.
     The phone name is 13px, so weight 600 paints lighter than the 14px desktop name.
     The Google stylesheet only registers 400, 500 and 600, and WebKit will not
     go past the heaviest registered face. This face is that same variable file
     at 700, and it applies on phone only. */
  @font-face{
    font-family:"DM Sans";
    font-style:normal;
    font-weight:700;
    font-display:swap;
    src:url("https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2") format("woff2");
  }
  .brand{font-size:13px;font-weight:700;letter-spacing:.14em}
  .menu-button{font-size:13px;letter-spacing:.14em}
  .site-header nav a{
    font-size:14px !important;
    letter-spacing:.12em;
    min-height:44px;
  }

  /* Buttons + text links: 13-14px */
  .button,
  .button.small,
  .release-actions .button,
  .release-actions .secondary-action,
  .release-grid article > div > .button,
  .release-grid .home-release-actions .button,
  .text-link,
  .story-link,
  .newsletter-button,
  .contact-form button,
  summary{
    font-size:13px !important;
    letter-spacing:.12em;
    line-height:1.35;
  }
  summary{font-size:12px !important;letter-spacing:.12em}

  /* Body / description copy: >=16px, lh ~1.5 */
  .prose,
  .prose p,
  .prose p:first-child,
  .prose p:last-child,
  .section-head > p,
  .intro .prose,
  .page-hero > p:not(.eyebrow),
  .page-hero.photo > div > p:not(.eyebrow),
  .about-hero-copy > p:not(.eyebrow),
  .live-teaser > div > p:not(.eyebrow),
  .contact-cta > p:not(.eyebrow),
  .contact-page > div > p:not(.eyebrow),
  .editorial p,
  .editorial p.lead,
  .madonna-copy > p:not(.eyebrow,.madonna-kicker,.credit-line),
  .artist-feature > div > p:not(.eyebrow),
  .album-teaser > div > p:not(.eyebrow),
  .feature-info > p:not(.location),
  .video-story > p:not(.label),
  .story-card > p:not(.compact-credit):not(.credit-line),
  .label-intro p,
  .release-lead,
  .release-copy p,
  .press-release p,
  .press-release li,
  .live-format-grid p,
  .hero-copy > p,
  details p,
  .story-details p,
  .mobile-card-details p{
    font-size:16px !important;
    line-height:1.5 !important;
  }
  .editorial p.lead{font-size:18px !important;line-height:1.45 !important}
  .compact-credit{
    font-size:14px !important;
    line-height:1.45 !important;
  }

  /* Card meta + credits: >=14px */
  .credit-facts,
  .credit-facts span,
  .credit-facts strong,
  .archive-card > p,
  .portrait-story p,
  .cirque-grid .archive-card > p,
  .release-grid span,
  .release-grid p,
  .credential,
  .feature-info dl,
  .feature-info dt,
  .feature-info dd{
    font-size:14px !important;
    line-height:1.45 !important;
  }
  .credit-line,
  .credit-line a,
  .archive-card > a,
  .portrait-story > a,
  .cirque-intro a,
  .cirque-intro p,
  details a,
  .madonna-copy .credit-line,
  .madonna-copy .credit-line a{
    font-size:14px !important;
    line-height:1.45 !important;
  }

  /* Headings: sensible phone scale, avoid awkward micro sizes */
  .intro h1,
  .section-head h2,
  .page-hero h1,
  .about-hero-copy h1,
  .contact-page h1,
  .contact-cta h2,
  .newsletter h2,
  .live-teaser h2,
  .label-intro h2,
  .label-release h2,
  .artist-feature h2,
  .album-teaser h2{
    font-size:clamp(34px,11vw,44px) !important;
    line-height:.92 !important;
  }
  .madonna-kicker{font-size:clamp(22px,6vw,28px) !important;line-height:1.1 !important}
  .madonna-copy blockquote{font-size:clamp(36px,10vw,48px) !important;line-height:.92 !important}
  .story-card h3,
  .video-story h3,
  .archive-card h3,
  .portrait-story h3,
  .feature-info h3,
  .live-format-grid h3,
  .cirque-grid .archive-card h3{
    font-size:clamp(18px,4.8vw,22px) !important;
    line-height:1.15 !important;
  }
  .release-grid h3{font-size:clamp(20px,5.5vw,24px) !important;line-height:1.1 !important}
  .press-release h3{font-size:18px !important;line-height:1.25 !important}

  /* Footer */
  .site-footer > p{font-size:15px !important;line-height:1.4 !important}
  .site-footer nav a{font-size:12px !important;letter-spacing:.12em;min-height:44px}
  .site-footer small{font-size:12px !important;letter-spacing:.12em;line-height:1.5;color:#8a8a8a}

  /* Forms: 16px inputs prevent iOS zoom */
  .contact-form label,
  .contact-form label.full{
    font-size:12px !important;
    letter-spacing:.12em;
    line-height:1.4;
  }
  .contact-form input,
  .contact-form textarea,
  .contact-form select{
    font-size:16px !important;
    min-height:48px;
    line-height:1.4;
  }
  .form-status{font-size:14px !important}

  /* About caption */
  .about-portrait figcaption{
    font-size:12px !important;
    letter-spacing:.12em;
    line-height:1.4;
  }

  /* Attribution / misc small text */
  .attribution,
  .credit-line,
  .artist-feature small{
    font-size:12px !important;
  }
  .artist-feature small{letter-spacing:.12em}
}

/* Tighten phone card spacing */

@media(max-width:680px){
  .story-card h3,
  .video-story h3,
  .archive-card h3,
  .portrait-story h3{margin:10px 0 6px !important}
  .story-card > span,
  .video-story .label,
  .archive-card .label{margin:10px 0 0 !important}
  .credit-facts{margin:10px 0 0 !important}
  .compact-credit{margin:10px 0 0 !important}
  .credit-line{margin:12px 0 0 !important}
  .story-card > p:not(.compact-credit):not(.credit-line){margin:0 0 6px !important}
  .archive-card > p,
  .portrait-story p,
  .video-story > p:not(.label){margin:0 0 6px !important}
  .story-details,
  .archive-card > details,
  .video-story > details,
  .mobile-card-details{margin-top:12px !important}
  .archive-card > a,
  .portrait-story > a{margin-top:12px !important}
}

/* compact-credit card spacing fix */
.compact-credit{margin:8px 0 6px !important}
@media(max-width:680px){
  .compact-credit{margin:6px 0 4px !important}
}

/* ===== CoS UX review pass (2026-10-05) ===== */
/* Fixed header: keep in-page anchors readable under the bar */
#intro,
.archive-section[id],
.page-hero[id],
.section[id]{
  scroll-margin-top:96px;
}

/* Desktop readability floor for the tiniest chrome (keep brand micro-caps look) */
.video-poster span{
  font-size:11px;
}
.site-footer nav{
  font-size:11px;
}
.site-footer small{
  font-size:11px;
  letter-spacing:.14em;
  color:#8a8a8a;
}
.artist-feature small{
  font-size:11px;
}

/* Story cards: tighten label-to-title gap (was 38px / ~44px empty) */
.story-card h3{
  margin:14px 0 10px;
}

/* Focus contrast on dark-on-pink CTAs */
.contact-cta .button:focus-visible,
.button.light:focus-visible{
  outline-color:#080808;
}

/* Phone: brand + scroll cue meet the 44px tap floor */
@media(max-width:680px){
  .brand{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  .scroll-cue{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:10px 4px;
    box-sizing:border-box;
  }
  /* Dense credit lists inside open accordions: slightly easier to tap without forcing 44px rows */
  details a{
    display:inline;
    padding:2px 0;
    line-height:1.75;
  }
  .feature-info dd a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}

/* ===== UX Round 1 (2026-10-06) ===== */
html{scrollbar-gutter:stable}
.sr-only-focusable:focus,.sr-only-focusable:focus-visible{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;z-index:200;display:inline-flex;align-items:center;padding:12px 16px;background:var(--pink);color:#080808;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}

/* B1: poster stays until play; no modal blur */
.video-poster{transition:opacity .25s ease}
.media.is-loading .video-poster{cursor:progress}
.media.is-loading .video-poster span::after{content:"";display:inline-block;width:8px;height:8px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dtnspin .7s linear infinite;vertical-align:-1px}
@keyframes dtnspin{to{transform:rotate(360deg)}}
.media.playing .video-poster{display:block;opacity:0;pointer-events:none}
.video-modal{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(0,0,0,.94)}
.video-modal-frame .video-poster{position:absolute;inset:0;z-index:2}
.video-modal-frame .video-poster img{width:100%;height:100%;object-fit:cover}

/* B2: overflow / long handles */
.story-card,.video-story,.archive-card,.portrait-story{grid-template-columns:minmax(0,1fr)}
.portrait-story>a,.archive-card>a,.credit-line a,.feature-info dd,.feature-info dd a{overflow-wrap:anywhere;min-width:0}
@media(max-width:1000px){.feature-video{grid-template-columns:minmax(0,1fr)}}

/* B3: native hero video */
.hero-video{object-fit:cover;width:100%;height:100%;border:0;pointer-events:none;transform:scale(1.02)}
@media(max-width:680px){.hero-video{width:100%;left:0;transform:scale(1.02)}}

/* M1: single spacing token */
:root{--sy:clamp(56px,5.5vw,88px)}
@media(max-width:680px){:root{--sy:44px}}
.section,.archive-section,.madonna-feature,.album-teaser,.live-teaser,.newsletter,.contact-cta,.label-intro,.contact-page{padding-top:var(--sy);padding-bottom:var(--sy)}
.label-release{padding-top:var(--sy);padding-bottom:var(--sy)}
.page-hero,.about-hero,.label-page-hero,.live-page-hero,.movement-hero{padding-bottom:var(--sy)}
.editorial>:last-child,.prose>:last-child,.feature-info>:last-child{margin-bottom:0}
.stories+.showcase,.live-teaser+.newsletter,.about-hero+.section,.live-plan+.live-collaboration,.movement-hero+.archive-section{padding-top:0}
.live-collaboration,.contact-page{padding-bottom:var(--sy)}

/* M2: two column splits only */
.intro-grid,.contact-cta{grid-template-columns:1.45fr .55fr;column-gap:8vw}
.madonna-feature,.live-teaser,.about-hero,.contact-page,.label-page-hero{grid-template-columns:minmax(0,520px) minmax(0,1fr);column-gap:clamp(40px,8vw,130px)}
.movement-hero>p:not(.eyebrow){margin-left:calc(520px + clamp(40px,8vw,130px));margin-right:0;max-width:min(640px,100%);}
@media(max-width:1000px){
  .intro-grid,.contact-cta,.madonna-feature,.live-teaser,.about-hero,.contact-page,.label-page-hero{grid-template-columns:1fr;column-gap:0}
  .movement-hero>p:not(.eyebrow){margin-left:0}
}

/* M4: madonna full width on phone; release row align; orphans stay half-width */
@media(max-width:680px){
  .madonna-video{width:100%;justify-self:stretch;max-width:none}
  .release-grid span{display:block;min-height:2.7em}
  .portrait-row > .portrait-story:last-child:nth-child(odd),
  .cirque-grid > .archive-card:last-child:nth-child(odd),
  #personal .archive-grid > .archive-card:last-child:nth-child(odd){
    grid-column:auto;
    max-width:none;
  }
}

/* M5: live format grid phone */
@media(max-width:680px){
  .live-format-grid,.live-format-grid.four{background:transparent;gap:14px}
  .live-format-grid article{border:1px solid var(--line);height:100%}
}

/* M6: live format h3 top-anchored */
.live-format-grid h3{margin:72px 0 14px}

/* M8: madonna padding uses page-inline (also covered by M2 half split) */
.madonna-feature{padding-left:var(--page-inline);padding-right:var(--page-inline)}

/* M9: small type floor */
.site-header nav a{font-size:12px;opacity:.82;padding:12px 0}
.eyebrow,.story-card>span,.label,.location,.release-grid span{font-size:11px}
.archive-card>p,.portrait-story p,.story-card p,.credit-facts,.credit-line{font-size:14px}
@media(max-width:680px){
  .story-card p,.archive-card>p,.credit-facts,.credit-line,details p{font-size:15px;line-height:1.5}
  .eyebrow,summary{font-size:12px}
}

/* M10: contrast on light sections */
.competition .eyebrow,.artist-feature .eyebrow,.artist-feature .button,.releases .eyebrow,.releases .text-link{color:#8e224a;border-color:#8e224a}
.contact-cta .eyebrow{opacity:.85}

/* M12: contact focus */
.contact-form :is(input,textarea,select):focus-visible{border-bottom-color:var(--pink);box-shadow:0 1px 0 var(--pink);outline:none}

/* N1: release buttons full width of card */
.release-grid .home-release-actions{grid-column:1/-1;grid-row:auto;width:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.home-release-actions--single{grid-template-columns:1fr}

/* N2: scroll cue inside gutter */
.scroll-cue{right:var(--page-inline)}
@media(max-width:680px){
  .hero-copy{padding-bottom:76px}
  .scroll-cue{bottom:14px}
}

/* N3: cay grid left-aligned */
.cay-grid{justify-content:start}

/* N4: newsletter left on desktop */
@media(min-width:681px){
  .newsletter{text-align:left}
  .newsletter h2{margin:0}
  .newsletter .button,.newsletter-button{margin-left:0;margin-right:0}
}

/* N6: thinner phone header */
@media(max-width:680px){
  .site-header{padding-top:10px;padding-bottom:10px}
  #intro,.archive-section[id],.page-hero[id],.section[id]{scroll-margin-top:calc(65px + 16px)}
}

/* N8: denser credit link line-height on phone */
@media(max-width:680px){details p{line-height:1.95}}

/* N9: remove dead Bunny thumbnail hero bg */
.hero{background:#000}

/* P4: artist-feature small as caption */
.artist-feature small{margin-top:28px;font-size:11px;color:#6b6468;letter-spacing:.12em;text-transform:uppercase}

/* UX R2 hotfix: BL1, MA5, MA1 */
img{height:auto}
.release-grid .home-release-actions{align-self:stretch;width:100%;max-width:none}
@media(max-width:680px){.label-page-hero .label-hero-logo{margin-left:0;margin-right:auto;justify-self:start}}

/* ===== UX R2 pass (2026-10-06, v34) ===== */
/* MA5 follow-up: single Pre-save spans the card */
.release-grid .home-release-actions--single{grid-template-columns:1fr}
/* R2b polish: release button rows align across a row */
.release-grid{align-items:stretch}
.release-grid article>div{display:flex;flex:1 1 auto;flex-direction:column}
.release-grid .home-release-actions{margin-top:auto}
/* MA1 / BL1 follow-up: contained logo drawn flush left in its box */
.label-page-hero .label-hero-logo{object-position:left center}
/* MI5: picture wrapper must not change layout */
.logo-picture{display:contents}
.logo-picture>source{display:none}

/* MA3: intro and artist-feature use the spacing token */
.intro.section{padding-top:var(--sy);padding-bottom:var(--sy)}
.artist-feature>div{padding-top:var(--sy);padding-bottom:var(--sy)}
/* MA4: remaining same-tone gaps */
.live-page-hero+.live-plan{padding-top:0}
.about-hero+.section .editorial>:first-child,.about-hero+.section>:first-child{margin-top:0}
@media(max-width:680px){.movement-hero+#international{padding-top:0}}
.label-intro-grid>*>:last-child{margin-bottom:0}

/* MI1: poster focus ring inside the clipped media box */
.video-poster:focus-visible{outline-offset:-4px}
/* MI2: About portrait starts on the split */
@media(min-width:681px){.about-portrait{justify-self:start}}
/* MI3: skip link floats, main takes focus quietly */
.sr-only-focusable:focus,.sr-only-focusable:focus-visible{position:fixed;top:8px;left:8px}
#main:focus,#main:focus-visible{outline:none}
/* MI4: summary 12px on desktop too */
summary{font-size:12px}

/* Card meta and credits (Andrew): tight rows, 2-column facts on desktop, stacked on phone */
.credit-facts{display:grid !important;grid-template-columns:minmax(5.35em,max-content) minmax(0,1fr);column-gap:10px;row-gap:3px !important;margin:10px 0 0 !important;min-height:0 !important;line-height:1.4 !important;text-wrap:pretty;font-size:14px !important}
.credit-facts>span{display:contents;line-height:1.4 !important}
.credit-facts strong{display:block;grid-column:1;min-width:0 !important;line-height:1.4 !important}
.compact-credit{display:grid !important;grid-template-columns:max-content minmax(0,1fr);column-gap:8px;margin:10px 0 0 !important;min-height:0 !important;line-height:1.4 !important;text-wrap:pretty}
.credit-facts,.compact-credit{overflow-wrap:break-word;hyphens:manual;-webkit-hyphens:manual}
:is(.story-card,.video-story,.archive-card,.portrait-story) .credit-line{display:flex !important;flex-wrap:wrap;align-items:flex-start;gap:6px 14px;margin:12px 0 0 !important;line-height:1.4 !important}
:is(.story-card,.video-story,.archive-card,.portrait-story) .credit-line a{display:inline-block !important;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:1.4 !important;overflow-wrap:anywhere;text-wrap:pretty}
:is(.story-card,.video-story,.archive-card,.portrait-story) details{margin-top:12px !important}
:is(.story-card,.video-story,.archive-card,.portrait-story) h3{text-wrap:balance}
:is(.story-card,.video-story,.archive-card,.portrait-story)>p:not(.label,.credit-line,.compact-credit){line-height:1.45 !important;text-wrap:pretty}
:is(.story-card,.video-story,.archive-card,.portrait-story) details p{line-height:1.45 !important;text-wrap:pretty}
:is(.story-card,.video-story,.archive-card,.portrait-story) details a{line-height:inherit !important;padding:0 !important}
.feature-info dt,.feature-info dd{line-height:1.4}
@media(max-width:680px){
  /* Phone: stack fact label above value so values are not squeezed into 3 lines */
  .credit-facts{grid-template-columns:1fr !important;column-gap:0 !important;row-gap:0 !important;font-size:14px !important}
  .credit-facts>span{display:grid !important;grid-template-columns:1fr;row-gap:1px;margin:0 0 8px !important;line-height:1.4 !important}
  .credit-facts>span:last-child{margin-bottom:0 !important}
  .credit-facts strong{grid-column:auto !important;font-size:14px !important}
  .compact-credit{grid-template-columns:1fr !important;column-gap:0 !important;row-gap:1px !important;font-size:14px !important}
  .compact-credit strong{display:block !important;margin:0 !important}
  .credit-facts,.compact-credit{hyphens:none !important;-webkit-hyphens:none !important}
  :is(.story-card,.video-story,.archive-card,.portrait-story) .credit-line{gap:6px 10px;margin:12px 0 0 !important}
  :is(.story-card,.video-story,.archive-card,.portrait-story) .credit-line a{padding:0 !important;margin:0 !important}
  :is(.story-card,.video-story,.archive-card,.portrait-story) details{margin-top:12px !important}
}
/* Font swap without layout shift: metric-matched local fallbacks for DM Sans (display=swap kept).
   Lowercase text and uppercase display text need different width matches, so two families. */
@font-face{font-family:"DM Sans Fallback";src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Liberation Sans"),local("Arimo");font-weight:100 500;size-adjust:105.3%;ascent-override:94.21%;descent-override:29.44%;line-gap-override:0%}
@font-face{font-family:"DM Sans Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Liberation Sans Bold"),local("Arimo Bold");font-weight:600 1000;size-adjust:100.8%;ascent-override:98.41%;descent-override:30.75%;line-gap-override:0%}
@font-face{font-family:"DM Sans Caps Fallback";src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Liberation Sans"),local("Arimo");font-weight:100 500;size-adjust:93.8%;ascent-override:105.76%;descent-override:33.05%;line-gap-override:0%}
@font-face{font-family:"DM Sans Caps Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Liberation Sans Bold"),local("Arimo Bold");font-weight:600 1000;size-adjust:94.5%;ascent-override:104.97%;descent-override:32.8%;line-gap-override:0%}
/* MI-5: Roboto metric-adjusted fallbacks (Android) alongside Arial; display=swap kept */
@font-face{font-family:"DM Sans Fallback";src:local("Roboto"),local("Roboto Regular"),local("Roboto-Regular");font-weight:100 500;size-adjust:104.5%;ascent-override:94.7%;descent-override:29.7%;line-gap-override:0%}
@font-face{font-family:"DM Sans Fallback";src:local("Roboto Medium"),local("Roboto-Medium"),local("Roboto Bold"),local("Roboto-Bold");font-weight:600 1000;size-adjust:107.3%;ascent-override:92.3%;descent-override:28.9%;line-gap-override:0%}
@font-face{font-family:"DM Sans Caps Fallback";src:local("Roboto"),local("Roboto Regular"),local("Roboto-Regular");font-weight:100 500;size-adjust:100.6%;ascent-override:98.4%;descent-override:30.8%;line-gap-override:0%}
@font-face{font-family:"DM Sans Caps Fallback";src:local("Roboto Medium"),local("Roboto-Medium"),local("Roboto Bold"),local("Roboto-Bold");font-weight:600 1000;size-adjust:102%;ascent-override:97.1%;descent-override:30.4%;line-gap-override:0%}
body{font-family:"DM Sans","DM Sans Fallback",Arial,sans-serif}
h1,h2,.eyebrow,.label,.story-card>span,.video-poster span,summary,.button,.text-link,.brand,.menu-button,.site-header nav a,.site-footer nav a,.scroll-cue,.madonna-kicker,.feature-info .credential,.feature-info .location,.live-teaser-visual span,.about-portrait figcaption,.site-footer small,.artist-feature small,.contact-form button,.contact-form label{font-family:"DM Sans","DM Sans Caps Fallback",Arial,sans-serif}
/* ===== end UX R2 pass ===== */

/* Modal speed: modal prepared on pointerdown and shown on click; hidden Bunny warm-up frame */
.video-modal.is-pending{opacity:0;pointer-events:none}
.bunny-warm{position:fixed;left:0;top:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none}

/* ===== UX R2e pass ===== */

/* Card rhythm: 12px description→facts; credits carry their own top/bottom pad */
.compact-credit,
.credit-facts{
  margin-top:12px !important;
  margin-bottom:0 !important;
  align-self:stretch; /* flex-safe: never shrink+end (that indented Music ~40px) */
}
:is(.story-card,.video-story,.archive-card) .credit-line{
  margin-top:0 !important;
  padding-top:12px !important;
  padding-bottom:12px !important; /* min gap to accordion/rule */
  align-self:stretch;
}
:is(.story-card,.video-story,.archive-card) .credit-line a{
  padding:0 !important;
  margin:0 !important;
  min-height:0 !important;
}
.portrait-story > a,
.archive-card > a:not([class]){
  margin-top:0 !important;
  padding-top:12px !important;
  padding-bottom:0 !important;
  display:inline-block !important;
  min-height:0 !important;
  align-self:stretch;
}
:is(.story-card,.video-story,.archive-card) details{
  margin-top:0 !important;
  padding-top:0 !important; /* gap comes from credit-line padding-bottom */
}
@media(min-width:681px){
  :is(.story-card,.video-story,.archive-card) .credit-line{padding-top:11px !important;padding-bottom:12px !important}
  .portrait-story > a,
  .archive-card > a:not([class]){padding-top:11px !important}
}

/* Subgrid only: pin facts to the end of their row so short/tall pairs share the same
   facts→credits gap. Never use align-self:end in flex card layouts. */
@supports (grid-template-rows:subgrid){
  .stage-grid > .video-story > .credit-facts,
  .duo-grid > .video-story > .credit-facts,
  .stage-archive-grid > .video-story > .credit-facts,
  .stage-archive-grid > .archive-card > .credit-facts,
  #personal .archive-grid > .archive-card > .credit-facts,
  #cay .archive-grid > .archive-card > .credit-facts,
  .cay-grid > .archive-card > .credit-facts{
    align-self:end;
  }
}

/* Phone Stories: keep flex for tight desc→music rhythm, but force full-width media */
@media(max-width:680px){
  @supports (grid-template-rows:subgrid){
    .story-grid > .story-card{
      grid-template-rows:none;
      grid-row:auto;
      display:flex;
      flex-direction:column;
      align-items:stretch;
    }
    .story-grid > .story-card > *{grid-row:auto;align-self:stretch;width:100%;max-width:100%;box-sizing:border-box}
  }
  .story-grid > .story-card > .story-thumb,
  .story-grid > .story-card > .media{
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    align-self:stretch !important;
    min-width:0;
  }
  .story-grid > .story-card > .story-thumb .video-poster,
  .story-grid > .story-card > .media .video-poster{
    width:100%;
    height:100%;
  }
  .story-card > p:not(.compact-credit):not(.credit-line){margin:0 0 12px !important}
  .story-card .compact-credit{
    margin:0 !important;
    padding:0 !important;
    align-self:stretch !important;
    width:100% !important;
  }
  .story-card .credit-line{
    padding-top:12px !important;
    padding-bottom:12px !important;
    margin:0 !important;
    align-self:stretch !important;
    width:100% !important;
  }
  .credit-facts{
    align-self:stretch;
    margin-top:12px !important;
    width:100%;
  }
  /* Stage pairs still subgrid: end-align facts only there */
  .stage-grid > .video-story > .credit-facts,
  .stage-archive-grid > .archive-card > .credit-facts{
    align-self:end;
  }
  .video-story > .credit-facts,
  .stage-archive-grid .archive-card > .credit-facts,
  #personal .archive-grid > .archive-card > .credit-facts,
  #cay .archive-grid > .archive-card > .credit-facts,
  .cay-grid > .archive-card > .credit-facts{min-height:0 !important}

  :is(.story-card,.video-story,.archive-card) .credit-line{padding-top:14px !important;padding-bottom:12px !important}
}

/* (removed r2e phone 3-up — superseded by R3-3 2-up) */

/* Madonna: keep flat join (no shadow bleed) */
.madonna-feature,.madonna-video,.madonna-video .video-poster{
  box-shadow:none !important;
  filter:none !important;
}

/* Desktop story rhythm */
@media(min-width:681px){
  .story-card h3{margin:22px 0 10px}
  .story-card > p:not(.compact-credit):not(.credit-line){margin:0 !important}
  .story-card .compact-credit{margin-top:12px !important;align-self:stretch}
}

/* Prevent · from starting a line in cirque metas */
.cirque-grid .archive-card > p .meta-sep{white-space:nowrap}

/* ===== end UX R2e pass ===== */

/* ===== UX R3 applied (v42) ===== */

/* R3-1: every card stacks; no shared subgrid holes */
@supports (grid-template-rows:subgrid){
  :is(.story-grid,.duo-grid,.stage-grid,.stage-archive-grid,.archive-grid,.cirque-grid,.portrait-row,.cay-grid) > :is(.story-card,.video-story,.archive-card,.portrait-story){
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    grid-template-rows:none !important;
    grid-row:auto !important;
    /* no height:auto — let grid stretch equalize pair row heights for accordion baseline */
  }
  :is(.story-grid,.duo-grid,.stage-grid,.stage-archive-grid,.archive-grid,.cirque-grid,.portrait-row,.cay-grid) > :is(.story-card,.video-story,.archive-card,.portrait-story) > *{
    grid-row:auto !important;
    align-self:stretch !important;
  }
}

/* MA-1 accordion mode: default TIGHT (12px credit→rule). Aligned (stretch + margin-top:auto)
   only where measured max sibling slack ≤24px — otherwise a large hole appears (Pallet @1440). */
:is(.story-card,.video-story,.archive-card) > .credit-line{
  padding-bottom:12px !important;
}
:is(.story-card,.video-story,.archive-card) > details,
:is(.story-card,.video-story,.archive-card) > .story-details,
:is(.story-card,.video-story,.archive-card) > .mobile-card-details{
  margin-top:0 !important; /* tight: rule follows credits */
  padding-top:0 !important;
}

/* ALIGNED: home-stage @390 only (slack 7.8; @360 is 24.6 → tight) */
@media(min-width:361px) and (max-width:400px){
  .stage-grid{align-items:stretch !important}
  .stage-grid > .video-story > details{margin-top:auto !important}
}

/* ALIGNED: mov-stage @≥1281 only (slack 0 @1440; tight from 1000 down) */
@media(min-width:1281px){
  #competition .archive-grid,
  #competition .stage-archive-grid{align-items:stretch !important}
  #competition .archive-card > details,
  #competition .video-story > details{margin-top:auto !important}
}

/* ALIGNED: home-stories all multi-col (measured slack ≤0.4 at 1440/1000/820/390/360) */
.story-grid{align-items:stretch !important}
.story-grid > .story-card > details,
.story-grid > .story-card > .story-details{margin-top:auto !important}

/* R3-2: one set of card gaps (8 / 8 / 12) */
:is(.story-card,.video-story,.archive-card,.portrait-story) > :is(span,.label) + h3{margin-top:8px !important}
:is(.story-card,.video-story,.archive-card,.portrait-story) > h3{margin-bottom:0 !important}
:is(.story-card,.video-story,.archive-card,.portrait-story) > h3 + p:not(.credit-line):not(.compact-credit){margin-top:8px !important}
:is(.story-card,.video-story,.archive-card,.portrait-story) > h3 + :is(.credit-facts,.compact-credit){margin-top:12px !important}
@media(min-width:681px){
  .story-grid > .story-card > span + h3{margin-top:14px !important}
  .video-story > .label + h3{margin-top:0 !important}
}

/* MA-2 Cay (merged cay-fix): label under poster, 13/8/13/11 rhythm */
#cay .cay-grid > .archive-card > .media,
#duzll .cay-grid > .archive-card > .media{margin:0 !important}
#cay .cay-grid > .archive-card > .label,
#duzll .cay-grid > .archive-card > .label{margin:12px 0 0 !important;min-height:0 !important}
#cay .cay-grid > .archive-card > h3,
#duzll .cay-grid > .archive-card > h3{margin:8px 0 0 !important;min-height:0 !important}
#cay .cay-grid > .archive-card > .credit-facts,
#duzll .cay-grid > .archive-card > .credit-facts{margin:13px 0 0 !important;min-height:0 !important}
#cay .cay-grid > .archive-card > .credit-line,
#duzll .cay-grid > .archive-card > .credit-line{margin:11px 0 0 !important;padding-top:0 !important;padding-bottom:12px !important}
@media(max-width:680px){
  #cay .cay-grid > .archive-card > .label,
  #duzll .cay-grid > .archive-card > .label{margin:12px 0 0 !important}
  #cay .cay-grid > .archive-card > h3,
  #duzll .cay-grid > .archive-card > h3{margin:8px 0 0 !important}
  #cay .cay-grid > .archive-card > .credit-facts,
  #duzll .cay-grid > .archive-card > .credit-facts{margin:12px 0 0 !important}
  #cay .cay-grid > .archive-card > .credit-line,
  #duzll .cay-grid > .archive-card > .credit-line{margin:11px 0 0 !important;padding-bottom:12px !important}
}

/* Credit rows: 5px row-gap via flex gap; align-content start; no font-size:0 */
:is(.story-card,.video-story,.archive-card,.portrait-story) .credit-line{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  align-content:flex-start !important;
  gap:5px 14px !important;
  row-gap:5px !important;
  column-gap:14px !important;
}
:is(.story-card,.video-story,.archive-card,.portrait-story) .credit-line a{
  display:inline-block !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}
@media(max-width:680px){
  :is(.story-card,.video-story,.archive-card,.portrait-story) .credit-line{
    gap:5px 10px !important;
    row-gap:5px !important;
    column-gap:10px !important;
  }
}

/* R3-3 / MA-3: phone trios → 2-up readable type */
@media(max-width:680px){
  .cirque-grid,
  .portrait-row,
  #personal .archive-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px 14px !important;
    max-width:none !important;
    width:100% !important;
  }
  .cirque-grid .archive-card h3,
  .portrait-story h3,
  #personal .archive-card h3{font-size:17px !important;line-height:1.15 !important}
  .cirque-grid .archive-card > p,
  .portrait-story p,
  #personal .archive-card > p,
  #personal .archive-card .credit-facts{font-size:14px !important;line-height:1.45 !important}
  .portrait-story > a,
  #personal .archive-card > a,
  #personal .archive-card .credit-line a{font-size:13px !important}

  /* Lone last card: centred at half width (every 2-col phone grid) */
  .portrait-row > .portrait-story:last-child:nth-child(odd),
  .cirque-grid > .archive-card:last-child:nth-child(odd),
  #personal .archive-grid > .archive-card:last-child:nth-child(odd),
  .stage-grid > .video-story:last-child:nth-child(odd),
  .stage-archive-grid > .archive-card:last-child:nth-child(odd),
  .stage-archive-grid > .video-story:last-child:nth-child(odd),
  .duo-grid > .video-story:last-child:nth-child(odd),
  .story-grid > .story-card:last-child:nth-child(odd),
  .archive-grid.landscapes > .archive-card:last-child:nth-child(odd),
  .cay-grid > .archive-card:last-child:nth-child(odd){
    grid-column:1 / span 1 !important;
    width:calc((100% - 14px) / 2) !important;
    max-width:calc((100% - 14px) / 2) !important;
    justify-self:center !important;
  }
}

/* MI-1: cirque meta wrap (CSS-only) */
.cirque-grid .archive-card > p{text-wrap:balance}

/* MI-2: feature facts stack on phone */
@media(max-width:680px){
  .feature-info dl div{grid-template-columns:1fr !important;row-gap:2px}
}

/* MI-3: same-tone gap International → Seen on stage */
#international + #competition{padding-top:0}
@media(max-width:680px){
  #international.archive-section{padding-bottom:var(--sy)}
}

/* MI-4: unify phone credit text size */
@media(max-width:680px){
  :is(.story-card,.video-story,.archive-card) .credit-line{font-size:14px !important;line-height:1.4 !important}
}

/* Polish: release h3 offset on phone */
@media(max-width:680px){
  .release-grid span{min-height:2.9em}
}

/* Polish: Madonna middot never hangs alone at line end */
.madonna-copy .credit-line .meta-sep{white-space:nowrap}

/* Footer logo via picture */
.site-footer picture{display:block;line-height:0}
.site-footer picture img{width:118px;height:118px;object-fit:contain}
@media(max-width:680px){.site-footer picture img{width:86px;height:86px}}
/* ===== end UX R3 ===== */

/* R4 UX: MJ-2 left-align lone cards + QW-1 stage credits phone */
@media(max-width:680px){
  .portrait-row > .portrait-story:last-child:nth-child(odd),
  .cirque-grid > .archive-card:last-child:nth-child(odd),
  #personal .archive-grid > .archive-card:last-child:nth-child(odd),
  .stage-grid > .video-story:last-child:nth-child(odd),
  .stage-archive-grid > .archive-card:last-child:nth-child(odd),
  .stage-archive-grid > .video-story:last-child:nth-child(odd),
  .duo-grid > .video-story:last-child:nth-child(odd),
  .story-grid > .story-card:last-child:nth-child(odd),
  .archive-grid.landscapes > .archive-card:last-child:nth-child(odd),
  .cay-grid > .archive-card:last-child:nth-child(odd){
    grid-column:1 !important;
    justify-self:start !important;
    width:100% !important;
    max-width:none !important;
  }
  .video-story > p.credit-line{font-size:14px !important;line-height:1.4 !important}
}


/* ===== R4 STEP3: CoS fixes + UX phone grids (v44) ===== */

/* CoS1: contact clears fixed header like other page heroes */
.contact-page{padding-top:120px !important}
@media(max-width:680px){
  .contact-page{padding-top:118px !important}
}
/* CoS1b: keep contact form inside viewport at mid widths (M2 520px column) */
.contact-page > *,
.contact-form,
.contact-form input,
.contact-form select,
.contact-form textarea{min-width:0}
@media(max-width:1100px){
  .contact-page{grid-template-columns:1fr !important;column-gap:0 !important}
}


/* CoS4: restore even section gaps (undo adjacent padding-top:0 collapse) */
.live-teaser + .newsletter,
.live-page-hero + .live-plan,
.live-plan + .live-collaboration{
  padding-top:var(--sy) !important;
}

/* CoS5: Madonna quote/video gutter — keep copy from crowding the poster */
.madonna-feature{column-gap:clamp(64px,8vw,130px) !important}
.madonna-copy{min-width:0;padding-right:clamp(8px,1.5vw,20px)}
.madonna-copy blockquote{max-width:100%}

/* CoS6: Una Vez feature — vertically centre the video column */
.feature-video{align-items:center}
@media(max-width:1000px){
  .feature-video{align-items:stretch}
}

/* CoS7: stories section-head — top-align description to the heading (not the eyebrow) */
.stories .section-head{align-items:start}
.stories .section-head > p{
  margin-top:calc(10px * 1.4 + 30px); /* eyebrow line-height + eyebrow margin-bottom */
}
.stories .section-head .text-link{align-self:start;margin-top:calc(10px * 1.4 + 30px)}

/* CoS8: stage card titles — consistent first-line box so meta rows share a baseline */
.stage-grid > .video-story > h3,
.stage-archive-grid > .archive-card > h3,
.stage-archive-grid > .video-story > h3{
  line-height:1.15 !important;
  min-height:calc(1.15em * 2);
}

/* Desktop: 5th stage card stays col 1, sibling width (natural grid; reinforce) */
@media(min-width:681px){
  .stage-grid > .video-story:last-child:nth-child(odd){
    grid-column:1 !important;
    justify-self:start !important;
    width:100% !important;
    max-width:none !important;
  }
}

/* UX phone (max-width:680): landscape video grids → 1-col full width */
@media(max-width:680px){
  .story-grid,
  .stage-grid,
  .stage-archive-grid,
  .archive-grid.landscapes,
  .live-format-grid{
    grid-template-columns:1fr !important;
  }
  /* full-width cards; drop half-width orphan behaviour for these 1-up grids */
  .story-grid > .story-card:last-child:nth-child(odd),
  .stage-grid > .video-story:last-child:nth-child(odd),
  .stage-archive-grid > .archive-card:last-child:nth-child(odd),
  .stage-archive-grid > .video-story:last-child:nth-child(odd),
  .archive-grid.landscapes > .archive-card:last-child:nth-child(odd){
    grid-column:1 / span 1 !important;
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
  }
  /* portrait grids stay 2-up; keep left orphan for odd last */
  .portrait-row,
  .cirque-grid,
  #personal .archive-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .portrait-row > .portrait-story:last-child:nth-child(odd),
  .cirque-grid > .archive-card:last-child:nth-child(odd),
  #personal .archive-grid > .archive-card:last-child:nth-child(odd){
    grid-column:1 !important;
    justify-self:start !important;
    width:100% !important;
    max-width:none !important;
  }
  /* Watch pill smaller; full poster remains tap target (button.video-poster is inset:0) */
  .video-poster span{
    min-height:30px !important;
    padding:0 12px !important;
    font-size:11px !important;
    left:10px !important;
    bottom:10px !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    display:inline-flex !important;
    align-items:center !important;
  }
  /* Handles: overflow-wrap only */
  .credit-line a,
  .portrait-story > a,
  .archive-card > a,
  .feature-info dd,
  .feature-info dd a{
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

/* Web r4: feature credits panel. Stack label over value where the panel is narrow (desktop 1440+ unchanged), no mid-word breaks, tight phone rows with 44px tap area kept */
.feature-info dd,.feature-info dd a{overflow-wrap:break-word !important;word-break:normal !important}
@media(min-width:1001px) and (max-width:1360px){
  .feature-info dl div{grid-template-columns:1fr !important;row-gap:2px}
}
@media(max-width:680px){
  .feature-info dd a{display:inline-block !important;min-height:0 !important;padding:12px 0 !important;margin:-12px 0 !important}
}
/* Web r4: Stories head offset only where the head is two columns (stacked phone/tablet gap restored) */
@media(max-width:1000px){
  .stories .section-head > p,.stories .section-head .text-link{margin-top:0 !important}
}
/* Web r4: phone release grid, first row titles on one line (album label wraps to two lines) */
@media(max-width:680px){
  .release-grid > article:nth-child(-n+2) > div > span{display:block !important;min-height:40.6px !important;min-height:2lh !important}
}
/* Web r4: label page phone, Listen and Buy on Bandcamp buttons same height, labels centred */
@media(max-width:680px){
  .release-actions{align-items:stretch !important}
  .release-actions > .button{display:inline-flex !important;align-items:center !important;justify-content:center !important;text-align:center !important}
}
/* Web r4: sections that change background need their own top padding (eyebrow was sitting on the boundary) */
.section.stories + .section.showcase{padding-top:var(--sy) !important}
#international + #competition{padding-top:var(--sy) !important}

/* Web r4: keep Japanese names whole when wrapping (breaks at spaces and commas instead) */
body{word-break:keep-all}

/* ===== Web r5 (CoS final check) ===== */
/* 1: Madonna quote always fits its column, so the video keeps the full gutter */
.madonna-copy blockquote{font-size:clamp(53px,6.4vw,86px) !important}

/* 2: Home Seen on stage, odd last card becomes a full-row horizontal card (video col 1, text col 2) */
@media(min-width:681px){
  .stage-grid > .video-story:last-child:nth-child(odd){
    grid-column:1 / span 1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:repeat(5,auto) 1fr !important;
    column-gap:30px !important;
    row-gap:0 !important;
    align-content:start !important;
  }
  .stage-grid > .video-story:last-child:nth-child(odd) > .media{grid-column:1 !important;grid-row:1 / -1 !important;align-self:start !important;margin:0 !important}
  .stage-grid > .video-story:last-child:nth-child(odd) > .label{grid-column:2 !important;grid-row:1 !important;margin-top:0 !important;min-height:0 !important}
  .stage-grid > .video-story:last-child:nth-child(odd) > h3{grid-column:2 !important;grid-row:2 !important;min-height:0 !important}
  .stage-grid > .video-story:last-child:nth-child(odd) > .credit-facts{grid-column:2 !important;grid-row:3 !important}
  .stage-grid > .video-story:last-child:nth-child(odd) > .credit-line{grid-column:2 !important;grid-row:4 !important}
  .stage-grid > .video-story:last-child:nth-child(odd) > details{grid-column:2 !important;grid-row:5 !important;margin-top:0 !important}
  /* one shared label column across all Home stage cards, wide enough for "Choreographer:" */
  .stage-grid .credit-facts{grid-template-columns:7.5em minmax(0,1fr) !important}
}

/* 3: Movement Cay Izumi and DuZll, head in column 1 and the portrait pair in columns 2-3 */
@media(min-width:1001px){
  #cay.cay-section,#duzll.cay-section{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;column-gap:30px !important;align-items:start !important}
  #cay > .section-head,#duzll > .section-head{grid-column:1 !important;display:block !important;margin:0 !important;padding-top:15px !important}
  #cay > .section-head > p,#duzll > .section-head > p{margin:24px 0 0 !important;max-width:none !important}
  #cay > .cay-grid,#duzll > .cay-grid{grid-column:2 / -1 !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;column-gap:30px !important;justify-content:stretch !important;margin:0 !important;max-width:none !important}
}
/* titles share one line box so Japanese glyphs don't push the credits down */
:is(#duzll,#cay,#personal,#cirque,#international) .archive-card > h3,.cay-grid > .archive-card > h3{line-height:1.15 !important}

/* 4: inner page tops, same breathing room under the nav on every page (desktop) */
@media(min-width:681px){
  .page-hero,.contact-page,.about-hero{padding-top:144px !important}
}

/* 5: Live phone, number sits close to the card title */
@media(max-width:680px){
  .live-format-grid article{min-height:0 !important}
  .live-format-grid h3{margin-top:8px !important}
}

/* 6: About phone, portrait full content width */
@media(max-width:680px){
  .about-portrait{width:100% !important;max-width:none !important;justify-self:stretch !important}
}

/* Web r5 + UX r5: Madonna quote and Who is Nomine text on the shared split (desktop) */
@media(min-width:1001px){
  .madonna-copy blockquote{font-size:min(6.4vw,76px) !important}
  .artist-feature{grid-template-columns:calc(520px + clamp(64px,8vw,130px)) minmax(0,1fr) !important}
  .artist-feature > div{min-width:0;padding-right:40px !important}
  .artist-feature h2{font-size:min(6.7vw,calc((100vw - 520px - clamp(64px,8vw,130px) - 6vw - 60px) / 6.9)) !important}
}

/* Web r5: ALIGNED accordions for the Duzll pair (measured slack 22-23px, within the 24px MA-1 limit) */
@media(min-width:681px){
  #duzll .cay-grid{align-items:stretch !important}
  #duzll .cay-grid > .archive-card > details{margin-top:auto !important}
}

/* ===== Web r5c (CoS 11:06) ===== */
/* 1. Credit labels never wrap; stage label column fits "Choreographer:" with room to spare */
.credit-facts strong{white-space:nowrap !important}
@media(min-width:681px){
  .stage-grid .credit-facts{grid-template-columns:8.75em minmax(0,1fr) !important}
}
/* 2. About (and Label) start at the same top as the other inner pages, no vertical centring */
@media(min-width:681px){
  .about-hero{align-items:start !important}
}
@media(min-width:1001px){
  .label-page-hero{align-items:start !important}
}
/* 3. Video boxes: dark poster-coloured placeholder instead of pure black */
.media,.media .video-poster,.video-modal-frame{background-color:#1d1b22 !important}
.media .video-poster img{background-color:#1d1b22}
@media(min-width:1001px){ .label-page-hero > *{align-self:start !important} }
@media(max-width:680px){ .contact-page{padding-top:112px !important} }
/* Web r5d: keep the fixed nav on its own layer so it can never lag or shift mid-scroll; only colours animate */
.site-header{transform:translateZ(0);will-change:transform;backface-visibility:hidden;transition:background-color .25s,border-color .25s,box-shadow .25s !important}

/* ===== UX r6 (v=51) =====
 */
/* MJ-1: Madonna quote fits the phone column (closing quote clipped at 360) */
@media(max-width:680px){
  .madonna-copy blockquote{font-size:min(53px,13vw) !important}
}
/* MI-1: Who is Nomine at 1001-1279: stack like the 1000px layout so the H2 keeps section scale */
@media(min-width:1001px) and (max-width:1279px){
  .artist-feature{grid-template-columns:1fr !important}
  .artist-feature > img{max-height:640px !important}
  .artist-feature > div{padding-left:var(--page-inline) !important;padding-right:var(--page-inline) !important}
  .artist-feature h2{font-size:min(7.6vw,77.824px) !important}
}
/* MI-2: Live phone number-to-title 12px; MI-3: Contact phone top equals other heroes */
@media(max-width:680px){
  .live-format-grid h3{margin-top:13px !important}

}
/* MI-4: Movement fact rows use the same 8.75em label column as Home stage (values at x133 site-wide) */
@media(min-width:681px){
  .archive-section .credit-facts{grid-template-columns:8.75em minmax(0,1fr) !important}
}

/* ===== Web r7 (Andrew desktop review, v=52) ===== */
/* 1. Una Vez: film sits at the top of its row, normal heading-to-media spacing */
.feature-video{align-items:start !important}
.feature-video > .media{align-self:start !important}

/* 3. Who is Nomine: small, uncropped portrait inside the cream panel, on the shared split */
.artist-feature{display:grid !important;align-items:center !important;padding:var(--sy) var(--page-inline) !important;background:#efebef !important}
.artist-feature > img{width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important;aspect-ratio:2/3;align-self:center !important;justify-self:start !important;border:1px solid rgba(8,8,8,.14)}
.artist-feature > div{padding:0 !important;min-width:0}
@media(min-width:1280px){
  .artist-feature{grid-template-columns:minmax(0,520px) minmax(0,1fr) !important;column-gap:clamp(64px,8vw,130px) !important}
  .artist-feature > img{width:min(360px,100%) !important}
}
@media(min-width:681px) and (max-width:1279px){
  .artist-feature{grid-template-columns:minmax(0,clamp(220px,28vw,340px)) minmax(0,1fr) !important;column-gap:clamp(40px,6vw,90px) !important}
  .artist-feature > img{max-height:none !important}
  .artist-feature > div{padding-left:0 !important;padding-right:0 !important}
  .artist-feature h2{font-size:min(5.6vw,77.824px) !important}
}
@media(max-width:680px){
  .artist-feature{grid-template-columns:1fr !important;row-gap:36px !important;padding:var(--sy) 20px !important}
  .artist-feature > img{width:min(260px,72%) !important}
}

/* 4. Odd last card in Movement's Seen on stage and Around the world: horizontal, film left, text right (as on Home) */
@media(min-width:681px){
  :is(#competition,#international) .archive-grid > .archive-card:last-child:nth-child(odd){grid-column:1 / span 1 !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:repeat(5,auto) 1fr !important;column-gap:30px !important;row-gap:0 !important;align-content:start !important;align-items:start !important}
  :is(#competition,#international) .archive-grid > .archive-card:last-child:nth-child(odd) > .media{grid-column:1 !important;grid-row:1 / -1 !important;align-self:start !important;margin:0 !important}
  :is(#competition,#international) .archive-grid > .archive-card:last-child:nth-child(odd) > :not(.media){grid-column:2 !important;grid-row:auto !important;min-height:0 !important}
  :is(#competition,#international) .archive-grid > .archive-card:last-child:nth-child(odd) > .label{margin-top:0 !important}
  :is(#competition,#international) .archive-grid > .archive-card:last-child:nth-child(odd) > details{margin-top:0 !important}
}
@media(min-width:1280px){
  .artist-feature h2{font-size:min(6.7vw,calc((100vw - 2 * var(--page-inline) - 520px - clamp(64px,8vw,130px)) / 7.1)) !important}
}
/* Web r7: What is Dance To Nomine, the heading stays under its label when the text column is taller (1001-1279) */
.intro-grid > h1{align-self:start !important}
/* ===== UX r7 desktop audit (folded into v=52) ===== */
.media img[src*="5149fa27"],.media [data-poster*="5149fa27"] img{object-position:50% 80% !important}
@media(min-width:1001px){
  .editorial{max-width:680px !important}
  .about-hero{grid-template-columns:minmax(0,520px) minmax(320px,560px) !important;justify-content:space-between !important;align-items:start !important;column-gap:clamp(48px,6vw,96px) !important}
  .about-portrait{max-width:520px !important;justify-self:end !important;width:100%}
  .editorial h2{margin-top:64px !important}
  .contact-cta{grid-template-columns:minmax(0,1fr) minmax(280px,420px) !important;column-gap:clamp(40px,5vw,72px) !important}
  .contact-cta h2{max-width:14ch !important}
  .label-release{align-items:start !important}
  .label-release details p,.release-copy p{max-width:620px !important}
  .live-format-grid > * > h3{min-height:2.3em !important}
  .live-teaser{align-items:start !important}
}
/* Web r8: Una Vez, film fills its cell when balanced (JS sets the split) */
/* Web r8: About bio on the page grid, chapter headings left, text right at a readable width */
@media(min-width:1001px){
  .editorial{max-width:none !important;display:grid !important;grid-template-columns:minmax(0,520px) minmax(0,1fr) !important;column-gap:clamp(64px,8vw,130px) !important;align-items:start}
  .editorial > *{grid-column:2 !important;max-width:680px !important}
  .editorial > h2{grid-column:1 !important;margin:64px 0 0 !important;max-width:none !important}
  .editorial > h2 + p{margin-top:64px !important}
  .editorial > p{margin-bottom:0 !important}
  .editorial > p + p{margin-top:18px !important}
  .editorial > .lead{margin-top:0 !important}
}
@media(min-width:1001px) and (max-width:1279px){
  .editorial{grid-template-columns:minmax(0,1fr) minmax(0,2fr) !important;column-gap:clamp(40px,5vw,64px) !important}
}
/* Web r8: Una Vez on desktop, full-width film with the details as a band underneath (no empty band, film never cropped) */
@media(min-width:1001px){
  .feature-video{grid-template-columns:1fr !important}
  .feature-video > .media{align-self:start !important}
  .feature-info{display:grid !important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) !important;column-gap:clamp(48px,6vw,96px) !important;align-content:start !important;align-items:start !important}
  .feature-info > *{grid-column:1 !important}
  .feature-info > dl{grid-column:2 !important;grid-row:1 / 5 !important;margin-top:0 !important}
  .feature-info > details{grid-column:2 !important;grid-row:5 !important}
}
@media(min-width:1001px){
  .feature-info > dl{grid-row:1 / 3 !important;align-self:start !important}
  .feature-info > details{grid-row:3 / 6 !important;align-self:start !important;margin-top:24px !important}
}
@media(min-width:1001px){.editorial > h2{grid-row-end:span 2 !important}}
/* UX r8 optional points */
@media(min-width:1001px) and (max-width:1279px){.artist-feature h2{font-size:min(7.6vw,77.824px) !important}}
@media(min-width:1001px){.label-release .release-lead{max-width:620px !important}}
/* Web r10: Una Vez details band, text flush with the film and band edges on desktop */
@media(min-width:1001px){.feature-video > .feature-info{padding-left:0 !important;padding-right:0 !important}}
/* Web r11: pop-up player takes the film's own shape and fits the screen (portrait films sized to the screen height) */
.video-modal-frame{aspect-ratio:var(--r,1.7778) !important;max-height:none !important;height:auto !important;width:min(92vw,1100px,calc((100svh - 140px) * var(--r,1.7778))) !important}
.video-modal-frame.is-portrait{width:min(92vw,calc((100svh - 140px) * var(--r,.5625))) !important}
@media(max-width:680px){
  .video-modal-frame,.video-modal-frame.is-portrait{width:min(100%,calc((100svh - 90px) * var(--r,1.7778))) !important}
}

/* Web r12: Tuur credit link (subtle, as other credit links) */
.feature-info .credential a{color:inherit !important;font:inherit !important;letter-spacing:inherit !important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Web r12: About story as one clean editorial column with eyebrow headings */
.about-hero + .section .editorial{display:block !important;max-width:590px !important;margin:0 !important}
.about-hero + .section .editorial > *{max-width:none !important;grid-column:auto !important;grid-row:auto !important}
.about-hero + .section .editorial > p{margin:0 !important}
.about-hero + .section .editorial > p + p{margin-top:18px !important}
.about-hero + .section .editorial > h2{margin:56px 0 16px !important;padding-top:28px !important;border-top:1px solid rgba(255,255,255,.14);color:var(--pink) !important;font-size:11px !important;font-weight:600 !important;letter-spacing:.22em !important;line-height:1.5 !important;text-transform:uppercase !important}
.about-hero + .section .editorial > h2 + p{margin-top:0 !important}
@media(min-width:1001px){
  .about-hero + .section .editorial{display:grid !important;max-width:none !important;grid-template-columns:minmax(0,520px) minmax(320px,560px) !important;justify-content:space-between !important;column-gap:clamp(48px,6vw,96px) !important;align-items:start !important}
  .about-hero + .section .editorial > *{grid-column:1 !important}
}
@media(max-width:680px){
  .about-hero + .section .editorial{max-width:none !important}
  .about-hero + .section .editorial > p + p{margin-top:16px !important}
  .about-hero + .section .editorial > h2{margin:40px 0 12px !important;padding-top:22px !important;font-size:12px !important;letter-spacing:.14em !important}
}
@media(min-width:1001px) and (max-width:1279px){
  .about-hero + .section .editorial{display:block !important;max-width:520px !important}
}
.feature-info .credential a{text-decoration-color:rgba(250,81,129,.55)}

/* Web r13: Movement hero intro directly under the title, flush left */
.movement-hero>p:not(.eyebrow){margin-left:0 !important;max-width:min(640px,100%) !important}
/* Web r13: Duo in Flow credits */
.cirque-credits{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;max-width:420px}
.cirque-credits .compact-credit{margin:10px 0 0 !important;font-size:12px;color:#50494d !important}
.cirque-credits .compact-credit strong{color:var(--pink-dark)}
.cirque-credits .compact-credit a,.story-card .compact-credit a{color:inherit;font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(250,81,129,.55);display:inline;min-height:0;margin:0}
.story-grid > .story-card > .credit-extra{grid-row:auto !important}
.story-card > .credit-extra{margin:10px 0 0 !important;font-size:inherit}
.credit-extra a,.cirque-credits .compact-credit a{white-space:nowrap}
.credit-extra,.cirque-credits .compact-credit{row-gap:6px}
.story-card > .credit-extra{margin-top:6px !important}
.story-card > .credit-extra{margin-top:0 !important}
@media(max-width:680px){.story-card > .credit-extra{margin-top:2px !important}}
@media(max-width:680px){.story-card > .credit-extra > span + strong,.cirque-credits > .compact-credit > span + strong{margin-top:8px !important}}

/* UX r9: Movement pink CTA heading fit (desktop only) */
@media(min-width:1001px){.archive-section ~ .contact-cta h2{max-width:none !important;font-size:min(7.6vw,118px,calc((100vw - 2 * var(--page-inline) - 420px - clamp(40px,5vw,72px)) / 7.2)) !important;text-wrap:balance}}

/* Web r14: phone two-up for landscape video grids and Releases (340-680px) */
@media(min-width:340px) and (max-width:680px){
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid){display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;column-gap:14px !important;row-gap:28px !important;align-items:start !important;grid-auto-flow:row !important}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article{grid-column:auto !important;grid-row:auto !important;display:flex !important;flex-direction:column !important;align-items:stretch !important;min-width:0 !important;width:auto !important;max-width:none !important;margin:0 !important;padding:0 !important;gap:0 !important}
  /* R10f: odd last stays half-width (was 1/-1 full span) */
html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.release-grid) > article:last-child:nth-child(odd){grid-column:1 / span 1 !important;justify-self:stretch !important;width:100% !important;max-width:none !important}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > .media{width:100% !important;max-width:none !important;height:auto !important;aspect-ratio:16/9 !important;margin:0 0 12px !important;grid-column:auto !important;grid-row:auto !important}
  html body .story-grid > article > .media{aspect-ratio:4/3 !important}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > :not(.media){grid-column:auto !important;grid-row:auto !important;max-width:none !important;width:auto !important}
  /* eyebrow / meta label */
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > :is(.label,span){margin:0 0 7px !important;font-size:11px !important;line-height:1.35 !important;letter-spacing:.06em !important;text-transform:uppercase !important;min-height:0}
  /* title */
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > h3{margin:0 !important;font-size:15px !important;line-height:1.25 !important;letter-spacing:-.01em !important;text-wrap:balance;overflow-wrap:anywhere;word-break:keep-all}
  /* body / meta text */
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > p:not(.label):not(.credit-line):not(.compact-credit){margin:10px 0 0 !important;font-size:13px !important;line-height:1.4 !important}
  /* credit facts, label stacked above value */
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > :is(.credit-facts,.compact-credit){display:flex !important;flex-direction:column !important;gap:6px !important;margin:10px 0 0 !important;font-size:13px !important;line-height:1.35 !important;word-break:keep-all;overflow-wrap:anywhere}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > :is(.credit-facts,.compact-credit) strong{display:block !important;min-width:0 !important;margin:0 !important}
  html body .story-grid > article > .compact-credit{display:grid !important;grid-template-columns:1fr !important;row-gap:0 !important}
  html body .story-grid > article > .compact-credit > span + strong{margin-top:6px !important}
  /* credit line and handles */
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > .credit-line{margin:14px 0 0 !important;font-size:13px !important;line-height:1.35 !important}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > .credit-line a{display:block !important;min-height:0 !important;padding:4px 0 !important;margin:0 !important;font-size:13px !important;line-height:1.35 !important;overflow-wrap:anywhere !important;word-break:normal !important}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > :is(.credit-extra,.compact-credit) a{font-size:13px !important;overflow-wrap:anywhere;white-space:normal}
  /* accordions */
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > details{margin:12px 0 0 !important;width:100% !important}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > details > summary{min-height:44px !important;display:flex !important;align-items:center !important;font-size:13px !important;letter-spacing:.06em !important;line-height:1.3 !important;gap:8px}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > details p{font-size:13px !important;line-height:1.45 !important;overflow-wrap:anywhere}
  /* icon-only play button on two-up posters */
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article:not(:last-child:nth-child(odd)) .video-poster span{left:8px !important;right:auto !important;bottom:8px !important;width:32px !important;height:32px !important;padding:0 !important;border-radius:50% !important;font-size:0 !important;letter-spacing:0 !important;display:block !important}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article:not(:last-child:nth-child(odd)) .video-poster span::before{content:"";position:absolute;left:12px;top:9px;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent #080808}
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article:not(:last-child:nth-child(odd)) .media.is-loading .video-poster span::before{display:none}
  /* Releases: square art, stacked full-width buttons pinned to the bottom */
  html body .release-grid{align-items:stretch !important}
  html body .release-grid > article{display:flex !important;flex-direction:column !important;min-width:0 !important}
  html body .release-grid > article > img{width:100% !important;aspect-ratio:1 !important;height:auto !important;object-fit:cover !important}
  html body .release-grid > article > div{display:flex !important;flex-direction:column !important;flex:1 1 auto !important;min-width:0 !important}
  html body .release-grid > article > div > span{font-size:11px !important;letter-spacing:.06em !important;line-height:1.35 !important}
  html body .release-grid > article > div > h3{font-size:15px !important;line-height:1.25 !important;text-wrap:balance}
  html body .release-grid > article > div > p{font-size:13px !important;line-height:1.35 !important}
  html body .release-grid .home-release-actions{display:flex !important;flex-direction:column !important;gap:8px !important;margin-top:auto !important;padding-top:14px !important;width:100% !important}
  html body .release-grid .home-release-actions .button{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;min-height:44px !important;padding:0 10px !important;font-size:13px !important;white-space:nowrap !important;overflow:visible !important;text-overflow:clip !important}
}
@media(min-width:340px) and (max-width:680px){
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > :is(.credit-facts,.compact-credit){gap:4px !important}
  html body .story-grid > article > .compact-credit > span + strong{margin-top:4px !important}
}

/* Web r16: phone two-up facts rows at 13/1.35 */
@media(min-width:340px) and (max-width:680px){
  html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article:not(:last-child:nth-child(odd)) > .credit-facts > span{font-size:13px !important;line-height:1.35 !important}
}


/* ===== R10 one-card standard + UX phone/desktop ===== */
.music-line{margin:0 0 8px;color:inherit;font-size:13px;line-height:1.45}
.music-line strong{font-weight:600}
.more-info{margin-top:4px}
.more-info > summary{
  list-style:none;cursor:pointer;color:var(--pink);
  font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 0;
}
.more-info > summary::-webkit-details-marker{display:none}
.more-info-body{margin-top:8px;font-size:13px;line-height:1.55}
.more-row{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:0 0 6px;align-items:baseline}
.more-row strong{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--pink-dark, var(--pink))}
.more-row span,.more-row a{font-size:13px;line-height:1.45;overflow-wrap:anywhere;word-break:normal}
.feature-card-meta{padding:28px 22px 22px}
.feature-card-meta .label{margin:0 0 8px}
.feature-card-meta h3{margin:0 0 10px}
.cay-shared-credits{margin:18px 0 28px;color:var(--muted);font-size:13px;line-height:1.55;max-width:820px}
.cay-shared-credits a{color:var(--pink)}

/* All thumbs 16:9; play control one position */
.story-card > .media,
.story-card > .story-thumb,
.video-story > .media,
.portrait-story > .media,
.archive-card > .media,
.feature-video > .media,
.una-feature > .media{
  aspect-ratio:16/9;
  margin-bottom:14px;
}
.story-thumb{aspect-ratio:16/9}

/* Play button: 40px round, 10px bottom-left everywhere (features included) */
.video-poster span,
.story-card .video-poster span,
.feature-video .video-poster span,
.una-feature .video-poster span,
.madonna-video .video-poster span{
  left:10px !important;
  right:auto !important;
  bottom:10px !important;
  box-sizing:border-box;
  top:auto !important;
  width:40px;
  height:40px;
  min-width:40px;
  padding:0 !important;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:0 !important;
  letter-spacing:0 !important;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
.video-poster span::before{
  content:"";
  width:0;height:0;
  border-style:solid;
  border-width:7px 0 7px 12px;
  border-color:transparent transparent transparent #080808;
  margin-left:2px;
}

/* Desktop release buttons: 2-col grid, 8px gap; equal widths; Pre-save single column */
.home-release-actions,
.release-actions{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
  max-width:none;
}
.home-release-actions .button,
.release-actions .button,
.release-actions .secondary-action{
  width:100% !important;
  max-width:none !important;
  min-width:0;
  justify-content:center;
  box-sizing:border-box;
}
.home-release-actions--single,
.release-actions:has(> :only-child){
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}
.home-release-actions--single > .button,
.release-actions:has(> :only-child) > .button{
  grid-column:1 / span 1 !important;
  width:100% !important;
  max-width:none !important;
}

/* Label catalogue phone: 2-col, 14px gap, 20px page padding; body 13px */
@media(max-width:680px){
  .label-catalogue{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:14px !important;
    row-gap:28px;
    padding:0 20px !important;
  }
  .label-catalogue > .label-release{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    gap:10px !important;
    padding:18px 0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    align-items:stretch !important;
    border-top:1px solid var(--line);
  }
  .label-catalogue > .label-release > img{
    max-width:none !important;
    width:100% !important;
  }
  .label-catalogue > .label-release > div{
    padding:0 !important;
  }
  .label-catalogue > .label-release h2{
    font-size:22px !important;
    line-height:1.05 !important;
    margin:4px 0 6px !important;
  }
  .label-catalogue > .label-release .eyebrow{
    font-size:8px !important;
  }
  .label-release .release-lead,
  .label-release .release-one-liner,
  .label-release .more-info-body,
  .label-release .more-row span,
  .label-release p{
    font-size:13px !important;
    line-height:1.5;
  }
  .release-actions{
    grid-template-columns:1fr;
    gap:8px;
  }
  .release-actions:has(> :only-child){
    grid-template-columns:1fr;
  }

  /* Home/Movement two-up everywhere */
  .story-grid,
  .stage-grid,
  .stage-archive-grid,
  .portrait-row,
  .release-grid,
  .archive-grid,
  .archive-grid.landscapes,
  .cay-grid,
  .cirque-grid,
  .live-format-grid,
  .live-format-grid.four{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px 14px !important;
    max-width:none !important;
    width:100%;
    padding-left:0;
    padding-right:0;
  }
  /* Odd last card half-width left */
  .story-grid > :last-child:nth-child(odd),
  .stage-grid > :last-child:nth-child(odd),
  .stage-archive-grid > :last-child:nth-child(odd),
  .portrait-row > :last-child:nth-child(odd),
  .archive-grid > :last-child:nth-child(odd),
  .release-grid > :last-child:nth-child(odd),
  .cirque-grid > :last-child:nth-child(odd),
  .cay-grid > :last-child:nth-child(odd){
    grid-column:1 / span 1;
    max-width:100%;
  }

  /* Card type on phone */
  .story-card h3,
  .video-story h3,
  .portrait-story h3,
  .archive-card h3,
  .feature-card-meta h3{font-size:18px;line-height:1.15;letter-spacing:-.03em;margin:8px 0 6px}
  .story-card > p,
  .video-story > p,
  .portrait-story > p,
  .archive-card > p,
  .music-line,
  .more-info-body,
  .more-row span{font-size:13px !important}
  .label,.story-card > span{font-size:8px}

  /* Home release buttons stacked full width on phone */
  .home-release-actions{
    grid-template-columns:1fr !important;
  }
  .home-release-actions--single{
    grid-template-columns:1fr !important;
  }

  /* Who is Nomine / artist-feature stacked */
  .artist-feature{
    grid-template-columns:1fr !important;
  }
  .artist-feature > img{max-height:70vw;height:auto}

  /* Footer one column */
  .site-footer{
    grid-template-columns:1fr !important;
  }
  .site-footer small{grid-column:1}

  /* Contact: WORK eyebrow already set in HTML; form full-width fields */
  .contact-form{grid-template-columns:1fr !important}
  .contact-form button.button,
  .contact-form button[type="submit"]{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:100%;
    margin-top:8px;
    padding:15px 18px;
    border:1px solid var(--pink);
    background:transparent;
    color:var(--pink);
    font-size:10px;
    font-weight:600;
    letter-spacing:.15em;
    text-transform:uppercase;
  }
  .contact-form button.button:hover,
  .contact-form button[type="submit"]:hover{
    background:var(--pink);
    color:#080808;
  }

  /* Handle wrapping without mid-word breaks */
  .more-info-body a,
  .credit-line a,
  .more-row span{overflow-wrap:anywhere;word-break:normal;hyphens:none}
}

/* Desktop home release alignment: Pre-save tops align with Listen */
@media(min-width:681px){
  .release-grid article > div{
    display:grid;
    grid-template-columns:1fr minmax(160px,42%);
    gap:8px 16px;
    align-items:start;
  }
  .release-grid .home-release-actions,
  .release-grid .home-release-actions--single{
    grid-column:2;
    grid-row:1 / span 4;
    align-self:start;
    margin-top:0;
  }
  .label-catalogue .release-actions{
    max-width:360px;
  }
}

/* Equaliser hooks for more-info / music-line rows */
.story-card,
.video-story,
.portrait-story,
.archive-card{
  display:flex;
  flex-direction:column;
}
.story-card > .more-info,
.video-story > .more-info,
.portrait-story > .more-info,
.archive-card > .more-info{margin-top:auto}


/* R10 play button hard lock: 40px circle, 10px bottom-left */
.video-poster span,
.story-card .video-poster span,
.feature-video .video-poster span,
.una-feature .video-poster span,
.madonna-video .video-poster span,
.media .video-poster span{
  position:absolute !important;
  left:10px !important;
  right:auto !important;
  bottom:10px !important;
  top:auto !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  max-width:40px !important;
  max-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;
  line-height:0 !important;
  letter-spacing:0 !important;
  box-sizing:border-box !important;
  overflow:hidden;
}

@media(max-width:680px){
  .label-catalogue .release-lead,
  .label-catalogue .release-one-liner,
  .label-catalogue .more-info-body,
  .label-catalogue .release-copy,
  .label-catalogue .label-release > div > p:not(.eyebrow){
    font-size:13px !important;
    line-height:1.5 !important;
  }
  .label-catalogue .label-release .eyebrow{
    font-size:8px !important;
  }
}

@media(min-width:681px){
  .release-grid{
    align-items:start;
  }
  .release-grid article > div{
    align-items:start !important;
  }
  .release-grid .home-release-actions,
  .release-grid .home-release-actions--single{
    align-self:start !important;
    margin-top:0 !important;
  }
}


/* R10: release action buttons equal height, top-aligned so Pre-save matches Listen */
.home-release-actions .button,
.home-release-actions--single .button,
.release-actions .button,
.release-actions .secondary-action{
  align-self:start !important;
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  box-sizing:border-box !important;
}
@media(max-width:680px){
  .home-release-actions .button,
  .home-release-actions--single .button,
  .release-actions .button,
  .release-actions .secondary-action{
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
  }
}


/* ===== R10b defect fixes (v67) ===== */

/* More info: text only "More info"; single + icon via ::after (rotates to x). 12-13px / 600 / 44px row */
.more-info > summary,
details.more-info > summary,
details > summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px;
  min-height:44px !important;
  padding:10px 0 !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--pink) !important;
  list-style:none;
  cursor:pointer;
}
.more-info > summary::-webkit-details-marker,
details.more-info > summary::-webkit-details-marker{display:none}
/* Ensure summary text never carries a trailing plus glyph from content */
.stories .more-info > summary,
.portrait-section .more-info > summary,
.archive-section .more-info > summary,
.label-catalogue .more-info > summary,
.feature-card-meta .more-info > summary{
  font-size:13px !important;
  font-weight:600 !important;
}

/* Music line: full-strength contrast (not muted grey) */
.music-line,
.music-line strong,
.story-card .music-line,
.video-story .music-line,
.portrait-story .music-line,
.archive-card .music-line,
.feature-card-meta .music-line{
  color:inherit !important;
  opacity:1 !important;
}

.portrait-section .music-line,
.portrait-section .music-line strong,
.archive-section .music-line,
.archive-section .music-line strong,
.feature-card-meta .music-line,
.feature-card-meta .music-line strong{
  color:var(--white, #f5f2f3) !important;
}
/* Dark sections inherit white; light story cards black — already set.
   On #f2eeee stories background use near-black. On dark panels use near-white. */


/* Odd last card in 2-up phone grids: HALF width column 1 — never full bleed (except Home Una feature) */
@media(max-width:680px){
  .story-grid > .story-card:last-child:nth-child(odd),
  .stage-grid > .video-story:last-child:nth-child(odd),
  .stage-archive-grid > .archive-card:last-child:nth-child(odd),
  .stage-archive-grid > .video-story:last-child:nth-child(odd),
  .portrait-row > .portrait-story:last-child:nth-child(odd),
  .cirque-grid > .archive-card:last-child:nth-child(odd),
  #personal .archive-grid > .archive-card:last-child:nth-child(odd),
  .archive-grid > .archive-card:last-child:nth-child(odd),
  .archive-grid.landscapes > .archive-card:last-child:nth-child(odd),
  .cay-grid > .archive-card:last-child:nth-child(odd),
  .duo-grid > .video-story:last-child:nth-child(odd),
  .release-grid > article:last-child:nth-child(odd),
  .label-catalogue > .label-release:last-child:nth-child(odd){
    grid-column:1 / span 1 !important;
    width:auto !important;
    max-width:none !important;
  }

  /* Label catalogue: card anatomy + full-width stacked buttons 44px nowrap */
  .label-catalogue{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:14px !important;
    row-gap:28px !important;
    padding:0 20px !important;
    align-items:start;
  }
  .label-catalogue > .label-release{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    padding:0 0 18px !important;
    height:100%;
  }
  .label-catalogue > .label-release > div{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto;
    gap:6px;
    min-width:0;
  }
  .label-catalogue .release-actions{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    gap:8px !important;
    width:100% !important;
    margin-top:4px;
  }
  .label-catalogue .release-actions .button,
  .label-catalogue .release-actions .secondary-action,
  .label-catalogue .release-actions a.button{
    width:100% !important;
    max-width:none !important;
    min-height:44px !important;
    height:44px !important;
    padding:0 10px !important;
    justify-content:center !important;
    white-space:nowrap !important;
    font-size:10px !important;
    letter-spacing:.12em;
    box-sizing:border-box !important;
  }
  .label-catalogue .more-info{
    margin-top:auto;
  }
  .label-catalogue .release-one-liner,
  .label-catalogue .release-lead{
    font-size:13px !important;
    line-height:1.45 !important;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  /* Home releases phone: stacked full-width buttons, Pre-save full width nowrap 44px */
  .release-grid .home-release-actions,
  .release-grid .home-release-actions--single{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    gap:8px !important;
    width:100% !important;
  }
  .release-grid .home-release-actions .button,
  .release-grid .home-release-actions--single .button{
    width:100% !important;
    max-width:none !important;
    min-height:44px !important;
    height:44px !important;
    white-space:nowrap !important;
    justify-content:center !important;
    font-size:10px !important;
    padding:0 10px !important;
  }

  /* Live 2-up */
  .live-format-grid,
  .live-format-grid.four{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  /* Footer one column */
  .site-footer{
    grid-template-columns:1fr !important;
  }
  .site-footer nav{
    grid-column:1 !important;
    display:flex !important;
    flex-direction:column !important;
  }

  /* Who is Nomine / artist-feature stacked */
  .artist-feature{
    grid-template-columns:1fr !important;
  }

  /* Nothing under 11px on phone except labels at 11px max for eyebrows; body/credits >=13 */
  .music-line,
  .more-info-body,
  .more-row span,
  .archive-card > p,
  .story-card > p,
  .release-one-liner,
  .label-release p:not(.eyebrow){
    font-size:13px !important;
  }
  .label,
  .eyebrow,
  .story-card > span{
    font-size:11px !important;
    letter-spacing:.14em;
  }
}

/* Desktop label: keep side-by-side but More info + actions consistent */
@media(min-width:681px){
  .label-catalogue .release-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    max-width:360px;
  }
  .label-catalogue .release-actions:has(> :only-child){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .label-catalogue .release-actions:has(> :only-child) > .button{
    grid-column:1;
  }
  .label-catalogue .release-actions .button,
  .label-catalogue .release-actions .secondary-action{
    width:100%;
    min-height:44px;
    height:44px;
    white-space:nowrap;
    justify-content:center;
  }
  .more-info > summary,
  details.more-info > summary{
    font-size:13px !important;
    font-weight:600 !important;
    min-height:44px !important;
  }
}

/* Submit a film CTA: pink band aligned like other pink CTAs */
.contact-cta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.contact-cta .button,
.contact-cta .button.light{
  margin-left:0;
  margin-top:28px;
  align-self:flex-start;
}
@media(min-width:1001px){
  .contact-cta .button,
  .contact-cta .button.light{
    align-self:flex-end;
    margin-left:auto;
  }
}


/* ===== R10c: final phone 2-up + half-width odd last (wins cascade) ===== */
@media(max-width:680px){
  .story-grid,
  .stage-grid,
  .stage-archive-grid,
  .archive-grid,
  .archive-grid.landscapes,
  .portrait-row,
  .cirque-grid,
  .cay-grid,
  .release-grid,
  .live-format-grid,
  .live-format-grid.four,
  .label-catalogue,
  #personal .archive-grid,
  #competition .archive-grid,
  #international .archive-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:14px !important;
    row-gap:28px !important;
  }
  .story-grid > :last-child:nth-child(odd),
  .stage-grid > :last-child:nth-child(odd),
  .stage-archive-grid > :last-child:nth-child(odd),
  .archive-grid > :last-child:nth-child(odd),
  .archive-grid.landscapes > :last-child:nth-child(odd),
  .portrait-row > :last-child:nth-child(odd),
  .cirque-grid > :last-child:nth-child(odd),
  .cay-grid > :last-child:nth-child(odd),
  .release-grid > :last-child:nth-child(odd),
  .label-catalogue > :last-child:nth-child(odd),
  #personal .archive-grid > :last-child:nth-child(odd),
  #competition .archive-grid > :last-child:nth-child(odd),
  #international .archive-grid > :last-child:nth-child(odd){
    grid-column:1 / span 1 !important;
    justify-self:start !important;
    width:auto !important;
    max-width:none !important;
  }
  /* Una Vez home feature stays full width */
  .una-feature,
  .feature-video.una-feature{
    grid-column:1 / -1 !important;
    width:100% !important;
  }
}


/* ===== R10d: phone type floor + intl odd width ===== */
@media(max-width:680px){
  details.more-info > summary,
  .more-info > summary{
    font-size:13px !important;
    font-weight:600 !important;
    min-height:44px !important;
    letter-spacing:.1em !important;
  }
  .more-row strong{
    font-size:11px !important;
  }
  .more-row span,
  .more-info-body,
  .more-info-body p,
  .music-line{
    font-size:13px !important;
  }
  /* Force odd-last cards to fill their grid track (not shrink) */
  .archive-grid.landscapes > :last-child:nth-child(odd),
  #international .archive-grid > :last-child:nth-child(odd){
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    justify-self:stretch !important;
    grid-column:1 / span 1 !important;
  }
}


/* R10e: More info summary 13px everywhere (beats html body 11px phone rule) */
html body details.more-info > summary,
html body :is(.story-grid,.stage-grid,.stage-archive-grid,.archive-grid,.archive-grid.landscapes,.portrait-row,.cirque-grid,.cay-grid,.label-catalogue,.feature-card-meta) details.more-info > summary,
html body :is(.story-grid,.stage-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid) > article > details > summary{
  font-size:13px !important;
  font-weight:600 !important;
  min-height:44px !important;
  letter-spacing:.1em !important;
  line-height:1.3 !important;
}


/* R10g: Music line = full-strength card title colour */
html body .music-line,
html body .music-line strong,
html body .story-card .music-line,
html body .story-card .music-line strong,
html body .video-story .music-line,
html body .archive-card .music-line,
html body .portrait-story .music-line,
html body .feature-card-meta .music-line{
  color:inherit !important;
  opacity:1 !important;
}
/* Match the card heading colour explicitly where inherit is washed by muted p rules */
html body .story-card > .music-line{color:currentColor !important}
html body .story-card{color:#f5f2f3}
html body .stories{color:#f5f2f3}
html body .stories .story-card > h3{color:#f5f2f3}
html body .stories .story-card > .music-line,
html body .stories .story-card > .music-line strong{color:#f5f2f3 !important}


/* R10h: label phone — equal one-liner block so Pre-save tops match Listen */
@media(max-width:680px){
  .label-catalogue > .label-release{
    align-items:stretch !important;
  }
  .label-catalogue > .label-release > div{
    display:grid !important;
    grid-template-rows:auto auto auto auto 1fr auto !important;
    height:100% !important;
  }
  .label-catalogue .release-one-liner{
    min-height:calc(13px * 1.45 * 3) !important;
    -webkit-line-clamp:3;
  }
  .label-catalogue .release-actions{
    grid-row:4 !important;
    align-self:start !important;
  }
  .label-catalogue .more-info{
    grid-row:6 !important;
    margin-top:0 !important;
  }
}
@media(min-width:681px){
  /* desktop also keep Pre-save / Listen tops aligned via equal action row */
  .label-catalogue .release-actions .button,
  .label-catalogue .release-actions .secondary-action{
    height:44px !important;
    min-height:44px !important;
  }
}


/* R10i: equalize label eyebrow height so action tops match across pairs */
@media(max-width:680px){
  .label-catalogue .label-release .eyebrow{
    min-height:calc(11px * 1.5 * 2) !important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .label-catalogue .label-release h2{
    min-height:calc(1.05em * 2) !important;
  }
}


/* R10j: zero margins inside label card meta; grid gap only */
@media(max-width:680px){
  .label-catalogue > .label-release > div{
    gap:0 !important;
    row-gap:8px !important;
  }
  .label-catalogue .label-release .eyebrow,
  .label-catalogue .label-release h2,
  .label-catalogue .label-release .release-one-liner,
  .label-catalogue .label-release .release-actions,
  .label-catalogue .label-release .more-info{
    margin:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  .label-catalogue .label-release h2{
    margin:0 !important;
    min-height:46px !important;
    max-height:46px !important;
    overflow:hidden;
    line-height:1.05 !important;
    font-size:22px !important;
  }
}


/* R10f: definitive phone odd-last half-width (Una Vez feature excluded) */
@media(max-width:680px){
  html body :is(.story-grid,.stage-grid,.stage-archive-grid,.archive-grid,.archive-grid.landscapes,.portrait-row,.cirque-grid,.cay-grid,.duo-grid,.release-grid,.label-catalogue,#competition .archive-grid,#international .archive-grid,#personal .archive-grid) > :last-child:nth-child(odd){
    grid-column:1 / span 1 !important;
    justify-self:stretch !important;
    width:100% !important;
    max-width:none !important;
  }
  html body .una-feature,
  html body .feature-video.una-feature{
    grid-column:1 / -1 !important;
    width:100% !important;
  }
}

/* UX r9/v69: phone type floor (labels 11px, not the 10px draft) */
@media(max-width:680px){
  html body .label-catalogue > .label-release .eyebrow{font-size:11px !important;line-height:1.35 !important;letter-spacing:.12em !important}
  html body .label-catalogue .release-actions .button,
  html body .label-catalogue .release-actions a.button{font-size:12px !important;letter-spacing:.12em !important;padding:10px 12px !important}
  html body .release-grid span{font-size:11px !important}
  html body .release-grid .home-release-actions .button{font-size:11px !important;letter-spacing:.12em !important}
  html body .story-card > span,
  html body .video-story .label,
  html body .archive-card .label,
  html body .label{font-size:11px !important;line-height:1.4 !important}
}

/* UX r9/v69: Home Releases closed heights equal */
@media(min-width:681px){
  html body .release-grid > article > div > span{min-height:2.7em !important}
  html body .release-grid > article > div > h3{min-height:2.5em !important}
  html body .release-grid > article > div > p{min-height:3em !important}
  html body .release-grid .home-release-actions,
  html body .release-grid .home-release-actions--single{margin-top:auto !important}
}
@media(max-width:680px){
  html body .release-grid > article > div > span{min-height:2.7em !important}
  html body .release-grid > article > div > h3{min-height:2.4em !important}
  html body .release-grid > article > div > p{min-height:3em !important}
}

/* ===== R11 (v=71) ===== */

/* 1: Play triangle optically centred in pink circle (phone + desktop) */
html body .video-poster span,
html body .story-card .video-poster span,
html body .feature-video .video-poster span,
html body .una-feature .video-poster span,
html body .madonna-video .video-poster span,
html body .media .video-poster span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:absolute !important;
  left:10px !important;
  right:auto !important;
  bottom:10px !important;
  top:auto !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  max-width:40px !important;
  max-height:40px !important;
  padding:0 !important;
  border-radius:50% !important;
  font-size:0 !important;
  line-height:0 !important;
  box-sizing:border-box !important;
}
html body .video-poster span::before{
  content:"" !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  display:block !important;
  width:0 !important;
  height:0 !important;
  border-style:solid !important;
  border-width:7px 0 7px 12px !important;
  border-color:transparent transparent transparent #080808 !important;
  margin:0 0 0 2px !important;
  transform:translateY(0.5px) !important; /* optical vertical centre */
}
html body .media.is-loading .video-poster span::before{display:none !important}

/* 2: Portrait sources keep portrait thumbs; landscape stay landscape.
   Never force portrait into 16/9. */
html body .media.landscape{
  aspect-ratio:16 / 9 !important;
}
html body .media.portrait{
  aspect-ratio:9 / 16 !important;
}
html body .media.portrait .video-poster img,
html body .media.portrait > img{
  object-fit:cover !important;
  object-position:center 20% !important;
}
/* Madonna stays its own ratio */
html body .madonna-video,
html body .madonna-video.media{
  aspect-ratio:4 / 5 !important;
}

/* 3: Odd last cards = normal grid cell size (no horizontal side-layout leftover) */
@media(min-width:681px){
  html body .stage-grid > .video-story:last-child:nth-child(odd),
  html body :is(#competition,#international) .archive-grid > .archive-card:last-child:nth-child(odd),
  html body .archive-grid.landscapes > .archive-card:last-child:nth-child(odd),
  html body .archive-grid.stage-archive-grid > .archive-card:last-child:nth-child(odd),
  html body .cirque-grid > .archive-card:last-child:nth-child(odd),
  html body .portrait-row > .portrait-story:last-child:nth-child(odd),
  html body #personal .archive-grid > .archive-card:last-child:nth-child(odd){
    grid-column:auto !important;
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
    column-gap:unset !important;
  }
  html body .stage-grid > .video-story:last-child:nth-child(odd) > .media,
  html body :is(#competition,#international) .archive-grid > .archive-card:last-child:nth-child(odd) > .media,
  html body .archive-grid.landscapes > .archive-card:last-child:nth-child(odd) > .media{
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
  }
  html body .stage-grid > .video-story:last-child:nth-child(odd) > :not(.media),
  html body :is(#competition,#international) .archive-grid > .archive-card:last-child:nth-child(odd) > :not(.media){
    grid-column:auto !important;
    grid-row:auto !important;
  }
}

/* Phone: odd last stays half-width (already R10f); ensure same card anatomy as siblings */
@media(max-width:680px){
  html body :is(.story-grid,.stage-grid,.stage-archive-grid,.archive-grid,.archive-grid.landscapes,.portrait-row,.cirque-grid,.cay-grid,.duo-grid,#competition .archive-grid,#international .archive-grid,#personal .archive-grid) > :last-child:nth-child(odd){
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
  }
}

/* 4: Una Vez Movement — centred full-width highlight, bigger video; Music readable on light pink */
html body .ensemble-section .una-feature.movement-una,
html body .ensemble-section .feature-video.movement-una{
  display:grid !important;
  grid-template-columns:1fr !important;
  max-width:1100px;
  margin:0 auto;
  width:100%;
  background:transparent;
  gap:0;
}
html body .ensemble-section .movement-una > .media{
  aspect-ratio:16 / 9 !important;
  width:100%;
  max-width:1100px;
  margin:0 auto 18px;
}
html body .ensemble-section .movement-una .feature-card-meta{
  max-width:720px;
  margin:0 auto;
  padding:8px 0 0;
  text-align:left;
}
/* Music on light ensemble band: dark/muted pink, never white */
html body .ensemble-section,
html body .ensemble-section .music-line,
html body .ensemble-section .music-line strong,
html body .ensemble-section .feature-card-meta .music-line,
html body .ensemble-section .feature-card-meta .music-line strong{
  color:#3a2a30 !important;
}
html body .ensemble-section .more-info > summary{
  color:var(--pink-dark) !important;
}
@media(max-width:680px){
  html body .ensemble-section .movement-una > .media{
    width:100% !important;
    max-width:none !important;
    /* larger video on phone */
    aspect-ratio:16 / 9 !important;
  }
  html body .ensemble-section .una-feature.movement-una,
  html body .ensemble-section .feature-video.movement-una{
    grid-column:1 / -1 !important;
    max-width:none;
  }
}

/* Home Una feature: Music readable on dark showcase */
html body .showcase .feature-card-meta .music-line,
html body .showcase .feature-card-meta .music-line strong,
html body .una-feature .feature-card-meta .music-line,
html body .una-feature .feature-card-meta .music-line strong{
  color:var(--white) !important;
}
/* But Movement ensemble overrides above for light bg */

/* 5: Duo strip — fill row (no empty black); portraits already via .portrait */
@media(min-width:681px){
  html body .cirque-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    justify-content:stretch !important;
    max-width:none !important;
    gap:22px !important;
  }
  html body .cirque-grid > .archive-card{
    width:100% !important;
    max-width:none !important;
  }
  /* Portrait thumbs: don't leave letterbox bars; media fills card width */
  html body .cirque-grid .media.portrait{
    width:100%;
    max-width:100%;
  }
}
@media(max-width:680px){
  /* 3 films: 2 + half; centre the odd last under the gap so void feels designed */
  html body .cirque-grid > :last-child:nth-child(odd){
    justify-self:stretch !important;
  }
}

/* 6: Cay Izumi — no empty black void; designed 2-up fill */
@media(min-width:681px){
  /* Kill the old 3-col head+pair layout that left black voids */
  html body #cay.cay-section{
    display:block !important;
    grid-template-columns:none !important;
  }
  html body #cay > .section-head{
    grid-column:auto !important;
    display:grid !important;
    margin-bottom:28px !important;
  }
  html body #cay > .cay-shared-credits{
    max-width:920px;
    margin:0 0 28px;
  }
  html body #cay > .cay-grid,
  html body .cay-grid{
    grid-column:auto !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px 30px !important;
    max-width:920px !important;
    margin:0 auto !important;
    justify-content:stretch !important;
  }
  html body .cay-grid .media.portrait{
    max-width:420px;
    margin-left:auto;
    margin-right:auto;
  }
}
@media(max-width:680px){
  html body #cay.cay-section{display:block !important}
  html body .cay-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:none !important;
    gap:28px 14px !important;
  }
  html body .cay-grid .media.portrait{
    max-width:none;
  }
}

/* 7: About desktop — centre story column after photo (no empty black band right) */
@media(min-width:681px){
  html body .editorial{
    max-width:820px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .about-hero + .section{
    display:block;
  }
}

/* 8: Releases/Label — Buy visible; stacked closer; Listen hover/active keeps text; label 2/row desktop */
html body .home-release-actions,
html body .release-actions{
  gap:5px !important;
}
html body .release-grid .home-release-actions .button,
html body .release-grid .home-release-actions .button:hover,
html body .release-grid .home-release-actions .button:active,
html body .release-grid .home-release-actions .button:focus-visible,
html body .label-catalogue .release-actions .button,
html body .label-catalogue .release-actions .button:hover,
html body .label-catalogue .release-actions .button:active,
html body .label-catalogue .release-actions .button:focus-visible,
html body .label-catalogue .release-actions .secondary-action,
html body .label-catalogue .release-actions .secondary-action:hover,
html body .label-catalogue .release-actions .secondary-action:active,
html body .label-catalogue .release-actions .secondary-action:focus-visible,
html body .release-actions .button,
html body .release-actions .button:hover,
html body .release-actions .button:active,
html body .release-actions .secondary-action,
html body .release-actions .secondary-action:hover,
html body .release-actions .secondary-action:active{
  /* Same press treatment: pink fill, near-black text always readable */
  color:#070707 !important;
}
html body .release-grid .home-release-actions .button,
html body .label-catalogue .release-actions .button,
html body .label-catalogue .release-actions .secondary-action,
html body .release-actions .button,
html body .release-actions .secondary-action{
  color:var(--pink) !important;
  background:transparent !important;
  border-color:var(--pink) !important;
}
html body .release-grid .home-release-actions .button{
  color:var(--pink-dark) !important;
  border-color:var(--pink-dark) !important;
}
html body .release-grid .home-release-actions .button:hover,
html body .release-grid .home-release-actions .button:active,
html body .release-grid .home-release-actions .button:focus-visible{
  background:var(--pink-dark) !important;
  border-color:var(--pink-dark) !important;
  color:#fff !important;
}
html body .label-catalogue .release-actions .button:hover,
html body .label-catalogue .release-actions .button:active,
html body .label-catalogue .release-actions .button:focus-visible,
html body .label-catalogue .release-actions .secondary-action:hover,
html body .label-catalogue .release-actions .secondary-action:active,
html body .label-catalogue .release-actions .secondary-action:focus-visible,
html body .release-actions .button:hover,
html body .release-actions .button:active,
html body .release-actions .secondary-action:hover,
html body .release-actions .secondary-action:active{
  background:var(--pink) !important;
  border-color:var(--pink) !important;
  color:#070707 !important;
}

@media(min-width:681px){
  html body .label-catalogue{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:36px !important;
    row-gap:48px !important;
    padding:clamp(70px,8vw,120px) 6vw !important;
    align-items:start;
  }
  html body .label-catalogue > .label-release{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
    padding:0 0 28px !important;
    border-top:1px solid var(--line);
    padding-top:28px !important;
    background:transparent !important;
    grid-template-columns:none !important;
  }
  html body .label-catalogue > .label-release > img{
    width:100% !important;
    max-width:none !important;
    aspect-ratio:1 !important;
  }
  html body .label-catalogue > .label-release > div{
    display:flex !important;
    flex-direction:column !important;
    gap:10px;
    min-width:0;
  }
  html body .label-catalogue > .label-release h2{
    font-size:clamp(36px,4vw,58px) !important;
    line-height:.92 !important;
  }
  html body .label-catalogue .release-actions{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
    max-width:220px !important;
    width:100%;
    grid-template-columns:none !important;
  }
  html body .label-catalogue .release-actions .button,
  html body .label-catalogue .release-actions .secondary-action{
    width:100% !important;
  }
  html body .label-catalogue .release-one-liner{
    font-size:15px !important;
    line-height:1.5 !important;
    color:#c8c0c5;
  }
}

@media(max-width:680px){
  html body .home-release-actions,
  html body .release-actions,
  html body .label-catalogue .release-actions{
    gap:5px !important;
  }
}

/* 9: Music line colour — readable on every background */
/* Dark panels / archive / portrait / stage: near-white */
html body .archive-section:not(.ensemble-section) .music-line,
html body .archive-section:not(.ensemble-section) .music-line strong,
html body .portrait-section .music-line,
html body .portrait-section .music-line strong,
html body .competition .music-line,
html body .competition .music-line strong,
html body .stories .music-line,
html body .stories .music-line strong,
html body .video-story .music-line,
html body .video-story .music-line strong{
  color:var(--white) !important;
  opacity:1 !important;
}
/* Light pink / light grey sections: near-black or pink-dark */
html body .ensemble-section .music-line,
html body .ensemble-section .music-line strong{
  color:#3a2a30 !important;
}
html body .releases .music-line,
html body .label-intro .music-line{
  color:#3a2a30 !important;
}

/* Portrait cards in mixed grids: keep equal card width; media height follows ratio */
html body .archive-card > .media.portrait,
html body .video-story > .media.portrait,
html body .portrait-story > .media.portrait,
html body .story-card > .media.portrait{
  margin-bottom:14px;
}

/* Home story Duo/Gil portraits: don't blow the 4-col row; cap height gently on desktop */
@media(min-width:1001px){
  html body .story-grid .media.portrait{
    max-height:420px;
    width:auto;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }
}

/* ===== end R11 ===== */

/* ===== R11b cascade fixes ===== */

/* Una Music on light ensemble: beat .una-feature white rule */
html body .ensemble-section .music-line,
html body .ensemble-section .music-line strong,
html body .ensemble-section .feature-card-meta .music-line,
html body .ensemble-section .feature-card-meta .music-line strong,
html body .ensemble-section .una-feature .feature-card-meta .music-line,
html body .ensemble-section .una-feature .feature-card-meta .music-line strong,
html body .ensemble-section .movement-una .music-line,
html body .ensemble-section .movement-una .music-line strong{
  color:#3a2a30 !important;
  opacity:1 !important;
}
/* Home Una on dark showcase only */
html body .showcase .una-feature .feature-card-meta .music-line,
html body .showcase .una-feature .feature-card-meta .music-line strong{
  color:var(--white) !important;
}

/* Play circle: flex always (beat phone display:block lock) */
html body article .video-poster span,
html body .media .video-poster span,
html body .video-poster span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
html body article .video-poster span::before,
html body .media .video-poster span::before,
html body .video-poster span::before{
  content:"" !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  margin:0 0 0 2px !important;
  transform:translateY(0.5px) !important;
  border-style:solid !important;
  border-width:7px 0 7px 12px !important;
  border-color:transparent transparent transparent #080808 !important;
  width:0 !important;
  height:0 !important;
}
html body .media.is-loading .video-poster span::before{
  display:none !important;
}

/* About story centred + reading measure */
@media(min-width:681px){
  html body .about-hero + .section .editorial,
  html body main .editorial{
    display:block !important;
    max-width:760px !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
}

/* Cay fills content width better (less side void) */
@media(min-width:681px){
  html body #cay > .cay-grid,
  html body .cay-grid{
    max-width:min(1100px,100%) !important;
    width:100% !important;
  }
}

/* ===== end R11b ===== */

/* ===== R11c: phone play flex wins over r9 display:block ===== */
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .video-poster span,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .video-poster span,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:last-child:nth-child(odd) .video-poster span,
html body .feature-video .video-poster span,
html body .una-feature .video-poster span,
html body .madonna-video .video-poster span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .video-poster span::before,
html body .feature-video .video-poster span::before,
html body .una-feature .video-poster span::before,
html body .madonna-video .video-poster span::before{
  content:"" !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  margin:0 0 0 2px !important;
  transform:translateY(0.5px) !important;
  border-style:solid !important;
  border-width:7px 0 7px 12px !important;
  border-color:transparent transparent transparent #080808 !important;
  width:0 !important;
  height:0 !important;
  display:block !important;
}
html body .media.is-loading .video-poster span::before{display:none !important}

/* ===== end R11c ===== */

/* ===== R11d: Cay fill + play optical centre ===== */
@media(min-width:681px){
  html body #cay > .cay-grid,
  html body .cay-grid{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    justify-content:stretch !important;
    gap:30px !important;
  }
  html body .cay-grid .media.portrait{
    width:100%;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body #cay > .cay-shared-credits{
    max-width:none !important;
  }
}

/* Play triangle: optical centre (CSS border triangles sit high/left without nudge) */
html body .video-poster span::before,
html body article .video-poster span::before,
html body .media .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .video-poster span::before,
html body .feature-video .video-poster span::before,
html body .una-feature .video-poster span::before,
html body .madonna-video .video-poster span::before{
  margin:1px 0 0 3px !important;
  transform:none !important;
}

/* ===== end R11d ===== */

/* ===== R11e: Cay media fill cell; play nudge up+right ===== */
@media(min-width:681px){
  html body .cay-grid .media.portrait{
    max-width:none !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}
/* Triangle sits low/left in flex circle — nudge up and right optically */
html body .video-poster span::before,
html body article .video-poster span::before,
html body .media .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .video-poster span::before,
html body .feature-video .video-poster span::before,
html body .una-feature .video-poster span::before,
html body .madonna-video .video-poster span::before{
  margin:0 0 0 3px !important;
  transform:translate(0.5px, -1px) !important;
}

/* ===== end R11e ===== */

/* ===== R11f: stronger play optical centre ===== */
html body .video-poster span::before,
html body article .video-poster span::before,
html body .media .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .video-poster span::before,
html body .feature-video .video-poster span::before,
html body .una-feature .video-poster span::before,
html body .madonna-video .video-poster span::before{
  margin:0 !important;
  transform:translate(1px, -1.5px) !important;
}

/* ===== end R11f ===== */

/* ===== R11g: play = flex centre + 1px right optical only ===== */
html body .video-poster span::before,
html body article .video-poster span::before,
html body .media .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .video-poster span::before,
html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .video-poster span::before,
html body .feature-video .video-poster span::before,
html body .una-feature .video-poster span::before,
html body .madonna-video .video-poster span::before{
  margin:0 !important;
  transform:translateX(1px) !important;
}

/* ===== end R11g ===== */

/* ===== R11h: release Listen/Buy — outline default; no sticky phone fill ===== */
/* Touch devices keep :hover after tap; only paint fill on real hover or :active. */
html body .release-grid .home-release-actions .button,
html body .release-grid .home-release-actions .button:link,
html body .release-grid .home-release-actions .button:visited,
html body .release-grid .home-release-actions .button:focus,
html body .release-grid .home-release-actions .button:focus-visible,
html body .label-catalogue .release-actions .button,
html body .label-catalogue .release-actions .button:link,
html body .label-catalogue .release-actions .button:visited,
html body .label-catalogue .release-actions .button:focus,
html body .label-catalogue .release-actions .button:focus-visible,
html body .label-catalogue .release-actions .secondary-action,
html body .label-catalogue .release-actions .secondary-action:link,
html body .label-catalogue .release-actions .secondary-action:visited,
html body .label-catalogue .release-actions .secondary-action:focus,
html body .label-catalogue .release-actions .secondary-action:focus-visible,
html body .release-actions .button,
html body .release-actions .button:link,
html body .release-actions .button:visited,
html body .release-actions .button:focus,
html body .release-actions .button:focus-visible,
html body .release-actions .secondary-action,
html body .release-actions .secondary-action:link,
html body .release-actions .secondary-action:visited,
html body .release-actions .secondary-action:focus,
html body .release-actions .secondary-action:focus-visible{
  background:transparent !important;
  color:var(--pink) !important;
  border-color:var(--pink) !important;
}
html body .release-grid .home-release-actions .button,
html body .release-grid .home-release-actions .button:link,
html body .release-grid .home-release-actions .button:visited,
html body .release-grid .home-release-actions .button:focus,
html body .release-grid .home-release-actions .button:focus-visible{
  color:var(--pink-dark) !important;
  border-color:var(--pink-dark) !important;
  background:transparent !important;
}
/* Press: fill while finger is down; text stays readable */
html body .release-grid .home-release-actions .button:active{
  background:var(--pink-dark) !important;
  border-color:var(--pink-dark) !important;
  color:#fff !important;
}
html body .label-catalogue .release-actions .button:active,
html body .label-catalogue .release-actions .secondary-action:active,
html body .release-actions .button:active,
html body .release-actions .secondary-action:active{
  background:var(--pink) !important;
  border-color:var(--pink) !important;
  color:#070707 !important;
}
@media (hover:hover) and (pointer:fine){
  html body .release-grid .home-release-actions .button:hover{
    background:var(--pink-dark) !important;
    border-color:var(--pink-dark) !important;
    color:#fff !important;
  }
  html body .label-catalogue .release-actions .button:hover,
  html body .label-catalogue .release-actions .secondary-action:hover,
  html body .release-actions .button:hover,
  html body .release-actions .secondary-action:hover{
    background:var(--pink) !important;
    border-color:var(--pink) !important;
    color:#070707 !important;
  }
}
/* ===== end R11h ===== */

/* ===== R11i: DuZll stage poster must show image, not empty black ===== */
html body .video-poster img[src*="2dc2c12f-0580-47a5-bfde-d5b2f5080156"]{
  object-fit:cover !important;
  object-position:center 42% !important;
  opacity:1 !important;
  visibility:visible !important;
  background:#1a0a0c !important;
}
html body .media:has(img[src*="2dc2c12f-0580-47a5-bfde-d5b2f5080156"]),
html body .media:has(iframe[src*="2dc2c12f-0580-47a5-bfde-d5b2f5080156"]){
  background:#1a0a0c !important;
}
/* ===== end R11i ===== */

/* ===== R11j: Pre-save one line + Seen on stage no stretch hole ===== */
/* Home release buttons: never wrap label text; match Listen/Buy height */
html body .release-grid .home-release-actions .button,
html body .release-grid .home-release-actions--single .button{
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  min-width:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}
/* Desktop: give the actions column enough width for PRE-SAVE on one line */
@media (min-width:681px){
  html body .release-grid article > div{
    grid-template-columns:minmax(0,1fr) minmax(132px,150px) !important;
  }
  html body .release-grid .home-release-actions,
  html body .release-grid .home-release-actions--single{
    width:100% !important;
    max-width:150px !important;
    min-width:132px !important;
  }
  html body .release-grid .home-release-actions .button,
  html body .release-grid .home-release-actions--single .button{
    font-size:10px !important;
    letter-spacing:.12em !important;
    padding:12px 8px !important;
    min-height:44px !important;
    line-height:1.1 !important;
  }
  /* Seen on stage: kill subgrid stretch; stack Pallet+DuZll left of Sakurako portrait */
  html body .stage-archive-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:start !important;
    grid-auto-flow:dense !important;
  }
  html body .stage-archive-grid > .archive-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    align-content:start !important;
    align-self:start !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    grid-template-rows:none !important;
  }
  html body .stage-archive-grid > .archive-card > details.more-info,
  html body .stage-archive-grid > .archive-card > details{
    margin-top:8px !important;
  }
  /* Card order: 1 Yumi, 2 RAY, 3 Pallet, 4 Sakurako, 5 DuZll */
  html body .stage-archive-grid > .archive-card:nth-child(1){grid-column:1 !important;grid-row:1 !important}
  html body .stage-archive-grid > .archive-card:nth-child(2){grid-column:2 !important;grid-row:1 !important}
  html body .stage-archive-grid > .archive-card:nth-child(3){grid-column:1 !important;grid-row:2 !important} /* Pallet */
  html body .stage-archive-grid > .archive-card:nth-child(4){grid-column:2 !important;grid-row:2 / span 2 !important} /* Sakurako */
  html body .stage-archive-grid > .archive-card:nth-child(5){grid-column:1 !important;grid-row:3 !important} /* DuZll */
}
@media (max-width:680px){
  html body .release-grid .home-release-actions .button,
  html body .release-grid .home-release-actions--single .button{
    white-space:nowrap !important;
    font-size:11px !important;
    letter-spacing:.1em !important;
    padding:10px 8px !important;
  }
  /* Phone: normal 2-up flow, top-aligned, no subgrid stretch */
  html body .stage-archive-grid{
    align-items:start !important;
  }
  html body .stage-archive-grid > .archive-card{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    grid-template-rows:none !important;
    grid-row:auto !important;
    grid-column:auto !important;
  }
  html body .stage-archive-grid > .archive-card > details.more-info,
  html body .stage-archive-grid > .archive-card > details{
    margin-top:8px !important;
  }
}
/* ===== end R11j ===== */

/* ===== v76 Andrew phone feedback =====
   Shared colour, credit, and footer rules apply on both widths.
   Phone-only layout is inside max-width 680px.
   Desktop-only layout is inside min-width 681px. */

/* Footer icons */
html body .site-footer nav a{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
}
html body .footer-icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
  display:block;
  color:#fff;
}

/* Mailing list form */
html body .signup-form{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:12px 16px;
  margin-top:28px;
  max-width:560px;
}
html body .signup-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1 1 240px;
  margin:0;
  color:#aaa3a7;
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
html body .signup-form input{
  width:100%;
  margin:0;
  padding:12px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.28);
  border-radius:0;
  background:transparent;
  color:#f5f2f3;
  font-size:16px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  outline:none;
}
html body .signup-form input::placeholder{color:#8a8488}
html body .signup-form .button{
  margin:0;
  min-height:46px;
}
html body .signup-form .form-status{
  flex:1 0 100%;
  margin:0;
  color:#cfc6ca;
  font-size:13px;
  line-height:1.45;
  letter-spacing:0;
  text-transform:none;
}

/* Homepage release meta matches the label eyebrow treatment, not its colour */
html body .release-grid article > div > span{
  text-transform:uppercase;
  letter-spacing:.1em;
  line-height:1.45;
}

/* Credit rows: values share one column. Handles sit under the name. */
html body .more-row{
  align-items:start;
  margin:0 0 8px;
}
html body .more-row strong{
  overflow-wrap:normal;
  word-break:keep-all;
  hyphens:none;
  line-height:1.35;
}
html body .credit-people{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
html body .credit-person{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  max-width:100%;
}
html body .credit-person a,
html body .credit-handle{
  overflow-wrap:normal;
  word-break:keep-all;
  hyphens:none;
}
html body .more-row span,
html body .more-info-body,
html body .more-info-body p{
  overflow-wrap:normal;
  word-break:keep-all;
  hyphens:none;
}

/* Less / More info: tighter block, still a comfortable row */
html body details.more-info > summary{
  min-height:40px !important;
  padding:6px 0 !important;
}
html body .more-info-body{
  margin-top:0 !important;
  padding:0 0 8px !important;
}
html body .more-info-body p,
html body details.more-info p{
  margin:0 0 8px !important;
  padding:0 !important;
}
html body .more-info-body p:last-child{
  margin-bottom:0 !important;
}
html body .label-catalogue .release-copy p,
html body .label-catalogue .more-info-body p{
  margin:0 0 10px !important;
  padding:0 !important;
}

/* More info sits under the copy. Open cards must not stretch a closed sibling. */
html body :is(.story-grid,.stage-grid,.stage-archive-grid,.archive-grid,.archive-grid.landscapes,.portrait-row,.cirque-grid,.cay-grid,.duo-grid,.release-grid){
  align-items:start !important;
}
html body :is(.story-card,.video-story,.portrait-story,.archive-card) > details.more-info,
html body :is(.story-card,.video-story,.portrait-story,.archive-card) > .more-info{
  margin-top:8px !important;
}

/* Light panels: labels stay rose, values and body copy go near-black. No white. */
html body :is(.competition,.cirque-section,.ensemble-section,.label-intro,.releases) :is(.section-head > p,.video-story > p:not(.label),.archive-card > p,.release-grid p,.label-intro p,.cirque-intro,.cirque-intro p){
  color:#1a1214 !important;
}
html body :is(.competition,.cirque-section,.ensemble-section) .music-line,
html body :is(.competition,.cirque-section,.ensemble-section) .music-line strong,
html body :is(.competition,.cirque-section,.ensemble-section) .more-info-body,
html body :is(.competition,.cirque-section,.ensemble-section) .more-info-body p,
html body :is(.competition,.cirque-section,.ensemble-section) .more-row span,
html body :is(.competition,.cirque-section,.ensemble-section) .feature-card-meta,
html body :is(.competition,.cirque-section,.ensemble-section) .feature-video,
html body .ensemble-section .una-feature .feature-card-meta .music-line,
html body .ensemble-section .una-feature .feature-card-meta .music-line strong,
html body .cirque-credits .compact-credit{
  color:#1a1214 !important;
}
html body :is(.competition,.cirque-section,.ensemble-section) .more-row strong,
html body .cirque-credits .compact-credit strong{
  color:#8e224a !important;
}
html body :is(.competition,.cirque-section,.ensemble-section) .more-row a,
html body :is(.competition,.cirque-section,.ensemble-section) .more-info-body a,
html body .cirque-credits a{
  color:#1a1214 !important;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Dark panels: pink label, off-white value. Not one pink block. */
html body :is(.stories,.portrait-section,.showcase,.stage-section,#personal,.archive-section:not(.cirque-section):not(.ensemble-section)) .more-row strong{
  color:#fa5181 !important;
}
html body :is(.stories,.portrait-section,.showcase,.stage-section,#personal,.archive-section:not(.cirque-section):not(.ensemble-section)) .more-row span,
html body :is(.stories,.portrait-section,.showcase,.stage-section,#personal,.archive-section:not(.cirque-section):not(.ensemble-section)) .more-info-body,
html body :is(.stories,.portrait-section,.showcase,.stage-section,#personal,.archive-section:not(.cirque-section):not(.ensemble-section)) .more-info-body p{
  color:#f3eef1 !important;
}
html body :is(.stories,.portrait-section,.showcase,.stage-section,#personal,.archive-section:not(.cirque-section):not(.ensemble-section)) .more-row a,
html body :is(.stories,.portrait-section,.showcase,.stage-section,#personal,.archive-section:not(.cirque-section):not(.ensemble-section)) .more-info-body a{
  color:#f3eef1 !important;
  text-decoration:underline;
  text-underline-offset:2px;
}
html body .label-catalogue .more-row strong{color:#fa5181 !important}
html body .label-catalogue .more-info-body,
html body .label-catalogue .more-info-body p,
html body .label-catalogue .more-row span,
html body .label-catalogue .release-copy,
html body .label-catalogue .release-copy p{
  color:#f3eef1 !important;
}
html body .label-catalogue .more-info-body a,
html body .label-catalogue .release-copy a{
  color:#f3eef1 !important;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Release copy must not reserve a blank block under a short line */
html body .release-grid > article > div > span,
html body .release-grid > article > div > h3,
html body .release-grid > article > div > p,
html body .label-catalogue .label-release .eyebrow,
html body .label-catalogue .label-release h2,
html body .label-catalogue .release-one-liner{
  min-height:0 !important;
  max-height:none !important;
}
html body .label-catalogue .release-one-liner{
  display:block !important;
  -webkit-line-clamp:unset !important;
  overflow:visible !important;
}

/* Duo in Flow homepage thumb: sit high enough to keep the raised hand,
   but not at the top of the frame, where the source is empty black.
   Gil is not targeted. */
html body .media.portrait .video-poster img[src*="65378f01"]{
  object-fit:cover !important;
  object-position:center 6% !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* Desktop credit column + Listen/Buy beside each other, Pre-save alone */
@media (min-width:681px){
  html body .more-row{
    display:grid !important;
    grid-template-columns:9.5em minmax(0,1fr) !important;
    column-gap:12px !important;
    row-gap:2px !important;
  }
  html body .release-grid article > div{
    grid-template-columns:minmax(0,1fr) minmax(180px,210px) !important;
  }
  html body .label-catalogue .release-actions,
  html body .release-grid .home-release-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    flex-direction:unset !important;
    gap:8px !important;
    width:100% !important;
    max-width:280px !important;
  }
  html body .label-catalogue .album-release .release-actions,
  html body .release-grid .home-release-actions--single{
    grid-template-columns:minmax(0,180px) !important;
    max-width:180px !important;
  }
  html body .label-catalogue .album-release .release-actions > .button,
  html body .release-grid .home-release-actions--single > .button{
    grid-column:1 / -1 !important;
    width:100% !important;
  }
  html body .releases .section-head{
    margin-bottom:72px !important;
  }
}

/* Phone layout only */
@media (max-width:680px){
  html body .site-footer > p{
    max-width:14.5em;
    text-wrap:balance;
  }
  html body .signup-form{
    flex-direction:column;
    align-items:stretch;
  }
  html body .signup-form .button{
    width:100%;
    justify-content:center;
  }
  html body .more-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    row-gap:1px !important;
    margin-bottom:10px !important;
  }
  html body .release-grid .home-release-actions,
  html body .label-catalogue .release-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    flex-direction:unset !important;
    gap:6px !important;
    width:100% !important;
    max-width:none !important;
    margin-top:8px !important;
    padding-top:0 !important;
  }
  html body .release-grid .home-release-actions--single,
  html body .label-catalogue .album-release .release-actions{
    grid-template-columns:1fr !important;
    max-width:none !important;
  }
  html body .release-grid .home-release-actions--single > .button,
  html body .label-catalogue .album-release .release-actions > .button{
    grid-column:1 / -1 !important;
    width:100% !important;
  }
  html body .release-grid .home-release-actions .button,
  html body .release-grid .home-release-actions--single .button,
  html body .label-catalogue .release-actions .button,
  html body .label-catalogue .release-actions .secondary-action{
    white-space:nowrap !important;
    width:100% !important;
    min-height:40px !important;
    height:40px !important;
    max-height:none !important;
    padding:0 4px !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
  }
  html body .label-catalogue{
    padding-top:56px !important;
  }
  html body .releases{
    padding-top:47px !important;
  }
  html body .releases .section-head{
    margin-bottom:28px !important;
  }
  html body .label-catalogue .label-release .eyebrow{
    min-height:0 !important;
    max-height:none !important;
    display:block !important;
    -webkit-line-clamp:unset !important;
    overflow:visible !important;
  }
  html body .label-catalogue .label-release h2{
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  /* Duo in Flow: less air between the blurb and the credits, and before the films */
  html body .cirque-section .section-head{
    margin-bottom:14px !important;
    gap:12px !important;
  }
  html body .cirque-intro{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin:0 0 18px !important;
    padding-top:0 !important;
  }
  html body .cirque-credits .compact-credit{
    margin-top:4px !important;
  }
  html body #cay > .cay-shared-credits,
  html body .cay-shared-credits{
    margin-bottom:16px !important;
  }
  /* Una Vez: tighten the tag, title and context, then pull Music up under the film */
  html body .showcase .section-head,
  html body .ensemble-section .section-head{
    margin-bottom:14px !important;
    gap:10px !important;
  }
  html body .showcase .eyebrow,
  html body .ensemble-section .eyebrow{
    margin-bottom:8px !important;
  }
  html body .showcase .section-head h2,
  html body .ensemble-section .section-head h2{
    margin-bottom:0 !important;
  }
  html body .una-feature > .media,
  html body .movement-una > .media,
  html body .ensemble-section .movement-una > .media{
    margin-bottom:8px !important;
  }
  html body .feature-card-meta,
  html body .ensemble-section .movement-una .feature-card-meta{
    padding:4px 0 0 !important;
  }
  /* One play control: hide Bunny until our poster has handed over */
  html body .media:not(.playing) > iframe{
    visibility:hidden !important;
  }
  html body .media.playing > .video-poster{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  /* Landscape frames get a smaller circle than portrait frames */
  html body .media.landscape .video-poster span{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
    left:8px !important;
    bottom:8px !important;
  }
  html body .media.landscape .video-poster span::before{
    border-width:5px 0 5px 8px !important;
    margin:0 !important;
    transform:translateX(1px) !important;
  }
  html body .media.portrait .video-poster span{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    max-width:36px !important;
    max-height:36px !important;
  }
  html body .media.portrait .video-poster span::before{
    border-width:6px 0 6px 10px !important;
  }
}
/* ===== end v76 ===== */

/* ===== v77 QC follow-up =====
   Homepage release buttons share the bottom edge of each row.
   Label copy above the buttons is equalised in script.js. */

@media (min-width:1001px){
  /* Portrait story thumbs were width:auto with only absolute children, so the
     box collapsed. Fill the column and cap the height. Gil's crop stays 20%. */
  html body .story-grid .media.portrait{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    max-height:420px !important;
    aspect-ratio:9 / 16 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}
@media (min-width:681px){
  html body .release-grid{
    align-items:stretch !important;
  }
  html body .release-grid > article{
    display:flex !important;
    flex-direction:column !important;
    align-self:stretch !important;
    height:100% !important;
  }
  html body .release-grid > article > div{
    display:grid !important;
    flex:1 1 auto !important;
    grid-template-columns:minmax(0,1fr) minmax(180px,210px) !important;
    grid-template-rows:auto auto minmax(8px,1fr) !important;
    align-content:start !important;
    align-items:start !important;
  }
  html body .release-grid > article > div > span{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  html body .release-grid > article > div > h3{
    grid-column:1 !important;
    grid-row:2 !important;
  }
  html body .release-grid .home-release-actions,
  html body .release-grid .home-release-actions--single{
    grid-column:2 !important;
    grid-row:1 / -1 !important;
    align-self:end !important;
    justify-self:start !important;
    margin-top:0 !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }
  html body .release-grid .home-release-actions .button,
  html body .release-grid .home-release-actions--single .button{
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }
  html body .label-catalogue{
    align-items:start !important;
  }
  html body .label-catalogue .release-actions,
  html body .label-catalogue .album-release .release-actions{
    margin-top:0 !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    align-self:start !important;
  }
  html body .label-catalogue .release-actions .button,
  html body .label-catalogue .release-actions .secondary-action{
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }
}

@media (max-width:680px){
  html body .release-grid{
    align-items:stretch !important;
  }
  html body .release-grid > article{
    display:flex !important;
    flex-direction:column !important;
    align-self:stretch !important;
    height:100% !important;
  }
  html body .release-grid > article > div{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    min-height:0 !important;
  }
  html body .release-grid .home-release-actions,
  html body .release-grid .home-release-actions--single{
    margin-top:auto !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
  }
  html body .label-catalogue{
    align-items:start !important;
  }
  html body .label-catalogue > .label-release{
    height:auto !important;
    align-self:start !important;
  }
  html body .label-catalogue > .label-release > div{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
  }
  html body .label-catalogue .eyebrow,
  html body .label-catalogue .label-release h2,
  html body .label-catalogue .release-one-liner{
    margin:0 !important;
  }
  html body .label-catalogue > .label-release .release-actions{
    margin:8px 0 0 !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
  }
}
/* ===== end v77 ===== */

/* ===== v78 phone layout =====
   Phone-only spacing lives in max-width 680px.
   Join the list colour is sitewide: native submit buttons were painting
   a system blue/grey fill over the brand outline. */

html body .signup-form button.button{
  -webkit-appearance:none !important;
  appearance:none !important;
  background-color:#fa5181 !important;
  color:#1a0a10 !important;
  border:1px solid #fa5181 !important;
}
html body .signup-form button.button:hover,
html body .signup-form button.button:focus-visible,
html body .signup-form button.button:active{
  background-color:#ff8aab !important;
  color:#1a0a10 !important;
  border-color:#ff8aab !important;
}

@media(max-width:680px){
  /* 1. Home intro: headline sits close to the first paragraph */
  html body .intro-grid{
    row-gap:12px !important;
    gap:12px 0 !important;
  }
  html body .intro .prose > p:first-child{
    margin-top:0 !important;
  }

  /* 2. Madonna quote to body */
  html body .madonna-copy > p:not(.eyebrow,.madonna-kicker,.credit-line){
    margin-top:14px !important;
  }

  /* 3. Seen on stage: heading to archive link */
  html body .competition > .section-head{
    row-gap:6px !important;
    gap:6px !important;
    margin-bottom:22px !important;
  }
  html body .competition > .section-head .text-link{
    align-self:start !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* 4. Who is Nomine portrait fills the column instead of sitting left */
  html body .artist-feature > img{
    width:min(100%,420px) !important;
    max-width:100% !important;
    height:auto !important;
    justify-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* 5. Label releases: less air above the art, then
     artwork, title, meta, brief, buttons, More info */
  html body .label-intro{
    padding-bottom:18px !important;
  }
  html body .label-catalogue{
    padding-top:4px !important;
  }
  html body .label-catalogue > .label-release{
    gap:14px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  html body .label-catalogue > .label-release > div{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    height:auto !important;
    grid-template-rows:none !important;
  }
  html body .label-catalogue .label-release h2{
    order:1 !important;
    margin:0 !important;
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
  }
  html body .label-catalogue .label-release .eyebrow{
    order:2 !important;
    display:block !important;
    margin:0 !important;
    min-height:0 !important;
    max-height:none !important;
    -webkit-line-clamp:unset !important;
    overflow:visible !important;
  }
  html body .label-catalogue .release-one-liner{
    order:3 !important;
    display:block !important;
    margin:0 !important;
    min-height:0 !important;
    max-height:none !important;
    -webkit-line-clamp:unset !important;
    overflow:visible !important;
  }
  html body .label-catalogue > .label-release .release-actions{
    order:4 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    flex-direction:unset !important;
    gap:8px !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:4px 0 0 !important;
    padding:0 !important;
    overflow:visible !important;
    align-self:stretch !important;
    grid-row:auto !important;
  }
  html body .label-catalogue .album-release .release-actions{
    grid-template-columns:1fr !important;
  }
  html body .label-catalogue .release-actions .button,
  html body .label-catalogue .release-actions .secondary-action,
  html body .label-catalogue .release-actions a.button{
    height:44px !important;
    min-height:44px !important;
    max-height:none !important;
    margin:0 !important;
  }
  html body .label-catalogue .label-release .more-info,
  html body .label-catalogue > .label-release details.more-info{
    order:5 !important;
    grid-row:auto !important;
    margin:6px 0 0 !important;
    align-self:stretch !important;
  }

  /* Home releases: pull the artwork up under the archive link */
  html body .releases .section-head{
    row-gap:6px !important;
    gap:6px !important;
    margin-bottom:14px !important;
  }
  html body .releases .section-head .text-link{
    align-self:start !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* 6. Stay connected: the email label was a 240px-tall flex item */
  html body .newsletter{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }
  html body .signup-form{
    margin-top:16px !important;
    gap:14px !important;
  }
  html body .signup-form label{
    flex:0 1 auto !important;
    width:100% !important;
  }

  /* 7. Archive video rows moved to v79. The subgrid used here collapsed
     the 16:9 frames (absolute posters contribute no row height). */

  /* 8. Duo in Flow credits: handle sits in the credit stack */
  html body .cirque-credits{
    gap:6px !important;
    margin-top:2px !important;
  }
  html body .cirque-credits > a{
    display:inline !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    line-height:1.35 !important;
  }
  html body .cirque-credits .compact-credit{
    margin-top:0 !important;
    row-gap:2px !important;
  }

  /* 9. Cay Izumi: body paragraph to the credit line (tightened again in v79) */
  html body #cay > .section-head{
    margin-bottom:4px !important;
    row-gap:12px !important;
    gap:12px !important;
  }
  html body #cay > .section-head > p{
    margin:0 !important;
  }
  html body #cay > .cay-shared-credits{
    margin-top:0 !important;
    margin-bottom:18px !important;
  }
}
/* ===== end v78 ===== */

/* ===== v79 phone layout =====
   Restore archive video frames, keep More info on one baseline,
   match homepage releases to the label stack, and shrink Join the list. */
@media(max-width:680px){
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid){
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:start !important;
    column-gap:14px !important;
    row-gap:28px !important;
    grid-auto-flow:row !important;
    grid-auto-rows:auto !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card,
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card:last-child:nth-child(odd){
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    align-content:flex-start !important;
    grid-template-rows:none !important;
    grid-template-columns:none !important;
    grid-row:auto !important;
    grid-column:auto !important;
    align-self:start !important;
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    width:auto !important;
    max-width:none !important;
    justify-self:stretch !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card:last-child:nth-child(odd){
    grid-column:1 / span 1 !important;
    justify-self:stretch !important;
    width:auto !important;
    max-width:none !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card > .media{
    display:block !important;
    position:relative !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:unset !important;
    max-height:none !important;
    aspect-ratio:16 / 9 !important;
    overflow:hidden !important;
    visibility:visible !important;
    margin:0 0 10px !important;
    grid-row:auto !important;
    grid-column:auto !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card > .media.portrait{
    aspect-ratio:9 / 16 !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card > .label{
    margin:0 0 4px !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card > h3{
    margin:0 0 6px !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card > .music-line{
    margin:0 !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card > details.more-info{
    margin-top:10px !important;
    margin-bottom:0 !important;
    align-self:stretch !important;
    width:100% !important;
  }
  html body :is(#competition .stage-archive-grid,#international .archive-grid,#personal .archive-grid,#cay .cay-grid) > .archive-card > details.more-info > summary{
    padding:14px 0 !important;
    min-height:48px !important;
    box-sizing:border-box !important;
  }
  html body #cay .cay-grid > .archive-card > .label{
    letter-spacing:.06em !important;
    line-height:1.35 !important;
    text-wrap:balance !important;
  }

  /* Homepage releases: artwork, title, meta, buttons. No More info. */
  html body .release-grid > article{
    gap:14px !important;
  }
  html body .release-grid > article > div{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    padding-top:0 !important;
    height:auto !important;
  }
  html body .release-grid > article > div > h3{
    order:1 !important;
    margin:0 !important;
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
  }
  html body .release-grid > article > div > span{
    order:2 !important;
    display:block !important;
    margin:0 !important;
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
  }
  html body .release-grid .home-release-actions,
  html body .release-grid .home-release-actions--single{
    order:3 !important;
    margin-top:8px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    align-self:stretch !important;
  }

  /* Join the list: text-sized, not a full-width slab against the pink band */
  html body .signup-form{
    align-items:flex-start !important;
  }
  html body .signup-form label{
    width:100% !important;
    align-self:stretch !important;
  }
  html body .signup-form .button,
  html body .signup-form button.button{
    width:auto !important;
    max-width:max-content !important;
    align-self:flex-start !important;
    flex:0 0 auto !important;
    min-height:0 !important;
    height:auto !important;
    padding:7px 12px !important;
    font-size:11px !important;
    letter-spacing:.14em !important;
    line-height:1.2 !important;
  }
  html body .newsletter{
    padding-bottom:36px !important;
  }
}
/* ===== end v79 ===== */

/* ===== v80 phone layout =====
   Label cards grow as a column so artwork, buttons and More info
   each keep their own space. Homepage titles sit on the art with no rule.
   Sakurako's phone thumb is a 16:9 crop so the landscape row stays even. */
@media(max-width:680px){
  html body .label-intro{
    padding-bottom:44px !important;
  }
  html body .label-catalogue{
    padding-top:28px !important;
    row-gap:36px !important;
    align-items:start !important;
  }
  html body .label-catalogue > .label-release,
  html body .label-catalogue > .label-release:first-child,
  html body .label-catalogue > .label-release:nth-child(even){
    background:transparent !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    height:auto !important;
    gap:16px !important;
    padding:0 0 4px !important;
    border-top:0 !important;
  }
  html body .label-catalogue > .label-release > div{
    display:flex !important;
    flex-direction:column !important;
    grid-template-rows:none !important;
    height:auto !important;
    min-height:0 !important;
    gap:12px !important;
    flex:0 0 auto !important;
  }
  html body .label-catalogue .label-release h2,
  html body .label-catalogue .label-release .eyebrow,
  html body .label-catalogue .release-one-liner{
    grid-row:auto !important;
  }
  html body .label-catalogue > .label-release .release-actions,
  html body .label-catalogue .album-release .release-actions{
    order:4 !important;
    grid-row:auto !important;
    display:grid !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:4px 0 0 !important;
    align-self:stretch !important;
    overflow:visible !important;
  }
  html body .label-catalogue .release-actions .button,
  html body .label-catalogue .release-actions .secondary-action,
  html body .label-catalogue .release-actions a.button{
    height:44px !important;
    min-height:44px !important;
    max-height:none !important;
    overflow:visible !important;
  }
  html body .label-catalogue .label-release .more-info,
  html body .label-catalogue > .label-release details.more-info{
    order:5 !important;
    grid-row:auto !important;
    margin:8px 0 0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  html body .label-catalogue details.more-info > summary{
    padding:16px 0 !important;
    min-height:52px !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
    align-items:center !important;
  }

  /* Homepage: no rule above the title, and a short step down from the art */
  html body .release-grid > article{
    gap:10px !important;
  }
  html body .release-grid > article > div{
    border-top:0 !important;
    padding-top:0 !important;
  }

  /* Sakurako is the portrait source in an otherwise landscape row.
     Specificity has to beat the shared portrait 9/16 lock. */
  html body #competition .stage-archive-grid > .archive-card > .media.portrait:has(iframe[data-video-src*="e01af680"]){
    aspect-ratio:16 / 9 !important;
    height:auto !important;
    max-height:none !important;
    flex:0 0 auto !important;
    overflow:hidden !important;
  }
  html body #competition .stage-archive-grid > .archive-card > .media.portrait:has(iframe[data-video-src*="e01af680"]) .video-poster img{
    object-fit:cover !important;
    object-position:center 42% !important;
    width:100% !important;
    height:100% !important;
  }
}
/* ===== end v80 ===== */

/* ===== v81 =====
   Homepage releases stack artwork → title → meta → buttons at every width.
   The 210px side column was leaving the copy ~32px wide, so titles painted
   over Pre-save and each meta word (and each ·) sat on its own line.
   Sakurako's Seen on stage thumb stays a real 16:9 frame, including desktop,
   where she previously spanned two rows as a portrait and left an empty gap. */
html body .release-grid > article{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  min-width:0 !important;
  height:auto !important;
}
html body .release-grid > article > img{
  width:100% !important;
  max-width:100% !important;
  aspect-ratio:1 !important;
  height:auto !important;
  object-fit:cover !important;
}
html body .release-grid > article > div{
  display:flex !important;
  flex-direction:column !important;
  flex:0 0 auto !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  align-items:stretch !important;
  align-content:start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  padding-top:0 !important;
  border-top:0 !important;
}
html body .release-grid > article > div > h3{
  order:1 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
}
html body .release-grid > article > div > span{
  order:2 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  min-height:0 !important;
  height:auto !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  letter-spacing:.06em !important;
  line-height:1.4 !important;
}
html body .release-grid .home-release-actions,
html body .release-grid .home-release-actions--single{
  order:3 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  position:static !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  flex-direction:unset !important;
  gap:8px !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin-top:4px !important;
  padding-top:0 !important;
  align-self:stretch !important;
  justify-self:stretch !important;
}
html body .release-grid .home-release-actions--single{
  grid-template-columns:minmax(0,1fr) !important;
}
html body .release-grid .home-release-actions .button,
html body .release-grid .home-release-actions--single .button{
  position:static !important;
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  max-width:100% !important;
  height:44px !important;
  min-height:44px !important;
  max-height:none !important;
}

/* Seen on stage: landscape crop of the 16:9 poster, even if a portrait class is present. */
html body .media.thumb-16x9,
html body .media.thumb-16x9.portrait,
html body #competition .stage-archive-grid > .archive-card > .media.thumb-16x9,
html body #competition .stage-archive-grid > .archive-card > .media.portrait.thumb-16x9{
  aspect-ratio:16 / 9 !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:0 0 auto !important;
  overflow:hidden !important;
}
html body .media.thumb-16x9 .video-poster img,
html body .media.thumb-16x9.portrait .video-poster img,
html body #competition .stage-archive-grid > .archive-card > .media.thumb-16x9 .video-poster img{
  object-fit:cover !important;
  object-position:center center !important;
  width:100% !important;
  height:100% !important;
}
@media (min-width:681px){
  /* Drop the two-row portrait span so she sits in one landscape cell. */
  html body #competition .stage-archive-grid > .archive-card:nth-child(4){
    grid-column:2 !important;
    grid-row:2 !important;
    height:auto !important;
    max-height:none !important;
    align-self:start !important;
  }
}
/* ===== end v81 ===== */

/* ===== v82 =====
   Play control follows the thumb. Landscape frames, including a 16:9 crop of a
   portrait film (Sakurako), use the smaller circle. Portrait frames keep the
   larger one. These beat the two-up 32px lock and the shared 40px lock.
   Real portrait sources also keep a 9:16 thumb where an older phone rule
   flattened every card to 16:9 or 4:3. */
@media (max-width:680px){
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article > .media.portrait:not(.thumb-16x9){
    aspect-ratio:9 / 16 !important;
  }
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .media.landscape .video-poster span,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .media.landscape .video-poster span,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .media.thumb-16x9 .video-poster span,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .media.thumb-16x9 .video-poster span,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .media.thumb-16x9.portrait .video-poster span,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .media.thumb-16x9.portrait .video-poster span,
  html body #competition .stage-archive-grid > .archive-card > .media.thumb-16x9 .video-poster span,
  html body #competition .stage-archive-grid > .archive-card > .media.portrait.thumb-16x9 .video-poster span{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
    left:8px !important;
    right:auto !important;
    bottom:8px !important;
    top:auto !important;
  }
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .media.landscape .video-poster span::before,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .media.landscape .video-poster span::before,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .media.thumb-16x9 .video-poster span::before,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .media.thumb-16x9 .video-poster span::before,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .media.thumb-16x9.portrait .video-poster span::before,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .media.thumb-16x9.portrait .video-poster span::before,
  html body #competition .stage-archive-grid > .archive-card > .media.thumb-16x9 .video-poster span::before,
  html body #competition .stage-archive-grid > .archive-card > .media.portrait.thumb-16x9 .video-poster span::before{
    border-width:5px 0 5px 8px !important;
    margin:0 !important;
    transform:translateX(1px) !important;
    position:static !important;
    display:block !important;
  }
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .media.portrait:not(.thumb-16x9) .video-poster span,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .media.portrait:not(.thumb-16x9) .video-poster span{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    max-width:36px !important;
    max-height:36px !important;
    left:10px !important;
    right:auto !important;
    bottom:10px !important;
    top:auto !important;
  }
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article .media.portrait:not(.thumb-16x9) .video-poster span::before,
  html body :is(.story-grid,.stage-grid,.archive-grid,.archive-grid.landscapes,.archive-grid.stage-archive-grid,.portrait-row,.cirque-grid,.cay-grid,.duo-grid) > article:not(:last-child:nth-child(odd)) .media.portrait:not(.thumb-16x9) .video-poster span::before{
    border-width:6px 0 6px 10px !important;
    margin:0 !important;
    transform:translateX(1px) !important;
    position:static !important;
    display:block !important;
  }
}
/* ===== end v82 ===== */

/* ===== v83 desktop layout =====
   Phone (max-width: 680px) is untouched. Every rule below is desktop-only.
   Two-up media uses a viewport cap so the frame shrinks with the window
   and the title or meta stays in view with the picture. */
@media (min-width: 681px) {
  /* Home hero follows the viewport instead of holding a 680px floor. */
  html body .hero {
    height: 100svh !important;
    min-height: min(680px, 100svh) !important;
  }

  /* 1. Stories kicker and title share one left edge. */
  html body .stories .section-head > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0 !important;
  }
  html body .stories .section-head .eyebrow {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
  }
  html body .stories .section-head h2 {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
  }

  /* 2–3. Where the music’s travelled: two landscape cards per row.
     The frame is the full width of the card rules, still 16:9.
     Portrait sources (Duo in Flow, Gil) keep the same crop.
     Phone is unchanged. */
  html body .stories .story-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 40px !important;
    align-items: start !important;
  }
  html body .stories .story-grid > .story-card > .media,
  html body .stories .story-grid > .story-card > .media.portrait {
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 14px !important;
  }
  html body .stories .story-grid > .story-card > .media .video-poster img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  /* Duo: a mid-frame slice so both performers sit in the landscape crop. */
  html body .stories .story-grid .media .video-poster img[src*="65378f01"] {
    object-position: center 34% !important;
  }
  /* Gil’s prepared landscape still is already a wide frame. */
  html body .stories .story-grid .media .video-poster img[src*="93c21dcd"] {
    object-position: center center !important;
  }

  /* 4. Sakurako stays a real 16:9 cell on Home and Movement.
     The older desktop rule spanned her portrait across two rows. */
  html body .stage-grid > .video-story > .media.thumb-16x9,
  html body .stage-archive-grid > .archive-card > .media.thumb-16x9,
  html body .stage-archive-grid > .archive-card > .media.portrait.thumb-16x9,
  html body .stage-grid > .video-story > .media.thumb-16x9.portrait {
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  html body .stage-archive-grid > .archive-card:nth-child(4) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    height: auto !important;
    align-self: start !important;
  }

  /* 5. Una Vez player scales with the desktop viewport and stays
     on the same left edge as the title above it. */
  html body .showcase .una-feature > .media {
    width: min(100%, 920px, calc(46vh * 16 / 9)) !important;
    max-width: min(100%, 920px, calc(46vh * 16 / 9)) !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    max-height: none !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  html body .ensemble-section .una-feature.movement-una,
  html body .ensemble-section .feature-video.movement-una {
    width: min(100%, 920px, calc(46vh * 16 / 9)) !important;
    max-width: min(100%, 920px, calc(46vh * 16 / 9)) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  html body .ensemble-section .movement-una > .media,
  html body .ensemble-section .una-feature > .media {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    max-height: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  html body .ensemble-section .movement-una .feature-card-meta {
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  /* 6. Break The Rhythm cover, a little larger than the 520px column,
     and still bounded by the viewport height. */
  html body .album-teaser {
    grid-template-columns: minmax(240px, min(640px, 66vh)) minmax(0, 1fr) !important;
    align-items: center !important;
  }
  html body .album-teaser > img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
  }

  /* 7. Releases heading shares the four-column grid with the artwork.
     RELEASES hangs to the first cover; the explore link starts on The Rain. */
  html body .releases .section-head {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 26px !important;
    row-gap: 16px !important;
    align-items: end !important;
  }
  html body .releases .section-head > div {
    grid-column: 1 / 4 !important;
    min-width: 0 !important;
  }
  html body .releases .section-head h2 {
    margin-left: -0.06em !important;
  }
  html body .releases .section-head .text-link {
    grid-column: 4 !important;
    justify-self: start !important;
    align-self: end !important;
    margin: 0 !important;
    max-width: 16em;
  }
  html body .releases .release-grid {
    column-gap: 26px !important;
  }

  /* 8. About: one two-column flow on the page margins.
     Left track is the intro and the whole bio, sharing the logo's left
     edge. Right track is the portrait, on the nav's right edge, sticky
     for the length of the bio. One panel, so the old hero/bio seam is gone.
     Below 900px the photo track shrinks so the text still has a line. */
  html body[data-page="about"] .about-columns {
    display: grid !important;
    grid-template-columns:
      var(--page-inline)
      minmax(0, 1.42fr)
      clamp(28px, 3vw, 56px)
      minmax(0, 1fr)
      var(--page-inline) !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    /* 80px under the grid is the same air the bio used to keep above the
       pink band. The sticky photo stops at the grid, so the credit
       clears the band by that same gap. */
    padding: 132px 0 80px !important;
    background: var(--panel) !important;
    overflow: visible !important;
  }
  html body[data-page="about"] .about-hero,
  html body[data-page="about"] .about-hero + .section {
    display: contents !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
  }
  html body[data-page="about"] .about-hero-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 66ch !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
  }
  html body[data-page="about"] .about-hero-copy .eyebrow {
    margin: 0 0 22px !important;
  }
  html body[data-page="about"] .about-hero-copy h1 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(48px, 4.6vw, 78px) !important;
    line-height: 0.9 !important;
    overflow: visible !important;
  }
  html body[data-page="about"] .about-hero-copy > p:not(.eyebrow) {
    max-width: none !important;
    margin: 28px 0 0 !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
  }
  html body[data-page="about"] .about-hero + .section .editorial,
  html body[data-page="about"] main .editorial {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 66ch !important;
    min-width: 0 !important;
    margin: 40px 0 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
  }
  html body[data-page="about"] .editorial > * {
    max-width: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  html body[data-page="about"] .about-portrait {
    position: sticky !important;
    top: 100px !important;
    grid-column: 4 !important;
    grid-row: 1 / 3 !important;
    align-self: start !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    /* Drop the frame from the eyebrow to the headline caps. Sticky top
       stays 100px so the photo scrolls up to the header, then holds. */
    margin-top: calc(36px + 0.08 * clamp(48px, 4.6vw, 78px)) !important;
    z-index: 1 !important;
  }
  html body[data-page="about"] .about-portrait img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center top !important;
  }
  html body[data-page="about"] .about-portrait figcaption {
    text-align: left !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
  }
  @media (max-width: 900px) {
    html body[data-page="about"] .about-columns {
      grid-template-columns:
        var(--page-inline)
        minmax(0, 1.9fr)
        20px
        minmax(0, 0.78fr)
        var(--page-inline) !important;
    }
    html body[data-page="about"] .about-hero-copy h1 {
      font-size: clamp(40px, 5.4vw, 52px) !important;
    }
    html body[data-page="about"] .about-portrait {
      margin-top: calc(36px + 0.08 * clamp(40px, 5.4vw, 52px)) !important;
    }
  }

  /* 9. Cay Izumi pair: portrait frames, capped so both sit with the heading. */
  html body #cay > .cay-grid,
  html body .cay-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, min(100%, 320px, calc(52vh * 9 / 16)))) !important;
    justify-content: start !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    column-gap: 28px !important;
    row-gap: 28px !important;
  }
  html body .cay-grid > .archive-card {
    width: 100% !important;
    max-width: none !important;
  }
  html body .cay-grid .media,
  html body .cay-grid .media.portrait {
    aspect-ratio: 9 / 16 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 14px !important;
  }

  /* 10. Label two-up covers stay square and short enough for the meta. */
  html body .label-catalogue {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, min(100%, 440px, 44vh))) !important;
    justify-content: start !important;
    column-gap: 32px !important;
    row-gap: 48px !important;
    align-items: start !important;
  }
  html body .label-catalogue > .label-release > img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
  }

  /* 11. Send enquiry is a compact button, not a full-width bar. */
  html body .contact-form > button,
  html body .contact-form button[type="submit"] {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    width: max-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 15px 28px !important;
  }
}
/* ===== end v83 ===== */

/* ===== v84 phone stories + sound =====
   Homepage “Where the music’s travelled” only, and only under 680px.
   Duo in Flow and Gil Gomes are portrait films. On a phone they were still
   9:16, so the two-up row went tall and the play control stayed the large circle.
   Crop them like the other story frames: 16:9, same object-position as desktop,
   small landscape play control. Desktop (min-width 681px) is unchanged. */
@media (max-width: 680px) {
  html body .stories .story-grid > article.story-card > .media,
  html body .stories .story-grid > article.story-card > .media.portrait,
  html body .stories .story-grid > article.story-card > .media.portrait:not(.thumb-16x9) {
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    overflow: hidden !important;
  }
  html body .stories .story-grid > article.story-card > .media .video-poster img,
  html body .stories .story-grid > article.story-card > .media.portrait .video-poster img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  html body .stories .story-grid > article.story-card .media .video-poster img[src*="65378f01"] {
    object-position: center 34% !important;
  }
  html body .stories .story-grid > article.story-card .media .video-poster img[src*="93c21dcd"] {
    object-position: center center !important;
  }
  html body .stories .story-grid > article.story-card > .media .video-poster span,
  html body .stories .story-grid > article.story-card > .media.portrait .video-poster span,
  html body .stories .story-grid > article.story-card > .media.portrait:not(.thumb-16x9) .video-poster span,
  html body .stories .story-grid > article.story-card:not(:last-child:nth-child(odd)) > .media.portrait:not(.thumb-16x9) .video-poster span {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    left: 8px !important;
    right: auto !important;
    bottom: 8px !important;
    top: auto !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }
  html body .stories .story-grid > article.story-card > .media .video-poster span::before,
  html body .stories .story-grid > article.story-card > .media.portrait .video-poster span::before,
  html body .stories .story-grid > article.story-card > .media.portrait:not(.thumb-16x9) .video-poster span::before,
  html body .stories .story-grid > article.story-card:not(:last-child:nth-child(odd)) > .media.portrait:not(.thumb-16x9) .video-poster span::before {
    border-width: 5px 0 5px 8px !important;
    margin: 0 !important;
    transform: translateX(1px) !important;
    position: static !important;
    display: block !important;
  }
}
/* ===== end v84 ===== */

/* ===== v85 desktop: Madonna-style Una Vez and Cay, label four-up =====
   Phone (max-width: 680px) is untouched. Every rule in this block is
   min-width: 681px. Shared base styles are not edited. */
@media (min-width: 681px) {
  /* Una Vez, home and Movement: story and credits in one column, film
     in the other, same split weight as Shared by Madonna. The mauve
     Movement band stays #d8cdd3; the home block stays on its own ground.
     Credits are moved into the heading column by script.js on desktop only. */
  html body .showcase,
  html body .ensemble-section {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.15fr) !important;
    grid-template-rows: auto !important;
    column-gap: clamp(48px, 6vw, 120px) !important;
    row-gap: 0 !important;
    align-items: center !important;
  }
  html body .showcase > .section-head,
  html body .ensemble-section > .section-head {
    grid-column: 1 !important;
    grid-row: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    align-self: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: min(40em, 100%) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body .showcase > .section-head > div,
  html body .ensemble-section > .section-head > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
  }
  html body .showcase .section-head .eyebrow,
  html body .ensemble-section .section-head .eyebrow {
    margin: 0 !important;
  }
  html body .showcase .section-head h2,
  html body .ensemble-section .section-head h2 {
    margin: 0 !important;
    max-width: 9ch !important;
    font-size: clamp(44px, 4.6vw, 76px) !important;
    line-height: 0.9 !important;
  }
  html body .showcase > .section-head > p,
  html body .ensemble-section > .section-head > p {
    margin: 0 !important;
    max-width: 38em !important;
  }
  html body .showcase > .una-feature,
  html body .ensemble-section > .una-feature,
  html body .ensemble-section > .feature-video.movement-una {
    display: block !important;
    grid-column: 2 !important;
    grid-row: auto !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    background: transparent !important;
    pointer-events: auto !important;
  }
  html body .showcase .una-feature > .media,
  html body .ensemble-section .una-feature > .media,
  html body .ensemble-section .movement-una > .media {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
  }
  html body .showcase .feature-card-meta,
  html body .ensemble-section .movement-una .feature-card-meta,
  html body .ensemble-section .feature-card-meta {
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  html body .una-inline-credits {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 16px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }
  html body .una-inline-credits > p {
    margin: 6px 0 0 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  html body .showcase .una-inline-credits,
  html body .showcase .una-inline-credits p,
  html body .showcase .una-inline-credits .more-row span {
    color: #f3eef1 !important;
  }
  html body .showcase .una-inline-credits .more-row strong {
    color: #fa5181 !important;
  }
  html body .showcase .una-inline-credits a {
    color: #f3eef1 !important;
  }
  html body .ensemble-section .una-inline-credits,
  html body .ensemble-section .una-inline-credits p,
  html body .ensemble-section .una-inline-credits .more-row span {
    color: #1a1214 !important;
  }
  html body .ensemble-section .una-inline-credits .more-row strong {
    color: #8e224a !important;
  }
  html body .ensemble-section .una-inline-credits a {
    color: #1a1214 !important;
    text-decoration-color: rgba(142, 34, 74, 0.45) !important;
  }
  /* Credits already sit in the column, so the drop is not shown.
     The nodes live in the heading on desktop, outside .una-feature. */
  html body details.more-info.is-inline {
    display: none !important;
  }

  /* Cay Izumi: intro and the shared credit line beside the two films,
     so the titles sit with the picture instead of under a viewport-tall crop.
     The pair shares Madonna’s film column; each frame stays a portrait. */
  html body #cay.cay-section {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) minmax(280px, 640px) !important;
    grid-template-rows: 1fr auto auto 1fr !important;
    column-gap: clamp(32px, 4vw, 72px) !important;
    row-gap: 0 !important;
    align-items: center !important;
  }
  html body #cay > .section-head {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    align-self: end !important;
    gap: 12px !important;
    width: auto !important;
    max-width: 34em !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
  }
  html body #cay > .section-head > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  html body #cay > .section-head .eyebrow {
    margin: 0 !important;
  }
  html body #cay > .section-head h2 {
    margin: 0 !important;
    font-size: clamp(42px, 4.2vw, 68px) !important;
    line-height: 0.92 !important;
  }
  html body #cay > .section-head > p {
    margin: 0 !important;
    max-width: 36em !important;
  }
  html body #cay > .cay-shared-credits {
    grid-column: 1 !important;
    grid-row: 3 !important;
    align-self: start !important;
    max-width: 36em !important;
    margin: 0 !important;
    line-height: 1.65 !important;
    white-space: normal !important;
  }
  html body #cay > .cay-grid,
  html body #cay .cay-grid {
    grid-column: 2 !important;
    grid-row: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, max-content) !important;
    justify-content: end !important;
    justify-self: end !important;
    align-self: center !important;
    align-items: start !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
  }
  html body #cay .cay-grid > .archive-card {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
  }
  html body #cay .cay-grid .media,
  html body #cay .cay-grid .media.landscape,
  html body #cay .cay-grid .media.portrait {
    aspect-ratio: 9 / 16 !important;
    width: auto !important;
    max-width: 100% !important;
    height: min(500px, calc(100svh - 340px)) !important;
    max-height: none !important;
    margin: 0 0 12px !important;
  }
  html body #cay .cay-grid > .archive-card > .label,
  html body #cay .cay-grid > .archive-card > h3,
  html body #cay .cay-grid > .archive-card > .music-line {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  /* Label Releases: homepage strip, artwork → title → meta → buttons.
     Four across where the homepage strip is four across. */
  html body .label-catalogue {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    column-gap: 26px !important;
    row-gap: 40px !important;
    align-items: start !important;
    width: auto !important;
    max-width: none !important;
    padding: 36px var(--page-inline) 72px !important;
  }
  html body .label-catalogue > .label-release,
  html body .label-catalogue > .label-release:first-child,
  html body .label-catalogue > .label-release:nth-child(even) {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
    background: transparent !important;
  }
  html body .label-catalogue > .label-release > img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
  }
  html body .label-catalogue > .label-release > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
  }
  html body .label-catalogue .label-release h2 {
    order: 1 !important;
    margin: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    font-size: clamp(29px, 3.3vw, 50px) !important;
    font-weight: 500 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
    text-transform: none !important;
  }
  html body .label-catalogue .label-release .eyebrow {
    order: 2 !important;
    display: block !important;
    margin: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    color: #c8c0c5 !important;
  }
  html body .label-catalogue .release-one-liner,
  html body .label-catalogue .release-lead {
    order: 3 !important;
    display: block !important;
    margin: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #c8c0c5 !important;
  }
  html body .label-catalogue .release-actions,
  html body .label-catalogue .album-release .release-actions,
  html body .label-catalogue .release-actions:has(> :only-child) {
    order: 4 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    flex-direction: unset !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 6px 0 0 !important;
    align-self: stretch !important;
  }
  html body .label-catalogue .album-release .release-actions,
  html body .label-catalogue .release-actions:has(> :only-child) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body .label-catalogue .release-actions .button,
  html body .label-catalogue .release-actions .secondary-action,
  html body .label-catalogue .album-release .release-actions > .button,
  html body .label-catalogue .release-actions:has(> :only-child) > .button {
    grid-column: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: none !important;
  }
  html body .label-catalogue .label-release .more-info {
    order: 5 !important;
    margin-top: 2px !important;
  }
}
@media (min-width: 1121px) {
  html body .label-catalogue {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
/* ===== end v85 ===== */

/* ===== v86 Live page: shared section strips and headline wrap =====
   Colours are the same on phone and desktop. The 2027 headline uses
   one shared size and measure so it wraps on spaces at every width. */
html body .live-page-hero {
  background: #050505 !important;
}
html body .section.live-plan {
  background: #2a2432 !important;
}
html body .live-teaser.live-collaboration {
  background: #3a222c !important;
}
html body .live-collaboration h2 {
  max-width: 100% !important;
  margin: 0 !important;
  font-size: clamp(32px, 3.6vw, 36px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-wrap: wrap !important;
}
/* ===== end v86 ===== */

/* Phone sound: the film plays in this page, in the same box as the iframe.
   The Bunny iframe stays hidden so its centre button never becomes a second tap. */
html body .media > video.phone-playback{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  border:0;
  background:#000;
  object-fit:contain;
}
html body .media:has(> video.phone-playback) > iframe{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Standalone landscape pop-ups (Madonna, Una Vez). The frame is a .media, so
   it inherits the thumbnail's 1px light border, and a short 16:9 film lets the
   card show through the 94% overlay. Portrait pop-ups keep their own ratio. */
.video-modal.is-standalone{
  background:#000;
}
.video-modal.is-standalone .video-modal-frame{
  border:0;
  box-shadow:none;
  background:#000 !important;
  background-color:#000 !important;
}
@media(max-width:680px){
  .video-modal.is-standalone{
    padding-left:0;
    padding-right:0;
  }
  .video-modal.is-standalone .video-modal-frame:not(.is-portrait){
    width:100% !important;
  }
}

/* More info hairlines are the top and bottom borders on details.
   A music line does not draw them; it only sits above them.
   Cards with no music line keep the same 1px rules.
   On the light Cirque panel the shared --line is white and disappears,
   so those rules use the same dark hairline as .competition details. */
html body :not(.music-line) + details.more-info{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
html body .cirque-section :not(.music-line) + details.more-info{
  border-color:rgba(0,0,0,.25);
}

/* Duo in Flow, desktop two-column head only (the head stacks at 1000px).
   The intro and the credits were separate tracks: the intro filled the
   section-head's right column, and the credits were a shrink-wrapped
   flex item pushed to the row end. Same right edge as the divider,
   different left edges. One grid track for both, ending where the
   divider and the page padding end. Credit label/value columns stay. */
@media(min-width:1001px){
  html body #cirque > .section-head,
  html body #cirque > .cirque-intro{
    grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);
    column-gap:8vw;
  }
  html body #cirque > .cirque-intro{
    display:grid;
  }
  html body #cirque > .section-head > p,
  html body #cirque > .cirque-intro > .cirque-credits{
    grid-column:2;
    min-width:0;
    max-width:100%;
    justify-self:stretch;
  }
  html body #cirque > .cirque-intro > p{
    grid-column:1;
    min-width:0;
  }
}

/* Madonna eyebrow shares the kicker's content edge (margin, padding and
   text-indent are 0, and letter-spacing does not move the first glyph).
   DM Sans paints the kicker S about 1px inside that edge; the eyebrow D
   sits on it. Indent only the label so the painted left edges meet. */
@media (min-width: 681px) {
  html body .madonna-feature .eyebrow {
    text-indent: 1px;
  }
}

/* Pink CTAs, desktop only. Full-width band, stacked on the page's
   left content edge (the same edge as the section above). Headline
   and paragraph share one readable column: wide enough for "Watch
   the work so far." on one line, so a longer headline wraps to two. */
@media (min-width: 681px) {
  html body .contact-cta {
    --cta-col: min(36rem, 100%);
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }
  html body .contact-cta > * {
    grid-column: auto !important;
    grid-row: auto !important;
    margin-left: 0 !important;
    text-align: left !important;
    align-self: flex-start !important;
    justify-self: start !important;
    min-width: 0;
  }
  html body .contact-cta h2,
  html body .archive-section ~ .contact-cta h2 {
    width: var(--cta-col) !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(44px, 3.4vw, 50px) !important;
    line-height: 0.92 !important;
    text-align: left !important;
    text-wrap: balance;
  }
  html body .contact-cta > p:not(.eyebrow) {
    width: var(--cta-col) !important;
    max-width: 100% !important;
    margin: 28px 0 0 !important;
    text-align: left !important;
  }
  html body .contact-cta .button,
  html body .contact-cta .button.light {
    width: fit-content !important;
    margin: 28px 0 0 !important;
    align-self: flex-start !important;
    justify-self: start !important;
  }
}

/* Label catalogue, desktop. Buttons were a full stack-gap plus two extra
   offsets below the blurb: the global .button margin-top of 25px, and
   another 6px on the action row on top of the 8px column gap. The catalogue
   line sits one 8px gap above the blurb. Match that. Blurb tops stay put;
   script.js still gives each row one shared button baseline. */
@media (min-width: 681px) {
  html body .label-catalogue .release-actions,
  html body .label-catalogue .album-release .release-actions,
  html body .label-catalogue .release-actions:has(> :only-child) {
    margin-top: 0 !important;
  }
  html body .label-catalogue .release-actions .button,
  html body .label-catalogue .release-actions .secondary-action,
  html body .label-catalogue .release-actions a.button {
    margin-top: 0 !important;
  }
}

/* Homepage hero, desktop. The copy was a 780px box with the page inset
   as padding inside it. That inset is the margin of the 1500px column,
   so on a wide window it ate the box: the wordmark collapsed and the
   tagline fell to a few words a line, while the header stayed on the
   column edges. The copy now uses those same edges. The tagline keeps
   a few lines and grows with the window. Phone is unchanged. */
@media (min-width: 681px) {
  html body .hero-copy {
    max-width: none;
    width: auto;
  }
  html body .hero-copy > p {
    max-width: min(100%, max(650px, 22em));
    font-size: clamp(19px, 2vw, 48px);
  }
}


/* iPad portrait (681-1000): restore the stacked album teaser that the desktop
   override above forced into two columns. 1001+ and phone are unchanged. */
@media (min-width: 681px) and (max-width: 1000px) {
  html body .album-teaser { grid-template-columns: 1fr !important; }
  html body .album-teaser > img { max-width: 520px !important; }
}

/* Phone: the sixth card fills the empty column beside DuZll, same cell as on desktop. */
@media (max-width:680px){
  html body .stage-grid > article.video-story:nth-child(6),
  html body #competition .stage-archive-grid > article.archive-card:nth-child(6){
    grid-column:2 !important;
    grid-row:3 !important;
    align-self:start !important;
    justify-self:stretch !important;
    width:100% !important;
    max-width:none !important;
  }
}
/* Phone only: DuZll and Doshisha share one set of rows for the category, the title,
   the music line and More info. Each row is as tall as the taller of the two,
   so those tops line up whatever the font or the wrap. Other cards keep their boxes. */
@media (max-width:680px){
  html body section.competition > .stage-grid,
  html body #competition .stage-archive-grid{
    row-gap:0 !important;
  }
  html body .stage-grid > article.video-story:not(.stage-pair),
  html body #competition .stage-archive-grid > article.archive-card:not(.stage-pair){
    margin-bottom:28px !important;
  }
  html body .stage-grid > article.video-story.stage-pair,
  html body #competition .stage-archive-grid > article.archive-card.stage-pair{
    display:grid !important;
    grid-template-rows:subgrid !important;
    grid-row:3 / span 5 !important;
    row-gap:0 !important;
    align-self:start !important;
    height:auto !important;
  }
  html body .stage-grid > article.video-story.stage-pair:nth-child(5),
  html body #competition .stage-archive-grid > article.archive-card.stage-pair:nth-child(5){
    grid-column:1 !important;
  }
  html body .stage-grid > article.video-story.stage-pair:nth-child(6),
  html body #competition .stage-archive-grid > article.archive-card.stage-pair:nth-child(6){
    grid-column:2 !important;
    grid-row:3 / span 5 !important;
  }
  html body .stage-grid > article.video-story.stage-pair > .media,
  html body #competition .stage-archive-grid > article.archive-card.stage-pair > .media{
    grid-row:1 !important;
    align-self:start !important;
  }
  html body .stage-grid > article.video-story.stage-pair > .label,
  html body #competition .stage-archive-grid > article.archive-card.stage-pair > .label{
    grid-row:2 !important;
    align-self:start !important;
    min-height:0 !important;
  }
  html body .stage-grid > article.video-story.stage-pair > h3,
  html body #competition .stage-archive-grid > article.archive-card.stage-pair > h3{
    grid-row:3 !important;
    align-self:start !important;
    min-height:0 !important;
  }
  html body .stage-grid > article.video-story.stage-pair > .music-line,
  html body #competition .stage-archive-grid > article.archive-card.stage-pair > .music-line{
    grid-row:4 !important;
    align-self:start !important;
    min-height:0 !important;
  }
  html body .stage-grid > article.video-story.stage-pair > details,
  html body #competition .stage-archive-grid > article.archive-card.stage-pair > details{
    grid-row:5 !important;
    align-self:start !important;
  }
}
/* Desktop: the sixth card fills the empty column beside DuZll (row 3, column 2).
   Sakurako no longer spans that cell, and this card was locked to column 1. */
@media (min-width:681px){
  html body .stage-grid > article.video-story:nth-child(6),
  html body #competition .stage-archive-grid > article.archive-card:nth-child(6){
    grid-column:2 !important;
    grid-row:3 !important;
    align-self:start !important;
    justify-self:stretch !important;
    width:100% !important;
    max-width:none !important;
  }
}

/* Takedown note: last line inside the footer. It is taken out of the grid
   so the logo, tagline, links and copyright keep their boxes. The host only
   adds enough bottom padding for this line. */
.video-removal-host{position:relative}
.video-removal-note{
  position:absolute;
  margin:0;
  padding:0;
  color:#8a8a8a;
  font-family:"DM Sans","DM Sans Caps Fallback",Arial,sans-serif;
  font-size:11px;
  font-weight:400;
  font-style:normal;
  line-height:14px;
  letter-spacing:normal;
  text-align:left;
  text-transform:none;
  text-wrap:wrap;
}
.video-removal-note a{
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-decoration:underline;
  text-underline-offset:0.12em;
  white-space:nowrap;
}
@media (min-width:901px){
  .video-removal-host{padding-bottom:38px}
  .video-removal-note{left:var(--page-inline);right:var(--page-inline);bottom:24px}
}
@media (min-width:681px) and (max-width:900px){
  .video-removal-host{padding-bottom:36px}
  .video-removal-note{left:var(--page-inline);right:var(--page-inline);bottom:22px}
}
@media (min-width:477px) and (max-width:680px){
  .video-removal-host{padding-bottom:38.2px}
  .video-removal-note{left:20px;right:20px;bottom:22px;font-size:12px;line-height:16.2px}
}
@media (max-width:476px){
  .video-removal-host{padding-bottom:54.4px}
  .video-removal-note{left:20px;right:20px;bottom:22px;font-size:12px;line-height:16.2px}
}

.contact-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-turnstile{position:absolute !important;left:0 !important;top:0 !important;width:0 !important;height:0 !important;margin:0 !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip-path:inset(50%) !important;pointer-events:none !important}
.contact-form .form-status.is-error{color:var(--pink)}
.contact-form button:disabled{opacity:1;cursor:pointer}
@media (min-width:681px){
  html body .contact-form button[type="submit"]:disabled{background:var(--pink);color:#080808;border:0;opacity:1}
}
@media (max-width:680px){
  html body .contact-form button[type="submit"]:disabled{background:transparent;color:var(--pink);border:1px solid var(--pink);opacity:1}
}

/* Contact privacy line: same muted size as the form labels, sentence case so it can be read. */
.contact-privacy{
  grid-column:1 / -1;
  margin:0;
  color:var(--muted);
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  letter-spacing:normal;
  text-transform:none;
}
.contact-privacy a{
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-decoration:underline;
  text-underline-offset:.12em;
}
@media (min-width:681px){
  html body .contact-form .contact-privacy{
    margin-top:-16px;
    max-width:42em;
  }
}
@media (max-width:680px){
  html body .contact-form .contact-privacy{
    margin-top:-14px;
    max-width:100%;
  }
}

/* Privacy page. Same reading column as About: small pink headings, body copy, page gutters. */
@media (min-width:681px){
  html body[data-page="privacy"] .privacy-page{
    padding-top:144px !important;
  }
  html body[data-page="privacy"] main .editorial{
    display:block !important;
    width:100% !important;
    max-width:66ch !important;
    margin:0 !important;
  }
  html body[data-page="privacy"] .editorial > h1{
    margin:0 !important;
    max-width:100% !important;
    font-size:clamp(48px,4.6vw,78px) !important;
    font-weight:500 !important;
    line-height:.9 !important;
    letter-spacing:-.065em !important;
    text-transform:uppercase !important;
  }
  html body[data-page="privacy"] .editorial > h2{
    margin:56px 0 16px !important;
    padding-top:28px !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
    color:var(--pink) !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.22em !important;
    line-height:1.5 !important;
    text-transform:uppercase !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }
  html body[data-page="privacy"] .editorial > h2 + p{
    margin-top:0 !important;
  }
  html body[data-page="privacy"] .editorial > p{
    margin:0 !important;
    max-width:none !important;
  }
  html body[data-page="privacy"] .editorial > p + p{
    margin-top:18px !important;
  }
  html body[data-page="privacy"] .editorial a{
    color:inherit;
    text-decoration:underline;
    text-underline-offset:.12em;
  }
}
@media (max-width:680px){
  html body[data-page="privacy"] .privacy-page{
    padding-top:112px !important;
  }
  html body[data-page="privacy"] main .editorial{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
  html body[data-page="privacy"] .editorial > h1{
    margin:0 !important;
    max-width:100% !important;
    font-size:44px !important;
    font-weight:500 !important;
    line-height:.9 !important;
    letter-spacing:-.065em !important;
    text-transform:uppercase !important;
  }
  html body[data-page="privacy"] .editorial > h2{
    margin:40px 0 12px !important;
    padding-top:22px !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
    color:var(--pink) !important;
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.14em !important;
    line-height:1.5 !important;
    text-transform:uppercase !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }
  html body[data-page="privacy"] .editorial > h2 + p{
    margin-top:0 !important;
  }
  html body[data-page="privacy"] .editorial > p{
    margin:0 !important;
    max-width:none !important;
  }
  html body[data-page="privacy"] .editorial > p + p{
    margin-top:16px !important;
  }
  html body[data-page="privacy"] .editorial a{
    color:inherit;
    text-decoration:underline;
    text-underline-offset:.12em;
  }
}

/* Footer Privacy link. Same nav item as Label, Instagram and Contact.
   Placement keeps those items, the logo, the tagline and the copyright
   on their existing boxes. */
@media (min-width:681px){
  @media (min-width:901px){
    html body .site-footer nav{
      align-self:start;
      margin-top:28px;
    }
  }
}
@media (max-width:680px){
  html body .site-footer nav{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:44px 44px 44px;
    column-gap:18px;
    row-gap:0;
  }
  html body .site-footer nav a:nth-child(1){grid-column:1 / -1;grid-row:1}
  html body .site-footer nav a:nth-child(2){grid-column:1 / -1;grid-row:2}
  html body .site-footer nav a:nth-child(3){grid-column:1;grid-row:3}
  html body .site-footer nav a.footer-privacy{grid-column:2;grid-row:3}
}

/* SAYA × KOTO heading: handles stay whole, and match the other credit links.
   Phone breaks before × and before the second handle. Desktop keeps
   "× KOTO @__mogumogu_" together when that line fits. */
@media (max-width:680px){
  html body #personal .archive-card > h3 a.credit-handle{
    display:inline;
    color:inherit;
    font:inherit;
    letter-spacing:inherit;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
    hyphens:none;
    text-decoration:underline;
    text-underline-offset:2px;
  }
}
@media (min-width:681px){
  html body #personal .archive-card > h3 a.credit-handle{
    display:inline;
    color:inherit;
    font:inherit;
    letter-spacing:inherit;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
    hyphens:none;
    text-decoration:underline;
    text-underline-offset:2px;
  }
  html body #personal .archive-card > h3 br.saya-break{
    display:none;
  }
  html body #personal .archive-card > h3 .saya-rest{
    display:inline-block;
    max-width:100%;
    vertical-align:top;
  }
}
