/* intro v23 — BAPE grunge wizard: film strip, giant numbers, clip-path wipe hover, height-expand step */

/* Full-width step photo — cinematic banner, object-fit has no BS utility */
.intro-grit__photo {
    width: 100%;
    aspect-ratio: 21 / 9;
    object-fit: cover;
}

/* Progress track height (no BS h-N utility) */
.intro-grit__track { height: 0.25rem; }

/* Clip-path reveal on hover: primary wipe grows from the corner */
.intro-grit__wipe {
    clip-path: circle(0% at 90% 10%);
    opacity: 0.12;
    transition: clip-path 420ms ease;
}
.intro-grit__card:hover .intro-grit__wipe {
    clip-path: circle(150% at 90% 10%);
}

/* Height-expand accordion-style step entrance */
.intro-grit__step {
    animation: intro-grit-expand 420ms ease;
    transform-origin: top;
}
@keyframes intro-grit-expand {
    from { opacity: 0; transform: scaleY(0.96) translateY(-0.5rem); }
    to   { opacity: 1; transform: scaleY(1) translateY(0); }
}

/* Progress bar transition */
.intro-grit__bar { transition: width 360ms ease; width: 0; }

/* Stepper dots — state via opacity, colour stays a Tailwind class */
.intro-grit__dot {
    width: 0.625rem;
    height: 0.625rem;
    opacity: 0.35;
    transition: opacity 200ms ease, transform 200ms ease;
}
.intro-grit__dot.is-active {
    opacity: 1;
    transform: scale(1.35);
}

@media (prefers-reduced-motion: reduce) {
    .intro-grit__step { animation: none; }
    .intro-grit__wipe { transition: none; }
}

.primer-icon-hover {
    transition: transform 0.3s ease;
}

.primer-group:hover .primer-icon-hover {
    transform: scale(1.05);
}

.primer-sq-16 { width: 4rem;    height: 4rem;    flex-shrink: 0; }

.accordion-playstation-timeline__chevron--open {
    transform: rotate(180deg);
}

.accordion-playstation-timeline__panel {
    max-height: 400px;
    transition: max-height 0.35s ease;
}

.accordion-playstation-timeline__panel[aria-hidden="true"],
.accordion-playstation-timeline__panel.is-closed {
    max-height: 0 !important;
}

.accordion-playstation-timeline__decor-tr {
    clip-path: polygon(100% 0, 100% 60%, 40% 0);
    top: 0;
    right: 0;
    width: 16rem;
    height: 16rem;
}

.accordion-playstation-timeline__decor-bl {
    clip-path: polygon(0 40%, 60% 100%, 0 100%);
    bottom: 0;
    left: 0;
    width: 12rem;
    height: 12rem;
}

.accordion-playstation-timeline__badge-size {
    width: 3.5rem;
    height: 2.5rem;
}

.accordion-playstation-timeline__panel--closed {
    max-height: 0;
}

.accordion-playstation-timeline__min-shrink {
  min-width: 0;
}

/* team v27 — alternating rows + morphing decor shapes */
.team-zigzag__scene {
  overflow: hidden;
}

.team-zigzag__morph {
  border-radius: 40% 60% 55% 45% / 50% 40% 60% 50%;
  transform-origin: center center;
  animation: team-zigzag-morph 11s ease-in-out infinite;
}

.team-zigzag__morph--a {
  animation-duration: 9s;
}

.team-zigzag__morph--b {
  animation-duration: 12s;
  animation-delay: 1.5s;
}

.team-zigzag__morph--c {
  animation-duration: 10s;
  animation-delay: 3s;
}

.team-zigzag__morph--d {
  animation-duration: 13s;
  animation-delay: 0.5s;
}

.team-zigzag__morph--e {
  animation-duration: 14s;
  animation-delay: 2s;
}

@keyframes team-zigzag-morph {
  0%,
  100% {
    border-radius: 40% 60% 55% 45% / 50% 40% 60% 50%;
    transform: scale(1) rotate(0deg);
  }
  33% {
    border-radius: 65% 35% 45% 55% / 42% 58% 38% 62%;
    transform: scale(1.06) rotate(4deg);
  }
  66% {
    border-radius: 52% 48% 62% 38% / 58% 42% 55% 45%;
    transform: scale(0.94) rotate(-3deg);
  }
}

