/* Neurona Simulators — V9 precision layer */

.v9-theme-media,
.v9-about-logo {
  display: block;
  max-width: 100%;
}

.v9-theme-media--light { display: none; }
.v9-theme-media--dark { display: block; }
html[data-theme='light'] .v9-theme-media--light { display: block; }
html[data-theme='light'] .v9-theme-media--dark { display: none; }

/* Authored assets are already colour-corrected. Never re-tone them. */
.is-v9 .v9-theme-media,
.is-v9 .site-header .brand__logo,
html[data-theme='light'] .is-v9 .v9-theme-media,
html[data-theme='light'] .is-v9 .site-header .brand__logo {
  filter: none !important;
  mix-blend-mode: normal !important;
}

.is-v9 .site-header .brand {
  width: clamp(9.5rem, 13vw, 13.75rem) !important;
}

.is-v9 .site-header .brand__logo--full {
  display: block !important;
  width: 100% !important;
  opacity: 1 !important;
  transform: none !important;
}

.is-v9 .site-header .brand__logo--mark { display: none !important; }

/* Hero alignment */
.is-v9 .hero__forklift {
  top: auto !important;
  right: clamp(8.5rem, 10vw, 12rem) !important;
  bottom: clamp(7.2rem, 9.5vh, 8.5rem) !important;
  width: min(39vw, 43rem) !important;
  max-height: calc(100% - 15.5rem);
  object-fit: contain;
  object-position: center bottom;
}

.is-v9 .hero::after {
  left: max(1.5rem, calc((100% - 77rem) / 2));
  right: clamp(10rem, 11vw, 13rem);
  bottom: 5.75rem;
}

.is-v9 .hero .field-label--c {
  right: clamp(10rem, 11vw, 13rem);
  bottom: 4.7rem;
}

.is-v9 .hero .field-label--a {
  right: clamp(10rem, 11vw, 13rem);
  top: 31%;
  height: calc(69% - 5.75rem);
  display: flex;
  align-items: flex-start;
}

.is-v9 .hero .field-label--a::before {
  height: 100%;
}

.is-v9 .hero__actions .button--primary {
  color: #07101d !important;
  background: #fff !important;
  border-color: #fff !important;
}

.is-v9 .hero__actions .button--primary:hover,
.is-v9 .hero__actions .button--primary:focus-visible {
  color: #fff !important;
  background: #0d79f2 !important;
  border-color: #0d79f2 !important;
}

html[data-theme='light'] .is-v9 .hero__actions .button--primary {
  color: #07101d !important;
  background: #fff !important;
  border-color: #fff !important;
}

html[data-theme='light'] .is-v9 .hero__actions .button--primary:hover,
html[data-theme='light'] .is-v9 .hero__actions .button--primary:focus-visible {
  color: #fff !important;
  background: #0d79f2 !important;
  border-color: #0d79f2 !important;
}

/* Exact authored simulator frames */
.is-v9 .product__head {
  grid-template-columns: 1fr;
  align-items: end;
}

.is-v9 .v9-product-title {
  max-width: none;
  white-space: nowrap;
  font-size: clamp(3.25rem, 6.1vw, 6.7rem);
}

.v9-showcase {
  width: min(100% - 2rem, 82rem);
  margin-inline: auto;
}

.v9-showcase__desktop {
  display: grid;
  gap: 40px;
}

.v9-showcase__top {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  align-items: stretch;
}

.v9-frame {
  position: relative;
  min-width: 0;
  isolation: isolate;
}

