/* intro v20 — Calvin Klein magazine: shimmer sheen, mist, scale-up reveal, strike-through draw */

.intro-mag__img { object-fit: cover; }
.intro-mag__figure { aspect-ratio: 21 / 9; }

/* Gold-foil sheen → shimmer sweep (gradient colours come from Tailwind, motion from CSS) */
.intro-mag__sheen {
    background-size: 220% 220%;
    animation: intro-mag-shimmer 3s linear infinite;
    opacity: 0.35;
}
@keyframes intro-mag-shimmer {
    0%   { background-position: 0% 0%; }
    100% { background-position: 100% 100%; }
}

/* Smoke / mist wisp */
.intro-mag__mist {
    width: 24rem;
    height: 24rem;
    filter: blur(48px);
    opacity: 0.4;
}

/* LED step badge fixed size (no BS w-N/h-N utility) */
.intro-mag__led {
    width: 4rem;
    height: 4rem;
}

/* Dashed connector line (no BS border-style utility) */
.intro-mag__connector {
    border-style: dashed;
}

/* Scale-up on scroll into view — hidden only once JS arms it (no-JS content stays visible) */
.intro-mag.is-armed .intro-mag__scale {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 560ms ease, transform 560ms ease;
}
.intro-mag.is-armed .intro-mag__scale.is-in {
    opacity: 1;
    transform: scale(1);
}

/* Strikethrough line draw on hover */
.intro-mag__strike { height: 0.125rem; width: 0; transition: width 300ms ease; }
.intro-mag__st:hover .intro-mag__strike { width: 100%; }

@media (prefers-reduced-motion: reduce) {
    .intro-mag__sheen { animation: none; }
    .intro-mag__scale { opacity: 1; transform: none; }
}


@keyframes knowledge-clarify-flare-throb-seq {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.knowledge-clarify__flare--throb {
    animation: knowledge-clarify-flare-throb-seq 2s cubic-bezier(.4,0,.6,1) infinite;
}

@keyframes knowledge-clarify-flare-rebound-seq {
    0%, 100% { transform: translateY(0); animation-timing-function: cubic-bezier(.8,0,1,1); }
    50%       { transform: translateY(-25%); animation-timing-function: cubic-bezier(0,0,.2,1); }
}
.knowledge-clarify__flare--rebound {
    animation: knowledge-clarify-flare-rebound-seq 1s infinite;
}

@keyframes knowledge-clarify-flare-ping-seq {
    75%, 100% { transform: scale(2); opacity: 0; }
}
.knowledge-clarify__flare--ping {
    animation: knowledge-clarify-flare-ping-seq 1s cubic-bezier(0,0,.2,1) infinite;
}

/* Animation delays */
.knowledge-clarify__flare--delay-1 { animation-delay: 0.3s; }
.knowledge-clarify__flare--delay-2 { animation-delay: 0.5s; }
.knowledge-clarify__flare--delay-3 { animation-delay: 0.8s; }
.knowledge-clarify__flare--delay-4 { animation-delay: 1s; }
.knowledge-clarify__flare--delay-5 { animation-delay: 1.2s; }
.knowledge-clarify__flare--delay-6 { animation-delay: 1.5s; }
.knowledge-clarify__flare--delay-7 { animation-delay: 2s; }

/* Dot positions and sizes */
.knowledge-clarify__dot-a { top: 3rem; left: 2.5rem; width: 0.75rem; height: 0.75rem; }
.knowledge-clarify__dot-b { top: 5rem; right: 4rem; width: 0.5rem; height: 0.5rem; }
.knowledge-clarify__dot-c { top: 8rem; left: 25%; width: 1rem; height: 1rem; }
.knowledge-clarify__dot-d { bottom: 6rem; right: 5rem; width: 0.75rem; height: 0.75rem; }
.knowledge-clarify__dot-e { bottom: 4rem; left: 4rem; width: 0.5rem; height: 0.5rem; }
.knowledge-clarify__dot-f { top: 50%; right: 3rem; width: 1.25rem; height: 1.25rem; }

/* Line decors */
.knowledge-clarify__line-a { top: 25%; left: 33%; width: 3rem; height: 0.125rem; }
.knowledge-clarify__line-b { bottom: 33%; right: 25%; width: 4rem; height: 0.125rem; }

/* Corner blob size */
.knowledge-clarify__corner-blob { width: 4rem; height: 4rem; }

.knowledge-clarify__story--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

.knowledge-clarify__flare--glow:hover { transform: scale(1.25); transition: transform .2s ease; }

.content-trio-showcase__image {
    display: block;
    width: 100%;
    height: 10rem;
    object-fit: cover;
}

.content-trio-showcase__image--tall {
    height: 14rem;
}

.content-trio-showcase__image--short {
    height: 8rem;
}

.content-trio-showcase__card-lift {
    transition: transform 180ms ease;
}

.content-trio-showcase__card-lift:hover {
    transform: translateY(-0.25rem);
}

.content-trio-showcase__float {
    animation: content-trio-showcase-float 7s ease-in-out infinite;
}

.content-trio-showcase__rail {
    width: 100%;
    height: 0.25rem;
}

.content-trio-showcase__thumb {
    width: 7rem;
    height: 5rem;
}

.content-trio-showcase__badge {
    width: 2.5rem;
    height: 2.5rem;
}

@media (min-width: 768px) {
    .content-trio-showcase__rail {
        width: 0.25rem;
        height: auto;
    }
}

@keyframes content-trio-showcase-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(0.5rem); }
}

.content-trio-showcase__dot {
    width: 0.5rem;
    height: 0.5rem;
}

.content-trio-showcase__float {
    width: 6rem;
    height: 6rem;
}

@media (min-width: 768px) {
    .content-trio-showcase__offset {
        margin-top: 2.5rem;
    }
}


.invite-boost__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

@keyframes invite-boost-flare-throb-cycle {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.invite-boost__flare--throb {
    animation: invite-boost-flare-throb-cycle 2s cubic-bezier(.4,0,.6,1) infinite;
}

@keyframes invite-boost-flare-rebound-cycle {
    0%, 100% { transform: translateY(0); animation-timing-function: cubic-bezier(.8,0,1,1); }
    50%       { transform: translateY(-25%); animation-timing-function: cubic-bezier(0,0,.2,1); }
}
.invite-boost__flare--rebound {
    animation: invite-boost-flare-rebound-cycle 1s infinite;
}

@keyframes invite-boost-flare-ping-cycle {
    75%, 100% { transform: scale(2); opacity: 0; }
}
.invite-boost__flare--ping {
    animation: invite-boost-flare-ping-cycle 1s cubic-bezier(0,0,.2,1) infinite;
}

@keyframes invite-boost-stroke-throb-cycle {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.invite-boost__stroke--throb {
    animation: invite-boost-stroke-throb-cycle 2s cubic-bezier(.4,0,.6,1) infinite;
}

.invite-boost__layer--lift:hover { transform: scale(1.05); transition: transform .2s ease; }

.invite-boost__flare--lift:hover { transform: scale(1.25); transition: transform .2s ease; }

.invite-boost__action--lift:hover { transform: scale(1.05); transition: transform .2s ease; }

