/* intro v27 — Evangelion cascade: organic blob, wide banner, diagonal steps, slide-in L/R, word reveal */

/* Organic blob */
.intro-eva__blob {
    width: 24rem;
    height: 24rem;
    filter: blur(60px);
    opacity: 0.4;
    border-radius: 38% 62% 55% 45% / 55% 42% 58% 45%;
    animation: intro-eva-morph 12s ease-in-out infinite;
}
@keyframes intro-eva-morph {
    50% { border-radius: 55% 45% 42% 58% / 42% 58% 45% 55%; }
}

/* Single wide banner */
.intro-eva__banner-img {
    display: block;
    width: 100%;
    height: 12rem;
    object-fit: cover;
}
@media (min-width: 768px) {
    .intro-eva__banner-img { height: 16rem; }
}

/* Stepped diagonal cascade + asymmetric mixed sizes */
.intro-eva__row { margin-left: 0; }
.intro-eva__cell { max-width: 46rem; }
@media (min-width: 768px) {
    .intro-eva__row:nth-child(1) .intro-eva__cell { margin-left: 0;    max-width: 40rem; }
    .intro-eva__row:nth-child(2) .intro-eva__cell { margin-left: 3rem; max-width: 34rem; }
    .intro-eva__row:nth-child(3) .intro-eva__cell { margin-left: 6rem; max-width: 44rem; }
    .intro-eva__row:nth-child(4) .intro-eva__cell { margin-left: 9rem; max-width: 30rem; }
}

/* Slide-in from L / R on scroll — hidden only once JS arms it (no-JS content stays visible) */
.intro-eva.is-armed .intro-eva__row {
    opacity: 0;
    transition: opacity 560ms ease, transform 560ms ease;
}
.intro-eva.is-armed .intro-eva__row:nth-child(odd)  { transform: translateX(-2.5rem); }
.intro-eva.is-armed .intro-eva__row:nth-child(even) { transform: translateX(2.5rem); }
.intro-eva.is-armed .intro-eva__row.is-in { opacity: 1; transform: translateX(0); }

/* Letterpress-ish press using the element's own colour */
.intro-eva__press { text-shadow: 0 1px 0 currentColor; }

/* Word-by-word reveal */
.intro-eva__word { display: inline-block; }
.intro-eva.is-armed .intro-eva__word {
    opacity: 0;
    transform: translateY(0.6em);
    transition: opacity 420ms ease, transform 420ms ease;
}
.intro-eva.is-armed .intro-eva__reveal.is-in .intro-eva__word { opacity: 1; transform: translateY(0); }

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

.backdrop-grid-min-h { min-height: 30vh; }

.backdrop-sq-12 { width: 3rem; height: 3rem; flex-shrink: 0; }

.backdrop-card-hover {
    transition: transform 0.3s ease;
}

.backdrop-card-hover:hover {
    transform: scale(1.05);
}

/* Bootstrap: явный gap между карточками (row + row-cols часто без горизонтального gutter) */
.values-icon-grid__bs-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.values-icon-grid__subtitle {
    max-width: 42rem;
}

.values-icon-grid__thumb {
    width: 4rem;
    height: 4rem;
}

.doctrine-magazine__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
}

@media (min-width: 1024px) {
    .doctrine-magazine__grid {
        grid-template-columns: minmax(0, 320px) 1fr;
        gap: 4rem;
    }

    .doctrine-magazine__aside {
        position: sticky;
        top: 6rem;
        align-self: start;
    }
}

.doctrine-magazine__image {
    height: 14rem;
    object-fit: cover;
}

.magazine-bleed-timeline__rule {
    height: 2px;
}

.magazine-bleed-timeline__image {
    min-height: 420px;
}

.magazine-bleed-timeline__watermark {
    font-size: clamp(72px, 14vw, 160px);
    line-height: 0.85;
    opacity: 0.15;
}

.magazine-bleed-timeline__accent {
    height: 4px;
    width: 3rem;
}

.magazine-bleed-timeline__divider {
    height: 1px;
}

@media (min-width: 768px) {
    .magazine-bleed-timeline__row--reverse {
        flex-direction: row-reverse;
    }

    .magazine-bleed-timeline__panel--end {
        margin-left: auto;
    }
}

.magazine-bleed-timeline__watermark-wrap--end {
    justify-content: flex-end;
}

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

