/* Homepage banner: shared dimensions, clear hierarchy and complete artwork. */
.page-index .express-hero{background:#082c67;padding:0 0 22px;min-height:0;overflow:hidden;border-bottom:4px solid #ffac18}
.page-index .express-slide-inner{width:min(1160px,90%);margin:0 auto;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:48px;padding:42px 0 30px;min-height:466px}
.page-index .express-copy{min-width:0;max-width:500px}
.page-index .express-copy .eyebrow{color:#ffcf79;font-size:14px;font-weight:700;letter-spacing:1px;margin:0 0 18px;line-height:1.5}
.page-index .express-copy h1,.page-index .express-copy h2{font-size:clamp(36px,4vw,54px);font-weight:800;line-height:1.1;letter-spacing:-1.5px;color:#fff;margin:0 0 22px;text-wrap:balance}
.page-index .express-copy>p:not(.eyebrow){font-size:18px;line-height:1.6;color:#dce8fa;margin:0 0 26px;max-width:440px}
.page-index .express-copy .button{font-size:16px;min-height:50px;padding:13px 24px;border-radius:8px;background:#ffac18;color:#082c67;font-weight:700}
.page-index .express-media{height:390px;border-radius:18px;background:#edf5ff;border:1px solid #ffffff28;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0;box-shadow:0 14px 32px #00132d26}
.page-index .express-media .express-art,.page-index .express-media .express-art.poster{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}
.page-index .express-carousel-controls{width:min(1160px,90%);margin:0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:18px;border-top:1px solid #ffffff26}
.page-index .banner-counter{margin-right:auto;color:#dce8fa;white-space:nowrap;font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:2px}
.page-index .express-carousel-controls>button{min-height:44px;font-size:14px;padding:10px 14px;border:1px solid #ffffff36;border-radius:8px;color:#fff;background:#ffffff08;cursor:pointer}
.page-index .express-carousel-controls>button:hover{background:#ffffff18}
.page-index .express-carousel-controls #banner-pause{width:auto;min-height:44px;padding:10px 14px;border:1px solid #ffffff36;font-size:14px}
.page-index .banner-dots{gap:2px}
.page-index .banner-dots button{width:26px;height:44px}
.page-index .banner-dots button::before{width:7px;height:7px;left:9px;top:18px;border-radius:50%;background:#839bbd}
.page-index .banner-dots button[aria-pressed=true]::before{width:16px;left:5px;border-radius:4px;background:#ffac18}
.page-index .banner-slide:not([hidden]){animation:banner-enter .35s ease-out}
.page-index .quick-track{margin-top:0;transform:none;max-width:780px;border-radius:0 0 16px 16px}
@keyframes banner-enter{from{opacity:.35}to{opacity:1}}
@media(max-width:900px) and (min-width:651px){.page-index .express-slide-inner{gap:28px;min-height:440px}.page-index .express-media{height:340px}.page-index .express-copy h1,.page-index .express-copy h2{font-size:38px}.page-index .express-copy>p:not(.eyebrow){font-size:17px}}
@media(max-width:650px){
 .page-index .express-hero{padding-bottom:18px}
 .page-index .express-slide-inner{grid-template-columns:minmax(0,1fr);width:88%;gap:22px;padding:26px 0 22px;min-height:0}
 .page-index .express-copy{min-height:268px;display:flex;flex-direction:column;align-items:flex-start;max-width:none}
 .page-index .express-copy .eyebrow{font-size:14px;letter-spacing:.5px;margin-bottom:12px}
 .page-index .express-copy h1,.page-index .express-copy h2{font-size:clamp(32px,8.5vw,39px);letter-spacing:-1px;line-height:1.12;margin:0 0 14px}
 .page-index .express-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;margin:0 0 18px}
 .page-index .express-copy .button{margin-top:auto;min-height:48px;font-size:16px}
 .page-index .express-media{height:280px;border-radius:12px;box-shadow:none}
 .page-index .express-carousel-controls{width:88%;display:grid;grid-template-columns:1fr auto 1fr;gap:6px 10px;padding-top:12px}
 .page-index .banner-counter{grid-column:1;grid-row:1;font-size:14px;letter-spacing:1px}
 .page-index .banner-dots{grid-column:2;grid-row:1}
 .page-index .express-carousel-controls #banner-pause{grid-column:3;grid-row:1;padding:4px;border:0;text-align:right;line-height:1.3;font-size:14px}
 .page-index .express-carousel-controls #banner-prev{grid-column:1;grid-row:2}
 .page-index .express-carousel-controls #banner-next{grid-column:3;grid-row:2}
 .page-index .quick-track{margin:0 6%}
}
@media(prefers-reduced-motion:reduce){.page-index .banner-slide:not([hidden]){animation:none}}

/* User-supplied portrait ads: complete text, no cropping. */
.page-index .express-slide-inner{min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.page-index .express-media{height:390px;background:#06214e;border-color:#ffffff20}
@media(max-width:900px) and (min-width:651px){.page-index .express-media{height:340px}}
@media(max-width:650px){.page-index .express-slide-inner{grid-template-columns:minmax(0,1fr);padding-top:20px;gap:24px}.page-index .express-media{grid-row:1;height:min(340px,90vw);background:#06214e}.page-index .express-copy{min-height:0}.page-index .express-copy h1,.page-index .express-copy h2{font-size:30px}.page-index .express-copy .button{margin-top:0}.page-index .express-copy>p:not(.eyebrow){margin-bottom:16px}}
