/* Orange Signal expands #fc734d across the homepage without changing its motion system. */
:root {
  --naxit-signal: #fc734d;
  --naxit-signal-rgb: 252, 115, 77;
}

/* The lower-right locator remains as the single fixed hero edge signal. */
body.naxit-home-page .banner-section > .naxit-hero-grid::after {
  position: absolute;
  z-index: 2;
  right: clamp(22px, 5vw, 76px);
  bottom: calc(var(--naxit-footer-grid-row) * 1.1);
  width: 18px;
  height: 18px;
  content: "";
  pointer-events: none;
  opacity: .78;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) center / 18px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) center / 1px 18px no-repeat;
}

/* Persistent intersections keep the accent present across the full hero grid. */
body.naxit-home-page .banner-section .footer-grid-stars span {
  color: rgba(var(--naxit-signal-rgb), .58);
}

body.naxit-home-page .banner-section .footer-grid-stars span:nth-child(even) {
  color: rgba(var(--naxit-signal-rgb), .88);
}

body.naxit-home-page .banner-section .footer-grid-stars span:nth-child(4) {
  color: var(--naxit-signal);
}

/* All seven survey events use orange while retaining their original axes. */
body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(-n + 5) {
  background-image: linear-gradient(180deg, transparent, rgba(var(--naxit-signal-rgb), .76));
}

body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(1),
body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(3),
body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(5) {
  background-image: linear-gradient(180deg, transparent, rgba(var(--naxit-signal-rgb), .58));
}

body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(2),
body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(4) {
  background-image: linear-gradient(180deg, transparent, rgba(var(--naxit-signal-rgb), .92));
}

body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(6) {
  background-image: linear-gradient(90deg, transparent, var(--naxit-signal));
}

body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(7) {
  background-image: linear-gradient(270deg, transparent, rgba(var(--naxit-signal-rgb), .78));
}

/* Pointer lighting and its trail repeat the orange signal without changing tracking. */
body.naxit-home-page .naxit-hero-grid-plane::after {
  background-image:
    linear-gradient(rgba(var(--naxit-signal-rgb), .38) 1px, transparent 1px),
    linear-gradient(90deg, rgba(134, 181, 194, .52) 1px, transparent 1px);
}

body.naxit-home-page .naxit-hero-grid-sparks span:nth-child(1),
body.naxit-home-page .naxit-depth-sparks span:nth-child(1) {
  color: var(--naxit-signal);
}

body.naxit-home-page .naxit-hero-grid-sparks span:nth-child(2),
body.naxit-home-page .naxit-depth-sparks span:nth-child(2) {
  color: #ffa083;
}

body.naxit-home-page .naxit-hero-grid-sparks span:nth-child(3),
body.naxit-home-page .naxit-depth-sparks span:nth-child(3) {
  color: var(--naxit-secondary);
}

/* Supporting grids repeat the signal densely without recoloring their content. */
body.naxit-home-page #service .naxit-component-grid > span,
body.naxit-home-page .naxit-booking-section .naxit-component-grid > span,
body.naxit-home-page #team .naxit-team-details .naxit-component-grid > span {
  color: rgba(var(--naxit-signal-rgb), .72);
}

body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .naxit-component-grid--footer .footer-grid-stars span {
  color: rgba(var(--naxit-signal-rgb), .54);
}

body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .naxit-component-grid--footer .footer-grid-stars span:nth-child(even) {
  color: rgba(var(--naxit-signal-rgb), .82);
}

body.naxit-home-page #service .naxit-grid-streaks > span:nth-child(-n + 5),
body.naxit-home-page .naxit-booking-section .naxit-grid-streaks > span:nth-child(-n + 5),
body.naxit-home-page #team .naxit-team-details .naxit-grid-streaks > span:nth-child(-n + 5),
body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .naxit-component-grid--footer .naxit-grid-streaks > span:nth-child(-n + 5) {
  background-image: linear-gradient(180deg, transparent, rgba(var(--naxit-signal-rgb), .68));
}

body.naxit-home-page #service .naxit-grid-streaks > span:nth-child(6),
body.naxit-home-page .naxit-booking-section .naxit-grid-streaks > span:nth-child(6),
body.naxit-home-page #team .naxit-team-details .naxit-grid-streaks > span:nth-child(6),
body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .naxit-component-grid--footer .naxit-grid-streaks > span:nth-child(6) {
  background-image: linear-gradient(90deg, transparent, rgba(var(--naxit-signal-rgb), .82));
}

body.naxit-home-page #service .naxit-grid-streaks > span:nth-child(7),
body.naxit-home-page .naxit-booking-section .naxit-grid-streaks > span:nth-child(7),
body.naxit-home-page #team .naxit-team-details .naxit-grid-streaks > span:nth-child(7),
body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .naxit-component-grid--footer .naxit-grid-streaks > span:nth-child(7) {
  background-image: linear-gradient(270deg, transparent, rgba(var(--naxit-signal-rgb), .72));
}

