.png-identity-carousel {
position: relative;
overflow: hidden;
min-height: 420px;
margin: 0;
border-radius: 8px;
background: #061b33;
box-shadow: 0 18px 42px rgba(6, 27, 51, 0.18);
}

.png-identity-slides {
position: relative;
height: 100%;
min-height: inherit;
aspect-ratio: 4 / 3;
}

.png-identity-slide {
position: absolute;
inset: 0;
display: flex;
align-items: stretch;
justify-content: center;
opacity: 0;
visibility: hidden;
transition: opacity 1400ms ease, visibility 1400ms ease;
background: linear-gradient(135deg, #071d36 0%, #102f4f 100%);
}

.png-identity-slide.is-active {
opacity: 1;
visibility: visible;
z-index: 1;
}

.png-identity-image {
display: block;
width: 100%;
height: 100%;
}

.png-identity-image-contain {
object-fit: contain;
padding: 42px;
background: #ffffff;
}

.png-identity-image-cover {
object-fit: cover;
}

.png-identity-image-fill {
object-fit: cover;
object-position: center;
}

.png-identity-image-map {
object-position: center;
}

.png-identity-caption {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 2;
display: block;
padding: 84px 32px 32px;
color: #ffffff;
background: linear-gradient(180deg, rgba(4, 18, 34, 0) 0%, rgba(4, 18, 34, 0.88) 72%, rgba(4, 18, 34, 0.95) 100%);
}

.png-identity-title,
.png-identity-text {
display: block;
}

.png-identity-title {
font-size: clamp(1.35rem, 2.4vw, 2rem);
font-weight: 700;
line-height: 1.15;
}

.png-identity-text {
max-width: 36rem;
margin-top: 8px;
font-size: 1rem;
line-height: 1.55;
color: rgba(255, 255, 255, 0.9);
}

.png-identity-indicators {
position: absolute;
left: 32px;
bottom: 18px;
z-index: 3;
display: flex;
gap: 9px;
align-items: center;
}

.png-identity-indicator {
width: 10px;
height: 10px;
padding: 0;
border: 1px solid rgba(255, 255, 255, 0.76);
border-radius: 50%;
background: rgba(255, 255, 255, 0.28);
cursor: pointer;
transition: background-color 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.png-identity-indicator:hover,
.png-identity-indicator:focus-visible {
background: #ffffff;
border-color: #ffffff;
outline: 2px solid #8a1538;
outline-offset: 3px;
}

.png-identity-indicator.is-active {
background: #8a1538;
border-color: #ffffff;
transform: scale(1.18);
}

@media (max-width: 760px) {
.png-identity-carousel {
min-height: 320px;
}

.png-identity-slides {
aspect-ratio: 16 / 11;
}

.png-identity-image-contain {
padding: 28px;
}

.png-identity-caption {
padding: 72px 22px 28px;
}

.png-identity-title {
font-size: 1.32rem;
}

.png-identity-text {
font-size: 0.95rem;
}

.png-identity-indicators {
left: 22px;
bottom: 14px;
}
}

@media (prefers-reduced-motion: reduce) {
.png-identity-slide,
.png-identity-indicator {
transition: none;
}
}
