.bfv-home, .bfv-archive, .bfv-single, .bfv-dialog { --bfv-navy:#061724; --bfv-orange:#ff5b3d; --bfv-mint:#93f0ce; --bfv-paper:#f5f3ee; color:var(--bfv-navy); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; line-height:1.6; }
.bfv-home *, .bfv-archive *, .bfv-single *, .bfv-dialog * { box-sizing:border-box; }
.bfv-wrap { width:min(1480px,calc(100% - 56px)); margin-inline:auto; }
.bfv-home { padding:92px 0; background:var(--bfv-navy); color:#fff; }
.bfv-eyebrow { margin:0 0 16px; color:var(--bfv-orange); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.bfv-section-head { display:grid; grid-template-columns:1.3fr 1fr; align-items:end; gap:48px; margin-bottom:38px; }
.bfv-section-head h2 { margin:0; font-size:clamp(38px,4.5vw,66px); font-weight:620; line-height:1.03; letter-spacing:-.045em; }
.bfv-section-intro { max-width:480px; justify-self:end; }
.bfv-section-intro p { margin:0 0 20px; color:#b7c5ce; }
.bfv-text-link { display:inline-flex; gap:18px; align-items:center; min-height:44px; color:inherit; font-size:14px; font-weight:750; text-decoration:none; }
.bfv-text-link span { color:var(--bfv-orange); font-size:24px; }
.bfv-home-grid { display:grid; grid-template-columns:1.45fr 1fr; gap:22px; }
.bfv-home-grid--1 { grid-template-columns:minmax(0,1fr); max-width:980px; }
.bfv-home-grid--3 .bfv-card--featured { grid-row:span 2; }
.bfv-card { min-width:0; overflow:hidden; background:#fff; border:1px solid #dfe3e4; }
.bfv-card-link { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.bfv-thumb { position:relative; display:block; flex:none; aspect-ratio:16/9; overflow:hidden; isolation:isolate; background:#07111a; }
.bfv-thumb img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.bfv-thumb--portrait img { object-fit:contain; }
.bfv-thumb::after { content:""; position:absolute; inset:45% 0 0; z-index:0; background:linear-gradient(transparent,rgba(0,0,0,.35)); pointer-events:none; }
.bfv-no-poster { display:grid; height:100%; align-content:center; justify-items:center; color:#b7c5ce; font-size:clamp(22px,3vw,42px); font-weight:750; letter-spacing:.2em; }
.bfv-no-poster span { font-size:10px; letter-spacing:.18em; }
.bfv-play { position:absolute; left:50%; top:50%; z-index:1; display:grid; place-items:center; width:54px; height:54px; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(6,23,36,.68); color:#fff; transform:translate(-50%,-50%); transition:background .2s ease; }
.bfv-play svg { display:block; width:24px; height:24px; fill:currentColor; }
.bfv-duration { position:absolute; z-index:1; right:12px; bottom:12px; padding:2px 7px; border-radius:3px; background:rgba(0,0,0,.75); color:#fff; font-size:12px; font-variant-numeric:tabular-nums; }
.bfv-card-copy { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:24px; min-width:0; }
.bfv-category { color:#526673; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.bfv-card-copy h3 { margin:8px 0 12px; font-size:21px; font-weight:650; line-height:1.25; letter-spacing:-.025em; overflow-wrap:anywhere; }
.bfv-card-summary { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0 0 20px; color:#526673; font-size:14px; line-height:1.6; }
.bfv-disclosure { display:block; margin:0 0 14px; padding:6px 9px; border:1px solid #d9c4a4; background:#fbf0de; color:#66451f; font-size:11px; line-height:1.5; }
.bfv-disclosure--single { display:inline-block; margin:14px 0 0; }
.bfv-watch { display:flex; align-items:center; gap:18px; margin-top:auto; font-size:12px; font-weight:750; }
.bfv-watch span { color:#a72b13; font-size:19px; }
.bfv-home .bfv-card { background:#0e283b; border-color:#294051; }
.bfv-home .bfv-category, .bfv-home .bfv-watch span { color:var(--bfv-mint); }
.bfv-home .bfv-card-summary { color:#b7c5ce; }
.bfv-home .bfv-card--featured h3 { font-size:clamp(25px,2.3vw,34px); }
.bfv-home-grid--3 .bfv-card:not(.bfv-card--featured) .bfv-card-link { display:grid; grid-template-columns:44% minmax(0,1fr); align-items:center; }
.bfv-home-grid--3 .bfv-card:not(.bfv-card--featured) .bfv-card-copy { padding:20px; }
.bfv-home-grid--3 .bfv-card:not(.bfv-card--featured) .bfv-thumb { height:clamp(210px,18vw,270px); min-height:0; aspect-ratio:auto; }
.bfv-home-grid--3 .bfv-card:not(.bfv-card--featured) h3 { font-size:19px; }
.bfv-home-grid--3 .bfv-card:not(.bfv-card--featured) .bfv-card-summary { display:none; }
.bfv-card-link:hover .bfv-play, .bfv-card-link:focus-visible .bfv-play { background:#bd321a; }
.bfv-card-link:hover .bfv-thumb:not(.bfv-thumb--portrait) img { transform:scale(1.025); }
.bfv-page-head { padding:32px 0 64px; background:var(--bfv-navy); color:#fff; }
.bfv-back { display:inline-flex; gap:12px; min-height:44px; align-items:center; margin-bottom:26px; font-size:13px; color:inherit; text-decoration:none; }
.bfv-page-head .bfv-back { color:#b7c5ce; }
.bfv-page-head h1 { margin:0 0 22px; font-size:clamp(48px,6vw,86px); font-weight:620; letter-spacing:-.055em; line-height:1; }
.bfv-lead { max-width:590px; margin:0; color:#b7c5ce; font-size:17px; }
.bfv-archive { background:var(--bfv-paper); }
.bfv-library { padding-block:36px 76px; }
.bfv-library-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; }
.bfv-filters { display:flex; flex-wrap:wrap; gap:8px; }
.bfv-filters a { display:flex; align-items:center; min-height:44px; padding:10px 18px; border:1px solid #c9d1d5; color:#354d5e; font-size:13px; font-weight:700; text-decoration:none; }
.bfv-filters a[aria-current="page"] { background:var(--bfv-navy); border-color:var(--bfv-navy); color:#fff; }
.bfv-filters a:hover { border-color:var(--bfv-navy); }
.bfv-result-count { margin:0; color:#526673; font-size:13px; }
.bfv-video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.bfv-video-grid .bfv-thumb { aspect-ratio:4/3; }
.bfv-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:22px; margin-top:38px; font-size:13px; }
.bfv-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:11px 19px; border:1px solid var(--bfv-orange); background:var(--bfv-orange); color:#061724; font-size:13px; font-weight:800; line-height:1.4; text-align:center; text-decoration:none; }
.bfv-button--outline { background:transparent; border-color:#9caeb8; color:inherit; }
.bfv-button:hover { filter:brightness(.93); }
.bfv-actions { display:flex; flex-wrap:wrap; gap:12px; }
.bfv-empty { padding:64px 24px; border:1px solid #ced6da; background:#fff; text-align:center; }
.bfv-empty-mark { display:inline-grid; place-items:center; width:54px; height:54px; margin-bottom:16px; border:1px solid #c5d0d6; border-radius:50%; color:#647783; }
.bfv-empty h2, .bfv-empty h1 { margin:0 0 16px; font-size:clamp(26px,3vw,38px); font-weight:620; line-height:1.2; letter-spacing:-.035em; }
.bfv-empty p { max-width:540px; margin:0 auto 24px; color:#526673; }
.bfv-empty .bfv-actions { justify-content:center; }
.bfv-contact-strip { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; margin-top:56px; padding:28px 0 0; border-top:1px solid #cbd4d8; }
.bfv-contact-strip h2 { margin:0 0 6px; font-size:24px; font-weight:620; line-height:1.25; letter-spacing:-.03em; }
.bfv-contact-strip p { margin:0; color:#526673; font-size:14px; }
.bfv-single { padding:30px 0 80px; background:var(--bfv-navy); color:#fff; }
.bfv-single .bfv-wrap { max-width:1180px; }
.bfv-single .bfv-back { color:#b7c5ce; }
.bfv-single-head { max-width:940px; margin-bottom:30px; }
.bfv-single-head h1 { margin:0; font-size:clamp(32px,4.5vw,62px); font-weight:620; letter-spacing:-.045em; line-height:1.12; overflow-wrap:anywhere; }
.bfv-player-stage, .bfv-dialog-stage { position:relative; display:grid; grid-template: minmax(0,1fr) / minmax(0,1fr); place-items:center; width:100%; min-width:0; min-height:0; aspect-ratio:16/9; background:#000; }
.bfv-player-stage.bfv-player--portrait { aspect-ratio:auto; height:min(76vh,860px); }
.bfv-dialog-stage.bfv-player--portrait { aspect-ratio:auto; height:min(70vh,760px); }
.bfv-player-stage video, .bfv-player-stage iframe, .bfv-dialog-stage video, .bfv-dialog-stage iframe { display:block; width:100%; height:100%; min-width:0; min-height:0; max-width:100%; max-height:100%; border:0; object-fit:contain; }
.bfv-youtube-load { position:relative; display:block; width:100%; height:100%; color:#fff; }
.bfv-youtube-load > img { width:100%; height:100%; object-fit:cover; opacity:.64; }
.bfv-player--portrait .bfv-youtube-load > img { object-fit:contain; }
.bfv-youtube-prompt { position:absolute; display:flex; flex-direction:column; align-items:center; gap:16px; inset:0; justify-content:center; padding:16px; text-align:center; }
.bfv-youtube-prompt .bfv-play { position:static; transform:none; }
.bfv-youtube-prompt strong { padding:5px 10px; background:rgba(6,23,36,.8); font-size:14px; }
.bfv-player-note { margin:12px 0 0; color:#b7c5ce; font-size:12px; }
.bfv-video-details { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; margin-top:40px; }
.bfv-detail-label { margin:0 0 12px; color:var(--bfv-mint); font-size:11px; font-weight:800; letter-spacing:.12em; }
.bfv-video-description > p:not(.bfv-detail-label) { margin:0; color:#ccd6dd; white-space:normal; overflow-wrap:anywhere; }
.bfv-video-inquiry { padding-left:32px; border-left:1px solid #344956; }
.bfv-video-inquiry h2 { margin:0 0 8px; font-size:23px; font-weight:620; line-height:1.25; }
.bfv-video-inquiry p { margin:0 0 22px; color:#b7c5ce; font-size:14px; }
.bfv-single .bfv-empty { color:var(--bfv-navy); }
.bfv-dialog { box-sizing:border-box; width:min(1000px,calc(100% - 32px)); max-width:none; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #4e6472; background:var(--bfv-navy); color:#fff; overflow:hidden; }
.bfv-dialog[open] { display:flex; flex-direction:column; }
.bfv-dialog--portrait { width:min(440px,calc(100% - 32px)); }
.bfv-dialog .bfv-dialog-stage { flex:0 1 auto; overflow:hidden; }
.bfv-dialog .bfv-dialog-stage.bfv-player--portrait { height:min(70vh,760px); height:min(70dvh,760px); }
.bfv-dialog-stage > video, .bfv-dialog-stage > iframe { position:absolute; inset:0; }
.bfv-dialog-top, .bfv-dialog-link, .bfv-dialog > .bfv-disclosure { flex:none; }
.bfv-dialog::backdrop { background:rgba(0,10,18,.88); }
.bfv-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 20px; }
.bfv-dialog-top h2 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; font-size:19px; font-weight:650; line-height:1.3; overflow-wrap:anywhere; }
.bfv-dialog-close { flex:none; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #5f7483; background:transparent; color:#fff; font-size:27px; cursor:pointer; }
.bfv-dialog-link { display:inline-flex; align-items:center; min-height:48px; margin:6px 20px; color:var(--bfv-mint); font-size:14px; text-underline-offset:5px; }
.bfv-dialog .bfv-disclosure { margin:14px 20px 0; }
.bfv-dialog > .bfv-disclosure { max-height:3.5em; overflow:auto; }
.bfv-dialog .bfv-disclosure[hidden] { display:none; }
.bfv-dialog-error { position:relative; z-index:1; max-height:100%; overflow:auto; margin:16px 20px; padding:12px; background:#061724; color:#e5c2b7; font-size:14px; }
.bfv-home a:focus-visible, .bfv-archive a:focus-visible, .bfv-single a:focus-visible, .bfv-dialog :focus-visible { outline:3px solid #ef9b00; outline-offset:4px; }
.bfv-card-link:focus-visible { outline-offset:-4px; }
.bfv-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1050px) {
  .bfv-home-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bfv-home-grid--3 .bfv-card--featured { grid-column:1/-1; grid-row:auto; }
  .bfv-home-grid--3 .bfv-card:not(.bfv-card--featured) .bfv-card-link { display:flex; }
  .bfv-home-grid--3 .bfv-card:not(.bfv-card--featured) .bfv-thumb { height:auto; min-height:0; aspect-ratio:16/9; }
  .bfv-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bfv-video-details { gap:32px; }
}
@media (max-width:640px) {
  .bfv-wrap { width:calc(100% - 32px); }
  .bfv-home { padding:56px 0; }
  .bfv-section-head { grid-template-columns:1fr; gap:22px; margin-bottom:26px; }
  .bfv-section-intro { justify-self:start; }
  .bfv-home-grid, .bfv-video-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .bfv-home-grid--3 .bfv-card--featured { grid-column:auto; }
  .bfv-card-copy { padding:22px; }
  .bfv-page-head { padding:22px 0 42px; }
  .bfv-back { margin-bottom:22px; }
  .bfv-lead { font-size:16px; }
  .bfv-library { padding-block:24px 48px; }
  .bfv-filters { gap:6px; }
  .bfv-filters a { padding:10px 13px; font-size:12px; }
  .bfv-library-toolbar { gap:12px; }
  .bfv-empty { padding:38px 18px; }
  .bfv-empty .bfv-button { width:100%; }
  .bfv-contact-strip { margin-top:38px; }
  .bfv-single { padding:20px 0 48px; }
  .bfv-single-head { margin-bottom:24px; }
  .bfv-video-details { grid-template-columns:1fr; gap:30px; margin-top:28px; }
  .bfv-video-inquiry { padding:26px 0 0; border-left:0; border-top:1px solid #344956; }
  .bfv-dialog { width:calc(100% - 24px); }
  .bfv-dialog-top { padding:10px 12px; gap:12px; }
  .bfv-dialog-top h2 { font-size:16px; }
  .bfv-dialog-link { margin-inline:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .bfv-thumb img, .bfv-play { transition:none; }
  .bfv-card-link:hover .bfv-thumb:not(.bfv-thumb--portrait) img { transform:none; }
}
