/* Scope every rule: this component also runs inside BB and Gutenberg previews. */
.sfcs-mv{--mv-gold:#AD923C;--mv-ink:#373f43;--mv-cream:#f9f5ef;--mv-gap:28px;--mv-width:min(1210px,calc(100vw - 60px));--mv-card:calc((var(--mv-width) - 2*var(--mv-gap))/3);color:var(--mv-ink);padding:72px 0 80px;background:var(--mv-cream);font-family:mr-eaves-modern,sans-serif;line-height:1.35;position:relative;width:100vw;margin-left:calc(50% - 50vw)}
/* Grid can sit in a narrower, offset article column; keep its original container. */
.sfcs-mv--grid{width:auto;margin-left:0}
.sfcs-mv *{box-sizing:border-box}
/* Match the page's 1210px content cap and 30px/20px responsive gutters.
 * Full bleed belongs to the root; heading and first full card share this width. */
.sfcs-mv__header{width:var(--mv-width);max-width:100%;margin:0 auto 32px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.sfcs-mv__introduction{max-width:980px}
.sfcs-mv .sfcs-mv__header h2{font-family:brandon-grotesque,sans-serif;font-size:clamp(32px,3.3vw,52px);font-weight:700;line-height:1.12;margin:0 0 20px;color:var(--mv-ink);text-transform:none}
.sfcs-mv .sfcs-mv__header p{font-size:clamp(19px,1.5vw,23px);line-height:1.35;margin:0!important}
/* Keep controls below the introduction; align the glyph, not its hit area. */
.sfcs-mv__controls{display:flex;gap:1px;margin-left:-9.5px;padding:0;flex-shrink:0}
.sfcs-mv [hidden]{display:none!important}
/* The bridge selector outranks BB global button styles without !important. */
.sfcs-mv .sfcs-mv__controls button,
.fl-page .fl-builder-content .sfcs-mv[data-sfcs-mv] .sfcs-mv__controls button[data-direction]{width:44px;height:44px;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;color:var(--mv-ink);display:grid;place-items:center;cursor:pointer}
.sfcs-mv .sfcs-mv__controls button:hover,
.fl-page .fl-builder-content .sfcs-mv[data-sfcs-mv] .sfcs-mv__controls button[data-direction]:hover{background:transparent}
/* BOH's exact 25x11 arrow geometry; retain a comfortable invisible hit area. */
.sfcs-mv__controls svg{display:block;width:25px;height:11px;transition:transform .18s ease}
/* BB also forces white on button descendants; scope this exception to arrows. */
.sfcs-mv .sfcs-mv__controls svg,.sfcs-mv .sfcs-mv__controls svg path{color:var(--mv-ink)!important;stroke:currentColor!important}
.sfcs-mv__controls [data-direction="-1"] svg{transform:scaleX(-1)}
.sfcs-mv__controls [data-direction="-1"]:is(:hover,:focus-visible) svg{transform:scaleX(-1) translateX(2px)}
.sfcs-mv__controls [data-direction="1"]:is(:hover,:focus-visible) svg{transform:translateX(2px)}
@media(prefers-reduced-motion:reduce){.sfcs-mv__controls svg{transition:none}}
/* A full-bleed viewport does not change the common header/card content edge. */
.sfcs-mv__viewport{width:100%;overflow:hidden}
.sfcs-mv__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--mv-gap);width:var(--mv-width);max-width:100%;margin:0 auto;align-items:stretch}
.sfcs-mv.is-carousel .sfcs-mv__viewport{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}
/* BOH Events interaction: browser-owned horizontal scrolling and card snap.
 * Keep the content gutter as both physical padding and the snap alignment edge. */
