/* 시공사례 전용 모션: 사진과 정보 위계를 해치지 않는 절제된 동작만 사용합니다. */
.gy-gallery-tabs button {
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}

.gy-gallery-tabs__media img {
  transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}

.gy-gallery-tabs button:hover,
.gy-gallery-tabs button:focus-visible {
  z-index: 2;
  transform: translateY(-7px);
  box-shadow: 0 24px 52px rgba(7,17,29,.2);
}

.gy-gallery-tabs button:hover .gy-gallery-tabs__media img,
.gy-gallery-tabs button:focus-visible .gy-gallery-tabs__media img,
.gy-gallery-tabs button[aria-selected="true"] .gy-gallery-tabs__media img {
  transform: scale(1.045);
  filter: saturate(.95) contrast(1.04);
}

.gy-gallery-tabs button:hover .gy-gallery-tabs__media::after,
.gy-gallery-tabs button:focus-visible .gy-gallery-tabs__media::after {
  background: linear-gradient(180deg, rgba(4,11,18,0) 10%, rgba(4,11,18,.12) 44%, rgba(4,11,18,.88) 100%);
}

.gy-gallery-card {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1);
}

.gy-gallery-card.is-revealed {
  opacity: 1;
  transform: none;
}

.gy-gallery-card__media {
  transition: box-shadow .35s ease;
}

.gy-gallery-card__media > img {
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}

.gy-gallery-card__copy {
  transition: border-color .3s ease;
}

.gy-gallery-card__copy strong {
  transition: transform .3s ease, color .3s ease;
}

.gy-gallery-card > button:hover .gy-gallery-card__media,
.gy-gallery-card > button:focus-visible .gy-gallery-card__media {
  box-shadow: 0 22px 50px rgba(7,17,29,.17);
}

.gy-gallery-card > button:hover .gy-gallery-card__media > img,
.gy-gallery-card > button:focus-visible .gy-gallery-card__media > img {
  transform: scale(1.035);
  filter: saturate(1.05);
}

.gy-gallery-card > button:hover .gy-gallery-card__copy,
.gy-gallery-card > button:focus-visible .gy-gallery-card__copy {
  border-top-color: var(--gy-red);
}

.gy-gallery-card > button:hover .gy-gallery-card__copy strong,
.gy-gallery-card > button:focus-visible .gy-gallery-card__copy strong {
  color: var(--gy-red);
  transform: translateX(5px);
}

.gy-gallery-card__play,
.gy-gallery-card__3d {
  transition: transform .3s ease, background .3s ease;
}

.gy-gallery-card > button:hover .gy-gallery-card__play,
.gy-gallery-card > button:hover .gy-gallery-card__3d {
  transform: scale(1.08);
  background: var(--gy-navy);
}

.gy-gallery-card[data-gallery-mode="youtube"] > button:hover .gy-gallery-card__play {
  transform: translate(50%, -50%) scale(1.08);
}

.gy-gallery-detail:not([hidden]) {
  animation: gy-gallery-detail-in .4s cubic-bezier(.2,.7,.2,1) both;
}

@keyframes gy-gallery-detail-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (hover: none), (max-width: 920px) {
  .gy-gallery-tabs button:hover,
  .gy-gallery-tabs button:focus-visible {
    transform: none;
  }
}

@media (max-width: 620px) {
  .gy-gallery-card > button:active .gy-gallery-card__media {
    transform: scale(.985);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gy-gallery-tabs button,
  .gy-gallery-tabs__media img,
  .gy-gallery-card,
  .gy-gallery-card__media,
  .gy-gallery-card__media > img,
  .gy-gallery-card__copy,
  .gy-gallery-card__copy strong,
  .gy-gallery-card__play,
  .gy-gallery-card__3d {
    transition: none;
  }

  .gy-gallery-card {
    opacity: 1;
    transform: none;
  }

  .gy-gallery-detail:not([hidden]) {
    animation: none;
  }
}