/* Orange energy lives in the existing atmospheric planes, never in controls or copy. */
body.naxit-home-page .naxit-ambient-orb--magenta {
  opacity: .52;
  background: var(--naxit-signal);
}

body.naxit-home-page .naxit-component-grid::after {
  opacity: .68;
  background:
    linear-gradient(128deg, transparent 18%, rgba(var(--naxit-signal-rgb), .22) 44%, transparent 68%),
    radial-gradient(ellipse at 65% 50%, rgba(134, 181, 194, .24), transparent 58%),
    radial-gradient(ellipse at 30% 65%, rgba(49, 121, 141, .28), transparent 62%);
}

body.naxit-home-page .naxit-grid-viewport > .naxit-component-grid::before {
  background-image:
    linear-gradient(rgba(var(--naxit-signal-rgb), .48) 1px, transparent 1px),
    linear-gradient(90deg, rgba(134, 181, 194, .4) 1px, transparent 1px);
}

body.naxit-home-page #about-us {
  --naxit-signal-field-x: 88%;
  --naxit-signal-field-y: 24%;
}

body.naxit-home-page #products {
  --naxit-signal-field-x: 12%;
  --naxit-signal-field-y: 78%;
}

body.naxit-home-page #competences {
  --naxit-signal-field-x: 82%;
  --naxit-signal-field-y: 36%;
}

body.naxit-home-page .naxit-motion-surface::before {
  background:
    radial-gradient(ellipse 46% 32% at var(--naxit-signal-field-x, 84%) var(--naxit-signal-field-y, 48%), rgba(var(--naxit-signal-rgb), .22), transparent 70%),
    radial-gradient(ellipse 70% 42% at 94% 48%, rgba(134, 181, 194, .4), transparent 78%),
    radial-gradient(ellipse 58% 40% at 4% 46%, rgba(49, 121, 141, .21), transparent 78%);
}

body.naxit-home-page .naxit-booking-section {
  background-image:
    linear-gradient(118deg, rgba(var(--naxit-signal-rgb), .18), transparent 38%),
    radial-gradient(ellipse at 80% 10%, rgba(134, 181, 194, .28), transparent 65%);
}

body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .naxit-footer-stage {
  background-image: linear-gradient(180deg, rgba(var(--naxit-signal-rgb), .13), transparent 30%);
}

body.naxit-home-page .naxit-footer-stage {
  --naxit-footer-stage-start: var(--naxit-footer-base);
}

body:is(.naxit-detail-page, .products-page, .naxit-policy-page) .naxit-footer-stage {
  --naxit-footer-stage-start: var(--naxit-footer-top);
}

/* Product FAQs use the long shared blend instead of stacking the legacy 160px fade. */
body.product-detail-page.products-page .product-main > .product-faq-section {
  background-color: transparent;
  background-image: none;
}