.sfcs-mv.is-carousel .sfcs-mv__track{display:flex;gap:var(--mv-gap);width:100%;max-width:none;margin:0;padding:0 calc((100vw - var(--mv-width))/2) 2px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:calc((100vw - var(--mv-width))/2);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.sfcs-mv.is-carousel .sfcs-mv__track::-webkit-scrollbar{display:none}
.sfcs-mv.is-carousel .sfcs-mv__card{width:var(--mv-card);flex:0 0 var(--mv-card);scroll-snap-align:start}
.sfcs-mv__track:focus-visible{outline:2px solid var(--mv-ink);outline-offset:-2px}
.sfcs-mv__card{display:flex;flex-direction:column;min-width:0;margin:0;text-align:left}
.sfcs-mv .sfcs-mv__media{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#e5dfd4;text-decoration:none;color:var(--mv-ink)}
.sfcs-mv__media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover;border:0;border-radius:0;box-shadow:none}
/* News deliberately has no inherited BB photo frame; media always crops to 16:9. */
.sfcs-news .sfcs-mv__media{border:0;box-shadow:none}
.sfcs-mv__empty{width:var(--mv-width);max-width:100%;margin:0 auto}
.sfcs-mv__placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:700 24px/1.3 Georgia,serif;text-align:center}
.sfcs-mv__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border:2px solid white;border-radius:50%;display:grid;place-items:center;background:transparent;filter:drop-shadow(0 1px 3px #0008)}
.sfcs-mv__play svg{width:30px;height:30px;fill:white;margin-left:2px}
.sfcs-mv__media:hover .sfcs-mv__play{transform:translate(-50%,-50%) scale(1.06)}
.sfcs-mv__copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding-top:30px}
.sfcs-mv time{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.045em;color:#876e24;margin-bottom:14px;display:block}
.sfcs-mv .sfcs-mv__card h3{font-family:brandon-grotesque,sans-serif;font-size:25px;line-height:1.14;font-weight:900;text-transform:uppercase;margin:0 0 16px;color:var(--mv-ink)}
.sfcs-mv .sfcs-mv__card h3 a{color:inherit;text-decoration:none}
.sfcs-mv .sfcs-mv__excerpt{font-size:20px;line-height:1.35;margin:0 0 32px!important}
.sfcs-mv .sfcs-mv__button{display:inline-block;align-self:flex-start;margin-top:auto;padding:14px 28px;background:var(--mv-gold);color:#fff!important;font-family:brandon-grotesque,sans-serif;font-size:20px;line-height:1.3;letter-spacing:.04em;font-weight:900;text-transform:uppercase;text-decoration:none;border:0;border-radius:0}
.sfcs-mv .sfcs-mv__button:hover{background:#947b2e}
.sfcs-mv :is(a,button):focus-visible{outline:3px solid #3e4548;outline-offset:5px}
.sfcs-mv__sr{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Video-only lightbox: no visible title, panel, secondary link or decorative frame. */
.sfcs-mv .sfcs-mv__dialog{width:min(1000px,calc(100vw - 32px),calc((100dvh - 92px)*16/9));max-width:none;padding:44px 0 0;background:transparent;color:#fff;border:0;box-shadow:none;max-height:calc(100dvh - 32px);overflow:visible}
.sfcs-mv__dialog::backdrop{background:#111e}
.sfcs-mv .sfcs-mv__dialog button,
.fl-page .fl-builder-content .sfcs-mv[data-sfcs-mv] .sfcs-mv__dialog button[data-close]{position:absolute;right:0;top:0;width:44px;height:44px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:#fff;font:32px/1 Arial,sans-serif;cursor:pointer}
.sfcs-mv .sfcs-mv__dialog button:focus-visible{outline-color:#fff;outline-offset:-4px}
.sfcs-mv__player{aspect-ratio:16/9;background:#111}
.sfcs-mv__player iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:1024px){.sfcs-mv{--mv-card:calc((var(--mv-width) - var(--mv-gap))/2)}.sfcs-mv__track{grid-template-columns:repeat(2,minmax(0,1fr))}.sfcs-mv__header{gap:24px}.sfcs-mv .sfcs-mv__card h3{font-size:24px}.sfcs-mv__controls{gap:10px}}
/* The page switches to 20px gutters at 768px. A smaller card gap retains
 * the off-canvas peek while keeping the first card on that same content edge. */
@media(max-width:768px){.sfcs-mv{--mv-width:calc(100vw - 40px);--mv-gap:16px}}
@media(max-width:640px){.sfcs-mv{--mv-card:calc(var(--mv-width) - 24px);padding:48px 0}.sfcs-mv__header{display:block;margin-bottom:32px}.sfcs-mv__controls{margin-top:24px}.sfcs-mv__track{grid-template-columns:1fr}.sfcs-mv .sfcs-mv__card h3{font-size:24px;margin-bottom:16px}.sfcs-mv__copy{padding-top:28px}.sfcs-mv .sfcs-mv__excerpt{font-size:19px}}
/* Editor wrappers can be narrower than the viewport. Keep preview contained. */
.editor-styles-wrapper .sfcs-mv{--mv-width:100%;width:100%;margin-left:0;padding:32px 0}
.editor-styles-wrapper .sfcs-mv.is-carousel .sfcs-mv__viewport{width:100%;margin-left:0}
/* Selecting a News preview must select the block, never navigate its iframe to
 * an article. The renderer also removes these preview links from the tab order. */
.sfcs-news[data-editor-preview="true"] a{pointer-events:none}
