/*
Theme Name: k2gym-vip-letter
Author: K2GYM
*/

/* ── Hero ── */
.k2-hero-bg {
    animation: k2HeroZoom 18s ease-out forwards;
    will-change: transform;
}

@keyframes k2HeroZoom {
    from { transform: scale(1.08); }
    to   { transform: scale(1); }
}

/* ── Portrait frames ── */
.k2-portrait-frame {
    box-shadow: 8px 8px 0 rgba(51, 51, 51, 0.12);
}

.k2-portrait {
    aspect-ratio: 3 / 4;
    display: block;
}

.k2-signature-portrait {
    aspect-ratio: 3 / 4;
    display: block;
}

/* ── Story image ── */
.k2-story-img {
    min-height: 360px;
}

@media (min-width: 768px) {
    .k2-story-img {
        min-height: 100%;
    }
}

/* ── Gallery hover polish ── */
.k2-gallery-img {
    min-height: inherit;
}

#facility figure {
    isolation: isolate;
}

#facility figure::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid transparent;
    transition: border-color 0.4s ease;
    pointer-events: none;
    z-index: 2;
}

#facility figure:hover::after {
    border-color: rgba(230, 57, 70, 0.45);
}

/* ── Scroll arrow (defined inline too, kept for fallback) ── */
@keyframes k2FloatArrow {
    0%, 100% { transform: translateY(0); opacity: 0.95; }
    50%      { transform: translateY(5px); opacity: 0.7; }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    .k2-hero-bg,
    .k2-gallery-img {
        animation: none !important;
        transition: none !important;
    }

    #facility figure:hover::after {
        border-color: transparent;
    }
}
