.hub-wrap { width:min(1120px,calc(100% - 32px)); }
.hub-header { margin-bottom:32px; padding:8px 0; }
.hub-header .subtitle { margin:5px 0 0; }
.hub-home { color:#142f50; font-size:clamp(1.5rem,3vw,2rem); font-weight:750; line-height:1.2; text-decoration:none; }
.hub-home:hover { text-decoration:underline; }
.hub-hero { padding:clamp(30px,5vw,54px); border-top:5px solid var(--blue); background:linear-gradient(135deg,#fff 0%,#f7faff 68%,#edf4fc 100%); }
.hub-hero h1 { margin:12px 0 16px; font-size:clamp(2rem,5vw,3.2rem); }
.hub-hero p { max-width:680px; margin:0; color:#49596a; font-size:1.08rem; }
.hub-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:28px 0; }
.hub-card { display:flex; flex-direction:column; align-items:flex-start; min-height:345px; padding:clamp(25px,3vw,34px); border-top:5px solid var(--blue); }
.hub-card-bll { border-top-color:#365d44; }
.hub-card-mpa { border-top-color:#6a4d83; }
.hub-card-number { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#e7eff8; color:var(--blue); font-weight:850; }
.hub-card-bll .hub-card-number { background:#e7f1ea; color:#365d44; }
.hub-card-mpa .hub-card-number { background:#f0eaf5; color:#6a4d83; }
.hub-card-content { flex:1; }
.hub-card .eyebrow { margin:24px 0 9px; }
.hub-card-bll .eyebrow { color:#365d44; }
.hub-card-mpa .eyebrow { color:#6a4d83; }
.hub-card h2 { margin-bottom:13px; font-size:clamp(1.35rem,2.1vw,1.7rem); }
.hub-card-content > p:last-child { color:var(--muted); }
.hub-card-link { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; margin-top:24px; }
.hub-card-bll .hub-card-link { background:#365d44; }
.hub-card-bll .hub-card-link:hover { background:#284a34; }
.hub-card-mpa .hub-card-link { background:#604477; }
.hub-card-mpa .hub-card-link:hover { background:#4d3561; }
.hub-footer { display:flex; justify-content:space-between; gap:16px; padding:8px 2px 24px; }
.hub-footer a { color:#687585; }
@media (max-width:850px) { .hub-grid { grid-template-columns:1fr; } .hub-card { min-height:0; } }
@media (max-width:560px) { .hub-header { align-items:flex-start; } .hub-header .logo { width:110px; } .hub-grid { gap:16px; } }
