/* 9.3.1 — consistent media slots, regardless of the uploaded file dimensions. */
:root{--vv-photo-ratio:4/5;--vv-editorial-ratio:16/9;--vv-logo-width:152px;--vv-logo-height:64px}
img{image-orientation:from-image}
:is(.talent-photo-v904,.talent-coverflow-photo-v904){aspect-ratio:var(--vv-photo-ratio)!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden;position:relative}
:is(.talent-photo-v904,.talent-coverflow-photo-v904)>img:not(.talent-logo-v904){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center 25%}
:is(.news-card-media-v10,.event-poster-v6,.upcoming-media-v904,.talent-media-thumb-v6,.media-admin-thumb-v906){display:block;aspect-ratio:var(--vv-editorial-ratio)!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden;position:relative;padding:0!important;flex-shrink:0;background:#111b2a}
:is(.news-card-media-v10,.event-poster-v6,.upcoming-media-v904,.talent-media-thumb-v6,.media-admin-thumb-v906)>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}
/* A flyer may contain small print; keep all of it visible inside the same frame. */
.event-poster-v6>img,.upcoming-media-v904>img{object-fit:contain!important}
:is(.soundcloud-art-v9,.song-detail-art-v905,.talent-track-art-v6,.compact-track-art-v6){aspect-ratio:1!important;overflow:hidden;position:relative;flex-shrink:0}
:is(.soundcloud-art-v9,.song-detail-art-v905,.talent-track-art-v6,.compact-track-art-v6)>img{width:100%!important;height:100%!important;object-fit:cover!important}
.hub-gallery-image{display:block;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important}.hub-gallery-logo{object-fit:contain!important;padding:20px;background:#0d1725}
.public-shell .article-v920 .article-hero-v10>a{display:block;aspect-ratio:16/9;overflow:hidden}
.public-shell .article-v920 .article-hero-v10 img{display:block;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:16/9!important;object-fit:cover!important}
.article-body-v10 .news-inline-photo{width:100%!important;max-width:100%!important;margin-inline:0!important}
.article-body-v10 .news-inline-photo>a{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:12px}
.article-body-v10 .news-inline-photo img{width:100%!important;height:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;max-height:none!important}
/* Logos use a shared box, not their own intrinsic pixel dimensions. Never crop lettering. */
:is(.talent-photo-v904,.talent-coverflow-photo-v904) .talent-logo-v904{width:min(58%,var(--vv-logo-width))!important;height:var(--vv-logo-height)!important;max-height:var(--vv-logo-height)!important;object-fit:contain!important;object-position:center!important}
body.public-shell .talent-identity-v920 .talent-profile-logo-wrap-v904{width:var(--vv-logo-width)!important;height:var(--vv-logo-height)!important;min-width:0!important;max-width:100%!important;align-self:center}
body.public-shell .talent-identity-v920 .talent-profile-logo-v904{position:static!important;inset:auto!important;transform:none!important;display:block!important;width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:right center!important}
.admin-shell .editor-image-preview{display:block;width:min(100%,280px)!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;background:#0a1220;border-radius:10px}
:is(.news-card-v10,.talent-card-v904,.event-card-v6,.media-admin-card-v911){min-width:0;overflow:hidden}
:is(.news-card-v10,.talent-card-v904,.event-card-v6,.media-admin-card-v911) :is(h2,h3,p){overflow-wrap:anywhere}
:is(.news-card-v10,.event-card-v6) :is(h2,h3){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35!important;min-height:2.7em}
.vv-form-feedback{grid-column:1/-1!important;position:relative;padding:18px 20px!important;margin:0 0 20px!important;border:1px solid #718baf;border-radius:12px;background:#111f33;color:#edf4ff;scroll-margin-top:100px;line-height:1.6;overflow-wrap:anywhere}
.vv-form-feedback[hidden]{display:none!important}.vv-form-feedback:focus-visible{outline:2px solid #d8ff3f;outline-offset:3px}
.vv-form-feedback strong{display:block;font-size:16px!important;color:inherit!important;text-transform:none!important;letter-spacing:0!important}
.vv-form-feedback p{font-size:14px!important;color:inherit!important;line-height:1.65!important;margin:6px 0 0!important}
.vv-form-feedback[data-state=error]{background:#31171f;border-color:#e08897;color:#ffe0e6}
.vv-form-feedback[data-state=success]{background:#142918;border-color:#92ba79;color:#e4ffce}
.vv-form-feedback progress{display:block;width:100%;height:9px;margin-top:14px;accent-color:#d8ff3f}.vv-form-feedback progress[hidden]{display:none}
.vv-upload-note{display:block;margin-top:8px;font-size:11px!important;line-height:1.6!important;letter-spacing:0!important;text-transform:none!important;color:#b2c4dd!important}
.admin-shell form[aria-busy=true] button[type=submit]{opacity:.68;cursor:progress}
.admin-shell .flash.error{position:relative;z-index:1;display:block!important;opacity:1!important;animation:none!important}
.vv-system-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.vv-upload-probe{margin-top:18px}.vv-upload-probe input[type=file]{max-width:100%}
@media(max-width:600px){:root{--vv-logo-width:112px;--vv-logo-height:48px}.vv-form-feedback{padding:14px!important}.vv-form-feedback p{font-size:13px!important}.talent-identity-v920{column-gap:12px!important}}

.news-card-v10>img{display:block;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;max-height:none!important}
.event-sponsors-v904>div{min-width:0}.event-sponsors-v904 img{display:block;width:100%!important;height:64px!important;object-fit:contain!important}
.event-gallery-v904>div>button{aspect-ratio:16/9;overflow:hidden}.event-gallery-v904>div>button>img{width:100%!important;height:100%!important;object-fit:cover!important}
.event-lineup-photo-v904{aspect-ratio:4/5!important;height:auto!important;overflow:hidden;position:relative}.event-lineup-photo-v904>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important}
.media-admin-card-v911[data-asset-type=logo] .media-admin-thumb-v906>img{object-fit:contain!important;padding:12px;box-sizing:border-box}
.hub-gallery-flyer{object-fit:contain!important;background:#0d1725}
.talent-card-v904 h2{font-size:clamp(18px,1.9vw,25px)!important;line-height:1.25!important;min-height:2.5em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
