:root {
  --sh-ease-out-quart: cubic-bezier(.25, 1, .5, 1);
  --sh-ease-out-quint: cubic-bezier(.22, 1, .36, 1);
  --sh-ease-out-expo: cubic-bezier(.16, 1, .3, 1);
}

.aos-ready [data-aos] {
  transition-property: opacity, transform;
  transition-duration: 1.3s;
  transition-timing-function: var(--sh-ease-out-expo);
}

.aos-ready [data-aos][data-aos-duration="700"] { transition-duration: 1.4s; }
.aos-ready [data-aos][data-aos-duration="800"] { transition-duration: 1.6s; }
.aos-ready [data-aos][data-aos-delay="50"] { transition-delay: .1s; }
.aos-ready [data-aos][data-aos-delay="60"] { transition-delay: .12s; }
.aos-ready [data-aos][data-aos-delay="80"] { transition-delay: .16s; }
.aos-ready [data-aos][data-aos-delay="100"] { transition-delay: .2s; }
.aos-ready [data-aos][data-aos-delay="120"] { transition-delay: .24s; }
.aos-ready [data-aos][data-aos-delay="150"] { transition-delay: .3s; }
.aos-ready [data-aos][data-aos-delay="160"] { transition-delay: .32s; }
.aos-ready [data-aos][data-aos-delay="200"] { transition-delay: .4s; }
.aos-ready [data-aos][data-aos-delay="250"] { transition-delay: .5s; }
.aos-ready [data-aos][data-aos-delay="300"] { transition-delay: .6s; }

.aos-ready [data-aos]:not(.aos-animate) { opacity: 0; }
.aos-ready [data-aos="fade-up"]:not(.aos-animate) { transform: translate3d(0, 28px, 0); }
.aos-ready [data-aos="fade-down"]:not(.aos-animate) { transform: translate3d(0, -20px, 0); }
.aos-ready [data-aos="fade-right"]:not(.aos-animate) { transform: translate3d(-28px, 0, 0); }
.aos-ready [data-aos="fade-left"]:not(.aos-animate) { transform: translate3d(28px, 0, 0); }
.aos-ready [data-aos="zoom-in"]:not(.aos-animate) { transform: scale(.97); }
.aos-ready [data-aos].aos-animate { opacity: 1; transform: none; }

.seahorse-home a,
.seahorse-home button,
.sh-page a,
.sh-page button,
.sh-header a,
.sh-header button,
.sh-footer a {
  -webkit-tap-highlight-color: transparent;
}

.sh-header__logo img,
.sh-header nav a,
.sh-header__contact,
.sh-header__contact .sh-arrow-icon,
.sh-header__search,
.sh-menu,
.sh-button,
.sh-button span,
.sh-about__industries > div,
.sh-about__industries > div i,
.sh-about__image button,
.sh-news .sh-section-title > a,
.sh-news .sh-section-title > a .sh-arrow-icon,
.sh-clients__controls button,
.sh-footer a,
.sh-footer__contact i {
  transition-property: color, background-color, border-color, box-shadow, opacity, transform;
  transition-duration: .96s;
  transition-timing-function: var(--sh-ease-out-quart);
}

.sh-service-card,
.sh-fleet-card,
.sh-project-thumb,
.sh-news-feature,
.sh-news-row,
.sh-news-image,
.sh-client-card,
.sh-client-card img {
  transition-property: transform, color, background-color, border-color, box-shadow, opacity;
  transition-duration: 1.2s;
  transition-timing-function: var(--sh-ease-out-quint);
}

.sh-service-card__image,
.sh-news-image,
.sh-client-card img { background-size: cover; background-position: center; }

.sh-service-card .sh-service-card__image,
.sh-service-card .sh-service-card__body {
  transition-duration: 1.12s;
  transition-timing-function: var(--sh-ease-out-quart);
}

.sh-service-card .sh-service-card__body p,
.sh-service-card:nth-child(2) .sh-service-card__body p,
.sh-service-card .sh-service-card__image:after,
.sh-service-card:nth-child(2) .sh-service-card__image:after {
  transition-duration: .72s, .88s, 0s;
  transition-delay: .24s, .24s, 1.12s;
  transition-timing-function: var(--sh-ease-out-quart), var(--sh-ease-out-quart), linear;
}

