.bv-teasers{--bv-green:#24844c;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.bv-teasers.bv-teasers-4{grid-template-columns:repeat(4,minmax(0,1fr))}.bv-teasers .bv-teaser{display:flex;flex-direction:column;background:#fff;border:1px solid #dedfd9;border-radius:6px;overflow:hidden;min-width:0;box-shadow:0 3px 12px #0000000b}.bv-teasers .bv-teaser-image,.bv-teasers .bv-teaser-placeholder{width:100%;aspect-ratio:5/3;object-fit:contain;object-position:center top;background:#f1f4ee;margin:0}.bv-teasers .bv-teaser-placeholder{display:flex;align-items:center;justify-content:center;background:#edf1e7;color:#24844c;font-weight:600}.bv-teasers .bv-teaser-body{display:flex;flex-direction:column;flex:1;padding:22px;gap:12px}.bv-teasers .bv-teaser-category{color:var(--bv-green);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0}.bv-teasers h3{font-size:1.3rem;line-height:1.3;margin:0;color:#202920;overflow-wrap:anywhere}.bv-teasers .bv-teaser-excerpt{font-size:1rem;line-height:1.6;color:#333;margin:0 0 12px;overflow-wrap:anywhere}.bv-teasers a.bv-teaser-button{margin-top:auto;padding:12px 15px;background:var(--bv-green);color:#fff;border-radius:3px;text-decoration:none;text-align:center;font-size:.95rem;font-weight:600}.bv-teasers a.bv-teaser-button:hover{background:#1b663b}.bv-teasers a.bv-teaser-button:focus-visible{outline:3px solid #b47b00;outline-offset:3px}.bv-teasers small{font-size:.75rem;line-height:1.4;color:#555}.bv-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:1000px){.bv-teasers.bv-teasers-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.bv-teasers,.bv-teasers.bv-teasers-4{grid-template-columns:1fr}}

/* Natural aspect ratio for the fixed news banner; keep existing typography. */
.bv-teasers .bv-teaser img.bv-teaser-image-fallback{display:block;width:100%;height:auto;aspect-ratio:2000/596;object-fit:contain;margin:0;padding:0;border:0}
.bv-teasers .bv-teaser .bv-teaser-category,.bv-teasers .bv-teaser h3,.bv-teasers .bv-teaser .bv-teaser-excerpt{word-break:normal;overflow-wrap:normal;hyphens:auto;-webkit-hyphens:auto}

/* Portal group: retain existing typography and card layout. */
.bv-portal-panel{box-sizing:border-box;margin:24px 0;padding:24px;background:#f0f6f2;border-top:3px solid #24844c;border-radius:6px;container-type:inline-size}
.bv-portal-panel .bv-teasers{margin:0}
.bv-portal-panel .bv-teaser{border-color:#dce7df;box-shadow:0 3px 12px #163c240d}
.bv-portal-panel .bv-teasers a.bv-teaser-button{background:#24844c;color:#fff}
.bv-portal-panel .bv-teasers a.bv-teaser-button:hover{background:#1b663b;color:#fff}
@container(max-width:1000px){.bv-portal-panel .bv-teasers.bv-teasers-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:520px){.bv-portal-panel .bv-teasers,.bv-portal-panel .bv-teasers.bv-teasers-4{grid-template-columns:1fr}}
@media(max-width:600px){.bv-portal-panel{padding:14px}}

/* Align all feed images at the top, including news banners supplied as article images. */
.bv-portal-panel .bv-teasers .bv-teaser img.bv-teaser-image,.bv-teasers .bv-teaser img.bv-teaser-image{display:block;object-position:center top;margin-top:0;flex-shrink:0}

/* Natural image height for both feed images and the packaged news banner. */
.bv-portal-panel .bv-teasers .bv-teaser img.bv-teaser-image,.bv-teasers .bv-teaser img.bv-teaser-image{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center top;background:transparent;margin:0;padding:0;border:0;flex-shrink:0}
