.home-promo { color:#193d67; background:#eef3fa; border-bottom:1px solid #dce4ee; }
.home-promo .home-promo__inner { display:flex; align-items:center; gap:26px; padding-block:10px; }
.home-promo__stage { display:grid; flex:1; min-width:0; overflow:hidden; }
.home-promo__slide { grid-area:1/1; display:flex; justify-content:space-between; align-items:center; gap:20px; visibility:hidden; pointer-events:none; }
.home-promo__slide.is-active { visibility:visible; pointer-events:auto; }
.home-promo__slide p { margin:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 14px; font-size:15px; line-height:1.65; }
.home-promo__slide strong { font-size:16px; font-weight:700; color:#163653; }
.home-promo__slide a,.home-promo__slide button { display:inline-flex; align-items:center; flex-shrink:0; min-height:36px; padding:0; border:0; background:none; color:#193d67; font-family:inherit; font-size:14px; line-height:1.6; font-weight:600; cursor:pointer; text-decoration:none; }
.home-promo__slide a:hover,.home-promo__slide button:hover { text-decoration:underline; text-underline-offset:4px; }
.home-promo button:focus-visible,.home-promo a:focus-visible { outline:2px solid #193d67; outline-offset:3px; }
@media(max-width:1050px) {
 .home-promo .home-promo__inner { gap:12px; }
 .home-promo__slide { gap:12px; }
 .home-promo__slide p { display:block; }
 .home-promo__slide strong { display:block; }
}
@media(max-width:600px) {
 .home-promo .home-promo__inner { position:relative; display:block; padding-block:12px; }
 .home-promo__slide { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:6px; }
 .home-promo__slide p { font-size:14px; line-height:1.55; }
 .home-promo__slide strong { font-size:15px; margin-bottom:4px; }
 .home-promo__slide a,.home-promo__slide button { font-size:13px; min-height:32px; max-width:100%; }
}

/* Preserve the homepage's compact mobile contact control. */
@media(max-width:640px) {
 body:has(.home-promo) .mj-contact:not([open]) summary { width:48px; height:48px; min-height:48px; padding:12px; gap:0; justify-content:center; }
 body:has(.home-promo) .mj-contact:not([open]) summary>span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 body:has(.home-promo) .mj-contact:not([open]) summary>.mj-contact__chevron { display:none; }
}
