/* =============================================
   VIQSA — Premium scroll & interaction animations
   Loaded after style.css — does not override layout
   ============================================= */

/* --- Motion preferences (accessibility) --- */
@media (prefers-reduced-motion: reduce) {
  .hero-content > *,
  .hero.is-ready .hero-float {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .hero-blob,
  /* .hero-gradient-overlay {
    display: none !important;
  } */

  [data-animate],
  .animate-on-scroll {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* --- CSS variables for animation timing --- */
:root {
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --anim-duration: 0.85s;
  --anim-stagger: 0.12s;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

/* =============================================
   SCROLL REVEAL — initial hidden states
   ============================================= */
[data-animate] {
  will-change: transform, opacity;
}

[data-animate]:not(.is-visible) {
  opacity: 0;
  transition:
    opacity var(--anim-duration) var(--ease-out-expo),
    transform var(--anim-duration) var(--ease-out-expo);
  transition-delay: var(--anim-delay, 0ms);
}

[data-animate].is-visible {
  opacity: 1;
  transform: none !important;
  /* text-align: center !important; */
}

/* Fade up */
[data-animate="fade-up"]:not(.is-visible) {
  transform: translate3d(0, 48px, 0);
}

/* Fade left / right */
[data-animate="fade-left"]:not(.is-visible) {
  transform: translate3d(-56px, 0, 0);
}

[data-animate="fade-right"]:not(.is-visible) {
  transform: translate3d(56px, 0, 0);
}

/* Zoom in */
[data-animate="zoom-in"]:not(.is-visible) {
  transform: scale3d(0.88, 0.88, 1);
}

/* Reveal clip */
[data-animate="reveal"]:not(.is-visible) {
  transform: translate3d(0, 100%, 0);
  clip-path: inset(0 0 100% 0);
}

[data-animate="reveal"].is-visible {
  clip-path: inset(0 0 0 0);
}

/* Stagger children */
[data-animate-stagger] > * {
  opacity: 0;
  transform: translate3d(0, 32px, 0);
  transition:
    opacity 0.7s var(--ease-out-expo),
    transform 0.7s var(--ease-out-expo);
  transition-delay: calc(var(--anim-stagger) * var(--stagger-index, 0));
}

[data-animate-stagger].is-visible > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* =============================================
   HERO — gradient, blobs, entrance, typing
   ============================================= */
.hero {
  isolation: isolate;
}

/* .hero-gradient-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  pointer-events: none;

  background-size: 200% 200%;
  animation: heroGradientShift 12s ease infinite;
  mix-blend-mode: soft-light;
} */

@keyframes heroGradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.hero-blobs {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}

.hero-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.45;
  animation: blobFloat 18s ease-in-out infinite;
}

.hero-blob--1 {
  width: 320px;
  height: 320px;
  top: 10%;
  left: 8%;
  background: rgba(248, 176, 94, 0.5);
  animation-delay: 0s;
}

.hero-blob--2 {
  width: 240px;
  height: 240px;
  bottom: 20%;
  right: 15%;
  background: rgba(141, 75, 0, 0.4);
  animation-delay: -6s;
}

.hero-blob--3 {
  width: 180px;
  height: 180px;
  top: 50%;
  left: 45%;
  background: rgba(255, 255, 255, 0.15);
  animation-delay: -12s;
}

@keyframes blobFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  33% { transform: translate3d(24px, -20px, 0) scale(1.05); }
  66% { transform: translate3d(-16px, 12px, 0) scale(0.95); }
}

/* Hero parallax layer */
.hero-bg {
  transition: transform 0.1s linear;
  will-change: transform;
  margin-top: 3px;
}

/* Progressive enhancement: visible when JS disabled */
html:not(.has-animations) .hero-content > * {
  opacity: 1;
  transform: none;
}

.hero-content > * {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
}

.hero.is-ready .hero-content > * {
  animation: heroEntrance 0.9s var(--ease-out-expo) forwards;
}

.hero.is-ready .hero-content h1 { animation-delay: 0.1s; }
.hero.is-ready .hero-content .hero-subtitle { animation-delay: 0.25s; }
.hero.is-ready .hero-content .hero-description { animation-delay: 0.4s; }
.hero.is-ready .hero-content .hero-btn { animation-delay: 0.55s; }

/* Product pages use .page-hero instead of .hero */
.page-hero .hero-content > * {
  opacity: 1;
  transform: none;
  animation: none;
}

@keyframes heroEntrance {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.hero.is-ready .hero-float {
  animation: heroCardEntrance 1s var(--ease-out-expo) 0.65s forwards;
  opacity: 0;
  transform: translate3d(40px, 20px, 0);
}

@keyframes heroCardEntrance {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Typing cursor on hero subtitle */
.hero-subtitle .typing-text {
  border-right: 2px solid rgba(255, 255, 255, 0.85);
  padding-right: 2px;
  animation: typingCaret 0.8s step-end infinite;
}

@keyframes typingCaret {
  50% { border-color: transparent; }
}

/* Split / word reveal */
.word-reveal .word {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

.word-reveal .word-inner {
  display: inline-block;
  transform: translate3d(0, 110%, 0);
  transition: transform 0.65s var(--ease-out-expo);
  transition-delay: calc(0.04s * var(--word-index, 0));
}

.word-reveal.is-visible .word-inner {
  transform: translate3d(0, 0, 0);
}

/* =============================================
   NAVBAR enhancements
   ============================================= */
.navbar {
  transition:
    top 0.45s var(--ease-out-expo),
    transform 0.45s var(--ease-out-expo);
}

.navbar.is-sticky-compact {
  top: 12px;
}

.navbar-bar {
  transition:
    background 0.45s var(--ease-out-expo),
    border-color 0.45s var(--ease-out-expo),
    box-shadow 0.45s var(--ease-out-expo),
    backdrop-filter 0.45s var(--ease-out-expo);
}

.nav-links a {
  position: relative;
}

/* Mobile menu link stagger (preserves style.css display toggle) */
@media (max-width: 768px) {
  .nav-mobile-menu a {
    opacity: 0;
    transform: translate3d(-12px, 0, 0);
    transition:
      opacity 0.35s var(--ease-out-expo),
      transform 0.35s var(--ease-out-expo),
      color 0.2s,
      background-color 0.2s;
    transition-delay: calc(0.06s * var(--link-index, 0));
  }

  .navbar.open .nav-mobile-menu a {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* =============================================
   3D TILT, HOVER GLOW, FLOATING
   ============================================= */
.tilt-3d {
  transform-style: preserve-3d;
  transition: transform 0.15s ease-out, box-shadow 0.35s var(--ease-out-expo);
  will-change: transform;
}

.tilt-3d-inner {
  transform: translateZ(24px);
}

.hover-glow:hover {
  box-shadow:
    0 20px 50px rgba(215, 146, 60, 0.25),
    0 8px 24px rgba(0, 0, 0, 0.12);
}

.hover-scale {
  transition: transform 0.4s var(--ease-out-expo), box-shadow 0.4s var(--ease-out-expo);
}

.hover-scale:hover {
  transform: scale3d(1.03, 1.03, 1);
}

/* Floating animation */
.anim-float {
  animation: gentleFloat 5s ease-in-out infinite;
}

.anim-float-slow {
  animation: gentleFloat 7s ease-in-out infinite;
  animation-delay: -2s;
}

@keyframes gentleFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -14px, 0); }
}

/* Slow rotate */
.anim-rotate-slow {
  animation: slowRotate 24s linear infinite;
}

@keyframes slowRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Image reveal mask */
.img-reveal {
  position: relative;
  overflow: hidden;
}

.img-reveal::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--cream, #f5ebde);
  transform: scaleX(1);
  transform-origin: right center;
  transition: transform 1s var(--ease-out-expo);
  z-index: 2;
  pointer-events: none;
}

.img-reveal.is-visible::after {
  transform: scaleX(0);
}

.img-reveal img,
.img-reveal .about-img-main {
  transition: transform 0.6s var(--ease-out-expo);
}

.img-hover-zoom:hover img,
.about-images-inner:hover .about-img-main {
  transform: scale3d(1.04, 1.04, 1);
}

/* Parallax targets */
[data-parallax] {
  will-change: transform;
}

/* Hero & buttons */
.hero-btn,
.hero-card-btn,
.about-btn,
.newsletter-form button {
  position: relative;
  overflow: hidden;
  transition:
    transform 0.35s var(--ease-out-expo),
    box-shadow 0.35s var(--ease-out-expo),
    background 0.25s,
    opacity 0.25s;
}

.hero-btn::before,
.about-btn::before,
.newsletter-form button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.25) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 0.6s var(--ease-out-expo);
  pointer-events: none;
}

.hero-btn:hover::before,
.about-btn:hover::before,
.newsletter-form button:hover::before {
  transform: translateX(120%);
}

.hero-btn:hover,
.about-btn:hover {
  transform: translate3d(0, -3px, 0);
  box-shadow: 0 12px 32px rgba(215, 146, 60, 0.35);
}

/* Service cards stagger glow */
.service-card {
  transition:
    transform 0.4s var(--ease-out-expo),
    box-shadow 0.4s var(--ease-out-expo);
}

.service-card:hover {
  transform: translate3d(0, -6px, 0);
  box-shadow: 0 24px 48px rgba(18, 18, 18, 0.12);
}

/* Feature strip items */
.feature-item {
  transition: transform 0.35s var(--ease-out-expo);
}

.feature-item:hover {
  transform: translate3d(0, -4px, 0);
}

.feature-item:hover img {
  transform: scale3d(1.08, 1.08, 1);
  transition: transform 0.35s var(--ease-out-expo);
}

/* Newsletter parallax */
.newsletter-bg,
.newsletter-image {
  will-change: transform;
}

/* Mouse spotlight (subtle) */
.mouse-spotlight {
  position: fixed;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(248, 176, 94, 0.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.4s;
}

body.animations-ready .mouse-spotlight {
  opacity: 1;
}

/* Homepage stat icons — static (no rotation) */
.about-stats .stat-icon {
  animation: none !important;
  transform: none !important;
}

/* Stat counter pulse on reveal */
.stat-number.is-counted {
  animation: statPop 0.5s var(--ease-out-expo);
}

@keyframes statPop {
  0% { transform: scale3d(0.9, 0.9, 1); }
  60% { transform: scale3d(1.05, 1.05, 1); }
  100% { transform: scale3d(1, 1, 1); }
}

/* Process images */
.process-img-main {
  transition: transform 0.5s var(--ease-out-expo);
}

.process-images:hover .process-img-main {
  transform: scale3d(1.02, 1.02, 1);
}

/* =============================================
   WHY CHOOSE US — layout-safe scroll animations
   (does not override style.css positioning)
   ============================================= */

/* Staggered tabs: opacity + slight X only — keeps overlap & slanted shapes */
.why-item[data-animate='why-item']:not(.is-visible) {
  opacity: 0;
  transform: translate3d(-36px, 0, 0);
}

.why-item[data-animate='why-item'].is-visible {
  opacity: 1;
  transform: none;
}

.why-item[data-animate='why-item'].is-visible:hover {
  transform: translate3d(4px, 0, 0);
}

/* Main image: fade + subtle slide — no scale (preserves cover layout) */
.why-us-image[data-animate='why-image']:not(.is-visible) {
  opacity: 0;
  transform: translate3d(32px, 0, 0);
}

.why-us-image[data-animate='why-image'].is-visible {
  opacity: 1;
  transform: none;
}

/* Smooth active/inactive tab transition (colors & filters only) */
.why-item .why-item-bg {
  transition: filter 0.4s var(--ease-out-expo), opacity 0.35s ease;
}

.why-item .why-item-title,
.why-item .why-item-icon {
  transition: color 0.35s var(--ease-out-expo), filter 0.35s var(--ease-out-expo);
}

@media (max-width: 900px) {
  .why-item[data-animate='why-item']:not(.is-visible) {
    transform: translate3d(0, 20px, 0);
  }

  .why-item[data-animate='why-item'].is-visible:hover {
    transform: none;
  }

  .why-us-image[data-animate='why-image']:not(.is-visible) {
    transform: translate3d(0, 24px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .why-item[data-animate='why-item'],
  .why-us-image[data-animate='why-image'] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =============================================
   PROPERTY MANAGEMENT PAGE
   ============================================= */

.pm-hero {
  isolation: isolate;
}

.pm-hero-overlay {
  border-radius: inherit;
  z-index: 1;
}

.pm-hero .hero-blobs {
  z-index: 1;
}

html:not(.has-animations) .pm-hero-body > * {
  opacity: 1;
  transform: none;
}

.pm-hero .pm-hero-body > * {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
}

.pm-hero.is-ready .pm-hero-body > * {
  animation: heroEntrance 0.85s var(--ease-out-expo) forwards;
}

.pm-hero.is-ready .pm-breadcrumb {
  animation-delay: 0.1s;
}

.pm-hero.is-ready .pm-page-title {
  animation-delay: 0.28s;
}

/* Cards: preserve existing hover translateY from property-management.css */
[data-animate='pm-card']:not(.is-visible) {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
}

[data-animate='pm-card'].is-visible {
  opacity: 1;
  transform: none;
}

.pm-service-card[data-animate='pm-card'].is-visible:hover,
.pm-feature-card[data-animate='pm-card'].is-visible:hover,
.pm-re-card[data-animate='pm-card'].is-visible:hover,
.pm-integration-card[data-animate='pm-card'].is-visible:hover,
.pm-choosing-card[data-animate='pm-card'].is-visible:hover {
  transform: translate3d(0, -4px, 0);
}

.pm-btn-cta,
.pm-contact-submit {
  transition:
    transform 0.35s var(--ease-out-expo),
    box-shadow 0.35s var(--ease-out-expo),
    opacity 0.25s;
}

.pm-btn-cta:hover,
.pm-contact-submit:hover {
  transform: translate3d(0, -3px, 0);
  box-shadow: 0 12px 32px rgba(215, 146, 60, 0.3);
}

.pm-how-step[data-animate='pm-card'].is-visible:hover {
  transform: none;
}

.pm-benefit-item-main[data-animate='pm-card'].is-visible:hover,
.pm-benefit-item-main-2[data-animate='pm-card'].is-visible:hover {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .pm-hero .pm-hero-body > * {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  [data-animate='pm-card'] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =============================================
   BLOG PAGE (list + details)
   ============================================= */

.blog-hero {
  isolation: isolate;
}

.blog-hero-overlay {
  border-radius: inherit;
  z-index: 1;
}

.blog-hero .hero-blobs {
  z-index: 1;
}

html:not(.has-animations) .blog-hero-body > * {
  opacity: 1;
  transform: none;
}

.blog-hero .blog-hero-body > * {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
}

.blog-hero.is-ready .blog-hero-body > * {
  animation: heroEntrance 0.85s var(--ease-out-expo) forwards;
}

.blog-hero.is-ready .blog-breadcrumb {
  animation-delay: 0.1s;
}

.blog-hero.is-ready .blog-page-title {
  animation-delay: 0.28s;
}

/* Banner title typing cursor — blog list hero only */
.blog-page-title .typing-text {
  border-right: 2px solid rgba(255, 255, 255, 0.85);
  padding-right: 2px;
  animation: typingCaret 0.8s step-end infinite;
}

.blog-page-title .typing-text--done {
  border-right: none;
  animation: none;
}

/* Blog cards — stagger reveal + hover lift */
[data-animate='blog-card']:not(.is-visible) {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
}

[data-animate='blog-card'].is-visible {
  opacity: 1;
  transform: none;
}

.blog-card[data-animate='blog-card'].is-visible:hover {
  transform: translate3d(0, -6px, 0);
}

.blog-card .blog-img.img-reveal {
  position: relative;
  overflow: hidden;
}

.blog-card .blog-img.img-reveal::after {
  border-radius: 0;
}

.blog-card .blog-img.img-hover-zoom {
  transition: transform 0.55s var(--ease-out-expo);
}

.blog-card:hover .blog-img.img-hover-zoom {
  transform: scale3d(1.04, 1.04, 1);
}

.blog-explore-link {
  transition: transform 0.3s var(--ease-out-expo), opacity 0.25s;
}

.blog-explore-link:hover {
  transform: translate3d(4px, 0, 0);
}

.blog-s-card {
  transition: box-shadow 0.35s var(--ease-out-expo), transform 0.35s var(--ease-out-expo);
}

.blog-s-card.is-visible:hover {
  transform: translate3d(-3px, 0, 0);
  box-shadow: -6px 6px 32px rgba(154, 154, 154, 0.14);
}

.blog-news-item {
  transition: transform 0.3s var(--ease-out-expo);
}

.blog-news-item.is-visible:hover {
  transform: translate3d(4px, 0, 0);
}

.blog-tag.is-visible {
  transition: transform 0.3s var(--ease-out-expo), background 0.2s;
}

.blog-tag.is-visible:hover {
  transform: scale3d(1.05, 1.05, 1);
}

/* ===== Blog details (article, comments, reply) ===== */
.blog-detail-card[data-animate='blog-card'].is-visible:hover {
  transform: translate3d(0, -4px, 0);
}

.blog-detail-hero-img.img-reveal {
  position: relative;
  overflow: hidden;
  display: block;
}

.blog-detail-hero-img.img-hover-zoom {
  transition: transform 0.55s var(--ease-out-expo);
}

.blog-detail-card:hover .blog-detail-hero-img.img-hover-zoom {
  transform: scale3d(1.03, 1.03, 1);
}

.blog-comment[data-animate='fade-left']:not(.is-visible) {
  opacity: 0;
  transform: translate3d(-32px, 0, 0);
}

.blog-comment[data-animate='fade-left'].is-visible {
  opacity: 1;
  transform: none;
}

.blog-comment.is-visible:hover {
  transform: translate3d(6px, 0, 0);
  transition: transform 0.35s var(--ease-out-expo);
}

.blog-reply-form button.hover-scale:hover {
  transform: translate3d(0, -3px, 0);
  box-shadow: 0 10px 28px rgba(215, 146, 60, 0.32);
}

.blog-detail-share a.hover-scale:hover,
.blog-detail-tags a.hover-scale:hover {
  transform: scale3d(1.08, 1.08, 1);
  display: inline-block;
}

@media (prefers-reduced-motion: reduce) {
  .blog-hero .blog-hero-body > * {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  [data-animate='blog-card'],
  .blog-comment[data-animate='fade-left'] {
    opacity: 1 !important;
    transform: none !important;
  }

  .blog-page-title .typing-text {
    border-right: none;
  }
}

/* =============================================
   ABOUT US PAGE
   ============================================= */

.au-hero {
  isolation: isolate;
}

.au-hero-overlay {
  border-radius: inherit;
  z-index: 1;
}

.au-hero .hero-blobs {
  z-index: 1;
}

html:not(.has-animations) .au-hero-body > * {
  opacity: 1;
  transform: none;
}

.au-hero .au-hero-body > * {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
}

.au-hero.is-ready .au-hero-body > * {
  animation: heroEntrance 0.85s var(--ease-out-expo) forwards;
}

.au-hero.is-ready .au-breadcrumb {
  animation-delay: 0.1s;
}

.au-hero.is-ready .au-page-title {
  animation-delay: 0.28s;
}

.au-about-cta.hover-scale {
  transition:
    transform 0.35s var(--ease-out-expo),
    box-shadow 0.35s var(--ease-out-expo),
    opacity 0.25s;
}

.au-about-cta.hover-scale:hover {
  transform: translate3d(0, -3px, 0);
  box-shadow: 0 12px 32px rgba(215, 146, 60, 0.35);
  opacity: 1;
}

/* Viqsa round badge — slow rotate in place (keeps aboutus.css position) */
.au-about-badge-img.anim-badge-spin {
  transform-origin: center center;
  animation: auBadgeSpin 28s linear infinite;
  will-change: transform;
}

@keyframes auBadgeSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Feature row icons stay static — no rotation */
.au-feature-icon {
  animation: none !important;
  transform: none !important;
}

.au-tab-btn {
  transition:
    transform 0.35s var(--ease-out-expo),
    box-shadow 0.35s var(--ease-out-expo),
    background 0.2s,
    border-color 0.2s;
}

.au-tab-btn.is-visible:hover:not(.active) {
  transform: translate3d(0, -2px, 0);
}

.au-tab-btn.active.is-visible {
  box-shadow: 0 8px 24px rgba(216, 147, 66, 0.2);
}

.au-tab-panel.au-panel-animate {
  animation: auPanelIn 0.55s var(--ease-out-expo) forwards;
}

@keyframes auPanelIn {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Preserve rotated mission label inside animated sidebar */
.au-mission-sidebar[data-animate].is-visible .au-mission-label {
  transform: rotate(-90deg);
}

.au-mission-sidebar[data-animate='fade-right']:not(.is-visible) {
  opacity: 0;
  transform: translate3d(-40px, 0, 0);
}

.au-mission-sidebar[data-animate='fade-right'].is-visible {
  opacity: 1;
  transform: none;
}

.au-mission-sidebar[data-animate='fade-right'].is-visible .au-mission-label {
  transform: rotate(-90deg);
}

@media (prefers-reduced-motion: reduce) {
  .au-hero .au-hero-body > * {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .au-about-badge-img.anim-badge-spin {
    animation: none !important;
    transform: none !important;
  }

  .au-tab-panel.au-panel-animate {
    animation: none !important;
  }

  .au-mission-sidebar[data-animate='fade-right'] {
    opacity: 1 !important;
    transform: none !important;
  }

  .au-mission-sidebar .au-mission-label {
    transform: rotate(-90deg);
  }
}

/* =============================================
   CONTACT US PAGE
   ============================================= */

/* Photo reveal inside fixed card — does not move absolute layout */
.cu-info-photo.cu-photo-reveal:not(.is-visible) {
  opacity: 0;
  transform: scale3d(1.04, 1.04, 1);
}

.cu-info-photo.cu-photo-reveal.is-visible {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.9s var(--ease-out-expo),
    transform 0.9s var(--ease-out-expo);
}

.cu-info-visual:hover .cu-info-photo.cu-photo-reveal.is-visible {
  transform: scale3d(1.02, 1.02, 1);
}

.cu-submit.hover-scale {
  transition:
    transform 0.35s var(--ease-out-expo),
    box-shadow 0.35s var(--ease-out-expo),
    opacity 0.2s;
}

.cu-submit.hover-scale:hover {
  transform: translate3d(0, -3px, 0);
  box-shadow: 0 12px 32px rgba(215, 146, 60, 0.35);
  opacity: 1;
}

.cu-submit.hover-scale:active {
  transform: translate3d(0, -1px, 0) scale3d(0.98, 0.98, 1);
}

.cu-icon-hover {
  transition: transform 0.35s var(--ease-out-expo), background 0.25s;
}

.cu-info-list li.is-visible:hover .cu-icon-hover {
  transform: scale3d(1.08, 1.08, 1);
}

/* Contact info column — fade only, no transform override on grid */
.cu-info[data-animate='fade-right']:not(.is-visible) {
  opacity: 0;
  transform: translate3d(40px, 0, 0);
}

.cu-info[data-animate='fade-right'].is-visible {
  opacity: 1;
  transform: none;
}

.cu-form-wrap[data-animate='fade-left']:not(.is-visible) {
  opacity: 0;
  transform: translate3d(-40px, 0, 0);
}

.cu-form-wrap[data-animate='fade-left'].is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .cu-info-photo.cu-photo-reveal,
  .cu-info[data-animate='fade-right'],
  .cu-form-wrap[data-animate='fade-left'] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =============================================
   PRIVACY POLICY PAGE
   ============================================= */

.pp-block[data-animate='fade-up'].is-visible .pp-title,
.pp-block[data-animate='fade-up'].is-visible .pp-subtitle {
  transition: color 0.3s ease;
}
