/* Role hubs (broker, agent, student, insurers, buyers). Scoped to body.hub. */
.hub main{max-width:1080px;margin:0 auto;padding:0 16px 40px}
.hub .hb-hero{display:grid;gap:18px;padding:22px 0 8px}
.hub .hb-hero h1{font:800 clamp(28px,6vw,46px)/1.08 var(--font-sans,Inter,sans-serif);margin:6px 0 8px;letter-spacing:-.02em}
.hub .hb-hero p.lede{font-size:17px;line-height:1.5;margin:0;opacity:.85}
.hub .hb-hero img{width:100%;height:auto;border-radius:18px;aspect-ratio:16/10;object-fit:cover}
.hub .bc{font-size:13px;opacity:.75}.hub .bc a{color:inherit}
.hub .hb-emoji{display:inline-block;font-size:28px;animation:hbw 2.4s ease-in-out infinite}
@keyframes hbw{0%,100%{transform:rotate(0)}50%{transform:rotate(-8deg) translateY(-2px)}}
@media (min-width:820px){.hub .hb-hero{grid-template-columns:1.2fr 1fr;align-items:center}}
.hub .hb-chips{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;padding:10px 0;margin:8px 0 4px;background:var(--bg,#fff);scrollbar-width:none;border-bottom:1px solid var(--line,#e7e7ef)}
.hub .hb-chips::-webkit-scrollbar{display:none}
.hub .hb-chips a{flex:0 0 auto;padding:8px 14px;border-radius:999px;border:1px solid var(--line,#e2e2ea);font:600 14px/1 var(--font-sans,Inter,sans-serif);color:inherit;text-decoration:none;white-space:nowrap}
.hub .hb-chips a.on{background:var(--accent,#2747d8);border-color:var(--accent,#2747d8);color:#fff}
.hub section.hb-s{padding:28px 0 6px;scroll-margin-top:64px}
.hub section.hb-s>h2{font:800 clamp(22px,4.5vw,30px)/1.15 var(--font-sans,Inter,sans-serif);margin:0 0 6px;letter-spacing:-.01em}
.hub section.hb-s>p.sub{margin:0 0 16px;opacity:.75;font-size:15px}
.hub .hb-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:820px){.hub .hb-tiles{grid-template-columns:repeat(4,1fr)}}
.hub .hb-tile{border-radius:16px;padding:16px;background:var(--bg2,#f6f6fb);border:1px solid var(--line,#ececf3)}
.hub .hb-tile b{display:block;font:800 clamp(24px,6vw,34px)/1 var(--font-sans,Inter,sans-serif);color:var(--accent,#2747d8)}
.hub .hb-tile>span{display:block;margin-top:6px;font-size:13.5px;line-height:1.35;opacity:.85}
.hub .hb-cards{display:grid;gap:12px}
@media (min-width:700px){.hub .hb-cards{grid-template-columns:repeat(3,1fr)}}
.hub .hb-card{border-radius:18px;padding:18px;border:1px solid var(--line,#ececf3);background:var(--bg,#fff);box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .15s}
.hub .hb-card:hover{transform:translateY(-2px)}
.hub .hb-card .ic{font-size:26px}.hub .hb-card h3{margin:8px 0 4px;font-size:18px}.hub .hb-card p{margin:0;font-size:14.5px;line-height:1.45;opacity:.85}
.hub .hb-card ul{margin:8px 0 0;padding-left:18px;font-size:14px;line-height:1.5}
.hub .hb-steps{list-style:none;margin:0;padding:0;counter-reset:s}
.hub .hb-steps li{position:relative;padding:0 0 18px 52px;counter-increment:s}
.hub .hb-steps li:before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent,#2747d8);color:#fff;font-weight:800}
.hub .hb-steps li:after{content:"";position:absolute;left:17px;top:38px;bottom:2px;width:2px;background:var(--line,#e2e2ea)}
.hub .hb-steps li:last-child:after{display:none}
.hub .hb-steps b{display:block;font-size:16.5px;padding-top:6px}.hub .hb-steps span{display:block;font-size:14.5px;opacity:.85;line-height:1.45;margin-top:3px}
.hub .hb-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line,#ececf3);border-radius:14px}
.hub table.hb-t{border-collapse:collapse;width:100%;font-size:14px;min-width:0}
.hub .hb-t th,.hub .hb-t td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line,#ececf3)}
.hub .hb-t th{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;opacity:.7;background:var(--bg2,#f6f6fb)}
.hub .hb-t td.n,.hub .hb-t th.n{text-align:right;font-variant-numeric:tabular-nums}
.hub .hb-t tr:last-child td{border-bottom:0}
.hub .hb-bars{display:grid;gap:8px}
.hub .hb-bar{display:grid;grid-template-columns:minmax(96px,34%) 1fr auto;gap:10px;align-items:center;font-size:14px}
.hub .hb-bar i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--accent,#2747d8),var(--accent2,#7c5cff));transform-origin:left;animation:hbg .8s ease-out both}
@keyframes hbg{from{transform:scaleX(0)}}
.hub .hb-bar em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.hub .hb-donut{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.hub .hb-donut svg{width:150px;height:150px}
.hub .hb-leg{display:grid;gap:6px;font-size:14px}.hub .hb-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.hub details.hb-q{border:1px solid var(--line,#ececf3);border-radius:14px;padding:12px 14px;margin:0 0 8px}
.hub details.hb-q summary{font-weight:700;cursor:pointer;list-style:none}.hub details.hb-q summary::-webkit-details-marker{display:none}
.hub details.hb-q summary:after{content:"+";float:right;font-weight:800}.hub details.hb-q[open] summary:after{content:"–"}
.hub details.hb-q p{margin:8px 0 0;font-size:14.5px;line-height:1.5}
.hub .hb-news{display:grid;gap:10px}
.hub .hb-news a{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;color:inherit;text-decoration:none;border:1px solid var(--line,#ececf3);border-radius:14px;padding:8px}
.hub .hb-news img{width:64px;height:64px;border-radius:10px;object-fit:cover}
.hub .hb-news b{font-size:14.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hub .hb-news small{display:block;opacity:.65;margin-top:3px;font-size:12px}
.hub .hb-res{display:grid;gap:10px}@media (min-width:700px){.hub .hb-res{grid-template-columns:repeat(2,1fr)}}
.hub .hb-res a{display:block;border:1px solid var(--line,#ececf3);border-radius:14px;padding:14px;color:inherit;text-decoration:none}
.hub .hb-res a b{display:block}.hub .hb-res a span{font-size:13.5px;opacity:.75}
.hub .hb-res a:after{content:"→";float:right;margin-top:-20px;opacity:.5}
.hub .hb-seg{display:inline-flex;border:1px solid var(--line,#e2e2ea);border-radius:999px;padding:3px;margin:0 0 12px;gap:2px}
.hub .hb-seg button{border:0;background:none;padding:7px 12px;border-radius:999px;font:600 13.5px var(--font-sans,Inter,sans-serif);color:inherit;cursor:pointer}
.hub .hb-seg button[aria-pressed=true]{background:var(--accent,#2747d8);color:#fff}
.hub .hb-in{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line,#d9d9e3);font-size:16px;margin:0 0 10px;background:var(--bg,#fff);color:inherit}
.hub .hb-src{font-size:11.5px;opacity:.6;margin:34px 0 0;line-height:1.5}
.hub .hb-src a{color:inherit}
.hub .hb-cta{display:inline-block;margin-top:10px;font-weight:700;color:var(--accent,#2747d8);text-decoration:none}
.hub .hb-mt{margin-top:18px}
@media (prefers-reduced-motion:reduce){.hub *{animation:none!important;transition:none!important}}

.hub .hb-insg{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.hub .hb-ins{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px 14px 14px;border-radius:16px;border:1px solid var(--line,#ececf3);background:var(--bg,#fff);color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}
.hub .hb-ins:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(39,71,216,.08)}
.hub .hb-ins b{font:700 16px/1.25 var(--font-sans,Inter,sans-serif)}.hub .hb-ins span{font-size:12.5px;opacity:.75}
.hub .hb-ins .rk{font:800 13px/1 var(--font-sans,Inter,sans-serif);color:var(--accent,#2747d8);opacity:1}.hub .hb-ins .ld{margin-top:auto;padding-top:6px;opacity:.9}
.hub .hb-pill{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--bg2,#eef1ff);color:var(--accent,#2747d8);font:700 13px/1 var(--font-sans,Inter,sans-serif)}

.hub .hb-av{display:flex;width:84px;height:84px;border-radius:50%!important;object-fit:cover;aspect-ratio:1;max-width:none;margin:0 0 10px;box-shadow:0 0 0 3px #fff,0 4px 14px rgba(0,0,0,.1)}
.hub .hb-av.sm{width:64px;height:64px;margin:10px 0 12px}
.hub .hb-av.ini{align-items:center;justify-content:center;color:#fff;font:800 26px/1 var(--font-sans,Inter,sans-serif);letter-spacing:.5px}
.hub .hb-av.sm.ini{font-size:20px}
