
/* =========================================================
   Novamor logo / spacing / motion refinement
========================================================= */

/* Logo */
.site-logo__img {
  height: 42px !important;
  max-height: 42px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block;
}

.site-logo__shine,
.site-logo__sparkle {
  display: none !important;
}

.site-logo__link {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

/* Header spacing */
.site-header {
  transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
}

.site-header .container,
.site-header__inner {
  min-height: 72px;
}

/* Better alignment for current axis redesign */
.axis-container {
  width: min(1160px, calc(100% - 72px)) !important;
}

.axis-hero__copy {
  max-width: 500px !important;
}

.axis-hero h1 {
  font-size: clamp(50px, 5.6vw, 78px) !important;
  letter-spacing: .045em !important;
}

.axis-hero__lead,
.axis-hero__text {
  max-width: 460px;
}

.axis-services-strip__grid {
  align-items: stretch;
}

.axis-strip-head,
.axis-strip-item {
  min-height: 290px;
}

.axis-strip-item {
  isolation: isolate;
}

.axis-strip-item::before,
.axis-service-row::before,
.axis-consult-card::before,
.axis-contact-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .35s ease;
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(114,87,255,.14), transparent 34%);
  z-index: -1;
}

.axis-strip-item:hover::before,
.axis-service-row:hover::before,
.axis-consult-card:hover::before,
.axis-contact-panel:hover::before {
  opacity: 1;
}

.axis-strip-item h3 {
  font-size: 16px;
}

.axis-strip-item p {
  line-height: 1.9;
}

/* subtle refined motion */
.axis-hero__bg {
  transition: transform .6s cubic-bezier(.16,1,.3,1), filter .6s ease;
  will-change: transform;
}

.axis-orbit {
  animation: axisOrbitFloat 7s ease-in-out infinite alternate;
}

@keyframes axisOrbitFloat {
  0% { transform: translateY(0) rotate(-2deg); }
  100% { transform: translateY(-12px) rotate(3deg); }
}

.axis-strip-item img,
.axis-service-row__illust img {
  filter: drop-shadow(0 18px 34px rgba(114, 87, 255, .10));
}

.axis-strip-item:hover img,
.axis-service-row:hover .axis-service-row__illust img {
  filter: drop-shadow(0 26px 42px rgba(114, 87, 255, .20));
}

/* Reveal quality */
.axis-reveal {
  transition-duration: 1s !important;
}

/* Improve services page row alignment */
.axis-service-row {
  position: relative;
  isolation: isolate;
  border-color: rgba(18,22,40,.10) !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

.axis-service-row__num {
  line-height: .95;
}

.axis-service-row__main {
  max-width: 330px;
}

/* Company profile fix */
.axis-profile dl div {
  align-items: start;
}

/* Footer/logo appearance */
.site-footer .site-logo__img,
.footer-logo img {
  height: 38px !important;
}

/* Current older classes support */
.site-logo--image img {
  height: 42px !important;
}

/* mobile */
@media (max-width: 1000px) {
  .axis-container {
    width: min(100% - 34px, 1160px) !important;
  }

  .axis-hero h1 {
    font-size: clamp(42px, 11vw, 64px) !important;
  }

  .site-logo__img {
    height: 36px !important;
    max-height: 36px !important;
  }
}

@media (max-width: 640px) {
  .axis-container {
    width: min(100% - 28px, 1160px) !important;
  }

  .axis-hero__copy {
    max-width: 100% !important;
  }

  .axis-strip-head,
  .axis-strip-item {
    min-height: auto;
  }
}
