/* 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; }
}


.moments-timetable__cover { height: 12rem; }
.moments-timetable__snapshot { width: 20rem; }

.moments-timetable__snippet--rise:hover { transform: scale(1.05); transition: transform .2s ease; }

.pinboard-polaroid-row__wrap {
    max-width: 72rem;
}

.pinboard-polaroid-row__tilt {
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    cursor: default;
}

.pinboard-polaroid-row__pin {
    margin-top: -1rem;
}

.pinboard-polaroid-row__pin-cap {
    width: 1.25rem;
    height: 1.25rem;
}

.pinboard-polaroid-row__pin-stem {
    width: 2px;
    height: 0.75rem;
    margin-top: -1px;
}

.pinboard-polaroid-row__polaroid {
    width: 200px;
}

.pinboard-polaroid-row__photo {
    height: 185px;
}

.pinboard-polaroid-row__legend {
    min-height: 75px;
}

.pinboard-polaroid-row__img {
    object-fit: cover;
}
.pinboard-polaroid-row__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pinboard-polaroid-row__polaroid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* gallery v15 — hero image object-fit (no Bootstrap analog) */
.gallery-hero-chips__img {
    object-fit: cover;
}

/* cta particles card — animated dot field */
.cta-particles-card__root {
  position: relative;
  overflow: hidden;
}

.cta-particles-card__particles {
  position: absolute;
  inset: 0;
  opacity: 0.12;
  background-image: radial-gradient(circle, var(--tw-primary-500, var(--bs-primary)) 1px, transparent 1px);
  background-size: 50px 50px;
  animation: cta-particles-card__drift 20s linear infinite;
}

@keyframes cta-particles-card__drift {
  from { transform: translateY(0); }
  to { transform: translateY(100px); }
}

