/* Homepage automation composition. Scoped to .homepage-refresh. */
html.homepage-document,
body.homepage-refresh {
  overflow-x: visible;
}

.homepage-refresh {
  --home-orange: var(--orange);
  --home-orange-dark: var(--orange-dark);
  --home-orange-tint: var(--orange-light);
  --home-ink: var(--dark);
  --home-story-dark: #0f1020;
  --home-muted: var(--medium-gray);
  --home-surface: var(--white);
  --home-warm: #FFFBF5;
  --home-line: #ECE3D6;
  --home-ease-out: cubic-bezier(.22, 1, .36, 1);
  --home-ease-in: cubic-bezier(.55, 0, .55, .2);
  background: var(--home-surface);
  color: var(--home-ink);
}

.homepage-refresh .nx-skip-link:focus,
.homepage-refresh .nx-skip-link:focus-visible {
  left: 0;
  outline: 3px solid var(--home-orange);
  outline-offset: 3px;
}

.homepage-refresh .nx-skip-link {
  transition: none;
}

.homepage-refresh .visually-hidden,
.home-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.home-container {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}

.home-sequence {
  --home-media-scale: 1;
  --home-softness: .28;
  position: relative;
  height: 500dvh;
  min-height: 1200px;
  background: var(--home-warm);
  isolation: isolate;
}

.home-sequence__sticky {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100dvh;
  min-height: 620px;
  overflow: hidden;
}

.home-sequence__wash {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 74% 48%, rgba(247, 148, 29, .11), transparent 34%),
    linear-gradient(110deg, var(--home-warm) 0 46%, rgba(255, 251, 245, .88) 55%, rgba(255, 255, 255, .48) 100%);
}

.home-brain {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: max(28px, calc((100vw - 1200px) / 2));
  width: min(57vw, 760px);
  aspect-ratio: 8 / 5;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  background: var(--home-ink);
  box-shadow: 0 24px 72px rgba(26, 26, 46, .22), 0 0 0 1px rgba(247, 148, 29, .16);
  transform: translateY(-50%) scale(var(--home-media-scale));
  transform-origin: center;
  transition: transform 280ms var(--home-ease-out);
}

.home-brain::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(255, 244, 230, .42);
  opacity: var(--home-softness);
  transition: opacity 280ms var(--home-ease-out);
}

.home-brain__poster,
.home-brain__poster img,
.home-brain__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-brain__poster {
  z-index: 1;
}

.home-brain__video {
  z-index: 0;
  display: none;
}

.home-js .home-brain__video {
  display: block;
}

.home-js .home-brain.is-playing .home-brain__video {
  z-index: 2;
}

.home-stage {
  position: absolute;
  z-index: 4;
  left: 0;
  width: 100%;
  height: 50dvh;
  min-height: 400px;
  pointer-events: none;
}

.home-stage--hero { top: 0; height: 70dvh; }
.home-stage--enquiry { top: 70dvh; }
.home-stage--departments { top: 120dvh; height: 80dvh; }

.home-stage__content {
  width: min(31vw, 430px);
  margin-left: max(20px, calc((100vw - 1200px) / 2));
  padding: 88px 0 48px;
  pointer-events: auto;
}

.home-js .home-sequence:not(.home-static) .home-stage__content {
  position: fixed;
  top: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity 200ms var(--home-ease-out), transform 200ms var(--home-ease-out);
}

.home-js .home-sequence:not(.home-static)[data-phase='hero'] .home-stage--hero .home-stage__content,
.home-js .home-sequence:not(.home-static)[data-phase='enquiry'] .home-stage--enquiry .home-stage__content,
.home-js .home-sequence:not(.home-static)[data-phase='departments'] .home-stage--departments .home-stage__content {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.home-js .home-sequence[data-in-viewport='false'] .home-stage__content {
  opacity: 0 !important;
  pointer-events: none !important;
}

.home-stage__content--hero {
  padding-top: clamp(104px, 15vh, 170px);
}

.home-eyebrow {
  margin: 0 0 16px;
  color: var(--home-ink);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1.4;
  text-transform: uppercase;
}

.home-eyebrow::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 3px;
  margin: 0 10px 3px 0;
  border-radius: 999px;
  background: var(--home-orange);
}

.home-stage h1 {
  max-width: 13ch;
  margin: 0 0 24px;
  color: var(--home-ink);
  font-size: clamp(2.65rem, 5.1vw, 4.75rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.home-stage h2 {
  max-width: 16ch;
  margin: 0 0 20px;
  color: var(--home-ink);
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.home-stage__content > p:not(.home-eyebrow),
.home-lead {
  max-width: 52ch;
  margin: 0;
  color: var(--home-muted);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.65;
}

.home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.home-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.2;
  touch-action: manipulation;
  transition: transform 200ms var(--home-ease-out);
}

.home-button--primary {
  border-color: var(--home-orange);
  background: var(--home-orange);
  color: var(--home-ink);
  box-shadow: 0 10px 28px rgba(247, 148, 29, .23);
}

.home-button--secondary {
  border-color: var(--home-ink);
  background: rgba(255, 255, 255, .78);
  color: var(--home-ink);
}

.home-button:hover {
  transform: translateY(-2px);
}

.home-button--primary:hover {
  background: var(--home-orange-dark);
}

.home-button:active {
  transform: scale(.98);
}

.home-button:focus-visible,
.home-product-card:focus-visible {
  outline: 3px solid rgba(247, 148, 29, .55);
  outline-offset: 3px;
}

.home-route {
  position: absolute;
  z-index: 5;
  right: max(104px, calc((100vw - 1200px) / 2 + 104px));
  left: max(44%, calc((100vw - 1200px) / 2 + 480px));
  bottom: 7vh;
  display: flex;
  width: auto;
  justify-content: center;
  /* This chapter is visual-only. Its transparent final frame must not sit
     above the workflow cards and steal their hover target. */
  pointer-events: none;
  transition: transform 280ms var(--home-ease-out), opacity 180ms var(--home-ease-in);
}

.home-route__steps {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-route__branch {
  display: none;
  width: min(100%, 250px);
  min-height: 44px;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 10px 16px;
  border: 1px solid var(--home-line);
  border-radius: 999px;
  background: var(--home-surface);
  color: var(--home-ink);
  box-shadow: 0 8px 20px rgba(26, 26, 46, .1);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
}

.home-route__branch::before {
  content: '';
  width: 36px;
  height: 3px;
  flex: 0 0 36px;
  border-radius: 999px;
  background: var(--home-orange);
}

.home-js .home-sequence[data-phase='departments'] .home-route {
  top: auto;
  right: auto;
  bottom: 88px;
  left: max(32px, calc((100vw - 1200px) / 2));
  width: min(36vw, 430px);
  justify-content: flex-start;
  opacity: 1;
  transform: none;
}

.home-js .home-sequence[data-phase='departments'] .home-route__steps {
  display: none;
}

.home-js .home-sequence[data-phase='departments'] .home-route__branch {
  display: flex;
}

.home-route li {
  position: relative;
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transform: none;
}

.home-js .home-route li {
  opacity: 0;
  transform: translateY(12px);
}

.home-js .home-route li.is-visible {
  opacity: 1;
  transform: none;
  transition: opacity 200ms var(--home-ease-out), transform 200ms var(--home-ease-out);
}

.home-route li:not(:last-child)::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 68%;
  width: 64%;
  height: 3px;
  background: var(--home-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 280ms var(--home-ease-out);
}

.home-route li.is-visible:not(:last-child)::after {
  transform: scaleX(1);
}

.home-route span {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 6px;
  border: 1px solid var(--home-line);
  border-radius: 999px;
  background: var(--home-surface);
  color: var(--home-ink);
  box-shadow: 0 8px 20px rgba(26, 26, 46, .1);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  overflow-wrap: anywhere;
}

.home-route li:nth-child(2) span {
  border-color: var(--home-orange);
  background: var(--home-orange);
}

.home-network {
  position: absolute;
  z-index: 4;
  top: 88px;
  right: max(96px, calc((100vw - 1200px) / 2 + 104px));
  bottom: 70px;
  left: max(40%, calc((100vw - 1200px) / 2 + 480px));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: space-between;
  gap: 12px;
  pointer-events: none;
}

.home-network article {
  position: relative;
  width: auto;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--home-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 14px 36px rgba(26, 26, 46, .11);
  opacity: 1;
}

.home-js .home-network article {
  opacity: 0;
  transform: translateY(12px);
}

.home-js .home-network article.is-visible {
  opacity: 1;
  transform: none;
  transition: opacity 280ms var(--home-ease-out), transform 280ms var(--home-ease-out);
}

.home-network article::after {
  display: none;
}

.home-network article:nth-child(n) { inset: auto; }

.home-network h3 {
  margin: 0 0 4px;
  color: var(--home-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
}

.home-network p {
  margin: 0;
  color: var(--home-muted);
  font-size: 12px;
  line-height: 1.45;
}

.home-js .home-sequence:not(.home-static) .home-automation__fallback {
  display: none;
}

.home-automation__fallback {
  display: grid;
  width: min(100% - 40px, 1200px);
  margin: 40px auto 0;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 24px;
  border: 1px solid var(--home-line);
  border-radius: 22px;
  background: var(--home-surface);
  pointer-events: auto;
}

.home-automation__fallback h3 {
  margin: 0 0 16px;
  color: var(--home-ink);
  font-size: 1.1rem;
}

.home-automation__fallback ol,
.home-automation__fallback ul {
  display: grid;
  gap: 10px;
}

.home-automation__fallback li {
  display: grid;
  gap: 2px;
  padding-left: 14px;
  border-left: 3px solid var(--home-orange);
}

.home-automation__fallback strong {
  color: var(--home-ink);
  font-size: .9rem;
}

.home-automation__fallback span {
  color: var(--home-muted);
  font-size: .85rem;
}

.home-section {
  padding: 96px 0;
}

.home-section__intro {
  max-width: 720px;
  margin-bottom: 48px;
}

.home-section__intro h2,
.home-assessment h2,
.home-close h2 {
  margin: 0 0 20px;
  color: var(--home-ink);
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.home-section__intro > p:last-child,
.home-assessment__layout > div > p:not(.home-eyebrow),
.home-close__content > p:not(.home-eyebrow) {
  max-width: 62ch;
  margin: 0;
  color: var(--home-muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.home-story-handoff {
  height: 128px;
  overflow: hidden;
  background: var(--home-story-dark);
  line-height: 0;
}

.home-story-handoff svg {
  display: block;
  width: 100%;
  height: 100%;
}

.home-story-handoff__surface {
  fill: var(--home-surface);
}

.home-section.home-products {
  position: relative;
  background: var(--home-surface);
}

.home-products .home-section__intro {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.home-products .home-section__intro > p:last-child {
  margin-right: auto;
  margin-left: auto;
}

.home-product-groups {
  display: grid;
  gap: 56px;
}

.home-product-group > h3 {
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--home-line);
  color: var(--home-ink);
  font-size: 1.25rem;
}

.home-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.home-product-card {
  display: flex;
  min-height: 292px;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--home-line);
  border-radius: 22px;
  background: var(--home-warm);
  color: var(--home-ink);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .04), 0 12px 32px rgba(247, 148, 29, .08);
  touch-action: manipulation;
  transition: transform 200ms var(--home-ease-out);
}

.home-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .06), 0 20px 48px rgba(247, 148, 29, .14);
}

.home-product-card__mark {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  border-radius: 12px;
  background: var(--home-orange-tint);
  color: var(--home-ink);
  font-size: 12px;
  font-weight: 800;
}

.home-product-card h4 {
  margin: 0 0 12px;
  color: var(--home-ink);
  font-size: 1.3rem;
}

.home-product-card p {
  margin: 0;
  color: var(--home-muted);
  font-size: .96rem;
  line-height: 1.65;
}

.home-product-card__link {
  margin-top: auto;
  padding-top: 24px;
  color: var(--home-ink);
  font-size: .92rem;
  font-weight: 750;
}

.home-product-card__link > span {
  color: var(--home-orange-dark);
  font-size: 1.2em;
}

.home-assessment {
  background: var(--home-warm);
}

.home-assessment__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
  align-items: center;
  gap: 72px;
}

.home-assessment__layout .home-button {
  margin-top: 28px;
}

.home-assessment__preview {
  display: grid;
  gap: 12px;
}

.home-assessment__preview li {
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 16px;
  min-height: 72px;
  padding: 12px 20px 12px 12px;
  border: 1px solid var(--home-line);
  border-radius: 18px;
  background: var(--home-surface);
}

.home-assessment__preview span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 14px;
  background: var(--home-orange);
  color: var(--home-ink);
  font-size: 12px;
  font-weight: 800;
}

.home-assessment__preview p {
  margin: 0;
  color: var(--home-ink);
  font-size: .96rem;
  font-weight: 650;
  line-height: 1.5;
}

.home-trust {
  padding: 28px 0;
  background: var(--home-ink);
}

.home-trust ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 28px;
  flex-wrap: wrap;
}