.sh-service-card:hover .sh-service-card__body p,
.sh-service-card:hover .sh-service-card__image:after,
.sh-service-card:nth-child(2):hover .sh-service-card__image:after {
  transition-delay: .32s, .32s, 0s;
}

.sh-clients__controls button:disabled,
.sh-clients__controls button.swiper-button-disabled {
  cursor: not-allowed;
  opacity: .45;
  box-shadow: none;
  transform: none;
  pointer-events: none;
}

.sh-header a:focus-visible,
.sh-header button:focus-visible,
.seahorse-home a:focus-visible,
.seahorse-home button:focus-visible,
.sh-page a:focus-visible,
.sh-page button:focus-visible,
.sh-footer a:focus-visible {
  outline: 2px solid #fcfcfd;
  outline-offset: 3px;
}

.seahorse-home .sh-about__image button:focus-visible,
.seahorse-home .sh-clients__controls button:focus-visible,
.seahorse-home .sh-news .sh-section-title > a:focus-visible {
  outline-color: #202939;
}

.sh-header a:active,
.sh-header button:active,
.seahorse-home a:active,
.seahorse-home button:active,
.sh-page a:active,
.sh-page button:active,
.sh-footer a:active { transform: translateY(1px) scale(.985); }

@media (hover: hover) {
  .sh-header__logo:hover img { transform: scale(1.04); }
  .sh-header nav a:hover { color: #fcfcfd; transform: translateY(-2px); }
  .sh-header__contact:hover,
  .sh-menu:hover { background: rgba(252, 252, 253, .24); transform: translateY(-2px); }
  .sh-header__contact:hover > .sh-arrow-icon { transform: translateX(2px); }
  .sh-header__search:hover { transform: scale(1.08); }

  .sh-ds-button:hover,
  .sh-ds-button:focus-visible,
  .sh-button:hover,
  .sh-button:focus-visible,
  .sh-industries-button:hover,
  .sh-industries-button:focus-visible,
  .sh-story__button:hover,
  .sh-story__button:focus-visible,
  .sh-services__button:hover,
  .sh-services__button:focus-visible,
  .sh-contact-submit:hover,
  .sh-contact-submit:focus-visible,
  .sh-project-card__actions > a:hover,
  .sh-project-card__actions > a:focus-visible,
  .sh-career-card__footer > a:hover,
  .sh-career-card__footer > a:focus-visible {
    color: #fbfeff;
    text-decoration: none;
    background: radial-gradient(circle at 50% 0, #4d5868 0, #202b3c 100%);
    border-color: #98a2b3;
    box-shadow: 0 12px 28px rgba(17, 25, 39, .24);
    transform: translateY(-3px);
  }

  .sh-ds-button:hover .sh-arrow-icon,
  .sh-ds-button:focus-visible .sh-arrow-icon,
  .sh-button:hover .sh-arrow-icon,
  .sh-button:focus-visible .sh-arrow-icon,
  .sh-industries-button:hover .sh-arrow-icon,
  .sh-industries-button:focus-visible .sh-arrow-icon,
  .sh-story__button:hover .sh-arrow-icon,
  .sh-story__button:focus-visible .sh-arrow-icon,
  .sh-services__button:hover .sh-arrow-icon,
  .sh-services__button:focus-visible .sh-arrow-icon,
  .sh-contact-submit:hover .sh-arrow-icon,
  .sh-contact-submit:focus-visible .sh-arrow-icon,
  .sh-project-card__actions > a:hover .sh-arrow-icon,
  .sh-project-card__actions > a:focus-visible .sh-arrow-icon,
  .sh-career-card__footer > a:hover .sh-arrow-icon,
  .sh-career-card__footer > a:focus-visible .sh-arrow-icon {
    transform: translateX(4px);
  }

  .sh-about__industries > div:hover { color: #111927; transform: translateX(6px); }
  .sh-about__industries > div:hover i { background: #e5e7eb; transform: rotate(-4deg) scale(1.06); }
  .sh-about__image button:hover { background: #202939; color: #fcfcfd; transform: translateY(-50%) scale(1.06); }
  .sh-about__image-prev:hover .sh_navigation_chevron { filter: brightness(0) invert(1); transform: translateX(-2px); }
  .sh-about__image-next:hover .sh_navigation_chevron { transform: translateX(2px); }

  .sh-service-card:hover { box-shadow: 0 18px 40px rgba(17, 25, 39, .18); }
  .sh-fleet-card:hover { transform: scale(1.025); box-shadow: 0 18px 36px rgba(17, 25, 39, .14); }

  .sh-project-table > div:not(:first-child) {
    transition: background-color 0.2s ease;
  }
  .sh-project-table > div:not(:first-child):hover {
    background: #e4e4e7 !important;
  }

  .sh-news .sh-section-title > a:hover { background: #f2f4f7; transform: translateY(-2px); }
  .sh-news .sh-section-title > a:hover .sh-arrow-icon { transform: translateX(2px); }
  .sh-news-feature:hover,
  .sh-news-row:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(17, 25, 39, .12); }
  .sh-news-feature:hover .sh-news-image,
  .sh-news-row:hover .sh-news-image { transform: scale(1.025); }

  .sh-client-card:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(17, 25, 39, .12); }
  .sh-client-card:hover img { transform: scale(1.035); }
  .sh-clients__controls button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(17, 25, 39, .16); }
  .sh-clients__controls button:first-child:hover .sh_navigation_chevron { transform: translateX(-2px); }
  .sh-clients__controls button:last-child:hover .sh_navigation_chevron { transform: translateX(2px); }

  .sh-footer a:hover { color: #d1e9ff; transform: translateX(4px); }
  .sh-footer__contact a:hover i { transform: scale(1.08) rotate(-5deg); }

  .aos-ready .sh-news-feature.aos-animate:hover,
  .aos-ready .sh-news-row.aos-animate:hover,
  .aos-ready .sh-client-card.aos-animate:hover { transform: translateY(-4px); }

  .aos-ready .sh-about__industries > div.aos-animate:hover { transform: translateX(6px); }
  .aos-ready .sh-fleet-card.aos-animate:hover { transform: scale(1.025); }
  .aos-ready .sh-client-card.aos-animate:hover { transform: translateY(-6px); }
}

.aos-ready .sh-service-card.aos-animate:active,
.aos-ready .sh-about__cta.aos-animate:active,
.aos-ready .sh-projects__cta.aos-animate:active { transform: translateY(1px) scale(.985); }

@media (max-width: 800px) {
  .aos-ready [data-aos]:not(.aos-animate) { transform: translate3d(0, 20px, 0); }
}

/* Project Table Row Hover Preview & Action Button */
.sh-projects,
.sh-projects .container,
.sh-project-table {
  position: relative;
  overflow: visible !important;
}

.sh-project-table > div {
  position: relative;
  overflow: visible !important;
}

.sh-project-table > div:not(:first-child) {
  position: relative;
  overflow: visible !important;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.sh-project-table > div:not(:first-child):hover,
.sh-project-table > div:not(:first-child):focus-visible {
  background: #e4e4e7 !important;
  z-index: 50;
}

.sh-project-row__preview {
  position: absolute !important;
  top: 50% !important;
  left: 60% !important;
  transform: translateY(-50%) scale(0.96) !important;
  width: 280px !important;
  height: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
  min-height: 280px !important;
  max-height: 280px !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: 100 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: normal !important;
  font-size: 0 !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              visibility 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform, opacity;
}

.sh-project-row__preview img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sh-project-table > div:not(:first-child):hover .sh-project-row__preview,
.sh-project-table > div:not(:first-child):focus-visible .sh-project-row__preview {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(-50%) scale(1) !important;
}

.sh-project-table__row-btn {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%) scale(0.85);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #121926;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 20;
}

.sh-project-table > div:not(:first-child):hover .sh-project-table__row-btn,
.sh-project-table > div:not(:first-child):focus-visible .sh-project-table__row-btn {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

@media (max-width: 991px) {
  .sh-project-row__preview,
  .sh-project-table__row-btn {
    display: none !important;
  }
}
