:root{--ffc-blue:#062b55;--ffc-blue-2:#0a3d74;--ffc-light:#f5f8fc;--ffc-text:#102033;--ffc-muted:#6b7785;--ffc-border:#dbe3ed;--ffc-white:#fff;--ffc-radius:14px;--ffc-shadow:0 10px 30px rgba(5,35,69,.09)}
.ffc-hub{font-family:inherit;color:var(--ffc-text);background:var(--ffc-light);border-radius:18px;overflow:hidden}
.ffc-hub__hero{padding:34px 32px 28px;background:linear-gradient(120deg,var(--ffc-blue),var(--ffc-blue-2));color:#fff}
.ffc-hub__kicker{font-weight:900;font-size:clamp(32px,6vw,66px);line-height:.96;letter-spacing:-.045em}
.ffc-hub__headline{margin-top:10px;font-size:clamp(17px,2.1vw,24px);opacity:.92}
.ffc-hub__filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ffc-hub__filter{appearance:none;border:1px solid rgba(255,255,255,.38);background:transparent;color:#fff;border-radius:999px;padding:9px 17px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s ease}
.ffc-hub__filter:hover,.ffc-hub__filter.is-active{background:#fff;color:var(--ffc-blue);border-color:#fff}
.ffc-hub__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px 26px}
.ffc-card{background:#fff;border:1px solid var(--ffc-border);border-radius:var(--ffc-radius);overflow:hidden;box-shadow:var(--ffc-shadow);min-width:0;display:flex;flex-direction:column}
.ffc-card__media{display:block;aspect-ratio:16/10;position:relative;overflow:hidden;background:#dfe7f0}
.ffc-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.ffc-card:hover .ffc-card__media img{transform:scale(1.025)}
.ffc-card__play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(6,43,85,.88);color:#fff;font-size:22px;padding-left:4px;box-shadow:0 6px 24px rgba(0,0,0,.2)}
.ffc-card__body{padding:17px 18px 18px;display:flex;flex-direction:column;flex:1}
.ffc-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;text-transform:uppercase;font-weight:800;color:var(--ffc-muted);letter-spacing:.035em}
.ffc-card__badge{display:inline-flex;color:#fff;background:var(--ffc-blue);border-radius:5px;padding:5px 8px}
.ffc-card--press .ffc-card__badge{background:#a52f4f}.ffc-card--social .ffc-card__badge{background:#315aa8}.ffc-card--youtube .ffc-card__badge{background:#b82b3a}.ffc-card--podcast .ffc-card__badge{background:#5d4e91}.ffc-card--news .ffc-card__badge{background:var(--ffc-blue-2)}
.ffc-card time{font-size:12px;color:var(--ffc-muted);margin-top:13px}
.ffc-card h3{font-size:20px;line-height:1.16;margin:7px 0 0;color:var(--ffc-text);letter-spacing:-.02em}
.ffc-card p{font-size:14px;line-height:1.52;color:#465466;margin:10px 0 16px}
.ffc-card__cta{margin-top:auto;padding-top:13px;color:#075fc7;text-decoration:none;font-weight:800;font-size:14px;border-top:1px solid #edf1f5}
.ffc-card__cta:hover{text-decoration:underline}
.ffc-hub__footer{text-align:center;padding:2px 24px 28px}
.ffc-hub__more{border:0;background:var(--ffc-blue);color:#fff;border-radius:999px;padding:13px 24px;font-weight:800;cursor:pointer}.ffc-hub__more:hover{background:var(--ffc-blue-2)}.ffc-hub__more[disabled]{opacity:.55;cursor:wait}
.ffc-hub.is-loading .ffc-hub__grid{opacity:.48;transition:opacity .15s ease}
@media(max-width:980px){.ffc-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px}.ffc-hub__hero{padding:30px 24px}}
@media(max-width:620px){.ffc-hub{border-radius:0}.ffc-hub__grid{grid-template-columns:1fr;padding:14px;gap:14px}.ffc-hub__hero{padding:26px 18px 22px}.ffc-hub__filters{gap:7px;margin-top:20px}.ffc-hub__filter{padding:8px 12px;font-size:12px}.ffc-card h3{font-size:19px}}

/* Compact homepage carousel: no NewsHub hero, filters or controls. */
.ffc-hub-home{font-family:inherit;color:var(--ffc-text);width:100%;overflow:hidden}
.ffc-hub-home__viewport{overflow:hidden;padding:2px}
.ffc-hub-home__track{display:flex;gap:20px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.ffc-hub-home .ffc-card{flex:0 0 calc((100% - (var(--ffc-home-visible,3) - 1)*20px)/var(--ffc-home-visible,3));box-sizing:border-box}
@media(max-width:980px){.ffc-hub-home .ffc-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:620px){.ffc-hub-home__track{gap:14px}.ffc-hub-home .ffc-card{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.ffc-hub-home__track{transition:none}}
