/* ═══════════════════════════════════════════════
   SCROLL ANIMATIONS — fade in variants
═══════════════════════════════════════════════ */

/* Base hidden state for all animated elements */
[data-anim] {
  opacity: 0;
  transition: opacity 0.7s ease, transform 0.7s ease;
}

/* Directional variants */
[data-anim="fade-up"]    { transform: translateY(40px); }
[data-anim="fade-down"]  { transform: translateY(-40px); }
[data-anim="fade-left"]  { transform: translateX(-50px); }
[data-anim="fade-right"] { transform: translateX(50px); }
[data-anim="fade-in"]    { transform: scale(0.97); }

/* Visible state — added by JS */
[data-anim].anim-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

/* Stagger delays for grid children */
[data-anim-delay="100"] { transition-delay: 0.1s; }
[data-anim-delay="200"] { transition-delay: 0.2s; }
[data-anim-delay="300"] { transition-delay: 0.3s; }
[data-anim-delay="400"] { transition-delay: 0.4s; }
[data-anim-delay="500"] { transition-delay: 0.5s; }
[data-anim-delay="600"] { transition-delay: 0.6s; }

/* ── HERO: text animation on page load ── */
.hero-content h1 { animation: heroFadeUp 0.8s 0.1s ease both; }
.hero-content p  { animation: heroFadeUp 0.8s 0.3s ease both; }
.hero-btns       { animation: heroFadeUp 0.8s 0.45s ease both; }
.hero-badge-card { animation: heroFadeUp 0.8s 0.6s ease both; }
.hero-right      { animation: heroFadeRight 0.9s 0.3s ease both; }

@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroFadeRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ── HERO CARDS: slide up on load ── */
.hero-card {
  animation: heroFadeUp 0.7s ease both;
  opacity: 0;
}
.hero-card:nth-child(1) { animation-delay: 0.5s; }
.hero-card:nth-child(2) { animation-delay: 0.65s; }
.hero-card:nth-child(3) { animation-delay: 0.8s; }

/* ── ABOUT section tag line ── */
.about-header .section-tag,
.facilities-header .section-tag,
.why-tag {
  position: relative;
  overflow: hidden;
}

/* ── ABOUT highlight hover pulse ── */
.about-hl {
  transition: background 0.25s, border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}
.about-hl:hover {
  transform: translateX(6px);
  box-shadow: 0 4px 16px rgba(204,41,54,0.08);
}

/* ── FACILITY card hover lift ── */
.facility-card {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.facility-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}

/* ── WHY CARD hover lift ── */
.why-card {
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
}
.why-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  background: #fff8f8;
}
.why-icon {
  transition: background 0.25s, transform 0.25s;
}
.why-card:hover .why-icon {
  background: var(--red);
  color: #fff;
  transform: scale(1.1) rotate(-4deg);
}

/* ── FOOTER link hover ── */
.footer-col ul li a {
  transition: color 0.25s, padding-left 0.25s, letter-spacing 0.25s;
}
.footer-col ul li a:hover { letter-spacing: 0.02em; }

/* ── SOCIAL btn pulse on hover ── */
.social-btn {
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s;
}
.social-btn:hover { transform: translateY(-4px) scale(1.12); }

/* ── NAV link hover underline ── */
.contact-btn {
  position: relative;
  overflow: hidden;
}
.contact-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.12);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}
.contact-btn:hover::before { transform: translateX(0); }

/* ── LOGO hover ── */
.logo {
  transition: opacity 0.25s;
}
.logo:hover { opacity: 0.88; }

/* ── Reduce motion for accessibility ── */
@media (prefers-reduced-motion: reduce) {
  [data-anim], .hero-content h1, .hero-content p,
  .hero-btns, .hero-badge-card, .hero-right, .hero-card {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