/* Ambient layer — spin, float, pulse (distinct from morph blobs) */
.team-zigzag__ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.team-zigzag__orbit {
  transform-origin: center center;
  animation: team-zigzag-orbit-spin 22s linear infinite;
}

.team-zigzag__orbit--rev {
  animation-direction: reverse;
  animation-duration: 30s;
}

.team-zigzag__orbit--lg {
  width: 11rem;
  height: 11rem;
  animation-duration: 26s;
}

.team-zigzag__orbit--sm {
  width: 7rem;
  height: 7rem;
}

.team-zigzag__spark {
  animation: team-zigzag-spark-float 5.5s ease-in-out infinite;
}

.team-zigzag__spark--b {
  animation-delay: 0.8s;
  animation-duration: 4.5s;
}

.team-zigzag__spark--c {
  animation-delay: 1.6s;
  animation-duration: 6s;
}

.team-zigzag__prism {
  width: 2.5rem;
  height: 2.5rem;
  transform-origin: center center;
  animation: team-zigzag-prism-pulse 7s ease-in-out infinite;
}

.team-zigzag__sweep {
  transform-origin: center center;
  width: 8rem;
  height: 2px;
  animation: team-zigzag-sweep-drift 9s ease-in-out infinite;
}

.team-zigzag__sweep--alt {
  width: 6rem;
  animation-delay: 2s;
  animation-duration: 11s;
}

@keyframes team-zigzag-orbit-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes team-zigzag-spark-float {
  0%,
  100% {
    transform: translateY(0) scale(1);
    opacity: 0.45;
  }
  50% {
    transform: translateY(-0.75rem) scale(1.35);
    opacity: 1;
  }
}

@keyframes team-zigzag-prism-pulse {
  0%,
  100% {
    transform: rotate(45deg) scale(1);
    opacity: 0.4;
  }
  50% {
    transform: rotate(52deg) scale(1.2);
    opacity: 0.85;
  }
}

@keyframes team-zigzag-sweep-drift {
  0%,
  100% {
    transform: rotate(-14deg) translateX(-0.5rem) scaleX(0.8);
    opacity: 0.2;
  }
  50% {
    transform: rotate(6deg) translateX(0.75rem) scaleX(1.15);
    opacity: 0.65;
  }
}

@media (prefers-reduced-motion: reduce) {
  .team-zigzag__morph,
  .team-zigzag__orbit,
  .team-zigzag__spark,
  .team-zigzag__prism,
  .team-zigzag__sweep {
    animation: none;
  }
}

.team-zigzag__portrait {
  width: 5.5rem;
  height: 5.5rem;
}

.team-zigzag__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.team-zigzag__min-shrink {
  min-width: 0;
}

/* Bootstrap: сетка + зазор; пропорции как md:w-1/2 и lg: 2/3 + 1/3 */
.values-bento-split__bs-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    width: 100%;
}

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

@media (min-width: 1024px) {
    .values-bento-split__bs-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .values-bento-split__bs-grid .values-bento-split__bs-item--0 {
        grid-column: span 2;
    }

    .values-bento-split__bs-grid .values-bento-split__bs-item--1 {
        grid-column: span 1;
    }

    .values-bento-split__bs-grid .values-bento-split__bs-item--2 {
        grid-column: span 1;
    }

    .values-bento-split__bs-grid .values-bento-split__bs-item--3 {
        grid-column: span 2;
    }
}

.values-bento-split__subtitle-max {
    max-width: 48rem;
}

/* Текст под абсолютным кругом: отступы сильнее, чем были в bs (избегаем перекрытия) */
.values-bento-split__body {
    min-width: 0;
    margin-top: 6rem;
    margin-left: 0;
}

@media (min-width: 768px) {
    .values-bento-split__body {
        margin-top: 2rem;
        margin-left: 6rem;
    }
}

.values-bento-split__thumb {
    width: 4rem;
    height: 4rem;
}

@media (min-width: 768px) {
    .values-bento-split__thumb {
        width: 5rem;
        height: 5rem;
    }
}

