.photo-carousel { isolation: isolate; overflow: hidden; }
.photo-carousel .carousel-photos { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.photo-carousel .carousel-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transition: opacity 1.2s ease; }
.photo-carousel .carousel-photo.is-active { opacity: 1; }
.photo-carousel .carousel-photos::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(26,44,63,.62), rgba(26,44,63,.48)); }
.photo-carousel .hero-content, .photo-carousel .sub-hero-content { position: relative; z-index: 2; }
.photo-carousel .carousel-controls { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 22px; }
.photo-carousel .carousel-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid transparent; border-radius: 50%; background: rgba(15,27,42,.45); color: white; cursor: pointer; font: 16px sans-serif; }
.photo-carousel .carousel-controls button:hover { background: rgba(15,27,42,.8); }
.photo-carousel .carousel-controls button:focus-visible { outline: 3px solid #fb8b24; outline-offset: 3px; }
.photo-carousel .carousel-dot::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: white; opacity: .55; }
.photo-carousel .carousel-dot[aria-current="true"]::before { background: #fb8b24; opacity: 1; width: 12px; height: 12px; }
@media (max-width: 600px) {
    .photo-carousel { height: auto; min-height: 650px; padding: 130px 0 150px; }
    .photo-carousel .hero-content, .photo-carousel .sub-hero-content { width: 100%; margin-top: 0; padding-left: 20px; padding-right: 20px; }
}
@media (prefers-reduced-motion: reduce) { .photo-carousel .carousel-photo { transition: none; } }
