.bbs-vbc-grid{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bbs-vbc-gap,16px);grid-auto-flow:row;align-items:stretch}
.bbs-vbc-grid,.bbs-vbc-grid *{box-sizing:border-box}
.bbs-vbc-item{min-width:0;grid-column:span 1;align-self:stretch}
.bbs-vbc-item--rectangle{grid-column:span 2}
.bbs-vbc-item--full{grid-column:1/-1}
.bbs-vbc-item>.ct-div-block,.bbs-vbc-item>.ct-link{width:100%;height:100%}
.bbs-vbc-card{position:relative;display:block;height:100%;width:100%;overflow:hidden;border-radius:10px;background:#304c3e;color:#fff;text-decoration:none;isolation:isolate}
.bbs-vbc-card--overlay{min-height:260px}
.bbs-vbc-item--square .bbs-vbc-card--overlay{aspect-ratio:1}
.bbs-vbc-item--portrait .bbs-vbc-card--overlay{aspect-ratio:3/4}
.bbs-vbc-item--rectangle .bbs-vbc-card--overlay{aspect-ratio:2.04}
.bbs-vbc-card--overlay>.bbs-vbc-image,.bbs-vbc-card--overlay>.bbs-vbc-no-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bbs-vbc-copy{position:absolute;inset:auto 0 0;padding:24px 28px 20px;background:linear-gradient(0deg,rgba(32,54,36,.94),rgba(32,54,36,.66));backdrop-filter:blur(7px);color:#fff}
.bbs-vbc-grid .bbs-vbc-title{margin:0;font-size:clamp(18px,1.5vw,25px);line-height:1.2;font-weight:700;color:inherit}
.bbs-vbc-grid .bbs-vbc-location{margin:12px 0 0;font-size:16px;line-height:1.4;color:inherit}
.bbs-vbc-badge{position:absolute;z-index:2;top:10px;left:10px;max-width:calc(100% - 20px);padding:10px 14px;border-radius:4px;color:#fff;background:#bd772d;font-size:14px;font-weight:700;line-height:1.2;text-transform:uppercase}
.bbs-vbc-card--full{display:grid;grid-template-columns:1fr 1fr;min-height:360px}
.bbs-vbc-media{display:block;position:relative;min-height:280px;overflow:hidden}
.bbs-vbc-media>.bbs-vbc-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bbs-vbc-full-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(24px,6vw,90px);color:#fff}
.bbs-vbc-grid .bbs-vbc-excerpt{margin:18px 0 26px;font-size:17px;line-height:1.5;color:inherit}
.bbs-vbc-button{display:inline-flex;gap:10px;align-items:center;border-radius:50px;padding:18px 32px;background:#f6d200;color:#202719;font-size:20px;font-weight:700;text-decoration:none}
.bbs-vbc-button:hover{background:#ffe750;color:#202719}
.bbs-vbc-card--overlay:focus-visible,.bbs-vbc-button:focus-visible{outline:3px solid #f6d200;outline-offset:4px}
.bbs-vbc-empty{width:100%;padding:24px;border:2px dashed #adb7b0;color:#304c3e;background:#f7f5ef;border-radius:8px;font:16px/1.5 sans-serif}
.bbs-vbc-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:991px){.bbs-vbc-full-copy{padding:30px}.bbs-vbc-card--full{min-height:300px}.bbs-vbc-copy{padding:18px}.bbs-vbc-card--overlay{min-height:230px}}
@media(max-width:767px){.bbs-vbc-grid{grid-template-columns:minmax(0,1fr)}.bbs-vbc-item--rectangle,.bbs-vbc-item--full{grid-column:1/-1}.bbs-vbc-card--full{grid-template-columns:1fr}.bbs-vbc-item--rectangle .bbs-vbc-card--overlay{aspect-ratio:1.4}.bbs-vbc-media{min-height:0;aspect-ratio:1.5}.bbs-vbc-full-copy{padding:26px}.bbs-vbc-grid .bbs-vbc-title{font-size:22px}}

.bbs-vbc-template-warning{padding:12px;margin:0 0 8px;border:1px solid #c28423;background:#fff5dc;color:#54390c;font:13px/1.5 sans-serif}

/* Editorial compositions: 1 large + 3 small, 3 + 3 small, or 2 large cards. */
.bbs-vbc-duo{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--bbs-vbc-gap,16px);min-width:0;align-items:stretch}
.bbs-vbc-duo-column{min-width:0;display:flex;flex-direction:column}
.bbs-vbc-duo-column>.bbs-vbc-item{width:100%;grid-column:auto}
.bbs-vbc-duo-column--feature>.bbs-vbc-item{height:100%}
.bbs-vbc-duo-column--list>.bbs-vbc-item{flex:1}
.bbs-vbc-duo-column--list>.bbs-vbc-item+.bbs-vbc-item{border-top:1px solid #e8e8e8;padding-top:8px;margin-top:8px}
.bbs-vbc-card--feature,.bbs-vbc-card--compact{background:transparent;color:#292929;border-radius:0}
.bbs-vbc-feature-media{display:block;position:relative;aspect-ratio:1.6;overflow:hidden;border-radius:10px;background:#304c3e}
.bbs-vbc-feature-media>.bbs-vbc-image,.bbs-vbc-feature-media>.bbs-vbc-no-image{display:block;width:100%;height:100%;object-fit:cover}
.bbs-vbc-feature-copy{padding:22px 20px 0}
.bbs-vbc-grid .bbs-vbc-heading-link{color:inherit;text-decoration:none}
.bbs-vbc-grid .bbs-vbc-feature-copy .bbs-vbc-excerpt{margin:12px 0 0}
.bbs-vbc-card--compact{display:grid;grid-template-columns:clamp(110px,12.5vw,172px) minmax(0,1fr);gap:22px;align-items:center;min-height:172px}
.bbs-vbc-compact-media{aspect-ratio:1;overflow:hidden;border-radius:10px;background:#304c3e}
.bbs-vbc-compact-media>.bbs-vbc-image,.bbs-vbc-compact-media>.bbs-vbc-no-image{display:block;width:100%;height:100%;object-fit:cover}
.bbs-vbc-grid .bbs-vbc-compact-copy .bbs-vbc-excerpt{margin:10px 0 0;font-size:17px}
.bbs-vbc-card--compact:focus-visible,.bbs-vbc-heading-link:focus-visible{outline:3px solid #d7b900;outline-offset:4px}
@media(max-width:991px){.bbs-vbc-card--compact{grid-template-columns:110px minmax(0,1fr);gap:14px;min-height:140px}.bbs-vbc-grid .bbs-vbc-compact-copy .bbs-vbc-excerpt{font-size:15px}.bbs-vbc-feature-copy{padding:20px 0 0}}
@media(max-width:767px){.bbs-vbc-duo{grid-template-columns:minmax(0,1fr)}.bbs-vbc-card--compact{grid-template-columns:clamp(88px,25vw,140px) minmax(0,1fr);gap:16px;min-height:120px}.bbs-vbc-grid .bbs-vbc-compact-copy .bbs-vbc-title{font-size:18px}.bbs-vbc-grid .bbs-vbc-compact-copy .bbs-vbc-excerpt{font-size:15px}.bbs-vbc-feature-copy{padding:18px 0 0}}

/* Per-instance responsive spacing, shared by the grid and editorial columns. */
.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-default,16px)}
@media(max-width:1920px){.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-1920,var(--bbs-vbc-gap-default,16px))}}
@media(max-width:1600px){.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-1600,var(--bbs-vbc-gap-1920,var(--bbs-vbc-gap-default,16px)))}}
@media(max-width:1440px){.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-1440,var(--bbs-vbc-gap-1600,var(--bbs-vbc-gap-1920,var(--bbs-vbc-gap-default,16px))))}}
@media(max-width:1280px){.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-1280,var(--bbs-vbc-gap-1440,var(--bbs-vbc-gap-1600,var(--bbs-vbc-gap-1920,var(--bbs-vbc-gap-default,16px)))))}}
@media(max-width:1100px){.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-1100,var(--bbs-vbc-gap-1280,var(--bbs-vbc-gap-1440,var(--bbs-vbc-gap-1600,var(--bbs-vbc-gap-1920,var(--bbs-vbc-gap-default,16px))))))}}
@media(max-width:991px){.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-991,var(--bbs-vbc-gap-1100,var(--bbs-vbc-gap-1280,var(--bbs-vbc-gap-1440,var(--bbs-vbc-gap-1600,var(--bbs-vbc-gap-1920,var(--bbs-vbc-gap-default,16px)))))))}}
@media(max-width:767px){.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-767,var(--bbs-vbc-gap-991,var(--bbs-vbc-gap-1100,var(--bbs-vbc-gap-1280,var(--bbs-vbc-gap-1440,var(--bbs-vbc-gap-1600,var(--bbs-vbc-gap-1920,var(--bbs-vbc-gap-default,16px))))))))}}
@media(max-width:480px){.bbs-vbc-grid{--bbs-vbc-gap:var(--bbs-vbc-gap-480,var(--bbs-vbc-gap-767,var(--bbs-vbc-gap-991,var(--bbs-vbc-gap-1100,var(--bbs-vbc-gap-1280,var(--bbs-vbc-gap-1440,var(--bbs-vbc-gap-1600,var(--bbs-vbc-gap-1920,var(--bbs-vbc-gap-default,16px)))))))))}}
/* Existing compact cards use two half-gaps around their separator. */
.bbs-vbc-duo-column--list>.bbs-vbc-item+.bbs-vbc-item{padding-top:calc(var(--bbs-vbc-gap,16px) / 2);margin-top:calc(var(--bbs-vbc-gap,16px) / 2)}
