/* Homepage-only banner. Product catalogue and shared styles are unchanged. */
.portal-hero{padding-top:30px;padding-bottom:52px}
.home-banner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:32px;padding:42px 44px;background:#f3f5f7;border-radius:16px}
.home-banner-copy{min-width:0}
.home-banner .eyebrow{color:var(--navy);letter-spacing:1.2px}
.home-banner h1{max-width:640px;margin:20px 0;font-size:clamp(34px,4.1vw,52px);line-height:1.1;letter-spacing:-1.6px;color:var(--navy)}
.home-banner .lead{max-width:530px;margin:0;font-size:17px;line-height:1.65;color:var(--muted)}
.home-banner .actions{gap:12px;margin-top:26px}
.home-banner .btn{min-height:44px}
.home-banner-visual{display:flex;align-items:center;justify-content:center;min-width:0}
.home-banner-visual img{display:block;width:100%;max-width:365px;height:auto;max-height:410px;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:960px){.home-banner{gap:24px;padding:34px 30px}.home-banner h1{font-size:38px}.home-banner .actions{flex-direction:column;align-items:flex-start}.home-banner .actions .btn{flex-grow:0}.home-banner-visual img{max-height:340px}}
@media(max-width:680px){.portal-hero{padding-top:22px}.home-banner{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 22px;border-radius:12px}.home-banner h1{font-size:clamp(29px,7.8vw,38px);letter-spacing:-1px}.home-banner .lead{font-size:16px}.home-banner .eyebrow{font-size:11px;letter-spacing:.8px}.home-banner .actions{align-items:stretch}.home-banner .btn{text-align:center}.home-banner-visual img{width:min(100%,270px);max-height:295px}}