/* Section-edge rulers create a continuous survey layer behind the content. */
body.naxit-home-page :is(#about-us, #products, #competences, #team) > .container,
body.naxit-home-page #service > .container-full,
body.naxit-home-page .naxit-booking-section > .container {
  position: relative;
}

body.naxit-home-page :is(#about-us, #products, #competences, #team) > .container::before,
body.naxit-home-page #service > .container-full::before,
body.naxit-home-page .naxit-booking-section > .container::before {
  position: absolute;
  z-index: 0;
  top: clamp(24px, 3vw, 48px);
  bottom: clamp(24px, 3vw, 48px);
  left: 0;
  width: 14px;
  content: "";
  pointer-events: none;
  opacity: .58;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) 0 0 / 1px 100% no-repeat,
    repeating-linear-gradient(180deg, var(--naxit-signal) 0 1px, transparent 1px 24px) 0 0 / 12px 100% no-repeat;
}

/* Detached calibration brackets annotate explicit internal frames. */
body.naxit-home-page .naxit-about-card > .naxit-about-card-frame,
body.naxit-home-page .naxit-service-card-frame,
body.naxit-home-page .products-teaser-item {
  position: relative;
}

body.naxit-home-page .naxit-about-card-frame::before {
  position: absolute;
  z-index: 0;
  top: 24px;
  right: 24px;
  left: auto;
  display: block;
  width: 40px;
  height: 26px;
  content: "";
  pointer-events: none;
  opacity: .78;
  transition:
    opacity .22s ease,
    transform .42s cubic-bezier(.16, 1, .3, 1);
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right top / 40px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right top / 1px 26px no-repeat;
}

/* Every top-right calibration bracket is closed by its opposite corner. */
body.naxit-home-page .naxit-about-card-frame::after {
  position: absolute;
  z-index: 0;
  bottom: 24px;
  left: 24px;
  width: 40px;
  height: 26px;
  content: "";
  pointer-events: none;
  opacity: .78;
  transition:
    opacity .22s ease,
    transform .42s cubic-bezier(.16, 1, .3, 1);
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left bottom / 40px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left bottom / 1px 26px no-repeat;
}

/* The About rows share one continuous field; each row only owns its layout frame. */
body.naxit-home-page .naxit-about-card {
  padding: 0;
  background-image: none;
  transition: border-color .24s ease;
}

body.naxit-home-page .naxit-about-card > .naxit-about-card-frame {
  --naxit-about-corner-inline-inset: clamp(12px, 1.25vw, 18px);
  --naxit-about-corner-block-inset: clamp(12px, 1.25vw, 18px);
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: clamp(24px, 3vw, 48px);
  min-height: 100%;
  padding:
    clamp(32px, 3vw, 48px)
    clamp(28px, 3vw, 48px)
    clamp(70px, 5.5vw, 84px);
}

body.naxit-home-page .naxit-about-card-frame > .naxit-about-points {
  margin: 0;
}

body.naxit-home-page .naxit-about-card-frame::before {
  top: var(--naxit-about-corner-block-inset);
  right: var(--naxit-about-corner-inline-inset);
}

body.naxit-home-page .naxit-about-card-frame::after {
  bottom: var(--naxit-about-corner-block-inset);
  left: var(--naxit-about-corner-inline-inset);
}

/* Service content and action share one stable frame without decorative brackets. */
body.naxit-home-page .naxit-service-card-frame {
  z-index: 1;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
}

body.naxit-home-page .naxit-service-card-frame .service-card-detail-wrapper {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}

body.naxit-home-page .naxit-service-card-action {
  display: flex;
  align-items: flex-start;
  width: 100%;
  margin-top: auto;
}

body.naxit-home-page .naxit-service-card-action > .primary-button {
  width: fit-content;
}

/* The homepage keeps direct contact and appointment booking as equal routes. */
body.naxit-home-page .naxit-booking-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}

body.naxit-home-page .naxit-booking-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 60px;
  padding: 8px 8px 8px 24px;
  border: 1px solid rgba(255, 255, 255, .52);
  border-radius: 999px;
  color: var(--naxit-color-white);
  font-size: 16px;
  font-weight: 700;
  transition: border-color .22s ease, background-color .22s ease;
}

body.naxit-home-page .naxit-booking-contact-link .button-arrow {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--naxit-color-white);
}

body.naxit-home-page .naxit-booking-contact-link .button-arrow img {
  width: 18px;
  height: 18px;
  filter: brightness(0);
}

body.naxit-home-page .naxit-booking-contact-link:is(:hover, :focus-visible) {
  border-color: var(--naxit-signal);
  background: rgba(var(--naxit-signal-rgb), .1);
}

body.naxit-home-page .naxit-team-focus h4 {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.naxit-home-page .naxit-team-focus h4::after {
  width: 28px;
  height: 1px;
  content: "";
  background: var(--naxit-signal);
  opacity: .88;
}

body.naxit-home-page .naxit-team-focus li::before {
  background: var(--naxit-signal);
  box-shadow: 0 0 0 3px rgba(var(--naxit-signal-rgb), .1);
}

/* Sparse plus marks repeat the approved survey signal on selected light fields. */
body.naxit-home-page :is(#about-us, #products, #competences, #team) > .container {
  --naxit-section-plus-x: 84%;
  --naxit-section-plus-y: 10%;
  position: relative;
}

body.naxit-home-page #products > .container {
  --naxit-section-plus-x: 8%;
  --naxit-section-plus-y: 24%;
}

body.naxit-home-page #competences > .container {
  --naxit-section-plus-x: 88%;
  --naxit-section-plus-y: 18%;
}

body.naxit-home-page #team > .container {
  --naxit-section-plus-x: 12%;
  --naxit-section-plus-y: 9%;
}

body.naxit-home-page :is(#about-us, #products, #competences, #team) > .container::after {
  position: absolute;
  z-index: 0;
  top: var(--naxit-section-plus-y);
  left: var(--naxit-section-plus-x);
  width: 14px;
  height: 14px;
  content: "";
  pointer-events: none;
  opacity: .7;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) center / 14px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) center / 1px 14px no-repeat;
}

body.naxit-home-page :is(#about-us, #products, #competences, #team) > .container > * {
  position: relative;
  z-index: 1;
}

body.naxit-home-page .products-teaser-item::after {
  position: absolute;
  z-index: 0;
  inset: clamp(10px, .8vw, 12px);
  content: "";
  pointer-events: none;
  opacity: .72;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left top / 34px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left top / 1px 22px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right bottom / 34px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right bottom / 1px 22px no-repeat;
}

