/* ============================================================
   Custom Layout Overrides — Identity Mantra
   Applied after webflow-global.css, layout.css, Header.css, Footer.css
   ============================================================ */

/* ── 10. Footer Rotate-Box Animation ───────────────────────── */
@keyframes rt-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.img-fluid.rt-footer-rotate-box {
  animation: rt-spin 10s linear infinite;
  width: 7.5rem;
  height: 7.5rem;
}

/* ── 1. Header Dropdown – eliminate lag & ghosting ─────────── */
/* Combined with data-delay="0" on the HTML w-dropdown elements,
   these rules ensure crisp open/close with a quick fade effect.  */

/* Base dropdown list: always present in DOM but invisible */
.rt-nav-dropdown-menu.w-dropdown-list {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease !important;
  display: block !important;
  /* keep in DOM for transition */
  transform: translateY(4px);
}

/* When Webflow adds w--open, fade in and slide up */
.rt-nav-dropdown-menu.w-dropdown-list.w--open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0);
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease !important;
}

/* Ensure closed dropdowns are truly hidden instantly */
.w-dropdown-list:not(.w--open) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition-delay: 0s !important;
}

/* ── 2. Banner Slider – crossfade transition effect ───────── */
/* The Webflow slider with data-animation="outin" uses opacity
   toggled via inline styles. These rules add a smooth crossfade
   so the slide change is visually appealing instead of abrupt.  */

/* All slides stack on top of each other for crossfade */
.rt-hero-v1-slider .w-slider-mask {
  position: relative;
  overflow: hidden;
}

.rt-hero-v1-slider .w-slide {
  transition: opacity 0.8s ease-in-out !important;
}

/* Background image zoom-in entrance effect on active slide */
.rt-hero-v1-slider .w-slide .rt-hero-v1-slider-image {
  transition: transform 4.5s ease-out;
}

/* When the slide is the current active one, animate the image
   from scale(1.2) → scale(1) for a cinematic Ken Burns feel  */
.rt-hero-v1-slider .w-slide[aria-hidden="false"] .rt-hero-v1-slider-image {
  transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0) !important;
}

.rt-hero-v1-slider .w-slide[aria-hidden="true"] .rt-hero-v1-slider-image {
  transform: translate3d(0, 0, 0) scale3d(1.2, 1.2, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0) !important;
}

/* Slide content (text, buttons, counters) entrance animation */
.rt-hero-v1-slider .w-slide .rt-slider-content {
  transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}

.rt-hero-v1-slider .w-slide[aria-hidden="false"] .rt-slider-content {
  opacity: 1;
  transform: translateY(0);
}

.rt-hero-v1-slider .w-slide[aria-hidden="true"] .rt-slider-content {
  opacity: 0;
  transform: translateY(20px);
}

/* Overlay fade during transitions */
.rt-hero-v1-slider .w-slide .rt-hero-v1-slider-overlay {
  transition: opacity 0.8s ease-in-out;
}

/* Particle animation fade */
.rt-hero-v1-slider .w-slide .rt-slider-animation {
  transition: opacity 0.6s ease;
}

.rt-hero-v1-slider .w-slide[aria-hidden="false"] .rt-slider-animation {
  opacity: 1;
}

.rt-hero-v1-slider .w-slide[aria-hidden="true"] .rt-slider-animation {
  opacity: 0;
}

/* ── Scroll-triggered entrance animation (replaces IX2 for borrowed sections) ── */
.rt-scroll-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.rt-scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children variant */
.rt-scroll-reveal-stagger>* {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.rt-scroll-reveal-stagger.is-visible>* {
  opacity: 1;
  transform: translateY(0);
}

.rt-scroll-reveal-stagger.is-visible>*:nth-child(1) {
  transition-delay: 0s;
}

.rt-scroll-reveal-stagger.is-visible>*:nth-child(2) {
  transition-delay: 0.1s;
}

.rt-scroll-reveal-stagger.is-visible>*:nth-child(3) {
  transition-delay: 0.15s;
}

.rt-scroll-reveal-stagger.is-visible>*:nth-child(4) {
  transition-delay: 0.2s;
}

.rt-scroll-reveal-stagger.is-visible>*:nth-child(5) {
  transition-delay: 0.25s;
}

.rt-scroll-reveal-stagger.is-visible>*:nth-child(6) {
  transition-delay: 0.3s;
}

/* ── Innovative Section – 6-6 two-column layout ───────────── */
/* Full-width heading at top, then two equal columns of items  */

.rt-innovative-wrapper.rt-innovative-wrapper-fullwidth {
  flex-direction: column;
  align-items: stretch;
}

.rt-innovative-left.rt-innovative-left-fullwidth {
  max-width: none;
  margin-bottom: 2rem;
}

.rt-process-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 40px;
  grid-row-gap: 0;
}


/* Mobile: keep two columns below 768px, compact items */
@media screen and (max-width: 767px) {
  .rt-process-two-col {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 16px;
    grid-row-gap: 0;
  }
}

/* Client Logo Marquee — grayscale to colour on hover */
.rt-client-logo {
  max-height: 50px;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.6;
  transition: filter 0.4s ease, opacity 0.4s ease;
}

.rt-image-gap:hover .rt-client-logo {
  filter: grayscale(0%);
  opacity: 1;
}