/* =========================================================
   Schrodinger Technologie — Shared motion system (CSS)
   iOS-style spring easing, used everywhere motion happens.
   ========================================================= */

:root{
  --ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring-soft: cubic-bezier(0.22, 1, 0.36, 1);
}

html{
  scroll-behavior: smooth;
}

/* ---- Upgraded scroll-reveal (overrides the plainer version
   in home.css with the same selectors, loaded after it) ---- */
.fade-in{
  opacity: 0;
  transform: translateY(32px) scale(0.985);
  transition: opacity 0.9s var(--ease-spring), transform 0.9s var(--ease-spring);
}
.fade-in.show{
  opacity: 1;
  transform: translateY(0) scale(1);
}

.fade-in-left{
  opacity: 0;
  transform: translateX(-28px) scale(0.99);
  transition: opacity 0.9s var(--ease-spring), transform 0.9s var(--ease-spring);
}
.fade-in-left.show{
  opacity: 1;
  transform: translateX(0) scale(1);
}

.fade-in-right{
  opacity: 0;
  transform: translateX(28px) scale(0.99);
  transition: opacity 0.9s var(--ease-spring), transform 0.9s var(--ease-spring);
}
.fade-in-right.show{
  opacity: 1;
  transform: translateX(0) scale(1);
}

.fade-in-scale{
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.9s var(--ease-spring), transform 0.9s var(--ease-spring);
}
.fade-in-scale.show{
  opacity: 1;
  transform: scale(1);
}

/* ---- Tactile press feedback, applied broadly across the
   site's existing interactive classes ---- */
button,
.btn,
.btnn,
.button,
.apply-btn,
.nav-cta,
.card-button,
.cta-btn,
.cta-button,
.team-button,
.team-button1,
.join-btn,
.learn-more-btn,
.contact-btn,
.btn-contact,
.collab-btn,
.value-button,
.Hero-button,
.apply-choice,
input[type="submit"]{
  transition: transform 0.25s var(--ease-spring), box-shadow 0.25s var(--ease-spring), background 0.25s var(--ease-spring), border-color 0.25s var(--ease-spring), opacity 0.25s var(--ease-spring);
}
button:active,
.btn:active,
.btnn:active,
.button:active,
.apply-btn:active,
.nav-cta:active,
.card-button:active,
.cta-btn:active,
.cta-button:active,
.team-button:active,
.team-button1:active,
.join-btn:active,
.learn-more-btn:active,
.contact-btn:active,
.btn-contact:active,
.collab-btn:active,
.value-button:active,
.Hero-button:active,
.apply-choice:active,
input[type="submit"]:active{
  transform: scale(0.96);
}

/* Cards and images get a gentler lift instead of a squeeze */
.card-solution,
.blog-card,
.team-card,
.value-card,
.product-card{
  transition: transform 0.35s var(--ease-spring), box-shadow 0.35s var(--ease-spring);
}
.card-solution:hover,
.blog-card:hover,
.team-card:hover,
.value-card:hover,
.product-card:hover{
  transform: translateY(-4px);
}

/* Smoother caret / icon rotations wherever they appear */
.caret, .fa-caret-down, .dropdown-toggle i{
  transition: transform 0.3s var(--ease-spring);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  .fade-in, .fade-in-left, .fade-in-right, .fade-in-scale{
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  *{
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}
