/* Skeleton + lazy media — pure CSS, no library */

@keyframes gt-skeleton-shine {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.gt-media {
  display: block;
  position: relative;
  overflow: hidden;
}

.gt-media.gt-skeleton,
.gt-skeleton {
  background: linear-gradient(90deg, #f1f5f9 0%, #e8eef5 40%, #f1f5f9 80%);
  background-size: 200% 100%;
  animation: gt-skeleton-shine 1.1s ease-in-out infinite;
}

.gt-media img.gt-lazy,
img.gt-lazy {
  opacity: 0;
  transition: opacity 0.28s ease;
}

.gt-media img.gt-lazy.is-loaded,
img.gt-lazy.is-loaded {
  opacity: 1;
}

.news-card-media,
.news-card .gt-media {
  border-radius: inherit;
}

.news-card-media img,
.news-card .gt-media img {
  display: block;
  width: 100%;
  height: auto;
}

.footer-hero.gt-media img {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .gt-media.gt-skeleton,
  .gt-skeleton {
    animation: none;
  }
  .gt-media img.gt-lazy,
  img.gt-lazy {
    opacity: 1;
    transition: none;
  }
}

/* Font Awesome UI icons (replace img icons) */
.faq-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  line-height: 1;
}

.faq-icon .fa-minus {
  display: none;
}

.faq-item.is-open .faq-icon .fa-plus {
  display: none;
}

.faq-item.is-open .faq-icon .fa-minus {
  display: inline-block;
}

.gt-fa {
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn .gt-fa,
.btn-primary .gt-fa,
.btn-secondary .gt-fa {
  font-size: 1em;
}

.pricing-nav-item-dropdown > .pricing-nav-link .gt-fa,
.nav-item-dropdown > .nav-link .gt-fa {
  width: 16px;
  font-size: 12px;
  transition: transform 0.2s ease;
}

.pricing-nav-item-dropdown:hover > .pricing-nav-link .gt-fa,
.pricing-nav-item-dropdown:focus-within > .pricing-nav-link .gt-fa,
.nav-item-dropdown:hover > .nav-link .gt-fa,
.nav-item-dropdown:focus-within > .nav-link .gt-fa {
  transform: rotate(180deg);
}

.footer-contact .gt-fa,
.about-contact-row .gt-fa,
.contact-info .gt-fa {
  margin-right: 8px;
  width: 1.1em;
  text-align: center;
}

.principle-icon .gt-fa,
.capability-step-icon .gt-fa {
  font-size: 1.25rem;
}

.about-hero-card-media img,
.about-vision-banner-media img,
.about-team-photo-media img,
.platform-module-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-capability-icon img,
.platform-tech-icon img {
  object-fit: contain;
}

.gt-media[style*="aspect-ratio"] img.gt-lazy {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
