/* Image frames retain the dimensions defined by the page's original layout. */
:where(.cms-frame){display:block;position:relative;min-width:0;margin:0;width:100%;aspect-ratio:var(--media-ratio);overflow:hidden}
body .cms-frame>img.cms-source{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none;aspect-ratio:auto!important;object-fit:cover;transform:none!important;opacity:1}
.film-destination .cms-frame>img.cms-source,.letter-cover .cms-frame>img.cms-source{object-fit:contain}
.cms-caption,.cms-overlay-caption{font:400 13px/1.45 var(--sans);letter-spacing:normal;text-align:left;color:#fff;background:#171813c9;padding:8px 12px;max-width:min(90%,60ch);overflow-wrap:anywhere}
.cms-caption{position:absolute;left:0;bottom:0;margin:0;z-index:2}
.cms-overlay-caption{position:absolute;left:20px;bottom:20px;z-index:2}
.property-card .cms-caption{top:14px;bottom:auto;left:14px}
.cms-caption[hidden],.cms-overlay-caption[hidden]{display:none}
.pillar-image:not(.active)+.cms-overlay-caption{display:none}
.pillar-images>.cms-overlay-caption{top:20px;bottom:auto}
.hero>.cms-overlay-caption{left:20px;bottom:80px}
.hero:has(.hero-video.ready:not([hidden]))>.cms-overlay-caption,.cellar-hero:has(video.ready)>.cms-overlay-caption{display:none}
.bottle-stage>.cms-overlay-caption{left:5%;bottom:0;font-size:11px;z-index:3}
@media(max-width:700px){.cms-caption,.cms-overlay-caption{font-size:12px;padding:6px 9px}.cms-overlay-caption{left:12px;bottom:12px}}