.home-trust li {
  position: relative;
  padding-left: 16px;
  color: var(--home-surface);
  font-size: .88rem;
  font-weight: 650;
  line-height: 1.4;
}

.home-trust li::before {
  content: '';
  position: absolute;
  top: .45em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--home-orange);
}

.home-close {
  background:
    radial-gradient(circle at 80% 30%, rgba(247, 148, 29, .17), transparent 35%),
    var(--home-surface);
}

.home-close__content {
  max-width: 780px;
  text-align: center;
}

.home-close__content .home-eyebrow::before {
  display: none;
}

.home-close__content .home-button {
  margin-top: 28px;
}

@media (min-width: 768px) {
  .home-container { width: min(100% - 64px, 1200px); }
}

@media (min-width: 1024px) {
  .home-container { width: min(100% - 96px, 1200px); }
}

@media (min-width: 969px) and (max-width: 1100px) {
  .homepage-refresh .nav-links { gap: 20px; }

  .homepage-refresh .nav-link {
    font-size: .82rem;
    white-space: nowrap;
  }

  .homepage-refresh .nav-cta {
    padding-inline: 18px;
    white-space: nowrap;
  }
}

@media (max-width: 1023px) {
  .home-stage__content {
    width: min(36vw, 410px);
    margin-left: 32px;
  }

  .home-brain {
    right: 20px;
    width: 58vw;
  }

  .home-network article {
    width: auto;
  }

  .home-network {
    top: 88px;
    right: 96px;
    bottom: auto;
    left: 44%;
    height: 228px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 8px;
  }

  .home-route {
    right: 96px;
    left: 32%;
  }

  .home-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .home-assessment__layout {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

@media (max-width: 767px) {
  .home-sequence {
    height: 500dvh;
    min-height: 1300px;
  }

  .home-sequence__sticky {
    min-height: 640px;
  }

  .home-sequence__wash {
    background:
      linear-gradient(180deg, rgba(255, 251, 245, .98) 0 42%, rgba(255, 251, 245, .58) 61%, rgba(255, 251, 245, .95) 100%),
      radial-gradient(circle at 50% 65%, rgba(247, 148, 29, .14), transparent 40%);
  }

  .home-stage {
    height: 50dvh;
  }

  .home-stage--hero { height: 70dvh; }
  .home-stage--enquiry { top: 70dvh; }
  .home-stage--departments { top: 120dvh; height: 80dvh; }

  .home-stage__content,
  .home-stage__content--hero {
    top: 80px;
    width: auto;
    max-width: none;
    margin: 0 20px;
    padding: 40px 0 0;
  }

  .home-js .home-sequence:not(.home-static) .home-stage__content {
    transition: none;
  }

  .home-stage__content--hero {
    padding-top: 32px;
  }

  .home-stage--enquiry .home-stage__content,
  .home-stage--departments .home-stage__content {
    position: fixed;
    z-index: 6;
    top: 120px;
    right: 20px;
    left: 20px;
    margin: 0;
    padding: 0;
  }

  .home-js .home-sequence:not(.home-static) .home-stage--enquiry .home-stage__content,
  .home-js .home-sequence:not(.home-static) .home-stage--departments .home-stage__content {
    top: 120px;
  }

  .home-stage h1 {
    max-width: 11ch;
    margin-bottom: 14px;
    font-size: clamp(2.1rem, 10vw, 2.8rem);
    line-height: 1.02;
  }

  .home-stage h2 {
    max-width: 15ch;
    margin-bottom: 12px;
    font-size: clamp(1.85rem, 8vw, 2.45rem);
  }

  .home-stage__content > p:not(.home-eyebrow),
  .home-lead {
    max-width: 42ch;
    font-size: 1rem;
    line-height: 1.55;
  }

  .home-eyebrow {
    margin-bottom: 10px;
    font-size: 12px;
    letter-spacing: .065em;
  }

  .home-actions {
    margin-top: 18px;
  }

  .home-button {
    min-height: 44px;
    padding: 10px 18px;
  }

  .home-brain {
    top: auto;
    right: 20px;
    bottom: 12px;
    left: 20px;
    width: auto;
    height: min(300px, 37dvh);
    aspect-ratio: auto;
    border-radius: 20px;
    transform: scale(var(--home-media-scale));
  }

  .home-route {
    right: 20px;
    bottom: 200px;
    left: 20px;
    width: auto;
    transform: none;
  }

  .home-route li {
    display: none;
  }

  .home-route li.is-current {
    display: flex;
  }

  .home-route li.is-current::after {
    display: none;
  }

  .home-route span {
    min-width: min(88vw, 310px);
    font-size: 14px;
  }

  .home-network {
    top: 430px;
    right: 20px;
    bottom: auto;
    left: 20px;
    height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    place-items: center;
  }

  .home-network article,
  .home-js .home-network article {
    position: static;
    display: none;
    width: min(88vw, 320px);
    padding: 12px 16px;
    transform: none;
  }

  .home-network article.is-current {
    display: block;
    grid-column: 1 / -1;
    justify-self: center;
    opacity: 1;
  }

  .home-network article::after {
    display: none;
  }

  .home-js .home-sequence[data-phase='enquiry'] .home-brain {
    opacity: .36;
  }

  .home-js .home-sequence[data-phase='departments'] .home-route {
    opacity: 0;
  }

  .home-js .home-sequence[data-phase='departments'] .home-route__branch {
    display: none;
  }

  .home-automation__fallback {
    width: calc(100% - 40px);
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .home-section {
    padding: 64px 0;
  }

  .home-section__intro {
    margin-bottom: 32px;
  }

  .home-product-groups {
    gap: 40px;
  }

  .home-product-grid,
  .home-assessment__layout {
    grid-template-columns: 1fr;
  }

  .home-product-card {
    min-height: 0;
    padding: 24px;
  }

  .home-product-card__link {
    padding-top: 20px;
  }

  .home-assessment__layout {
    gap: 36px;
  }

  .home-trust ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 14px 20px;
  }
}

/* Generic trigger-to-outcome workflow.
   The route uses the same aura + filament language as the six department
   neurons, while fixed geometry keeps the scroll chapter free of reflow. */
.homepage-refresh .home-route {
  bottom: clamp(88px, 11vh, 104px);
  width: min(calc(100% - 48px), 1120px);
  min-height: 180px;
}

.homepage-refresh .home-route__map {
  position: absolute;
  z-index: 0;
  top: 50%;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 180px;
  overflow: visible;
  color: #ff9a53;
  pointer-events: none;
  transform: translateY(-50%);
}

.homepage-refresh .home-route__segment {
  opacity: 0;
}

.homepage-refresh .home-route__path-aura,
.homepage-refresh .home-route__path-line {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.homepage-refresh .home-route__path-aura {
  stroke-width: 5;
  opacity: .38;
  filter: blur(2.25px);
}

.homepage-refresh .home-route__path-line {
  stroke: color-mix(in srgb, currentColor 72%, white);
  stroke-width: .8;
  opacity: .9;
}

.homepage-refresh .home-route__node-halo,
.homepage-refresh .home-route__node-dot {
  fill: currentColor;
  transform-box: fill-box;
  transform-origin: center;
}

.homepage-refresh .home-route__node-halo {
  opacity: .2;
  filter: blur(3px);
}

.homepage-refresh .home-route__node-dot {
  filter: drop-shadow(0 0 3px currentColor) drop-shadow(0 0 7px currentColor);
}

.homepage-refresh .home-route__steps,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps.is-condensed {
  z-index: 1;
  display: grid;
  width: 100%;
  min-height: 180px;
  grid-template-columns: 18% 14% 14% 14% 18%;
  align-items: center;
  justify-content: space-between;
}

.homepage-refresh .home-route li,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li.is-visible {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: center;
}

.homepage-refresh .home-route li:not(:last-child)::after,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li:not(:last-child)::after,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li.is-visible:not(:last-child)::after {
  display: none;
}

.homepage-refresh .home-route__cluster {
  flex-direction: column;
  gap: 18px;
}

.homepage-refresh .home-route span,
.homepage-refresh .home-route__process span,
.homepage-refresh .home-route__cluster span {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 12px;
  background: rgba(15, 16, 32, .9);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .22), inset 0 0 18px rgba(255, 154, 83, .035);
  color: #fff;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.25;
  text-align: center;
}

.homepage-refresh .home-route__process:nth-child(2) span {
  border-color: rgba(255, 154, 83, .92);
  background: rgba(104, 57, 26, .94);
  box-shadow: 0 0 18px rgba(255, 154, 83, .16), inset 0 0 16px rgba(255, 154, 83, .08);
  color: #fff;
}

.homepage-refresh .home-route__branch {
  width: min(100%, 430px);
}

.homepage-refresh .home-route__preview,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__preview,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__preview.is-visible {
  min-height: 94px;
  flex-direction: column;
  gap: 3px;
  padding: 0 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.homepage-refresh .home-route__preview::before {
  content: none;
  display: none;
}

.homepage-refresh .home-route__preview-map {
  display: block;
  width: min(100%, 360px);
  height: 46px;
  overflow: visible;
}

.homepage-refresh .home-route__preview-aura,
.homepage-refresh .home-route__preview-line {
  fill: none;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.homepage-refresh .home-route__preview-aura {
  stroke: rgba(255, 154, 83, .58);
  stroke-width: 5;
  opacity: .28;
  filter: blur(2.25px);
}

.homepage-refresh .home-route__preview-line {
  stroke: rgba(255, 255, 255, .48);
  stroke-width: .8;
}

.homepage-refresh .home-route__preview-node {
  color: var(--route-preview-color);
  opacity: 0;
  transform: scale(.88);
  transform-box: fill-box;
  transform-origin: center;
}

.homepage-refresh .home-route__preview-node circle { fill: color-mix(in srgb, currentColor 84%, white); }

.homepage-refresh .home-route__preview-node .home-route__preview-halo {
  fill: currentColor;
  opacity: .5;
  filter: blur(2px);
}

.homepage-refresh .home-route__preview strong {
  color: #fff;
  font-size: 13px;
  font-weight: 780;
  line-height: 1.25;
}

.homepage-refresh .home-route__preview small {
  color: rgba(255, 255, 255, .68);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
}

@media (max-width: 1023px) and (min-width: 768px) {
  .homepage-refresh .home-route {
    width: calc(100% - 32px);
  }

  .homepage-refresh .home-route span,
  .homepage-refresh .home-route__process span,
  .homepage-refresh .home-route__cluster span {
    padding-inline: 6px;
    font-size: 10.5px;
  }
}

@media (max-width: 767px) {
  .home-story-handoff {
    height: 96px;
  }

  .homepage-refresh .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='detail'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='condense'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='network'] .home-route {
    top: calc(100dvh - max(96px, 12vh) - 168px);
    min-height: 156px;
  }

  .homepage-refresh .home-route__map {
    display: none;
  }

  .homepage-refresh .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps.is-condensed {
    display: flex;
    min-height: 156px;
  }

  .homepage-refresh .home-route__cluster {
    gap: 8px;
  }

  .homepage-refresh .home-route__preview,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__preview,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__preview.is-visible {
    width: min(100%, 340px);
    min-height: 88px;
    padding-inline: 8px;
  }

  .homepage-refresh .home-route__preview-map { height: 42px; }

  .homepage-refresh .home-route span,
  .homepage-refresh .home-route__process span,
  .homepage-refresh .home-route__cluster span {
    width: min(88vw, 330px);
    min-height: 40px;
    font-size: 13px;
  }
}

/* Mobile continuity: retain the changing worked-example copy, but anchor it
   to one persistent five-stage automation so the chapter reads as a flow. */
.homepage-refresh .home-route__mobile-track {
  display: none;
}

@media (max-width: 767px) {
  .homepage-refresh .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='detail'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='condense'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='network'] .home-route {
    top: calc(100dvh - max(96px, 12vh) - 120px);
    min-height: 144px;
  }

  .homepage-refresh .home-route__mobile-track {
    --home-route-mobile-progress: 0;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 4px;
    left: 4px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    height: 54px;
    opacity: 1;
    transition: opacity 180ms var(--home-ease-out);
  }

  .homepage-refresh .home-route__mobile-track::before,
  .homepage-refresh .home-route__mobile-track::after {
    content: '';
    position: absolute;
    z-index: 0;
    top: 13px;
    right: 10%;
    left: 10%;
    height: 2px;
    border-radius: 999px;
    transform-origin: left center;
  }

  .homepage-refresh .home-route__mobile-track::before {
    background: rgba(255, 255, 255, .18);
  }

  .homepage-refresh .home-route__mobile-track::after {
    background: #ff9a53;
    box-shadow: 0 0 5px rgba(255, 142, 50, .8);
    transform: scaleX(var(--home-route-mobile-progress, 0));
    transition: transform 200ms var(--home-ease-out);
  }

  .homepage-refresh .home-route__mobile-track span {
    position: relative;
    z-index: 1;
    display: grid;
    width: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: rgba(255, 255, 255, .62);
    justify-items: center;
    gap: 5px;
  }

  .homepage-refresh .home-route__mobile-track b {
    display: grid;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 50%;
    background: #111123;
    color: rgba(255, 255, 255, .7);
    font-size: 10px;
    line-height: 1;
    place-items: center;
    transition: border-color 180ms var(--home-ease-out),
      color 180ms var(--home-ease-out), box-shadow 180ms var(--home-ease-out);
  }

  .homepage-refresh .home-route__mobile-track small {
    display: block;
    max-width: 62px;
    color: inherit;
    font-size: 8.5px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
  }

  .homepage-refresh .home-route__mobile-track span.is-complete {
    color: rgba(255, 255, 255, .88);
  }

  .homepage-refresh .home-route__mobile-track span.is-complete b,
  .homepage-refresh .home-route__mobile-track span.is-current b {
    border-color: #ff9a53;
    color: #fff;
    box-shadow: 0 0 5px rgba(255, 142, 50, .8);
  }

  .homepage-refresh .home-route__mobile-track span.is-current {
    color: #fff;
  }

  .homepage-refresh .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps.is-condensed {
    top: 62px;
    min-height: 78px;
    transform: none;
  }

  .homepage-refresh .home-sequence[data-phase='condense'] .home-route__mobile-track,
  .homepage-refresh .home-sequence[data-phase='network'] .home-route__mobile-track {
    opacity: 0;
  }

  /* Keep the six workflows recognisable without letting their paths enter the
     Brain. The wider map gives the branches more horizontal room; the radial
     mask reserves a clean central halo. */
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-network__map {
    right: -52px;
    left: -52px;
    width: calc(100% + 104px);
    height: 276px;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent 0 31%, #000 37%);
    mask-image: radial-gradient(circle at 50% 50%, transparent 0 31%, #000 37%);
  }

  .homepage-refresh .home-workflow-path { opacity: .34; }
  .homepage-refresh .home-workflow-path[data-workflow-path='customers-sales'],
  .homepage-refresh .home-workflow-path[data-workflow-path='reporting-decisions'],
  .homepage-refresh .home-workflow-path[data-workflow-path='marketing-growth'] {
    transform: translateX(-30px);
  }
  .homepage-refresh .home-workflow-path[data-workflow-path='operations-delivery'],
  .homepage-refresh .home-workflow-path[data-workflow-path='finance-admin'],
  .homepage-refresh .home-workflow-path[data-workflow-path='team-people'] {
    transform: translateX(30px);
  }

  .homepage-refresh .home-workflow-node {
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(.72);
  }

  .homepage-refresh .home-workflow-path__aura {
    stroke-width: 3.5;
    filter: blur(1.8px);
  }

  .homepage-refresh .home-workflow-path__line {
    stroke-width: .65;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .homepage-refresh .home-route__mobile-track,
  .homepage-refresh .home-route__mobile-track::after,
  .homepage-refresh .home-route__mobile-track b {
    transition-duration: .01ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .homepage-refresh .home-route__segment,
  .homepage-refresh .home-route__node-halo,
  .homepage-refresh .home-route__node-dot {
    animation: none;
    transition: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-sequence {
    height: auto;
    min-height: 0;
    padding: 64px 0;
  }

  .home-sequence__sticky,
  .home-stage {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
  }

  .home-sequence__sticky {
    display: grid;
    width: min(100% - 40px, 1200px);
    margin: 0 auto 40px;
    overflow: visible;
  }

  .home-sequence__wash,
  .home-route,
  .home-network {
    display: none;
  }

  .home-brain {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    transform: none;
  }

  .home-brain__video {
    display: none !important;
  }

  .home-stage__content,
  .home-stage__content--hero {
    width: min(100% - 40px, 720px);
    margin: 0 auto;
    padding: 48px 0 0;
  }

  .home-js .home-sequence .home-automation__fallback {
    display: grid;
  }

  .home-button,
  .home-product-card,
  .home-brain,
  .home-brain::after {
    transition-duration: 1ms !important;
  }
}

/* Specificity bridge: the original Homepage rules remain above this A4 layer. */
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage__content,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage__content--hero {
  top: clamp(106px, 15vh, 166px);
  right: 20px;
  left: 20px;
  width: min(100% - 40px, 820px);
  max-width: none;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage--enquiry .home-stage__content,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage--departments .home-stage__content {
  top: clamp(104px, 13vh, 145px);
}

.homepage-refresh .home-brain.home-brain--painted .home-brain__poster {
  opacity: 0;
}

@media (max-width: 767px) {
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage__content,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage__content--hero,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage--enquiry .home-stage__content,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage--departments .home-stage__content {
    top: max(92px, 11vh);
    right: 18px;
    left: 18px;
    width: calc(100% - 36px);
  }

  .home-js .homepage-refresh .home-sequence[data-phase='network'] .home-network {
    position: absolute;
    z-index: 8;
    top: 56%;
    right: 14px;
    bottom: 18px;
    left: 14px;
    display: grid;
    width: auto;
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: end;
    gap: 8px;
    transform: none;
  }

  .home-js .homepage-refresh .home-sequence[data-phase='network'] .home-network article,
  .home-js .homepage-refresh .home-sequence[data-phase='network'] .home-network article.is-current {
    position: static;
    display: block;
    width: auto;
    min-width: 0;
    grid-column: auto;
    opacity: 1;
    transform: none;
  }
}

/* The semantic static path is also used when JavaScript or globe media fails. */
.home-sequence.home-static,
html:not(.home-js) .home-sequence {
  display: grid;
  height: auto;
  min-height: 0;
  padding: 64px 0;
}

.home-sequence.home-static .home-sequence__sticky,
html:not(.home-js) .home-sequence__sticky {
  position: relative;
  top: auto;
  order: 2;
  display: grid;
  width: min(100% - 40px, 1200px);
  height: auto;
  min-height: 0;
  margin: 0 auto;
  overflow: visible;
}

.home-sequence.home-static .home-stage,
html:not(.home-js) .home-stage {
  position: relative;
  top: auto;
  width: 100%;
  height: auto;
  min-height: 0;
}

.home-sequence.home-static .home-stage--hero,
html:not(.home-js) .home-stage--hero { order: 1; }

.home-sequence.home-static .home-stage--enquiry,
html:not(.home-js) .home-stage--enquiry { order: 3; }

.home-sequence.home-static .home-stage--departments,
html:not(.home-js) .home-stage--departments { order: 4; }

.home-sequence.home-static .home-sequence__wash,
.home-sequence.home-static .home-route,
.home-sequence.home-static .home-network,
html:not(.home-js) .home-sequence__wash,
html:not(.home-js) .home-route,
html:not(.home-js) .home-network {
  display: none;
}

.home-sequence.home-static .home-brain,
html:not(.home-js) .home-brain {
  position: relative;
  inset: auto;
  width: 100%;
  max-width: 720px;
  height: auto;
  aspect-ratio: 8 / 5;
  margin: 0 auto;
  transform: none;
}

.home-sequence.home-static .home-brain__video,
html:not(.home-js) .home-brain__video {
  display: none !important;
}

.home-sequence.home-static .home-stage__content,
.home-sequence.home-static .home-stage__content--hero,
html:not(.home-js) .home-stage__content,
html:not(.home-js) .home-stage__content--hero {
  position: static;
  width: min(100% - 40px, 720px);
  margin: 0 auto;
  padding: 48px 0 0;
}

.home-sequence.home-static .home-automation__fallback,
html:not(.home-js) .home-automation__fallback {
  display: grid;
}

.home-sequence.home-static .home-button,
.home-sequence.home-static .home-product-card,
.home-sequence.home-static .home-brain,
.home-sequence.home-static .home-brain::after,
html:not(.home-js) .home-button,
html:not(.home-js) .home-product-card,
html:not(.home-js) .home-brain,
html:not(.home-js) .home-brain::after {
  transition-duration: 1ms !important;
}

/* -------------------------------------------------------------------------
   T5R — shared live Brain Homepage composition

   These final rules deliberately replace the earlier captured-media layout.
   The Brain is one continuous centred object: soft behind the opening copy,
   then sharp in the automation route, then a smaller connected core.
   ------------------------------------------------------------------------- */
.homepage-refresh .home-sequence {
  --home-brain-scale: 1.16;
  --home-brain-blur: 17px;
  --home-brain-shift-y: 0px;
  --home-darkness: 0;
  position: relative;
  /* Four full viewports of native sticky travel keep a strong wheel or touch
     gesture from skipping the complete explanatory story. */
  height: 500dvh;
  min-height: 0;
  background: #fffdf9;
  isolation: isolate;
}

.homepage-refresh .home-sequence__sticky {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

.homepage-refresh .home-sequence__wash {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 48%, rgba(247, 148, 29, .13), transparent 36%),
    radial-gradient(circle at 50% 84%, rgba(255, 235, 212, .72), transparent 47%),
    #fffdf9;
}

.homepage-refresh .home-sequence__wash::after {
  position: absolute;
  inset: 0;
  content: '';
  background:
    radial-gradient(circle at 50% 50%, rgba(247, 148, 29, .13), transparent 25%),
    radial-gradient(circle at 50% 50%, rgba(97, 92, 174, .16), transparent 54%),
    var(--home-story-dark);
  opacity: var(--home-darkness);
  transition: opacity 180ms linear;
}

.homepage-refresh .home-brain {
  position: absolute;
  z-index: 2;
  top: 53%;
  right: auto;
  left: 50%;
  width: min(82vw, 880px);
  height: min(82vh, 820px);
  aspect-ratio: 1;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: translate(-50%, calc(-50% + var(--home-brain-shift-y))) scale(var(--home-brain-scale));
  transform-origin: center;
  transition: transform 180ms var(--home-ease-out);
}

.homepage-refresh .home-brain::after {
  display: none;
}

.homepage-refresh .home-brain__poster,
.homepage-refresh .home-brain__poster img,
.homepage-refresh .home-brain__video,
.homepage-refresh .brain-canvas--homepage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.homepage-refresh .home-brain__poster {
  z-index: 1;
  display: block;
  opacity: .68;
  mix-blend-mode: screen;
  filter: blur(var(--home-brain-blur)) saturate(.86) contrast(1.08);
  transition: opacity 260ms var(--home-ease-out), filter 180ms var(--home-ease-out);
}

.homepage-refresh .home-brain__poster img,
.homepage-refresh .home-brain__video {
  object-fit: contain;
}

.homepage-refresh .home-brain.home-brain--painted .home-brain__poster {
  opacity: .16;
}

.homepage-refresh .brain-canvas--homepage {
  z-index: 2;
  pointer-events: none;
  filter: blur(var(--home-brain-blur));
  transition: filter 180ms var(--home-ease-out);
}

.homepage-refresh .home-brain__video--fallback {
  z-index: 3;
  display: block;
  object-fit: contain;
}

.homepage-refresh .home-stage {
  position: absolute;
  z-index: 6;
  inset: 0;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  pointer-events: none;
}

.homepage-refresh .home-stage--hero,
.homepage-refresh .home-stage--enquiry,
.homepage-refresh .home-stage--departments {
  top: 0;
  height: 100dvh;
}

.homepage-refresh .home-stage__content,
.homepage-refresh .home-stage__content--hero {
  position: fixed;
  top: clamp(106px, 15vh, 166px);
  right: 20px;
  left: 20px;
  width: min(100% - 40px, 820px);
  max-width: none;
  margin: 0 auto;
  padding: 0;
  color: var(--home-ink);
  pointer-events: none;
  text-align: center;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 180ms var(--home-ease-out), transform 180ms var(--home-ease-out), color 180ms linear;
}

.homepage-refresh .home-stage__content .home-actions {
  justify-content: center;
  pointer-events: auto;
}

.home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='hero'] .home-stage--hero .home-stage__content,
.home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='transition'] .home-stage--hero .home-stage__content,
.home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='detail'] .home-stage--enquiry .home-stage__content,
.home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='condense'] .home-stage--departments .home-stage__content {
  opacity: 1;
  transform: none;
}

.home-js .homepage-refresh .home-sequence[data-in-viewport='false'] .home-stage__content {
  opacity: 0 !important;
}

.homepage-refresh .home-stage--enquiry .home-stage__content,
.homepage-refresh .home-stage--departments .home-stage__content {
  top: clamp(104px, 13vh, 145px);
  color: #fff;
}

.homepage-refresh .home-stage--departments .home-stage__content {
  width: min(100% - 40px, 600px);
}

.homepage-refresh .home-stage h1,
.homepage-refresh .home-stage h2 {
  max-width: 17ch;
  margin-right: auto;
  margin-left: auto;
  color: currentColor;
  text-wrap: balance;
}

.homepage-refresh .home-stage h1 {
  margin-bottom: 20px;
  font-size: clamp(2.75rem, 5.2vw, 5rem);
}

.homepage-refresh .home-stage h2 {
  margin-bottom: 15px;
  font-size: clamp(2rem, 3.5vw, 3.3rem);
}

.homepage-refresh .home-stage__content > p:not(.home-eyebrow),
.homepage-refresh .home-lead {
  margin-right: auto;
  margin-left: auto;
  color: currentColor;
  opacity: .82;
}

.homepage-refresh .home-stage .home-eyebrow {
  color: inherit;
  text-align: center;
  opacity: .9;
}

.homepage-refresh .home-stage .home-eyebrow::before {
  content: none;
  display: none;
}

.homepage-refresh .home-stage--enquiry .home-eyebrow,
.homepage-refresh .home-stage--departments .home-eyebrow {
  color: #ffd2ad;
}

.homepage-refresh .home-button--secondary {
  border-color: currentColor;
  background: rgba(255, 255, 255, .86);
  color: var(--home-ink);
}

.homepage-refresh .home-route {
  position: absolute;
  z-index: 7;
  right: 20px;
  bottom: clamp(42px, 8vh, 78px);
  left: 20px;
  display: flex;
  width: min(100% - 40px, 920px);
  margin: 0 auto;
  justify-content: center;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 180ms var(--home-ease-out), transform 180ms var(--home-ease-out);
}

.homepage-refresh .home-sequence[data-phase='detail'] .home-route,
.homepage-refresh .home-sequence[data-phase='condense'] .home-route,
.homepage-refresh .home-sequence[data-phase='network'] .home-route {
  opacity: 1;
  transform: none;
}

.homepage-refresh .home-route__steps {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.homepage-refresh .home-route__branch {
  display: none;
  width: min(100%, 390px);
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 9px 16px;
  border: 1px solid rgba(255, 154, 83, .62);
  border-radius: 999px;
  background: rgba(15, 16, 32, .86);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
  color: #fff;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
}

.homepage-refresh .home-route__branch.is-visible { display: flex; }
.homepage-refresh .home-route__steps.is-condensed { display: none; }

.homepage-refresh .home-route li {
  position: relative;
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 180ms var(--home-ease-out), transform 180ms var(--home-ease-out);
}

.homepage-refresh .home-route li.is-visible {
  opacity: 1;
  transform: none;
}

.homepage-refresh .home-route li:not(:last-child)::after {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 68%;
  width: 64%;
  height: 1px;
  content: '';
  background: linear-gradient(90deg, #ff9a53, rgba(255, 255, 255, .42));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms var(--home-ease-out);
}

.homepage-refresh .home-route li.is-visible:not(:last-child)::after { transform: scaleX(1); }

.homepage-refresh .home-route span {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 7px 8px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  background: rgba(15, 16, 32, .8);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
}

.homepage-refresh .home-route li:nth-child(2) span {
  border-color: #ff9a53;
  background: #f7941d;
  color: #18172e;
}

.homepage-refresh .home-network {
  --home-network-diagonal-inset: 0px;
  --home-network-diagonal-spread: 44px;
  --home-network-edge-pad: clamp(12px, 1.5vw, 20px);
  position: absolute;
  z-index: 5;
  top: 53%;
  right: 50%;
  bottom: auto;
  left: auto;
  display: grid;
  box-sizing: border-box;
  width: min(calc(100vw - 32px), 1344px);
  height: min(74vh, 680px);
  padding: clamp(40px, 6vh, 64px) var(--home-network-edge-pad);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  align-items: center;
  pointer-events: none;
  transform: translate(50%, -50%);
}

.homepage-refresh .home-network__title {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 50%;
  width: min(680px, 60vw);
  margin: 0;
  color: #fff;
  font-size: clamp(1.65rem, 2.7vw, 2.65rem);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.08;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  text-wrap: balance;
  transform: translate(-50%, 10px);
}

.homepage-refresh .home-network article {
  position: relative;
  z-index: 2;
  inset: auto;
  display: block;
  width: min(220px, 20vw);
  min-width: 150px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--workflow-color, #f7941d) 72%, white);
  border-radius: 14px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--workflow-color, #f7941d) 8%, transparent), transparent 62%),
    rgba(15, 16, 32, .82);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--workflow-color, #f7941d) 18%, transparent),
    0 0 20px color-mix(in srgb, var(--workflow-color, #f7941d) 15%, transparent),
    0 14px 36px rgba(0, 0, 0, .22);
  color: #fff;
  opacity: 0;
  pointer-events: auto;
  transform: translateY(12px) scale(.96);
  transition: border-color 180ms ease, box-shadow 180ms ease,
    opacity 220ms var(--home-ease-out), transform 220ms var(--home-ease-out);
}

.homepage-refresh .home-network article.is-visible {
  opacity: 1;
  transform: none;
}

.homepage-refresh .home-network [data-workflow-id='customers-sales'] {
  --workflow-color: rgb(56, 211, 245);
  grid-area: 1 / 1;
  justify-self: start;
  translate: var(--home-network-diagonal-inset) calc(-1 * var(--home-network-diagonal-spread));
}
.homepage-refresh .home-network [data-workflow-id='operations-delivery'] {
  --workflow-color: rgb(255, 122, 99);
  grid-area: 1 / 2;
  justify-self: end;
  translate: calc(-1 * var(--home-network-diagonal-inset)) calc(-1 * var(--home-network-diagonal-spread));
}
.homepage-refresh .home-network [data-workflow-id='finance-admin'] {
  --workflow-color: rgb(242, 201, 76);
  grid-area: 2 / 2;
  justify-self: end;
}
.homepage-refresh .home-network [data-workflow-id='team-people'] {
  --workflow-color: rgb(171, 110, 246);
  grid-area: 3 / 2;
  justify-self: end;
  translate: calc(-1 * var(--home-network-diagonal-inset)) var(--home-network-diagonal-spread);
}
.homepage-refresh .home-network [data-workflow-id='marketing-growth'] {
  --workflow-color: rgb(226, 84, 201);
  grid-area: 3 / 1;
  justify-self: start;
  translate: var(--home-network-diagonal-inset) var(--home-network-diagonal-spread);
}
.homepage-refresh .home-network [data-workflow-id='reporting-decisions'] {
  --workflow-color: rgb(124, 131, 253);
  grid-area: 2 / 1;
  justify-self: start;
}

.homepage-refresh .home-network__trigger {
  width: 100%;
  min-height: 60px;
  padding: 12px 14px;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.homepage-refresh .home-network__trigger:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.homepage-refresh .home-network__map {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  opacity: 0;
}

.homepage-refresh .home-workflow-path {
  color: var(--workflow-color);
  opacity: .2;
  transition: opacity 180ms var(--home-ease-out);
}

.homepage-refresh .home-workflow-path.is-active { opacity: 1; }

.homepage-refresh .home-workflow-path__aura,
.homepage-refresh .home-workflow-path__line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.homepage-refresh .home-workflow-path__aura {
  stroke: currentColor;
  stroke-width: 5;
  opacity: .2;
  filter: blur(2.25px);
}

.homepage-refresh .home-workflow-path__line {
  stroke: color-mix(in srgb, currentColor 72%, white);
  stroke-width: .8;
  opacity: .72;
}

.homepage-refresh .home-workflow-path.is-active .home-workflow-path__aura { opacity: .42; }
.homepage-refresh .home-workflow-path.is-active .home-workflow-path__line { opacity: 1; }

.homepage-refresh .home-workflow-node__halo,
.homepage-refresh .home-workflow-node__dot {
  fill: currentColor;
  transform-box: fill-box;
  transform-origin: center;
}

.homepage-refresh .home-workflow-node__halo {
  opacity: .22;
  filter: blur(1.5px);
}
.homepage-refresh .home-workflow-node__dot {
  fill: color-mix(in srgb, currentColor 82%, white);
  opacity: .62;
  filter: drop-shadow(0 0 3px currentColor) drop-shadow(0 0 7px currentColor);
}

.homepage-refresh .home-workflow-node__index {
  fill: #101120;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 7px;
  font-weight: 850;
  opacity: .48;
  pointer-events: none;
}

.homepage-refresh .home-workflow-path.is-active .home-workflow-node__halo {
  animation: home-workflow-pulse 2.4s linear infinite;
  animation-delay: calc(var(--workflow-step) * -.4s);
}

.homepage-refresh .home-workflow-path.is-active .home-workflow-node__dot,
.homepage-refresh .home-workflow-path.is-active .home-workflow-node__index { opacity: 1; }

.homepage-refresh .home-workflow-rails {
  position: absolute;
  z-index: 3;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.homepage-refresh .home-workflow-rail {
  position: absolute;
  box-sizing: border-box;
  width: min(220px, 20vw);
  min-width: 150px;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--workflow-color) 42%, rgba(255, 255, 255, .2));
  border-radius: 12px;
  background: rgba(15, 16, 32, .92);
  box-shadow: 0 14px 32px rgba(0, 0, 0, .26);
  color: #fff;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 180ms var(--home-ease-out), transform 180ms var(--home-ease-out);
}

.homepage-refresh .home-workflow-rail.is-active {
  opacity: 1;
  transform: none;
}

.homepage-refresh .home-workflow-rail ol {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 0;
  list-style: none;
}

.homepage-refresh .home-workflow-rail li {
  display: grid;
  min-height: 14px;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
}

.homepage-refresh .home-workflow-rail__number {
  color: var(--workflow-color);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  letter-spacing: .08em;
}

.homepage-refresh .home-workflow-rail__copy {
  min-width: 0;
  color: rgba(255, 255, 255, .9);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.25;
  white-space: nowrap;
}

.homepage-refresh .home-workflow-rail[data-workflow-rail='customers-sales'] {
  left: calc(var(--home-network-edge-pad) + var(--home-network-diagonal-inset));
}
.homepage-refresh .home-workflow-rail[data-workflow-rail='operations-delivery'] {
  right: calc(var(--home-network-edge-pad) + var(--home-network-diagonal-inset));
}
.homepage-refresh .home-workflow-rail[data-workflow-rail='reporting-decisions'] {
  left: var(--home-network-edge-pad);
}
.homepage-refresh .home-workflow-rail[data-workflow-rail='finance-admin'] {
  right: var(--home-network-edge-pad);
}
.homepage-refresh .home-workflow-rail[data-workflow-rail='marketing-growth'] {
  left: calc(var(--home-network-edge-pad) + var(--home-network-diagonal-inset));
}
.homepage-refresh .home-workflow-rail[data-workflow-rail='team-people'] {
  right: calc(var(--home-network-edge-pad) + var(--home-network-diagonal-inset));
}

.homepage-refresh .home-workflow-mobile { display: none; }

@keyframes home-workflow-pulse {
  0%, 100% { opacity: .2; transform: scale(.92); }
  20% { opacity: .86; transform: scale(1.38); }
  42% { opacity: .28; transform: scale(1); }
}

.homepage-refresh .home-network h3 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.homepage-refresh .home-network p {
  margin: 0;
  color: rgba(255, 255, 255, .69);
  font-size: 12px;
  line-height: 1.4;
}

/* The static semantic path remains complete when motion is not appropriate. */
.homepage-refresh .home-sequence.home-static,
html:not(.home-js) .homepage-refresh .home-sequence {
  display: grid;
  height: auto;
  min-height: 0;
  padding: 64px 0;
  background: var(--home-warm);
}

.homepage-refresh .home-sequence.home-static .home-sequence__sticky,
html:not(.home-js) .homepage-refresh .home-sequence__sticky {
  position: relative;
  top: auto;
  order: 2;
  display: grid;
  width: min(100% - 40px, 880px);
  height: auto;
  min-height: 0;
  margin: 0 auto;
  overflow: visible;
}

.homepage-refresh .home-sequence.home-static .home-sequence__wash,
.homepage-refresh .home-sequence.home-static .home-route,
.homepage-refresh .home-sequence.home-static .home-network,
html:not(.home-js) .homepage-refresh .home-sequence__wash,
html:not(.home-js) .homepage-refresh .home-route,
html:not(.home-js) .homepage-refresh .home-network {
  display: none;
}

.homepage-refresh .home-sequence.home-static .home-brain,
html:not(.home-js) .homepage-refresh .home-brain {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  max-width: 720px;
  aspect-ratio: 1;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 22px;
  background: #111221;
  transform: none;
}

.homepage-refresh .home-sequence.home-static .home-brain__poster,
html:not(.home-js) .homepage-refresh .home-brain__poster {
  opacity: 1;
  mix-blend-mode: normal;
  filter: none;
}

.homepage-refresh .home-sequence.home-static .brain-canvas--homepage,
html:not(.home-js) .homepage-refresh .brain-canvas--homepage {
  display: none;
}

.homepage-refresh .home-sequence.home-static .home-stage,
html:not(.home-js) .homepage-refresh .home-stage {
  position: relative;
  top: auto;
  width: 100%;
  height: auto;
  min-height: 0;
}

.homepage-refresh .home-sequence.home-static .home-stage--hero,
html:not(.home-js) .homepage-refresh .home-stage--hero { order: 1; }
.homepage-refresh .home-sequence.home-static .home-stage--enquiry,
html:not(.home-js) .homepage-refresh .home-stage--enquiry { order: 3; }
.homepage-refresh .home-sequence.home-static .home-stage--departments,
html:not(.home-js) .homepage-refresh .home-stage--departments { order: 4; }

.homepage-refresh .home-sequence.home-static .home-stage__content,
html:not(.home-js) .homepage-refresh .home-stage__content {
  position: static;
  width: min(100% - 40px, 720px);
  margin: 0 auto;
  padding: 48px 0 0;
  color: var(--home-ink);
  opacity: 1;
  pointer-events: auto;
  text-align: left;
  transform: none;
}

.homepage-refresh .home-sequence.home-static .home-stage h1,
.homepage-refresh .home-sequence.home-static .home-stage h2,
html:not(.home-js) .homepage-refresh .home-stage h1,
html:not(.home-js) .homepage-refresh .home-stage h2 {
  margin-left: 0;
}

.homepage-refresh .home-sequence.home-static .home-stage__content > p:not(.home-eyebrow),
.homepage-refresh .home-sequence.home-static .home-lead,
html:not(.home-js) .homepage-refresh .home-stage__content > p:not(.home-eyebrow),
html:not(.home-js) .homepage-refresh .home-lead {
  margin-left: 0;
  color: var(--home-muted);
  opacity: 1;
}

.homepage-refresh .home-sequence.home-static .home-stage .home-eyebrow,
html:not(.home-js) .homepage-refresh .home-stage .home-eyebrow { color: var(--home-ink); }

.homepage-refresh .home-sequence.home-static .home-stage .home-actions,
html:not(.home-js) .homepage-refresh .home-stage .home-actions { justify-content: flex-start; }

.homepage-refresh .home-sequence.home-static .home-automation__fallback,
html:not(.home-js) .homepage-refresh .home-automation__fallback { display: grid; }

@media (max-width: 1100px) and (min-width: 768px) {
  .homepage-refresh .home-network {
    --home-network-diagonal-spread: 20px;
  }
}

@media (min-width: 768px) {
  .homepage-refresh .nex-widget {
    bottom: 8px;
  }
}

@media (max-width: 1023px) {
  .homepage-refresh .home-network article { width: min(190px, 23vw); }
  .homepage-refresh .home-workflow-rail { width: min(190px, 23vw); }
}

@media (max-width: 767px) {
  .homepage-refresh .home-sequence {
    height: 500dvh;
    min-height: 0;
  }

  .homepage-refresh .home-sequence__sticky { height: 100dvh; min-height: 0; }

  .homepage-refresh .home-brain {
    top: 54%;
    width: min(96vw, 540px);
    height: min(72vh, 620px);
  }

  .homepage-refresh .home-stage__content,
  .homepage-refresh .home-stage__content--hero {
    top: max(98px, 12vh);
    right: 18px;
    left: 18px;
    width: calc(100% - 36px);
  }

  .homepage-refresh .home-stage--enquiry .home-stage__content,
  .homepage-refresh .home-stage--departments .home-stage__content { top: max(90px, 11vh); }

  .homepage-refresh .home-stage h1 {
    max-width: 12ch;
    font-size: clamp(2.15rem, 10vw, 3rem);
    line-height: 1.02;
  }

  .homepage-refresh .home-stage h2 {
    max-width: 15ch;
    font-size: clamp(1.8rem, 7.6vw, 2.35rem);
  }

  .homepage-refresh .home-stage__content > p:not(.home-eyebrow),
  .homepage-refresh .home-lead {
    max-width: 32ch;
    font-size: .98rem;
    line-height: 1.55;
  }

  .homepage-refresh .home-actions { gap: 9px; margin-top: 18px; }
  .homepage-refresh .home-button { min-height: 44px; padding: 10px 18px; }

  .homepage-refresh .home-route {
    right: 16px;
    bottom: max(20px, 3vh);
    left: 16px;
    width: calc(100% - 32px);
  }

  .homepage-refresh .home-route li { display: none; }
  .homepage-refresh .home-route li.is-current { display: flex; }
  .homepage-refresh .home-route li.is-current::after { display: none; }
  .homepage-refresh .home-route span { min-width: min(88vw, 330px); font-size: 13px; }

  .homepage-refresh .home-network {
    top: 58%;
    width: calc(100% - 28px);
    height: min(46vh, 360px);
  }

  .homepage-refresh .home-network__title {
    top: calc(-50dvh + 104px);
    width: min(88vw, 390px);
    font-size: clamp(1.45rem, 7vw, 2rem);
  }

  .homepage-refresh .home-network article,
  .homepage-refresh .home-network article:nth-child(n) {
    position: relative;
    inset: auto;
    display: none;
    width: auto;
    min-width: 0;
    padding: 0;
    translate: none;
    transform: none;
  }

  .homepage-refresh .home-sequence[data-phase='network'] .home-network {
    display: grid;
    padding: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, 60px) 80px;
    align-content: center;
    gap: 8px 10px;
  }

  .homepage-refresh .home-network article.is-visible {
    display: block;
    transform: none;
  }

  .homepage-refresh .home-network h3 { margin-bottom: 2px; font-size: 12px; }
  .homepage-refresh .home-network p { font-size: 12px; line-height: 1.28; }

  .homepage-refresh .home-workflow-rails { display: none; }

  /* Keep the desktop neural-path language on capable phones without forcing
     six desktop-sized explanation boxes into a narrow viewport. The same SVG
     path engine sits around the live Brain; the readable selectors and active
     five-step explanation remain directly below it. */
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-network__map {
    top: calc(-150px - 14.5dvh);
    right: 0;
    bottom: auto;
    left: 0;
    display: block;
    width: 100%;
    height: 300px;
    overflow: visible;
    mask-image: radial-gradient(circle at 50% 50%, transparent 0 29%, #000 36%);
    -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent 0 29%, #000 36%);
  }

  .homepage-refresh .home-network__trigger {
    min-height: 56px;
    padding: 7px 9px;
  }

  .homepage-refresh .home-workflow-mobile {
    position: relative;
    display: block;
    width: 100%;
    min-height: 80px;
    grid-area: 4 / 1 / 5 / 3;
    justify-self: stretch;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    background: rgba(15, 16, 32, .86);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
  }

  .homepage-refresh .home-workflow-mobile__panel {
    position: absolute;
    inset: 0;
    display: grid;
    height: 100%;
    min-height: 0;
    padding: 0;
    align-items: stretch;
    opacity: 0;
    pointer-events: none;
    transform: none;
    transition: opacity 180ms var(--home-ease-out);
  }

  .homepage-refresh .home-workflow-mobile__panel.is-active {
    opacity: 1;
  }

  .homepage-refresh .home-workflow-mobile__panel h4 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .homepage-refresh .home-workflow-mobile__panel ol {
    position: relative;
    display: grid;
    box-sizing: border-box;
    height: 100%;
    margin: 0;
    padding: 18px 4px 6px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: start;
    list-style: none;
  }

  .homepage-refresh .home-workflow-mobile__panel ol::before {
    position: absolute;
    top: 22px;
    right: 9%;
    left: 9%;
    height: 1px;
    content: '';
    background: color-mix(in srgb, var(--workflow-color, #f7941d) 48%, transparent);
  }

  .homepage-refresh .home-workflow-mobile__panel li {
    position: relative;
    z-index: 1;
    display: grid;
    min-width: 0;
    grid-template-rows: 9px 34px;
    justify-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .76);
    text-align: center;
  }

  .homepage-refresh .home-workflow-mobile__panel li > span {
    width: 9px;
    height: 9px;
    border: 2px solid #101120;
    border-radius: 50%;
    background: var(--workflow-color, #f7941d);
    box-shadow: 0 0 10px var(--workflow-color, #f7941d);
  }

  .homepage-refresh .home-workflow-mobile__panel strong {
    display: block;
    height: 34px;
    max-width: 8ch;
    overflow: hidden;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.25;
  }

}

@media (prefers-reduced-motion: reduce) {
  .homepage-refresh .home-brain,
  .homepage-refresh .home-brain__poster,
  .homepage-refresh .brain-canvas--homepage,
  .homepage-refresh .home-route,
  .homepage-refresh .home-network article,
  .homepage-refresh .home-workflow-path,
  .homepage-refresh .home-workflow-node__halo,
  .homepage-refresh .home-workflow-rail,
  .homepage-refresh .home-workflow-mobile__panel {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}

/* Live-scene refinements after the legacy cascade: keep a globe, not a box. */
.homepage-refresh .home-sequence { --home-brain-blur: 6px; }

.homepage-refresh .home-brain__poster,
.homepage-refresh .brain-canvas--homepage {
  clip-path: circle(46% at 50% 50%);
}

.homepage-refresh .brain-canvas--homepage { mix-blend-mode: screen; }

.homepage-refresh .home-brain.home-brain--painted .home-brain__poster { opacity: .16; }

.homepage-refresh .home-sequence[data-phase='hero'] .home-brain.home-brain--painted .home-brain__poster { opacity: 0; }

@media (min-width: 768px) {
  /* A transform preserves the detail beat's lower resting point without
     moving the positioned box and accumulating full-sequence CLS. */
  .homepage-refresh .home-sequence[data-phase='detail'] .home-brain { --home-brain-shift-y: 8dvh; }
}

@media (max-width: 767px) {
  /* Keep the fixed Ask Nex control clear of the one-at-a-time route pill. */
  .homepage-refresh .home-route { bottom: max(96px, 12vh); }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__branch.is-visible {
    display: flex;
  }

  /* The final compact route and six-territory legend each get their own band;
     this prevents the branch, cards, and fixed Ask Nex control from stacking. */
  .homepage-refresh .home-sequence[data-phase='condense'] .home-route,
  .homepage-refresh .home-sequence[data-phase='network'] .home-route {
    top: clamp(340px, 43vh, 390px);
    bottom: auto;
  }

  .home-js .homepage-refresh .home-sequence[data-phase='network'] .home-network {
    top: 50%;
    bottom: auto;
    height: 284px;
    align-content: center;
  }

  .homepage-refresh .home-sequence[data-phase='network'] .home-route {
    min-height: 44px;
    align-items: flex-start;
  }
}

@media (min-width: 768px) and (max-width: 800px) {
  /* Portrait tablet: place the completed branch below its two lower cards. */
  .homepage-refresh .home-route { bottom: 120px; }
}

@media (min-width: 801px) and (max-width: 1100px) {
  /* Landscape tablet: the branch sits between the lower cards and Ask Nex. */
  .homepage-refresh .home-route { bottom: max(84px, 11vh); }

  /* Preserve the Brain's lower anchor without letting the bottom-right card
     touch the fixed assistant control at the narrow desktop edge. */
  .homepage-refresh .nex-widget { right: 16px; bottom: 8px; }
}

/* The transition is visual only: the hero copy remains the single narrative
   anchor while the same Brain washes, sharpens, and scales into the detail beat. */

@media (max-width: 767px) {
  /* Keep the route's layout box stable for the whole sequence. Phase changes
     then paint via transforms, rather than moving an absolute box from the
     lower pill band into the condensed branch band and adding CLS. */
  .homepage-refresh .home-route {
    --home-route-shift-y: 0px;
    top: calc(100dvh - max(96px, 12vh) - 72px);
    right: 16px;
    bottom: auto;
    left: 16px;
    width: calc(100% - 32px);
    min-height: 104px;
    align-items: center;
    transform: translateY(var(--home-route-shift-y));
  }

  .homepage-refresh .home-route__steps,
  .homepage-refresh .home-route__branch {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: translateY(-50%);
  }

  .homepage-refresh .home-sequence[data-phase='condense'] .home-route,
  .homepage-refresh .home-sequence[data-phase='network'] .home-route {
    top: calc(100dvh - max(96px, 12vh) - 72px);
    bottom: auto;
    --home-route-shift-y: calc(clamp(340px, 43vh, 390px) - (100dvh - max(96px, 12vh) - 72px));
  }

  .homepage-refresh .home-sequence[data-phase='detail'] .home-route,
  .homepage-refresh .home-sequence[data-phase='condense'] .home-route,
  .homepage-refresh .home-sequence[data-phase='network'] .home-route {
    transform: translateY(var(--home-route-shift-y));
  }
}

/* A capable browser starts with the same reserved static dimensions while
   the scene validates. Neither an invalid scene nor a missing shared renderer
   can then replace a shorter live box with a longer fallback and shift page
   content below it. */
.homepage-refresh .home-sequence.home-pending { visibility: hidden; }

@media (max-width: 800px) {
  /* A fixed Ask Nex control needs a persistent right-hand exclusion rail in
     every static/error state, not merely a last-item bottom spacer. */
  .homepage-refresh .home-sequence.home-static .home-sequence__sticky,
  html:not(.home-js) .homepage-refresh .home-sequence__sticky,
  .homepage-refresh .home-sequence.home-static .home-stage__content,
  html:not(.home-js) .homepage-refresh .home-stage__content,
  .homepage-refresh .home-sequence.home-static .home-automation__fallback,
  html:not(.home-js) .homepage-refresh .home-automation__fallback {
    width: calc(100% - 156px);
    margin-right: 136px;
    margin-left: 20px;
  }
}

/* Continuous live choreography.
   The semantic phase attributes remain the accessibility/test contract, while
   visible handoffs are painted directly from scroll progress. This avoids the
   old combination of threshold swaps and time-based transitions chasing a
   moving scroll position. Static, no-JS, and reduced-motion outcomes retain
   their deliberately non-animated presentation. */
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-sequence__wash::after,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-brain,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-brain__poster,
.home-js .homepage-refresh .home-sequence:not(.home-static) .brain-canvas--homepage,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage__content,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li::after,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-network article {
  transition: none;
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-brain.home-brain--painted .home-brain__poster {
  opacity: 0;
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage--hero .home-stage__content {
  opacity: 1;
  transform: none;
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage--enquiry .home-stage__content {
  opacity: 0;
  transform: none;
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage--departments .home-stage__content {
  opacity: 0;
  transform: none;
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route {
  min-height: 44px;
  opacity: 0;
  transform: translateY(0);
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps.is-condensed,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__branch,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__branch.is-visible {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  display: flex;
  margin: 0 auto;
  transform: translateY(-50%);
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps {
  opacity: 0;
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__branch,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__branch.is-visible {
  opacity: 0;
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li.is-visible {
  opacity: var(--home-route-step-opacity, 0);
  transform: translateY(var(--home-route-step-y, 12px));
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li:not(:last-child)::after,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li.is-visible:not(:last-child)::after {
  transform: scaleX(var(--home-route-step-opacity, 0));
}

.home-js .homepage-refresh .home-sequence:not(.home-static) .home-network article,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-network article.is-visible {
  opacity: var(--home-network-item-opacity, 0);
  transform: translateY(var(--home-network-item-y, 12px)) scale(var(--home-network-item-scale, .96));
}

@media (max-width: 767px) {
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='detail'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='condense'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='network'] .home-route {
    top: calc(100dvh - max(96px, 12vh) - 72px);
    bottom: auto;
    transform: translateY(0);
  }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li.is-current {
    position: absolute;
    inset: 0;
    display: flex;
  }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps.is-condensed {
    min-height: 44px;
  }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li::after {
    display: none;
  }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-network,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='network'] .home-network {
    position: absolute;
    z-index: 8;
    top: 50%;
    right: 14px;
    bottom: auto;
    left: 14px;
    display: grid;
    width: auto;
    height: 284px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, 60px);
    align-content: start;
    gap: 8px 10px;
    transform: none;
  }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-workflow-mobile {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: 80px;
    min-height: 80px;
    grid-area: auto;
  }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-network article,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-network article:nth-child(n),
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-network article.is-visible,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-network article:nth-child(n).is-visible {
    position: relative;
    inset: auto;
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    opacity: var(--home-network-item-opacity, 0);
    transform: scale(var(--home-network-item-scale, .96));
  }
}

/* Keep the generic route component authoritative over the earlier retained
   Homepage rules. These selectors sit last by design: the old linear route
   remains in the file only as static-fallback history. */
.homepage-refresh .home-route,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route {
  bottom: clamp(88px, 11vh, 104px);
  width: min(calc(100% - 48px), 1120px);
  min-height: 180px;
}

.homepage-refresh .home-route__steps,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps.is-condensed {
  z-index: 1;
  display: grid;
  width: 100%;
  min-height: 180px;
  grid-template-columns: 18% 14% 14% 14% 18%;
  align-items: center;
  justify-content: space-between;
}

.homepage-refresh .home-route li,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li.is-visible {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: center;
}

.homepage-refresh .home-route li:not(:last-child)::after,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li:not(:last-child)::after,
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li.is-visible:not(:last-child)::after {
  display: none;
}

.homepage-refresh .home-route__cluster {
  flex-direction: column;
  gap: 18px;
}

.homepage-refresh .home-route span,
.homepage-refresh .home-route__process span,
.homepage-refresh .home-route__cluster span {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 12px;
  background: rgba(15, 16, 32, .9);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .22), inset 0 0 18px rgba(255, 154, 83, .035);
  color: #fff;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.25;
  text-align: center;
}

.homepage-refresh .home-route__process:nth-child(2) span {
  border-color: rgba(255, 154, 83, .92);
  background: rgba(104, 57, 26, .94);
  box-shadow: 0 0 18px rgba(255, 154, 83, .16), inset 0 0 16px rgba(255, 154, 83, .08);
  color: #fff;
}

.homepage-refresh .home-route__branch {
  width: min(100%, 520px);
}

/* This is the small six-dot chapter preview only. It must sit below the Brain
   without moving the later six-branch workflow network. Kept last so the
   shared route-centering rule cannot silently pull it back into the Brain. */
@media (min-width: 768px) {
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__branch.home-route__preview,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__branch.home-route__preview.is-visible {
    transform: translateY(calc(-50% + 32px));
  }
}

@media (max-width: 1023px) and (min-width: 768px) {
  .homepage-refresh .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route {
    width: calc(100% - 32px);
  }

  .homepage-refresh .home-route span,
  .homepage-refresh .home-route__process span,
  .homepage-refresh .home-route__cluster span {
    padding-inline: 6px;
    font-size: 10.5px;
  }
}

@media (max-width: 767px) {
  .homepage-refresh .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='detail'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='condense'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='network'] .home-route {
    top: calc(100dvh - max(96px, 12vh) - 168px);
    bottom: auto;
    min-height: 156px;
  }

  .homepage-refresh .home-route__map {
    display: none;
  }

  .homepage-refresh .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps.is-condensed {
    display: flex;
    min-height: 156px;
  }

  .homepage-refresh .home-route__cluster {
    gap: 8px;
  }

  .homepage-refresh .home-route span,
  .homepage-refresh .home-route__process span,
  .homepage-refresh .home-route__cluster span {
    width: min(88vw, 330px);
    min-height: 40px;
    font-size: 13px;
  }
}

/* Mobile end-of-cascade overrides. */
@media (max-width: 767px) {
  .homepage-refresh .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='detail'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='condense'] .home-route,
  .home-js .homepage-refresh .home-sequence:not(.home-static)[data-phase='network'] .home-route {
    top: calc(100dvh - max(96px, 12vh) - 120px);
    min-height: 144px;
  }

  .homepage-refresh .home-route__mobile-track span {
    display: grid;
    width: auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: inherit;
    justify-items: center;
  }

  .homepage-refresh .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__steps.is-condensed {
    top: 62px;
    min-height: 78px;
    transform: none;
  }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-network__map {
    right: -52px;
    left: -52px;
    width: calc(100% + 104px);
    height: 276px;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent 0 31%, #000 37%);
    mask-image: radial-gradient(circle at 50% 50%, transparent 0 31%, #000 37%);
  }

  .homepage-refresh .home-workflow-node {
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(.68);
  }

  .homepage-refresh .home-workflow-path { opacity: .52; }
  .homepage-refresh .home-workflow-path__line { opacity: .84; }
  .homepage-refresh .home-workflow-node__dot { opacity: .74; }
  .homepage-refresh .home-workflow-node__index { opacity: .62; }

  /* The multi-option first/final stages are taller than the single process
     cards. Reserve the live Ask Nex rail without pulling the workflow back up
     over the Brain. */
  .homepage-refresh .home-route__cluster,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route__cluster {
    width: calc(100% - 88px) !important;
    margin-right: auto;
    justify-content: flex-start;
  }

  .homepage-refresh .home-route__cluster span { width: 100%; }

  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li,
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-route li.is-current {
    inset: 0 auto auto 0;
    height: auto;
    min-height: 0;
  }
}

/* -------------------------------------------------------------------------
   T5R-H — opening headline fit

   The hero keeps its original centred composition over the Brain. Its one
   sentence headline is longer than the two short lines it replaced, so the
   old 17ch measure broke it over three or four lines and the copy read as a
   clump. Widening the measure and easing the top of the size ramp lets the
   sentence settle on two lines from tablet up and three on a phone, without
   moving anything else in the composition.
   ------------------------------------------------------------------------- */
.homepage-refresh .home-stage--hero h1 {
  max-width: 26ch;
  font-size: clamp(2.4rem, 4.4vw, 4rem);
}

/* From 1024px up the hero copy drops from the top of the stage towards the
   Brain's own centre line, so the two read as one composition instead of a
   block of text floating above the globe. The clamp keeps the buttons well
   above the fold on a short desktop window and stops a tall window pushing
   the copy past the core. Below 1024px the stacked composition is unchanged. */
@media (min-width: 1024px) {
  .home-js .homepage-refresh .home-sequence:not(.home-static) .home-stage--hero .home-stage__content {
    top: clamp(230px, 32vh, 360px);
  }
}

/* The lead is one sentence and fits the hero column on a single line from
   tablet up. The inherited 52ch measure broke it early and left "from it."
   stranded on a line of its own. */
.homepage-refresh .home-stage--hero .home-lead {
  max-width: none;
}

@media (max-width: 767px) {
  .homepage-refresh .home-stage--hero h1 {
    max-width: 18ch;
    font-size: clamp(1.95rem, 8.4vw, 2.5rem);
  }

  .homepage-refresh .home-stage--hero .home-lead {
    max-width: 34ch;
  }
}

/* -------------------------------------------------------------------------
   Ways we help (#ways-we-help) and Google reviews (#reviews) — 2026-09-27.
   Two lead paths into /ai-setup and /ai-automation, and a live review strip.
   Uses the homepage tokens only; brand orange leads, navy stays an accent.
   ------------------------------------------------------------------------- */
.home-paths {
  position: relative;
  background:
    radial-gradient(60% 40% at 50% 0%, rgba(247, 148, 29, .09), transparent 70%),
    var(--home-surface);
}

.home-paths__intro {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.home-paths__intro > p:last-child { margin-inline: auto; }

.home-paths__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  color: var(--home-orange-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.home-paths__kicker::before {
  content: '';
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--home-orange);
}

.home-paths__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.home-path-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 28px;
  background: var(--home-surface);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .04), 0 18px 48px rgba(247, 148, 29, .09);
  transition: transform 260ms var(--home-ease-out), box-shadow 260ms var(--home-ease-out), border-color 260ms;
}

.home-path-card:hover,
.home-path-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(247, 148, 29, .45);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .06), 0 28px 64px rgba(247, 148, 29, .18);
}

.home-path-visual {
  position: relative;
  display: grid;
  height: 300px;
  place-content: center;
  place-items: center;
  padding: 32px;
  overflow: hidden;
}

.home-path-visual--chat {
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, .9), transparent 42%),
    linear-gradient(135deg, #FFE7C7 0%, var(--home-orange-tint) 55%, #FFF9F1 100%);
}

.home-path-visual--flow {
  background-color: var(--home-warm);
  background-image: radial-gradient(rgba(26, 26, 46, .11) 1px, transparent 1.2px);
  background-size: 18px 18px;
}

/* Chat mock-up: the "morning emails" routine. */
.home-path-chat__prompt {
  justify-self: center;
  width: min(100%, 380px);
  margin-bottom: 12px;
  text-align: right;
}

.home-path-chat__prompt span {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 18px 18px 4px 18px;
  background: var(--home-ink);
  color: var(--home-surface);
  font-size: .9rem;
  font-weight: 650;
  box-shadow: 0 10px 24px rgba(26, 26, 46, .18);
}

.home-path-chat__list {
  display: grid;
  width: min(100%, 380px);
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 18px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 16px 36px rgba(224, 125, 10, .16);
  backdrop-filter: blur(6px);
}

.home-path-chat__list li {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--home-surface);
  font-size: .86rem;
  transition: transform 320ms var(--home-ease-out);
}

.home-path-chat__list i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #CBD2DC;
}

.home-path-chat__list i.is-high { background: var(--home-orange); box-shadow: 0 0 0 4px rgba(247, 148, 29, .18); }
.home-path-chat__list b { color: var(--home-ink); font-weight: 700; }

.home-path-chat__list em {
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--home-orange-tint);
  color: var(--home-orange-dark);
  font-size: .74rem;
  font-style: normal;
  font-weight: 750;
}

.home-path-card:hover .home-path-chat__list li:nth-child(1) { transform: translateX(-4px); }
.home-path-card:hover .home-path-chat__list li:nth-child(2) { transform: translateX(-8px); transition-delay: 40ms; }
.home-path-card:hover .home-path-chat__list li:nth-child(3) { transform: translateX(-12px); transition-delay: 80ms; }

/* Flow mock-up: trigger → process → human gate → done. */
.home-path-flow {
  position: relative;
  display: grid;
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  counter-reset: flow;
}

.home-path-flow::before {
  content: '';
  position: absolute;
  top: 22px;
  right: 12%;
  left: 12%;
  height: 2px;
  background: linear-gradient(90deg, var(--home-line), var(--home-orange) 55%, var(--home-ink));
}

.home-path-flow li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
  counter-increment: flow;
}

.home-path-flow li::before {
  content: counter(flow);
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 2px solid var(--home-line);
  border-radius: 50%;
  background: var(--home-surface);
  color: var(--home-ink);
  font-size: .9rem;
  font-weight: 800;
  box-shadow: 0 6px 16px rgba(26, 26, 46, .08);
  transition: transform 320ms var(--home-ease-out);
}

.home-path-flow li.is-gate::before {
  content: '✓';
  border-color: var(--home-orange);
  background: var(--home-orange);
  box-shadow: 0 0 0 7px rgba(247, 148, 29, .18), 0 10px 22px rgba(247, 148, 29, .35);
}

.home-path-flow li.is-done::before {
  border-color: var(--home-ink);
  background: var(--home-ink);
  color: var(--home-surface);
}

.home-path-flow span {
  color: var(--home-ink);
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.3;
}

.home-path-flow li.is-gate span { color: var(--home-orange-dark); }
.home-path-card:hover .home-path-flow li::before { transform: translateY(-3px); }
.home-path-card:hover .home-path-flow li:nth-child(2)::before { transition-delay: 50ms; }
.home-path-card:hover .home-path-flow li:nth-child(3)::before { transition-delay: 100ms; }
.home-path-card:hover .home-path-flow li:nth-child(4)::before { transition-delay: 150ms; }

.home-path-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 32px 32px 30px;
}

.home-path-card__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: var(--home-muted);
  font-size: .8rem;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.home-path-card__label span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  background: var(--home-orange-tint);
  color: var(--home-ink);
  font-size: .75rem;
  letter-spacing: 0;
}

.home-path-card h3 {
  margin: 0 0 12px;
  color: var(--home-ink);
  font-size: clamp(1.4rem, 2.2vw, 1.75rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.home-path-card__link { color: inherit; }

.home-path-card__link::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
}

.home-path-card__link:focus-visible { outline: none; }
.home-path-card:has(.home-path-card__link:focus-visible) {
  outline: 3px solid rgba(247, 148, 29, .55);
  outline-offset: 3px;
}

.home-path-card__body > p {
  margin: 0;
  color: var(--home-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.home-path-card__ticks {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
}

.home-path-card__ticks li {
  position: relative;
  padding-left: 30px;
  color: var(--home-ink);
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.45;
}

.home-path-card__ticks li::before {
  content: '';
  position: absolute;
  top: .05em;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%231A1A2E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat,
    var(--home-orange);
}

.home-path-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 28px;
  color: var(--home-ink);
  font-size: .98rem;
  font-weight: 800;
}

.home-path-card__cta span {
  color: var(--home-orange-dark);
  font-size: 1.2em;
  transition: transform 260ms var(--home-ease-out);
}

.home-path-card:hover .home-path-card__cta span { transform: translateX(5px); }

.home-paths__call {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 32px;
  flex-wrap: wrap;
  margin-top: 28px;
  padding: 18px 18px 18px 32px;
  border: 1px solid var(--home-line);
  border-radius: 999px;
  background: var(--home-warm);
}

.home-paths__call p {
  margin: 0;
  color: var(--home-muted);
  font-size: 1rem;
}

.home-paths__call strong { color: var(--home-ink); }
.home-paths__call-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.home-button--phone { gap: 10px; }

.home-button--phone svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Star rating: grey row with an orange row clipped to --rating out of 5. */
.home-stars {
  --star-size: 18px;
  position: relative;
  display: inline-block;
  width: calc(var(--star-size) * 5);
  height: var(--star-size);
  vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E4DCD0' d='M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%3E%3C/svg%3E") left center / var(--star-size) repeat-x;
}

.home-stars::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--rating, 5) / 5 * 100%);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F7941D' d='M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%3E%3C/svg%3E") left center / var(--star-size) repeat-x;
}

.home-reviews {
  overflow: hidden;
  background:
    radial-gradient(40% 60% at 0% 100%, rgba(247, 148, 29, .1), transparent 70%),
    var(--home-warm);
}

.home-reviews__layout {
  display: grid;
  grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
  align-items: center;
  gap: 56px;
}

.home-reviews__summary h2 {
  margin: 0 0 28px;
  color: var(--home-ink);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.home-reviews__score {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 24px;
  border: 1px solid var(--home-line);
  border-radius: 22px;
  background: var(--home-surface);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .04), 0 12px 32px rgba(247, 148, 29, .08);
}

.home-reviews__google { width: 48px; height: 48px; flex: none; }

.home-reviews__rating {
  margin: 0 0 4px;
  color: var(--home-ink);
  font-size: 2.6rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.03em;
}

.home-reviews__score .home-stars { --star-size: 20px; }

.home-reviews__count {
  margin: 8px 0 0;
  color: var(--home-muted);
  font-size: .9rem;
  font-weight: 600;
}

.home-reviews__actions {
  display: grid;
  justify-items: start;
  gap: 16px;
  margin-top: 24px;
}

.home-reviews__write {
  color: var(--home-ink);
  font-size: .95rem;
  font-weight: 750;
}

.home-reviews__write span { color: var(--home-orange-dark); }
.home-reviews__write:hover { color: var(--home-orange-dark); }

.home-reviews__viewport {
  --reviews-duration: 36s;
  min-width: 0;
  padding: 12px 4px 24px;
}

.home-reviews__track {
  display: flex;
  gap: 20px;
}

.home-review {
  display: flex;
  width: min(100%, 440px);
  flex: none;
  flex-direction: column;
  gap: 18px;
  padding: 30px;
  border: 1px solid var(--home-line);
  border-radius: 24px;
  background: var(--home-surface);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .04), 0 16px 40px rgba(247, 148, 29, .1);
}

.home-review blockquote {
  position: relative;
  margin: 0;
  color: var(--home-ink);
  font-size: 1.08rem;
  font-weight: 550;
  line-height: 1.65;
}

.home-review__footer {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--home-line);
}

.home-review__avatar {
  position: relative;
  display: grid;
  width: 40px;
  height: 40px;
  flex: none;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: var(--home-orange);
  color: var(--home-ink);
  font-weight: 800;
}

.home-review__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-review__who { display: grid; min-width: 0; }
.home-review__who b { color: var(--home-ink); font-size: .95rem; }
.home-review__who small { color: var(--home-muted); font-size: .8rem; }

.home-review__more {
  position: relative;
  z-index: 1;
  margin-left: auto;
  color: var(--home-orange-dark);
  font-size: .85rem;
  font-weight: 750;
  white-space: nowrap;
}

.home-review__more:hover { text-decoration: underline; }

/* One or two reviews: featured quotes, stacked for depth, no motion. */
.home-reviews:not(.is-marquee) .home-reviews__track {
  justify-content: center;
  flex-wrap: wrap;
}

.home-reviews:not(.is-marquee) .home-review {
  position: relative;
  width: min(100%, 600px);
  padding: 44px 40px 32px;
}

.home-reviews:not(.is-marquee) .home-review:only-child::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 18px -14px -14px 18px;
  border: 1px solid var(--home-line);
  border-radius: 24px;
  background: rgba(255, 255, 255, .55);
}

.home-reviews:not(.is-marquee) .home-review blockquote {
  font-size: clamp(1.15rem, 1.7vw, 1.4rem);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -.01em;
}

.home-reviews:not(.is-marquee) .home-review::before {
  content: '\201C';
  position: absolute;
  top: 6px;
  right: 30px;
  color: var(--home-orange-tint);
  font-size: 9rem;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}

.home-reviews__track { position: relative; isolation: isolate; }

/* The slow loop: only when there are enough reviews to fill it. */
.home-reviews.is-marquee .home-reviews__viewport {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.home-reviews.is-marquee .home-reviews__track {
  width: max-content;
  animation: home-reviews-drift var(--reviews-duration) linear infinite;
}

.home-reviews.is-marquee .home-review { width: 380px; }

.home-reviews.is-marquee .home-reviews__viewport:hover .home-reviews__track,
.home-reviews.is-marquee .home-reviews__viewport:focus-within .home-reviews__track {
  animation-play-state: paused;
}

@keyframes home-reviews-drift {
  to { transform: translateX(calc(-50% - 10px)); }
}

@media (max-width: 1023px) {
  .home-paths__grid,
  .home-reviews__layout { grid-template-columns: 1fr; }
  .home-reviews__layout { gap: 36px; }
}

@media (max-width: 767px) {
  .home-path-visual { height: auto; min-height: 220px; padding: 28px 18px; }
  .home-path-card__body { padding: 26px 22px 24px; }
  .home-path-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; }
  .home-path-flow::before { display: none; }
  .home-paths__call { padding: 20px; border-radius: 22px; }
  .home-paths__call-actions,
  .home-paths__call-actions .home-button { width: 100%; }
  .home-reviews .home-review { padding: 26px 22px 22px; }
  .home-reviews:not(.is-marquee) .home-review:only-child::after { display: none; }
  .home-reviews:not(.is-marquee) .home-review::before { right: 18px; font-size: 6rem; }
  .home-review__footer { flex-wrap: wrap; }
  .home-review__more { flex-basis: 100%; margin-left: 52px; }
  .home-reviews.is-marquee .home-review { width: 300px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-path-card,
  .home-path-card *,
  .home-path-card *::before { transition: none !important; }
  .home-path-card:hover,
  .home-path-card:focus-within { transform: none; }
  .home-reviews__track { animation: none !important; }
}

/* -------------------------------------------------------------------------
   Intermission — 2026-09-27. The lead paths and reviews ride inside the story
   between the hero and the worked example. They slide up over the pinned live
   Brain; home-automation.js holds the story while they pass and positions the
   panel one viewport down.
   ------------------------------------------------------------------------- */
.home-js .homepage-refresh .home-sequence:not(.home-static) .home-intermission {
  position: absolute;
  z-index: 20;
  top: 100dvh;
  right: 0;
  left: 0;
  box-shadow: 0 -30px 60px -30px rgba(26, 26, 46, .18);
}

.homepage-refresh .home-intermission { background: var(--home-surface); }

.homepage-refresh .home-sequence.home-static .home-intermission,
html:not(.home-js) .homepage-refresh .home-intermission {
  position: relative;
  order: 2;
  width: 100%;
}

.home-intermission .home-paths { border-radius: 36px 36px 0 0; }

/* Once the panel has covered the hero, the hero copy stays retired. */
.home-js .homepage-refresh .home-sequence[data-hero-passed='true'] .home-stage--hero .home-stage__content {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* "Where to start." is the title; the two-ways line is its subtitle. */
.home-paths__intro h2 { margin-bottom: 12px; }

.home-paths__subtitle {
  margin: 0 auto 16px;
  color: var(--home-orange-dark);
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -.015em;
}

.home-paths__intro > p:last-child { margin-top: 0; }

/* The card call to action reads as a real button. */
.home-path-card__cta {
  align-self: flex-start;
  margin-top: auto;
  padding: 13px 22px;
  border-radius: 999px;
  background: var(--home-orange);
  color: var(--home-ink);
  box-shadow: 0 10px 24px rgba(247, 148, 29, .28);
  transition: background 200ms, transform 200ms var(--home-ease-out), box-shadow 200ms;
}

.home-path-card__body { gap: 0; }
.home-path-card__ticks { margin-bottom: 28px; }
.home-path-card__cta span { color: var(--home-ink); }

.home-path-card:hover .home-path-card__cta,
.home-path-card:focus-within .home-path-card__cta {
  background: var(--home-orange-dark);
  box-shadow: 0 14px 30px rgba(224, 125, 10, .34);
}

@media (max-width: 767px) {
  .home-path-card__cta { align-self: stretch; justify-content: center; }
  .home-intermission .home-paths { border-radius: 26px 26px 0 0; }
}

/* Reviews heading mirrors "Where to start": big title, orange subtitle. */
.home-reviews__summary h2 { margin-bottom: 10px; font-size: clamp(2.2rem, 4.4vw, 3.4rem); }
.home-reviews__subtitle { margin: 0 0 28px; }

/* Call block: no pill container; centred title, subtitle, then buttons. */
.home-paths__call {
  display: grid;
  justify-content: center;
  justify-items: center;
  gap: 0;
  margin-top: 56px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  text-align: center;
}

.home-paths__call .home-paths__call-title {
  margin: 0 0 8px;
  color: var(--home-ink);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.home-paths__call .home-paths__call-sub {
  margin: 0 0 24px;
  color: var(--home-muted);
  font-size: 1.1rem;
}

.home-paths__call-actions { justify-content: center; }

@media (max-width: 767px) {
  .home-paths__call { padding: 0; border-radius: 0; }
}

/* The story now hands straight to the warm assessment section. */
.homepage-refresh .home-story-handoff__surface { fill: var(--home-warm); }

/* -------------------------------------------------------------------------
   Examples of our work (#our-work) — 2026-09-28. Cover-flow carousel: one
   card in front, its neighbours tucked behind on each side. Arrows, dots,
   swipe, keyboard, or click a side card to bring it forward.
   ------------------------------------------------------------------------- */
.home-work { background: var(--home-surface); overflow: hidden; }

.home-work__carousel { position: relative; outline: none; }

.home-work__stage {
  position: relative;
  display: grid;
  width: min(100%, 620px);
  margin: 0 auto;
  touch-action: pan-y;
  user-select: none;
}

.home-work__slide {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 24px;
  background: var(--home-surface);
  box-shadow: 0 30px 70px -28px rgba(26, 26, 46, .35);
  transition: transform 520ms var(--home-ease-out), opacity 420ms var(--home-ease-out), filter 420ms var(--home-ease-out);
  will-change: transform;
}

.home-work__slide.is-center { z-index: 3; transform: none; opacity: 1; }
.home-work__slide.is-left { z-index: 2; transform: translateX(-58%) scale(.8); opacity: .55; filter: saturate(.7); cursor: pointer; }
.home-work__slide.is-right { z-index: 2; transform: translateX(58%) scale(.8); opacity: .55; filter: saturate(.7); cursor: pointer; }
.home-work__slide.is-hidden { z-index: 1; transform: scale(.7); opacity: 0; pointer-events: none; }
.home-work__slide.is-left:hover,
.home-work__slide.is-right:hover { opacity: .75; }

.home-work__media { position: relative; aspect-ratio: 16 / 10; background: #f8fafc; }
.home-work__media--frame { border-bottom: 1px solid var(--home-line); }
.home-work__bar { position: absolute; z-index: 1; top: 0; right: 0; left: 0; display: flex; gap: 5px; padding: 9px 12px; background: rgba(255, 253, 249, .92); border-bottom: 1px solid var(--home-line); }
.home-work__bar i { width: 8px; height: 8px; border-radius: 50%; background: var(--home-line); }
.home-work__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; pointer-events: none; }
.home-work__media--frame img { padding-top: 26px; }

.home-work__body { display: grid; justify-items: start; gap: 8px; padding: 22px 26px 26px; }
.home-work__tag { padding: 4px 12px; border-radius: 999px; background: var(--home-orange-tint); color: var(--home-orange-dark); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.home-work__body h3 { margin: 0; color: var(--home-ink); font-size: 1.4rem; font-weight: 800; letter-spacing: -.02em; }
.home-work__body p { margin: 0; color: var(--home-muted); line-height: 1.6; }
.home-work__link { margin-top: 6px; color: var(--home-ink); font-weight: 800; }
.home-work__link span { color: var(--home-orange-dark); }

.home-work__arrow {
  position: absolute;
  z-index: 5;
  top: 38%;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid var(--home-line);
  border-radius: 50%;
  background: var(--home-surface);
  color: var(--home-ink);
  box-shadow: 0 10px 24px rgba(26, 26, 46, .12);
  cursor: pointer;
  transition: transform 200ms var(--home-ease-out), background 200ms;
}
.home-work__arrow:hover { background: var(--home-orange); transform: scale(1.06); }
.home-work__arrow:focus-visible { outline: 3px solid rgba(247, 148, 29, .55); outline-offset: 3px; }
.home-work__arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.home-work__arrow--prev { left: max(0px, calc(50% - 470px)); }
.home-work__arrow--next { right: max(0px, calc(50% - 470px)); }

.home-work__dots { display: flex; justify-content: center; gap: 8px; margin-top: 26px; }
.home-work__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: var(--home-line); cursor: pointer; transition: width 260ms var(--home-ease-out), background 260ms; }
.home-work__dot[aria-current="true"] { width: 28px; background: var(--home-orange); }
.home-work__dot:focus-visible { outline: 3px solid rgba(247, 148, 29, .55); outline-offset: 3px; }

@media (max-width: 767px) {
  .home-work__stage { width: 84%; }
  .home-work__slide.is-left { transform: translateX(-72%) scale(.82); }
  .home-work__slide.is-right { transform: translateX(72%) scale(.82); }
  .home-work__arrow { top: auto; bottom: -6px; width: 44px; height: 44px; }
  .home-work__arrow--prev { left: 8px; }
  .home-work__arrow--next { right: 8px; }
  .home-work__body { padding: 18px 18px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-work__slide, .home-work__dot, .home-work__arrow { transition: none; }
}

.home-work__carousel.is-single .home-work__arrow,
.home-work__carousel.is-single .home-work__dots { display: none; }
.home-work__body h3 { font-size: 1.6rem; }
.home-work__body .home-work__sub { margin-top: -4px; color: var(--home-orange-dark); font-size: 1.05rem; font-weight: 750; }

/* Hero trust badge: Google rating above the headline (2026-09-29). */
.home-hero-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  padding: 7px 14px 7px 10px;
  border: 1px solid rgba(26, 26, 46, .10);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 6px 18px rgba(26, 26, 46, .06);
  color: var(--home-ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-hero-rating:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(26, 26, 46, .10); }
.home-hero-rating:focus-visible { outline: 3px solid rgba(247, 148, 29, .45); outline-offset: 3px; }
.home-hero-rating__g { width: 16px; height: 16px; flex: none; }
.home-hero-rating .home-stars { --star-size: 14px; }
@media (max-width: 480px) {
  .home-hero-rating { margin-top: 10px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-rating { transition: none; }
}

/* Guides section after "Examples of our work" (2026-09-30). */
.home-guides { background: var(--home-surface); }
.home-guides__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 400px)); justify-content: center; gap: 20px; margin-top: 36px; }
.home-guide-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 28px 26px 26px;
  border: 1px solid rgba(26, 26, 46, .1);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(26, 26, 46, .06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.home-guide-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(26, 26, 46, .1); border-color: rgba(247, 148, 29, .5); }
.home-guide-card__label { margin: 0 0 10px; color: var(--home-orange); font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.home-guide-card h3 { margin: 0 0 10px; color: var(--home-ink); font-size: clamp(1.2rem, 2vw, 1.4rem); line-height: 1.25; font-weight: 800; }
.home-guide-card__link { color: inherit; text-decoration: none; }
.home-guide-card__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.home-guide-card__link:focus-visible { outline: none; }
.home-guide-card:focus-within { outline: 3px solid rgba(247, 148, 29, .45); outline-offset: 3px; }
.home-guide-card p:not(.home-guide-card__label) { flex: 1; margin: 0 0 18px; color: var(--home-muted, #5b6170); line-height: 1.6; }
.home-guide-card__cta { color: var(--home-ink); font-weight: 700; }
.home-guide-card__cta span { color: var(--home-orange); }
.home-guides__all { margin: 24px 0 0; text-align: center; }
.home-guides__all a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--home-ink); font-weight: 700; text-decoration: none; }
.home-guides__all a:hover { color: var(--home-orange); }
.home-guides__all a span { color: var(--home-orange); }
@media (prefers-reduced-motion: reduce) { .home-guide-card { transition: none; } .home-guide-card:hover { transform: none; } }
/* Phone guides (2026-09-30): the section collapses to its heading and one button to the
   Guides page. The cards stay in the HTML for search engines and desktop. */
@media (max-width: 767px) {
  .home-guides .home-section__intro > p:not(.home-paths__subtitle),
  .home-guides__grid { display: none; }
  .home-guides__all { margin-top: 20px; }
  .home-guides__all a {
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border: 2px solid var(--home-ink);
    border-radius: 999px;
    background: #fff;
  }
}
