/* Photographic banners keep the existing portal navigation and color themes. */
.carousel{background:#e7eff8;isolation:isolate}
.carousel:after{display:none}
.carousel-slides{display:grid}
.carousel-slide{grid-area:1/1;position:relative;opacity:0;visibility:hidden;transform:translateX(2%);transition:opacity .65s ease,transform .65s ease,visibility .65s;overflow:hidden}
.carousel-slide.is-active{opacity:1;visibility:visible;transform:translateX(0);z-index:1}
.carousel-image{position:absolute;right:0;top:0;width:65%;height:100%;object-fit:cover;object-position:center}
.carousel-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--pale) 0%,var(--pale) 29%,color-mix(in srgb,var(--pale) 96%,transparent) 40%,color-mix(in srgb,var(--pale) 56%,transparent) 55%,#1b406416 75%,#15385920 100%)}
.carousel-content{position:relative;display:flex;align-items:center;min-height:540px;padding-top:40px;padding-bottom:130px}
.carousel-copy{max-width:680px}
.carousel .eyebrow{margin-bottom:16px;letter-spacing:1.4px;font-size:0.75rem}
.carousel h1,.carousel h2{font-size:2.5rem;font-weight:650;line-height:1.5;letter-spacing:1px;margin:0 0 20px;color:#1c2d47}
.carousel h1 em,.carousel h2 em{font-style:normal;color:var(--accent)}
.carousel .hero-desc{color:#3c526d;line-height:1.9;font-size:1rem;margin-bottom:26px}
.carousel .button.outline{background:#ffffffc9}
.carousel-toolbar{position:absolute;z-index:2;left:0;right:0;bottom:75px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.carousel-dots,.carousel-controls{display:flex;align-items:center;gap:8px}
.carousel-dots button{border:0;background:transparent;min-width:40px;min-height:40px;padding:12px 5px;cursor:pointer}
.carousel-dots span{display:block;width:28px;height:4px;border-radius:5px;background:#91a5be;transition:background .2s,width .2s}
.carousel-dots button[aria-pressed=true] span{width:48px;background:var(--accent)}
.carousel-controls button{height:38px;min-width:38px;padding:0 10px;border:1px solid #d1ddeb;background:#ffffffed;border-radius:5px;color:#233e60;font-size:1.125rem;cursor:pointer}
.carousel-controls .carousel-toggle{font-size:0.75rem;min-width:90px}
.carousel-controls button:hover{background:#e6effc;border-color:var(--accent)}
.carousel-count{font-variant-numeric:tabular-nums;font-size:0.75rem;color:#233e60;background:#ffffffed;border-radius:4px;padding:9px 12px;margin-right:5px}
.carousel-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1600px){.carousel-content{min-height:570px}.carousel h1,.carousel h2{font-size:2.6875rem}}
@media(max-width:1100px){.carousel h1,.carousel h2{font-size:2.125rem}.carousel-copy{max-width:580px}.carousel-shade{background:linear-gradient(90deg,var(--pale) 0%,color-mix(in srgb,var(--pale) 97%,transparent) 40%,color-mix(in srgb,var(--pale) 60%,transparent) 65%,color-mix(in srgb,var(--pale) 19%,transparent))}}
@media(max-width:760px){.carousel-content{min-height:535px;padding-top:32px;padding-bottom:130px;align-items:flex-start}.carousel-copy{max-width:100%}.carousel-image{width:100%;object-position:center}.carousel-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--pale) 96%,transparent),color-mix(in srgb,var(--pale) 81%,transparent)),linear-gradient(0deg,var(--pale),transparent)}.carousel h1,.carousel h2{font-size:clamp(25px,6.2vw,33px);letter-spacing:0;margin-bottom:16px}.carousel .eyebrow{font-size:0.625rem;letter-spacing:.5px}.carousel .hero-desc{font-size:0.875rem}.carousel .hero-desc br{display:none}.carousel .hero-actions{gap:8px;flex-wrap:wrap}.carousel .hero-actions .button{font-size:0.8125rem;padding:10px 13px}.carousel-toolbar{bottom:64px;gap:4px}.carousel-controls{gap:5px}.carousel-controls button{min-width:34px;padding:0 7px}.carousel-count{display:none}.carousel-dots{gap:0}.carousel-dots button{min-width:30px;padding:12px 3px}.carousel-dots span{width:20px}.carousel-dots button[aria-pressed=true] span{width:32px}}
@media(prefers-reduced-motion:reduce){.carousel-slide,.carousel-dots span{transition:none;transform:none}}

/* Keep the photograph visible even inside a narrow browser side panel. */
@media(max-width:760px){
 .carousel-slide{background:var(--pale)}
 .carousel-image{top:0;left:0;width:100%;height:220px;object-position:center 48%}
 .carousel-shade{top:0;bottom:auto;height:220px;background:linear-gradient(0deg,var(--pale),transparent 30%)}
 .carousel .carousel-content{min-height:0;padding-top:244px;padding-bottom:130px}
 .carousel-toolbar{bottom:68px}
}
