/* MSTEIN visual palette: media leads; provenance lives in each full view. */
.s3w-card img { object-position:var(--media-position,50% 50%); }
.s3w-card .s3w-preview { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--media-position,50% 50%); opacity:0; transition:opacity .55s ease; pointer-events:none; }
.s3w-card .s3w-preview.is-ready { opacity:1; }
.showcase-format { position:absolute; top:14px; right:14px; z-index:2; padding:6px 9px; border:1px solid #ffffff30; border-radius:20px; color:#fff3df; background:#0a090cb8; backdrop-filter:blur(12px); font:500 10px/1.2 Body,Arial,sans-serif; letter-spacing:.09em; }
.is-motion .showcase-format { opacity:0; transition:opacity .25s; }
.is-motion .is-lit .showcase-format { opacity:1; }
.is-motion .s3w-card img { opacity:.73; }
.is-motion .s3w-card.is-lit img { opacity:1; }
.showcase-note { color:#99929e; font:10px/1.5 Body,Arial,sans-serif; letter-spacing:.07em; margin:12px 0 0; }
.is-motion .s3w-head { pointer-events:none; max-width:44rem; }
.s2-slot video[src*="showcase/"] { object-position:50% 50%; }
.s2-slot__cap em { line-height:1.25; }
#study-dialog { background:#111015; border-color:#d6bc8840; border-radius:18px; }
#study-media { height:58svh; background:#08080b; }
#study-dialog .study-copy { padding:22px 28px 24px; }
#study-dialog .study-copy h2 { margin-bottom:10px; letter-spacing:-.035em; }
#study-description { margin-bottom:14px; max-width:65ch; line-height:1.5; }
#study-dialog .showcase-credit { color:#aaa2b2; font-size:11px; line-height:1.5; margin:0; border-top:1px solid #ffffff15; padding-top:12px; }
.showcase-credit a { display:inline-block; margin-left:14px; color:#dcc398; text-decoration:underline; text-underline-offset:3px; }
html:not(.is-motion) .s3w-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
html:not(.is-motion) .s3w-row { display:contents; }
html:not(.is-motion) .s3w-plane { transform:none; }
html:not(.is-motion) .s3w-card:not([data-repeat]) { display:block; }
html:not(.is-motion) .s3w-cap { min-height:102px; }
@media(max-width:767px),(max-aspect-ratio:1/1) {
 .showcase-note { font-size:9px; max-width:34ch; }
 .s3w-line { max-width:31ch; font-size:14px; }
 .showcase-format { top:8px; right:8px; padding:4px 7px; font-size:8px; }
 #study-media { height:48svh; }
 #study-dialog .study-copy { padding:18px 20px 22px; }
 #study-description { font-size:14px; }
 html:not(.is-motion) .s3w-track { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 html:not(.is-motion) .s3w-cap { padding:10px; }
 html:not(.is-motion) .s3w-cap strong { font-size:16px; }
 html:not(.is-motion) .s3w-cap em { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .s3w-card .s3w-preview { transition:none; } }

/* Constrain media to its own viewport so portrait images never overlap credits. */
#study-media { position:relative; overflow:hidden; }
#study-media>img,#study-media>video { position:absolute; inset:0; min-height:0; min-width:0; }
@media(max-width:767px),(max-aspect-ratio:1/1) {
 .is-motion .s3w-stage { min-height:0; }
}
@media(max-width:767px) and (max-height:680px) {
 .is-motion .s3w-title { font-size:38px; }
 .is-motion .s3w-line { font-size:12px; margin-top:10px; }
 .is-motion .showcase-note { font-size:8px; margin-top:8px; max-width:none; }
 .is-motion .s3w-rail { bottom:16px; padding:10px 14px; }
 .is-motion .s3w-rail strong { font-size:20px; }
 .is-motion .s3w-rail em { font-size:11px; }
}