.v9-frame .v9-theme-media {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.v9-frame--wide .v9-theme-media {
  height: auto;
}

.v9-showcase__mobile { display: none; }

.v9-frame-cta {
  position: absolute;
  z-index: 3;
  min-height: 2.7rem;
  padding: .75rem 1.05rem;
  font-size: .68rem;
  letter-spacing: .09em;
  white-space: nowrap;
}

.v9-frame-cta--right { right: 5.5%; bottom: 7%; }
.v9-frame-cta--left { left: 5.5%; bottom: 7%; }
.v9-frame-cta--mobile { left: 7%; bottom: 6%; }

.v9-showcase--simulators {
  width: min(100% - 2rem, 80rem);
}

/* Central rapid signal loop */
.is-v9 .text-tunnel {
  height: auto !important;
  min-height: 0 !important;
  margin: clamp(1.5rem, 3vw, 3rem) 0 clamp(2.5rem, 5vw, 5rem) !important;
}

.is-v9 .experience-loop__words,
.is-v9 .text-tunnel__stage {
  position: relative;
  top: auto !important;
  display: grid;
  place-items: center;
  height: clamp(14rem, 31vw, 25rem) !important;
  min-height: clamp(14rem, 31vw, 25rem);
  overflow: hidden;
}

.is-v9 .experience-loop__words .v9-loop-word,
.is-v9 .text-tunnel__stage .v9-loop-word {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  opacity: 0;
  transform: scale(.9);
  color: #f7f9fc;
  font-family: var(--font-display);
  visibility: hidden;
  font-size: clamp(3.8rem, 9.5vw, 9.5rem);
  line-height: .82;
  letter-spacing: -.045em;
  transition: opacity 150ms ease, transform 220ms cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
}

.is-v9 .experience-loop__words .v9-loop-word.is-v9-active,
.is-v9 .text-tunnel__stage .v9-loop-word.is-v9-active {
  visibility: visible;
  opacity: 1;
  transform: scale(1);
}

html[data-theme='light'] .is-v9 .experience-loop__words .v9-loop-word,
html[data-theme='light'] .is-v9 .text-tunnel__stage .v9-loop-word { color: #07101d; }

/* Hardware and about precision */
.is-v9 .hardware-strip__copy .display-heading,
.is-v9 .hardware-strip .display-heading,
.is-v9 .hardware-strip__copy h2 {
  width: min(100%, 22rem);
  font-size: clamp(1.75rem, 2.6vw, 3rem);
  line-height: .84;
}

.is-v9 .about__head .display-heading {
  max-width: min(100%, 90rem);
  font-size: clamp(3rem, 5vw, 5.8rem);
}

.is-v9 .about__head .display-heading > span:first-child {
  font-size: .58em;
}

.is-v9 .about-composition__object,
.is-v9 .about-v6__signature .about-composition__object {
  background: none !important;
  background-image: none !important;
  filter: none !important;
  display: grid;
  place-items: center;
  overflow: visible;
}

.is-v9 .v9-about-logo {
  width: min(100%, 23rem);
  filter: drop-shadow(0 0 1.5rem rgba(13, 121, 242, .95)) drop-shadow(0 0 4rem rgba(13, 121, 242, .58));
}

/* Unified two-stage title motion */
.v9-animated-title > span:not(.hero__title-echo) {
  display: block;
}

.v9-title-prefix,
.v9-title-scramble {
  display: inline;
  white-space: pre-wrap;
}

.v9-title-scramble {
  font-variant-numeric: tabular-nums;
}

.is-v9 .faq .display-heading {
  font-size: clamp(3.2rem, 6.7vw, 7.25rem);
}

/* Contact title: four lines share one visual measure */
.is-v9 .contact__copy .display-heading {
  width: min(100%, 35rem);
}

.is-v9 .contact__copy .display-heading > span:nth-child(1) { font-size: .85em; }
.is-v9 .contact__copy .display-heading > span:nth-child(2) { font-size: 1.6em; }
.is-v9 .contact__copy .display-heading > span:nth-child(3) { font-size: .82em; }
.is-v9 .contact__copy .display-heading > span:nth-child(4) { font-size: .56em; }

@media (max-width: 900px) {
  .is-v9 .hero__forklift {
    right: -4rem !important;
    bottom: 6.5rem !important;
    width: min(68vw, 35rem) !important;
    opacity: .58;
  }

  .is-v9 .hero::after { right: 1.5rem; }
  .is-v9 .hero .field-label--c { right: 1.5rem; }
  .is-v9 .hero .field-label--a { display: none; }

  .is-v9 .v9-product-title {
    white-space: normal;
    font-size: clamp(2.75rem, 12vw, 5rem);
  }

  .v9-showcase__desktop { display: none; }
  .v9-showcase__mobile {
    display: grid;
    gap: 1.25rem;
    width: min(100%, 30rem);
    margin-inline: auto;
  }

  .v9-showcase__mobile .v9-theme-media {
    width: 100%;
    height: auto;
  }

  .is-v9 .experience-loop__words,
  .is-v9 .text-tunnel__stage {
    min-height: 22rem;
    height: 22rem !important;
  }

  .is-v9 .experience-loop__words .v9-loop-word,
  .is-v9 .text-tunnel__stage .v9-loop-word {
    font-size: clamp(3.25rem, 17vw, 6rem);
  }

  .is-v9 .hardware-strip__copy .display-heading,
  .is-v9 .hardware-strip .display-heading,
  .is-v9 .hardware-strip__copy h2 {
    width: min(100%, 23rem);
  }

  .is-v9 .contact__copy .display-heading {
    width: min(100%, 34rem);
  }
}

@media (max-width: 560px) {
  .is-v9 .hero__forklift {
    right: -8.5rem !important;
    bottom: 5.5rem !important;
    width: 38rem !important;
  }

  .is-v9 .hero::after { bottom: 4.75rem; }
  .is-v9 .hero .field-label--c { bottom: 3.8rem; }

  .v9-showcase { width: min(100% - 1.25rem, 30rem); }
  .v9-frame-cta { font-size: .61rem; padding: .65rem .8rem; }

  .is-v9 .faq .display-heading {
    font-size: clamp(2.75rem, 13vw, 4.25rem);
  }

  .is-v9 .contact__copy .display-heading > span:nth-child(1) { font-size: .72em; }
  .is-v9 .contact__copy .display-heading > span:nth-child(2) { font-size: 1.04em; }
  .is-v9 .contact__copy .display-heading > span:nth-child(3) { font-size: .68em; }
  .is-v9 .contact__copy .display-heading > span:nth-child(4) { font-size: .56em; }
}

@media (prefers-reduced-motion: reduce) {
  .is-v9 .experience-loop__words .v9-loop-word,
  .is-v9 .text-tunnel__stage .v9-loop-word { transition: none; }
}
