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

/* Flex: дозволити прокрутку тексту в колонці однакової висоти (BS + TW) */
/* Flex column: allow inner scroll in equal-height grid */
.portfolio-v8-item {
    min-height: 0;
}

.portfolio-v8-box {
    min-height: 0;
}

.portfolio-v8-tech {
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.portfolio-v8-tech:hover {
    transform: scale(1.05);
}

/* Card hover: lift up + scale */
.portfolio-item-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.portfolio-item-hover:hover {
    transform: translateY(-0.5rem) scale(1.05);
}

/* Image: zoom on card hover */
.portfolio-item-hover .portfolio-img-hover {
    transition: transform 0.5s ease;
}
.portfolio-item-hover:hover .portfolio-img-hover {
    transform: scale(1.1);
}

/* content stride — alternating paragraph inset (no surfaces) */
.content-stride__para--odd {
    padding-inline-start: 0;
}

@media (min-width: 768px) {
    .content-stride__para--even {
        padding-inline-start: 2rem;
    }
}

/* quote v29 — Xbox pinwheel: origami fold, device bezel frame, ruler marks, hover overlay */

.quote-xbox__grid {
    /* ultra-tight compact layout */
}

.quote-xbox__item {
    min-height: 10rem;
}

/* origami fold effect via clip-path diagonal cut */
.quote-xbox__card {
    clip-path: polygon(0 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
    transition: transform 200ms ease-out;
}

/* device bezel frame styling */
.quote-xbox__bezel {
    background-image:
        linear-gradient(135deg, rgba(0,0,0,0.04) 0%, transparent 50%),
        linear-gradient(-135deg, rgba(0,0,0,0.04) 0%, transparent 50%);
    box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ruler measurement marks corner decoration */
.quote-xbox__ruler {
    opacity: 0.6;
}

/* badge positioning and style */
.quote-xbox__badge {
    z-index: 2;
}

/* hover overlay slide-down effect */
.quote-xbox__overlay {
    overflow: hidden;
}

@media (hover: hover) {
    .quote-xbox__item:hover .quote-xbox__overlay {
        top: 0;
    }

    .quote-xbox__item:hover .quote-xbox__card {
        transform: translateY(0.25rem);
    }
}

.quote-xbox__overlay-text {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

/* energy/aggressive border accent on hover */
@media (hover: hover) {
    .quote-xbox__item:hover .quote-xbox__bezel {
        border-color: rgb(var(--tw-primary-600, 139, 92, 246));
        box-shadow: inset 0 0 0.5rem rgba(139, 92, 246, 0.2), 0 4px 12px rgba(139, 92, 246, 0.3);
    }
}

/* responsive text sizing */
@media (max-width: 639px) {
    .quote-xbox__item {
        min-height: 9rem;
    }
}

/* watermark title utilities */
.quote-xbox__watermark {
    font-weight: 900;
    letter-spacing: -0.06em;
}

/* measurement marks SVG styling */
.quote-xbox__ruler line {
    stroke-linecap: round;
}

/* accessibility: ensure overlay is visible on focus */
.quote-xbox__item:focus-within .quote-xbox__overlay {
    top: 0;
}

/* Bootstrap: explicit grid + gap (row gutters often collapse) */
.tips-grid__bs-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
}

.tips-grid__min-shrink {
    min-width: 0;
}

@media (min-width: 768px) {
    .tips-grid__bs-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tips-grid__subtitle {
    max-width: 42rem;
}

.tips-grid__thumb {
    width: 3rem;
    height: 3rem;
}

.cta-minimal-carousel__section {
  min-height: 28rem;
}

.cta-minimal-carousel__wrap {
  padding-bottom: 5rem;
}

@media (min-width: 768px) {
  .cta-minimal-carousel__wrap {
    padding-bottom: 7rem;
  }
}

.cta-minimal-carousel__viewport {
  position: relative;
  min-height: 22rem;
}

.cta-minimal-carousel__panel--center {
  text-align: center;
}

.cta-minimal-carousel__panel--left {
  display: flex;
  align-items: center;
  min-height: 20rem;
}

.cta-minimal-carousel__left-stack {
  width: 100%;
}

.cta-minimal-carousel__panel--split {
  min-height: 20rem;
  display: flex;
  align-items: flex-end;
}

.cta-minimal-carousel__panel.cta-minimal-carousel__slide--hidden {
  display: none;
}

.cta-minimal-carousel__slide--hidden {
  display: none;
}

.cta-minimal-carousel__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@keyframes cta-minimal-carousel__fade-in {
  from {
    opacity: 0;
    transform: translateX(1.5rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.cta-minimal-carousel__slide--visible {
  animation: cta-minimal-carousel__fade-in 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.cta-minimal-carousel__eyebrow-track {
  letter-spacing: 0.22em;
}

.cta-minimal-carousel__title-track {
  letter-spacing: 0.12em;
}

.cta-minimal-carousel__nav-btn {
  width: 2.75rem;
  height: 2.75rem;
}

.cta-minimal-carousel__outline-cta {
  min-width: 9rem;
}

.cta-minimal-carousel__dot--active {
  width: 1.75rem;
  filter: brightness(1);
}

.cta-minimal-carousel__dot--idle {
  width: 0.5rem;
  filter: brightness(0.45);
}

@media (min-width: 768px) {
  .cta-minimal-carousel__viewport {
    min-height: 26rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-minimal-carousel__slide--visible {
    animation: none;
  }
}

