.ocm-fbu-section,
.ocm-fbu-section * { box-sizing: border-box; }
.ocm-fbu-section {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 72px 24px 78px;
    background:
        radial-gradient(circle at 88% 10%, rgba(212,173,82,.16), transparent 27%),
        linear-gradient(180deg, #f8f4ec 0%, #f1eadf 100%);
    border-top: 1px solid rgba(212,173,82,.55);
    border-bottom: 1px solid rgba(212,173,82,.55);
    color: #0f283f;
    overflow: hidden;
}
.ocm-fbu-shell { width: min(1240px, 100%); margin: 0 auto; }
.ocm-fbu-header { margin-bottom: 30px; }
.ocm-fbu-eyebrow {
    display: flex; align-items: center; gap: 12px;
    font: 700 12px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    letter-spacing: .17em; color: #8f6b22; text-transform: uppercase;
}
.ocm-fbu-eyebrow-line { width: 36px; height: 2px; background: #d4ad52; display: inline-block; }
.ocm-fbu-heading-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-top: 12px; }
.ocm-fbu-heading-row h2 { margin: 0; color: #0f283f; font-size: clamp(34px,4vw,58px); line-height: 1.02; letter-spacing: -.025em; }
.ocm-fbu-heading-row p { margin: 12px 0 0; max-width: 680px; color: #596673; font-size: 17px; line-height: 1.65; }
.ocm-fbu-fb-badge {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px;
    padding: 9px 13px 9px 9px; border-radius: 999px; background: rgba(255,255,255,.78);
    border: 1px solid rgba(15,40,63,.12); color: #25364a; font: 700 13px/1 system-ui,sans-serif;
    box-shadow: 0 7px 22px rgba(15,40,63,.07);
}
.ocm-fbu-fb-badge span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#1877f2; color:#fff; font:700 18px/1 Arial,sans-serif; }
.ocm-fbu-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.ocm-fbu-card {
    min-width:0; overflow:hidden; background:#fff; border:1px solid rgba(15,40,63,.10); border-radius:18px;
    box-shadow: 0 14px 34px rgba(15,40,63,.09); transition: transform .2s ease, box-shadow .2s ease;
}
.ocm-fbu-card:hover { transform: translateY(-3px); box-shadow: 0 20px 42px rgba(15,40,63,.13); }
.ocm-fbu-media { display:block; width:100%; aspect-ratio:16/10; overflow:hidden; background:#e8e4dc; }
.ocm-fbu-media img { display:block; width:100%; height:100%; object-fit:cover; transition: transform .3s ease; }
.ocm-fbu-card:hover .ocm-fbu-media img { transform: scale(1.018); }
.ocm-fbu-card-body { padding: 22px 22px 24px; }
.ocm-fbu-card-meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:13px; color:#77818b; font:700 11px/1.35 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.055em; }
.ocm-fbu-dot { width:8px; height:8px; border-radius:50%; background:#1877f2; box-shadow:0 0 0 4px rgba(24,119,242,.09); }
.ocm-fbu-date::before { content:"•"; margin-right:7px; color:#c2a15b; }
.ocm-fbu-message { margin:0; color:#26384b; font-size:16px; line-height:1.62; white-space:pre-line; }
.ocm-fbu-button { display:inline-flex; align-items:center; gap:7px; margin-top:20px; color:#0f283f !important; font:800 13px/1 system-ui,sans-serif; text-decoration:none !important; border-bottom:2px solid #d4ad52; padding-bottom:5px; }
.ocm-fbu-button span { transition: transform .2s ease; }
.ocm-fbu-button:hover span { transform: translateX(3px); }
.ocm-fbu-empty { padding:38px; background:#fff; border:1px solid rgba(15,40,63,.10); border-radius:18px; text-align:center; box-shadow:0 12px 30px rgba(15,40,63,.07); }
.ocm-fbu-empty strong { display:block; color:#0f283f; font-size:22px; }
.ocm-fbu-empty p { color:#65717c; }
.ocm-fbu-empty a { color:#0f283f; font-weight:700; }
@media (max-width: 980px) {
    .ocm-fbu-section { padding:58px 22px 64px; }
    .ocm-fbu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ocm-fbu-heading-row { align-items:flex-start; }
}
@media (max-width: 700px) {
    .ocm-fbu-section { padding:48px 18px 54px; }
    .ocm-fbu-heading-row { display:block; }
    .ocm-fbu-fb-badge { margin-top:18px; }
    .ocm-fbu-grid { grid-template-columns:1fr; gap:18px; }
    .ocm-fbu-card-body { padding:20px; }
}
