/* Hero video block (acf/hero-video) */
.hsf-hv{position:relative;overflow:hidden;container-type:size;border-radius:.625rem;background:#e9e9e9;width:100%}
.hsf-hv__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* 16:9 player scaled to cover the box (like object-fit:cover), whatever the box ratio */
.hsf-hv__frame{position:absolute;top:50%;left:50%;border:0;pointer-events:none;width:max(100cqw,calc(100cqh * 16 / 9));height:max(100cqh,calc(100cqw * 9 / 16));transform:translate(-50%,-50%);max-width:none !important;max-height:none !important}
.hsf-hv__toggle{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.45);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.hsf-hv__toggle span{display:block;width:10px;height:12px;border-left:3px solid #fff;border-right:3px solid #fff}
.hsf-hv__toggle[data-state="paused"] span{width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent #fff;margin-left:3px}
.hsf-hv__toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hsf-hv__note{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.55);color:#fff;font:500 12px/1.2 Barlow,sans-serif;padding:6px 10px;border-radius:4px}
.hsf-hv__empty{padding:1rem;border:1px dashed #bbb;color:#777}
@media (prefers-reduced-motion:reduce){.hsf-hv__frame,.hsf-hv__toggle{display:none}}
/* #164: video always covers the photo — photo inset 2px, player scaled 2% past the edges */
.hsf-hv__poster{inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);border-radius:.5rem}
.hsf-hv__frame{transform:translate(-50%,-50%) scale(1.02)}
