.kr-isy-carousel {
    margin-block: 34px;
}

.kr-isy-slide {
    --x: 0%;
    --turn: 0deg;
    --depth: 0px;
    --scale: 1;
    min-width: 0;
}

.kr-isy-visual {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    border: 1px solid var(--line);
    background: #16374a;
    color: #fff;
    padding: 0;
    overflow: hidden;
    text-align: left;
}

.kr-isy-visual img {
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}

.kr-isy-caption {
    display: grid;
    gap: 3px;
    position: absolute;
    inset: auto 0 0;
    padding: 36px 20px 16px;
    background: linear-gradient(transparent, #071e2aeb);
}

.kr-isy-caption small {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
}

.kr-isy-caption strong {
    font-size: clamp(20px, 4vw, 40px);
    line-height: 1.1;
}

.kr-isy-description {
    padding: 22px;
    border: 1px solid var(--line);
    background: #fff;
}

.kr-isy-description h3 {
    margin: 0 0 10px;
    font-size: clamp(20px, 3vw, 26px);
}

.kr-isy-description p {
    margin: 0;
}

.kr-isy-description .kr-isy-credit {
    margin-top: 14px;
    font-size: 12px;
}

.kr-isy-carousel.is-enhanced .kr-model-grid {
    display: block;
    position: relative;
    margin: 0;
    height: clamp(230px, 39vw, 448px);
    overflow: hidden;
    perspective: 980px;
    touch-action: pan-y;
    background: linear-gradient(135deg, #e7eef0, #c4d7dd);
}

.kr-isy-carousel.is-enhanced .kr-isy-slide {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 53%;
    transform: translate3d(calc(-50% + var(--x)), -50%, var(--depth)) rotateY(var(--turn)) scale(var(--scale));
    transition: transform .42s ease, filter .42s ease;
    filter: brightness(.72);
}

.kr-isy-carousel.is-enhanced .kr-isy-slide[data-offset="0"] {
    z-index: 3;
    filter: none;
}

.kr-isy-slide[data-offset="-1"] { --x: -65%; --turn: 29deg; --depth: -115px; --scale: .92; z-index: 2; }
.kr-isy-slide[data-offset="1"] { --x: 65%; --turn: -29deg; --depth: -115px; --scale: .92; z-index: 2; }
.kr-isy-slide[data-offset="-2"] { --x: -116%; --turn: 34deg; --depth: -220px; --scale: .84; z-index: 1; }
.kr-isy-slide[data-offset="2"] { --x: 116%; --turn: -34deg; --depth: -220px; --scale: .84; z-index: 1; }

.kr-isy-carousel.is-enhanced .kr-isy-visual {
    border-color: #ffffff80;
    box-shadow: 0 16px 34px #102c4245;
    cursor: pointer;
}

.kr-isy-controls,
.kr-isy-categories {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}

.kr-isy-controls span {
    min-width: 160px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
}

.kr-isy-controls button,
.kr-isy-categories button {
    border: 1px solid var(--line);
    padding: 8px 13px;
    background: #fff;
    color: var(--navy);
    cursor: pointer;
}

.kr-isy-controls button {
    min-width: 44px;
    min-height: 44px;
    font-size: 18px;
}

.kr-isy-categories {
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
}

.kr-isy-categories button {
    font-size: 11px;
    font-weight: 700;
}

.kr-isy-categories button[aria-pressed="true"] {
    background: var(--navy);
    border-color: var(--navy);
    color: #fff;
}

.kr-isy-details .kr-isy-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

@media(max-width: 700px) {
    .kr-isy-carousel.is-enhanced .kr-isy-slide { width: 77%; }
    .kr-isy-details .kr-isy-detail { grid-template-columns: 1fr; gap: 8px; }
    .kr-isy-caption { padding: 24px 12px 10px; }
}

@media(prefers-reduced-motion: reduce) {
    .kr-isy-carousel.is-enhanced .kr-isy-slide { transition: none; }
}