/*
 * Interaction language: blue light fields carry the motion while orange stays a
 * short-lived signal inside the surface. Controls keep their established blue.
 */
body.naxit-home-page .naxit-team-details {
  background-image:
    radial-gradient(ellipse 34% 76% at 8% 110%, rgba(var(--naxit-signal-rgb), .18), transparent 72%),
    linear-gradient(112deg, transparent 8%, rgba(134, 181, 194, .04) 42%, rgba(49, 121, 141, .18) 70%, transparent 92%);
  background-position: 14% 50%, 18% 50%;
  background-size: 170% 100%, 180% 100%;
  background-repeat: no-repeat;
  transition: border-color .24s ease;
}

/* One shared field keeps the About gradient continuous across every row. */
body.naxit-home-page .naxit-about-grid {
  background-image:
    linear-gradient(90deg, rgba(49, 121, 141, 0) 0%, rgba(49, 121, 141, .3) 10%, rgba(134, 181, 194, .16) 38%, rgba(134, 181, 194, 0) 74%);
  background-position: 0 50%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

@media (max-width: 991px) {
  body.naxit-home-page .naxit-about-card > .naxit-about-card-frame {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(20px, 3vw, 28px);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  body.naxit-home-page .naxit-services-classic .service-card {
    gap: 0;
    padding-inline: clamp(32px, 4.5vw, 40px);
  }
}

body.naxit-home-page .products-teaser-item::before {
  background:
    radial-gradient(circle at 8% 112%, rgba(var(--naxit-signal-rgb), .24), transparent 38%),
    radial-gradient(ellipse at 100% 100%, rgba(134, 181, 194, .38), transparent 68%),
    linear-gradient(112deg, rgba(255, 255, 255, .96), rgba(231, 240, 243, .78));
  background-position: -28% 100%, 128% 100%, 50% 50%;
  background-size: 74% 150%, 120% 120%, 100% 100%;
  background-repeat: no-repeat;
  transition:
    opacity .28s ease,
    background-position .48s cubic-bezier(.16, 1, .3, 1);
}

body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .footer-menu-link {
  background-image: linear-gradient(90deg, var(--naxit-signal), rgba(134, 181, 194, .9));
  background-position: 0 calc(100% - 1px);
  background-size: 0 1px;
  background-repeat: no-repeat;
  transition:
    color .22s ease,
    background-size .32s cubic-bezier(.16, 1, .3, 1);
}

body.naxit-home-page .naxit-team-row:focus-within .naxit-team-details {
  border-color: rgba(var(--naxit-signal-rgb), .44);
}

body.naxit-home-page .naxit-about-card:focus-within {
  border-color: rgba(var(--naxit-signal-rgb), .44);
}

body.naxit-home-page .naxit-about-card:focus-within .naxit-about-card-frame::before {
  transform: translate(3px, -3px);
}

body.naxit-home-page .naxit-about-card:focus-within .naxit-about-card-frame::after {
  transform: translate(-3px, 3px);
}

body.naxit-home-page .products-teaser-item:focus-visible::before {
  opacity: 1;
  background-position: 4% 100%, 96% 100%, 50% 50%;
}

body.naxit-home-page .products-teaser-item:focus-visible::after {
  opacity: 1;
  transform: translate(-4px, -4px);
}

body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .footer-menu-link:focus-visible {
  background-size: 100% 1px;
}

@media (hover: hover) and (pointer: fine) {
  body.naxit-home-page .naxit-team-row:hover .naxit-team-details {
    border-color: rgba(var(--naxit-signal-rgb), .44);
  }

  body.naxit-home-page .naxit-about-card:hover {
    border-color: rgba(var(--naxit-signal-rgb), .44);
  }

  body.naxit-home-page .naxit-about-card:hover .naxit-about-card-frame::before {
    transform: translate(3px, -3px);
  }

  body.naxit-home-page .naxit-about-card:hover .naxit-about-card-frame::after {
    transform: translate(-3px, 3px);
  }

  body.naxit-home-page .products-teaser-item:hover::before {
    opacity: 1;
    background-position: 4% 100%, 96% 100%, 50% 50%;
  }

  body.naxit-home-page .products-teaser-item:hover::after {
    opacity: 1;
    transform: translate(-4px, -4px);
  }

  body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .footer-menu-link:hover {
    background-size: 100% 1px;
  }
}

@media (max-width: 767px) {
  body.naxit-home-page .naxit-ambient-orb--magenta {
    opacity: .56;
  }

  body.naxit-home-page .naxit-component-grid::after {
    opacity: .7;
  }

  body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span {
    opacity: .86;
  }

  body.naxit-home-page .naxit-hero-grid-plane .naxit-grid-streaks > span:nth-child(odd) {
    opacity: .7;
  }

  body.naxit-home-page .banner-section .footer-grid-stars span {
    color: rgba(var(--naxit-signal-rgb), .78);
    transform: translate(-50%, -50%) scale(1.16);
  }

  body.naxit-home-page .banner-section .footer-grid-stars span:nth-child(even) {
    color: rgba(var(--naxit-signal-rgb), .98);
  }

  body.naxit-home-page .banner-section > .naxit-hero-grid::after {
    right: 20px;
    bottom: calc(var(--naxit-footer-grid-row) * 1.2);
  }

  body.naxit-home-page :is(#about-us, #products, #competences, #team) > .container::before,
  body.naxit-home-page #service > .container-full::before,
  body.naxit-home-page .naxit-booking-section > .container::before {
    top: 20px;
    bottom: 20px;
    left: 4px;
    width: 12px;
    opacity: .64;
    background:
      linear-gradient(var(--naxit-signal), var(--naxit-signal)) 0 0 / 1px 100% no-repeat,
      repeating-linear-gradient(180deg, var(--naxit-signal) 0 1px, transparent 1px 20px) 0 0 / 10px 100% no-repeat;
  }

  body.naxit-home-page .naxit-about-card > .naxit-about-card-frame {
    gap: 20px;
    padding: 34px 12px 42px;
  }

  body.naxit-home-page .naxit-about-card-frame::before,
  body.naxit-home-page .naxit-about-card-frame::after {
    display: none;
  }

  body.naxit-home-page .products-teaser-item::after {
    display: block;
    inset: 8px;
    opacity: .88;
    background-size: 28px 1px, 1px 18px, 28px 1px, 1px 18px;
  }

  body.naxit-home-page .naxit-services-classic .service-list-dot {
    background-color: var(--naxit-signal);
  }

  body.naxit-home-page .naxit-about-section {
    background-color: #f5f7f8;
    background-image: linear-gradient(
      118deg,
      rgba(49, 121, 141, .14) 0%,
      rgba(134, 181, 194, .08) 46%,
      rgba(var(--naxit-signal-rgb), .055) 100%
    );
    background-position: 0 0;
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }

  body.naxit-home-page .naxit-about-grid {
    background: transparent;
  }

  body.naxit-home-page .naxit-services-classic .service-card {
    padding: 32px 24px 36px;
  }

  body.naxit-home-page .naxit-services-classic .service-card-heading {
    gap: 28px;
  }

  body.naxit-home-page .naxit-services-classic .service-include-list {
    gap: 14px;
  }

  body.naxit-home-page .naxit-services-classic .naxit-service-card-action {
    margin-top: 30px;
  }

  body.naxit-home-page .naxit-booking-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  body.naxit-home-page .naxit-booking-actions > :is(.naxit-booking-contact-link, .primary-button) {
    justify-content: space-between;
    width: 100%;
    min-width: 0;
  }

  body.naxit-home-page .naxit-motion-surface::before {
    background:
      radial-gradient(ellipse 68% 28% at var(--naxit-signal-field-x, 84%) var(--naxit-signal-field-y, 48%), rgba(var(--naxit-signal-rgb), .28), transparent 72%),
      radial-gradient(ellipse 82% 38% at 94% 48%, rgba(134, 181, 194, .4), transparent 78%),
      radial-gradient(ellipse 70% 34% at 4% 46%, rgba(49, 121, 141, .21), transparent 78%);
  }

  body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .naxit-component-grid--footer .footer-grid-stars span {
    color: rgba(var(--naxit-signal-rgb), .74);
  }

  body:is(.naxit-home-page, .naxit-detail-page, .products-page, .naxit-policy-page) .naxit-component-grid--footer .footer-grid-stars span:nth-child(even) {
    color: rgba(var(--naxit-signal-rgb), .96);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.naxit-home-page :is(
    .naxit-team-details,
    .footer-menu-link
  ),
  body:is(.naxit-detail-page, .products-page, .naxit-policy-page) .footer-menu-link,
  body.naxit-home-page .products-teaser-item::before,
  body.naxit-home-page .naxit-about-card-frame::before,
  body.naxit-home-page .naxit-about-card-frame::after
  {
    transition: none !important;
    animation: none !important;
  }
}

/*
 * Marketing subpages share the same static signal language: the existing grid
 * and dark-blue depth remain primary, while orange marks location and motion.
 */
body.naxit-detail-page .naxit-ambient-orb--magenta {
  opacity: .34;
  background: var(--naxit-signal);
}

body:is(.naxit-detail-page, .products-page) .naxit-grid-surface .naxit-component-grid > span {
  color: rgba(var(--naxit-signal-rgb), .7);
}

body:is(.naxit-detail-page, .products-page) .naxit-grid-surface .naxit-component-grid::after {
  opacity: .58;
  background:
    linear-gradient(128deg, transparent 20%, rgba(var(--naxit-signal-rgb), .18) 46%, transparent 70%),
    radial-gradient(ellipse at 65% 50%, rgba(134, 181, 194, .24), transparent 58%),
    radial-gradient(ellipse at 30% 65%, rgba(49, 121, 141, .28), transparent 62%);
}

body:is(.naxit-detail-page, .products-page) .naxit-grid-surface .naxit-grid-viewport > .naxit-component-grid::before {
  background-image:
    linear-gradient(rgba(var(--naxit-signal-rgb), .44) 1px, transparent 1px),
    linear-gradient(90deg, rgba(49, 121, 141, .36) 1px, transparent 1px);
}

body:is(.naxit-detail-page, .products-page) .naxit-grid-surface .naxit-grid-streaks > span:nth-child(-n + 5) {
  background-image: linear-gradient(180deg, transparent, rgba(var(--naxit-signal-rgb), .68));
}

body:is(.naxit-detail-page, .products-page) .naxit-grid-surface .naxit-grid-streaks > span:nth-child(6) {
  background-image: linear-gradient(90deg, transparent, rgba(var(--naxit-signal-rgb), .82));
}

body:is(.naxit-detail-page, .products-page) .naxit-grid-surface .naxit-grid-streaks > span:nth-child(7) {
  background-image: linear-gradient(270deg, transparent, rgba(var(--naxit-signal-rgb), .72));
}

body:is(.naxit-detail-page, .products-page) .naxit-grid-surface .naxit-depth-sparks span:first-child {
  color: var(--naxit-signal);
}

body.products-page :is(.product-hero, .product-detail-hero) {
  position: relative;
}

body.products-page :is(.product-hero, .product-detail-hero)::after {
  position: absolute;
  z-index: 2;
  top: clamp(24px, 4vw, 56px);
  right: max(24px, calc((100% - 1180px) / 2));
  width: 58px;
  height: 32px;
  content: "";
  pointer-events: none;
  opacity: .72;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right top / 58px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right top / 1px 32px no-repeat;
}

body.products-page :is(.product-hero, .product-detail-hero)::before {
  position: absolute;
  z-index: 2;
  bottom: clamp(24px, 4vw, 56px);
  left: max(24px, calc((100% - 1180px) / 2));
  width: 58px;
  height: 32px;
  content: "";
  pointer-events: none;
  opacity: .72;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left bottom / 58px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left bottom / 1px 32px no-repeat;
}

body.naxit-detail-page .banner-section .heading-wrapper {
  position: relative;
}

body.naxit-detail-page .banner-section .heading-wrapper::before {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: 58px;
  height: 32px;
  content: "";
  pointer-events: none;
  opacity: .82;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right top / 58px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right top / 1px 32px no-repeat;
}

body.naxit-detail-page .banner-section .heading-wrapper::after {
  position: absolute;
  z-index: 2;
  bottom: -18px;
  left: 0;
  width: 58px;
  height: 32px;
  content: "";
  pointer-events: none;
  opacity: .82;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left bottom / 58px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left bottom / 1px 32px no-repeat;
}

/* The compact contact hero has no stable content frame for detached corners. */
body.contact-page.naxit-detail-page .banner-section .heading-wrapper::before,
body.contact-page.naxit-detail-page .banner-section .heading-wrapper::after {
  display: none;
}

body.products-page :is(.product-hero, .product-detail-hero),
body.contact-page.naxit-detail-page .banner-section {
  background-color: transparent;
  background-image:
    linear-gradient(rgba(49, 121, 141, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(49, 121, 141, .08) 1px, transparent 1px),
    radial-gradient(ellipse 58% 48% at 94% 18%, rgba(var(--naxit-signal-rgb), .12), transparent 72%),
    radial-gradient(ellipse 70% 60% at 16% 70%, rgba(134, 181, 194, .13), transparent 78%);
  background-size:
    clamp(72px, 9vw, 140px) clamp(72px, 9vw, 140px),
    clamp(72px, 9vw, 140px) clamp(72px, 9vw, 140px),
    auto,
    auto;
}

body.products-page .product-hero-map {
  box-shadow:
    inset 3px 0 0 rgba(var(--naxit-signal-rgb), .78),
    0 24px 64px rgba(49, 121, 141, .16);
}

/* Carry the hero signal through the main content without recoloring controls or copy. */
body.naxit-detail-page :is(
  .work-progress-section,
  .core-value-section,
  .why-us-section,
  .workflow-section,
  .our-story-section,
  .faq-section
) {
  --naxit-subpage-field-x: 8%;
  --naxit-subpage-field-y: 18%;
  background-image: radial-gradient(
    ellipse 44% 28% at var(--naxit-subpage-field-x) var(--naxit-subpage-field-y),
    rgba(var(--naxit-signal-rgb), .1),
    transparent 74%
  );
  background-repeat: no-repeat;
}

body.naxit-detail-page :is(.core-value-section, .workflow-section) {
  --naxit-subpage-field-x: 94%;
  --naxit-subpage-field-y: 30%;
}

body.naxit-detail-page :is(.our-story-section, .faq-section) {
  --naxit-subpage-field-x: 12%;
  --naxit-subpage-field-y: 52%;
}

body.naxit-detail-page :is(.work-progress-section, .why-us-section) > .container {
  position: relative;
  z-index: 1;
}

body.naxit-detail-page :is(.work-progress-section, .why-us-section) > .container::before {
  position: absolute;
  z-index: 0;
  top: clamp(-28px, -1.8vw, -14px);
  left: clamp(10px, 2.1vw, 34px);
  width: 48px;
  height: 88px;
  content: "";
  pointer-events: none;
  opacity: .62;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left top / 48px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left top / 1px 88px no-repeat,
    repeating-linear-gradient(180deg, rgba(var(--naxit-signal-rgb), .8) 0 1px, transparent 1px 14px) 8px 0 / 10px 88px no-repeat;
}

body.naxit-ecommerce-page .our-story-curve path {
  stroke: var(--naxit-signal);
  stroke-opacity: .64;
}

body.products-page :is(
  .product-overview,
  .product-value-section,
  .product-use-cases,
  .product-capability-section,
  .product-faq-section
) {
  --naxit-product-field-x: 7%;
  --naxit-product-field-y: 18%;
  background-image: radial-gradient(
    ellipse 40% 24% at var(--naxit-product-field-x) var(--naxit-product-field-y),
    rgba(var(--naxit-signal-rgb), .09),
    transparent 74%
  );
  background-repeat: no-repeat;
}

body.products-page :is(.product-use-cases, .product-faq-section) {
  --naxit-product-field-x: 94%;
  --naxit-product-field-y: 28%;
}

body.products-page :is(.product-overview, .product-use-cases) > .product-shell {
  position: relative;
  z-index: 1;
}

body.products-page .product-grid-content {
  background-image: linear-gradient(
    112deg,
    transparent 20%,
    rgba(var(--naxit-signal-rgb), .12) 48%,
    transparent 72%
  );
  background-position: 118% 0;
  background-size: 220% 100%;
  box-shadow: inset 0 -1px rgba(var(--naxit-signal-rgb), .14);
  transition:
    background-position .48s cubic-bezier(.16, 1, .3, 1),
    box-shadow 180ms ease;
}

/*
 * Product content markers repeat the signal at functional edges: labels,
 * dividers, list bullets, and outgoing links. Copy and controls stay neutral.
 */
body.product-detail-page :is(.product-value-list li, .product-capability-layout li) {
  background-image: linear-gradient(var(--naxit-signal), var(--naxit-signal));
  background-position: left top;
  background-size: 38px 2px;
  background-repeat: no-repeat;
}

body.product-detail-page .product-use-case-list h3 {
  background-image: linear-gradient(var(--naxit-signal), var(--naxit-signal));
  background-position: left bottom;
  background-size: 44px 2px;
  background-repeat: no-repeat;
}

body.product-detail-page .product-capability-layout li::before {
  background: radial-gradient(
    circle,
    var(--naxit-signal) 0 3px,
    var(--product-brand-lilac) 3.5px 100%
  );
}

body.products-page .product-grid-visual {
  position: relative;
}

body.products-page .product-grid-visual::before {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 32px;
  height: 20px;
  content: "";
  pointer-events: none;
  opacity: .76;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left top / 32px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) left top / 1px 20px no-repeat;
  transition:
    opacity .22s ease,
    transform .42s cubic-bezier(.16, 1, .3, 1);
}

body.products-page .product-grid-visual::after {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 32px;
  height: 20px;
  content: "";
  pointer-events: none;
  opacity: .76;
  background:
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right bottom / 32px 1px no-repeat,
    linear-gradient(var(--naxit-signal), var(--naxit-signal)) right bottom / 1px 20px no-repeat;
  transition:
    opacity .22s ease,
    transform .42s cubic-bezier(.16, 1, .3, 1);
}

body.products-page .product-grid-link svg {
  transition:
    color .22s ease,
    transform .42s cubic-bezier(.16, 1, .3, 1);
}

/* Orange identifies the animated pulse and FAQ disclosure controls. */
body.naxit-detail-page .core-value-card .core-value-ionc::after {
  border-color: var(--naxit-signal);
}

body.naxit-detail-page :is(.faq-horizontal-line, .faq-vertical-line),
body.products-page .product-faq-list :is(.faq-horizontal-line, .faq-vertical-line) {
  background: var(--naxit-signal);
}

/* The contact content ends cleanly; the footer owns the dark transition. */
body.contact-page .contact-section {
  padding-bottom: clamp(72px, 8vw, 120px);
  background: transparent;
}

body.contact-page .contact-section::after {
  display: none;
  content: none;
}

body.products-page .product-grid-card:focus-visible .product-grid-content {
  background-position: 4% 0;
  box-shadow: inset 0 -2px rgba(var(--naxit-signal-rgb), .64);
}

body.products-page .product-grid-card:focus-visible .product-grid-visual::after {
  opacity: 1;
  transform: translate(-4px, -4px);
}

body.products-page .product-grid-card:focus-visible .product-grid-visual::before {
  opacity: 1;
  transform: translate(4px, 4px);
}

body.products-page .product-grid-card:focus-visible .product-grid-link svg {
  color: var(--naxit-signal);
  transform: translate(3px, -3px);
}

@media (hover: hover) and (pointer: fine) {
  body.products-page .product-grid-card:hover .product-grid-content {
    background-position: 4% 0;
    box-shadow: inset 0 -2px rgba(var(--naxit-signal-rgb), .64);
  }

  body.products-page .product-grid-card:hover .product-grid-visual::after {
    opacity: 1;
    transform: translate(-4px, -4px);
  }

  body.products-page .product-grid-card:hover .product-grid-visual::before {
    opacity: 1;
    transform: translate(4px, 4px);
  }

  body.products-page .product-grid-card:hover .product-grid-link svg {
    color: var(--naxit-signal);
    transform: translate(3px, -3px);
  }
}

@media (max-width: 767px) {
  body.products-page :is(.product-hero, .product-detail-hero)::before {
    bottom: 20px;
    left: 20px;
    width: 40px;
    height: 26px;
    opacity: .9;
    background-size: 40px 1px, 1px 26px;
  }

  body.products-page :is(.product-hero, .product-detail-hero)::after {
    top: 20px;
    right: 20px;
    width: 40px;
    height: 26px;
    opacity: .9;
    background-size: 40px 1px, 1px 26px;
  }

  body.naxit-detail-page .banner-section .heading-wrapper::before {
    width: 40px;
    height: 26px;
    opacity: .92;
    background-size: 40px 1px, 1px 26px;
  }

  body.naxit-detail-page .banner-section .heading-wrapper::after {
    bottom: -14px;
    width: 40px;
    height: 26px;
    opacity: .92;
    background-size: 40px 1px, 1px 26px;
  }

  body.naxit-detail-page :is(
    .work-progress-section,
    .core-value-section,
    .why-us-section,
    .workflow-section,
    .our-story-section,
    .faq-section
  ) {
    background-image: radial-gradient(
      ellipse 70% 20% at var(--naxit-subpage-field-x) var(--naxit-subpage-field-y),
      rgba(var(--naxit-signal-rgb), .16),
      transparent 76%
    );
  }

  body.products-page :is(
    .product-overview,
    .product-value-section,
    .product-use-cases,
    .product-capability-section,
    .product-faq-section
  ) {
    background-image: radial-gradient(
      ellipse 70% 20% at var(--naxit-product-field-x) var(--naxit-product-field-y),
      rgba(var(--naxit-signal-rgb), .16),
      transparent 76%
    );
  }

  body.naxit-detail-page :is(.work-progress-section, .why-us-section) > .container::before {
    width: 38px;
    height: 68px;
    opacity: .7;
    background:
      linear-gradient(var(--naxit-signal), var(--naxit-signal)) left top / 38px 1px no-repeat,
      linear-gradient(var(--naxit-signal), var(--naxit-signal)) left top / 1px 68px no-repeat,
      repeating-linear-gradient(180deg, rgba(var(--naxit-signal-rgb), .86) 0 1px, transparent 1px 13px) 7px 0 / 9px 68px no-repeat;
  }

  body.naxit-detail-page.naxit-process-page .work-progress-section > .container::before {
    right: clamp(10px, 2.1vw, 34px);
    left: auto;
    background:
      linear-gradient(var(--naxit-signal), var(--naxit-signal)) right top / 38px 1px no-repeat,
      linear-gradient(var(--naxit-signal), var(--naxit-signal)) right top / 1px 68px no-repeat,
      repeating-linear-gradient(180deg, rgba(var(--naxit-signal-rgb), .86) 0 1px, transparent 1px 13px) right 7px top / 9px 68px no-repeat;
  }

  body.products-page .product-grid-visual::after {
    right: 14px;
    bottom: 14px;
    width: 30px;
    height: 20px;
    opacity: .9;
    background-size: 30px 1px, 1px 20px;
  }

  body.products-page .product-grid-visual::before {
    top: 14px;
    left: 14px;
    width: 30px;
    height: 20px;
    opacity: .9;
    background-size: 30px 1px, 1px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.products-page :is(
    .product-grid-content,
    .product-grid-visual::before,
    .product-grid-visual::after,
    .product-grid-link svg
  ) {
    transition: none !important;
  }
}
