:root {
  --refresh-navy: #061521;
  --refresh-navy-soft: #0a202d;
  --refresh-ink: #081d2d;
  --refresh-blue: #3aa9dc;
  --refresh-lime: #91bd37;
  --refresh-paper: #eef3f4;
  --refresh-line-dark: rgba(255, 255, 255, .13);
  --refresh-line-light: rgba(8, 29, 45, .13);
}

.legacy-products {
  position: relative;
  overflow: hidden;
  padding: clamp(100px, 9vw, 150px) 0;
  color: #fff;
  background: var(--refresh-navy);
  isolation: isolate;
}

.legacy-products::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  opacity: .55;
  background-image:
    linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .7) 70%, transparent 100%);
}

.legacy-products__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 38px;
  margin-bottom: clamp(48px, 6vw, 82px);
}

.legacy-products .section-label {
  color: #6ac3e7;
}

.legacy-products__heading h2 {
  max-width: 860px;
  margin: 18px 0 0;
  color: #fff;
  font-size: clamp(3.35rem, 5.3vw, 5.25rem);
  font-weight: 790;
  line-height: .92;
  letter-spacing: -.065em;
}

.legacy-products__heading h2 span {
  color: #66c5e9;
}

.legacy-products__heading > a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  color: rgba(232, 241, 245, .76);
  border-bottom: 1px solid rgba(255, 255, 255, .25);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  transition: color 220ms ease, border-color 220ms ease;
}

.legacy-products__heading > a span {
  color: var(--refresh-lime);
  font-size: 1rem;
}

.legacy-products__heading > a:hover {
  color: #fff;
  border-color: var(--refresh-lime);
}

.legacy-products__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 30px);
  width: min(100%, 1240px);
  margin-inline: auto;
}

.legacy-product-card {
  overflow: hidden;
  color: #fff;
  background: #091a25;
  border: 1px solid var(--refresh-line-dark);
  border-radius: 10px;
  transition: border-color 240ms ease, background 240ms ease, transform 300ms cubic-bezier(.22, 1, .36, 1), box-shadow 300ms ease;
}

.legacy-product-card:hover {
  color: #fff;
  background: #0a1e2a;
  border-color: rgba(80, 182, 224, .46);
}

.legacy-product-card figure {
  position: relative;
  overflow: hidden;
  height: clamp(230px, 23vw, 340px);
  margin: 0;
  background: #0b2432;
}

.legacy-product-card figure::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 64%, rgba(4, 15, 23, .42));
  pointer-events: none;
}

.legacy-product-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.02);
  transition: transform 500ms cubic-bezier(.22, 1, .36, 1), filter 300ms ease;
}

.legacy-product-card:hover img {
  filter: saturate(1) contrast(1.03);
  transform: scale(1.025);
}

.legacy-product-card figure > span {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 18px;
  min-width: 36px;
  padding: 7px 9px;
  color: #dcecf3;
  background: rgba(5, 20, 30, .75);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 4px;
  font-size: .64rem;
  font-weight: 800;
  text-align: center;
  backdrop-filter: blur(10px);
}

.legacy-product-card > div {
  display: flex;
  min-height: 188px;
  padding: clamp(24px, 2.6vw, 34px);
  flex-direction: column;
}

.legacy-product-card small {
  color: #68c3e6;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.legacy-product-card h3 {
  margin: 13px 0 12px;
  color: #fff;
  font-size: clamp(1.75rem, 2.55vw, 2.55rem);
  font-weight: 760;
  line-height: 1;
  letter-spacing: -.05em;
}

.legacy-product-card p {
  max-width: 560px;
  margin: 0;
  color: rgba(220, 234, 241, .62);
  font-size: .9rem;
  line-height: 1.65;
}

.legacy-product-card strong {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 22px;
  color: rgba(240, 247, 250, .88);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.legacy-product-card strong i {
  color: var(--refresh-lime);
  font-size: 1rem;
  font-style: normal;
  transition: transform 220ms ease;
}

.legacy-product-card:hover strong i {
  transform: translateX(4px);
}

.tailored-systems {
  position: relative;
  overflow: hidden;
  padding: clamp(100px, 9vw, 152px) 0;
  background: var(--refresh-paper);
}

.tailored-systems::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: var(--refresh-line-light);
}

.tailored-systems__layout {
  display: grid;
  grid-template-columns: minmax(300px, .76fr) minmax(500px, 1.24fr);
  align-items: center;
  gap: clamp(70px, 10vw, 160px);
}

.tailored-systems__intro {
  max-width: 520px;
}

.tailored-systems__intro h2 {
  margin: 20px 0 38px;
  color: var(--refresh-ink);
  font-size: clamp(3.25rem, 5.1vw, 5.1rem);
  font-weight: 790;
  line-height: .9;
  letter-spacing: -.07em;
}

.tailored-systems__intro h2 span {
  color: #1a88bf;
}

.tailored-systems__intro .button {
  box-shadow: 0 14px 30px rgba(7, 29, 45, .12);
}

.tailored-systems__steps {
  position: relative;
  display: grid;
  gap: 18px;
  padding-block: 8px;
}

.tailored-systems__steps::before,
.tailored-systems__steps::after {
  position: absolute;
  top: 52px;
  bottom: 52px;
  left: 16px;
  width: 1px;
  content: "";
  pointer-events: none;
}

.tailored-systems__steps::before {
  background: rgba(8, 29, 45, .12);
}

.tailored-systems__steps::after {
  background: linear-gradient(180deg, var(--refresh-blue), var(--refresh-lime));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 900ms cubic-bezier(.22, 1, .36, 1) 180ms;
}

.tailored-systems__steps.is-refresh-visible::after {
  transform: scaleY(1);
}

.tailored-step {
  position: relative;
  width: 88%;
  min-height: 196px;
  padding: 27px 92px 27px 32px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(8, 29, 45, .15);
  border-radius: 10px;
  box-shadow: 0 20px 48px rgba(8, 30, 46, .06);
}

.tailored-step:nth-child(2) {
  margin-left: 6%;
}

.tailored-step:nth-child(3) {
  margin-left: 12%;
}

.tailored-step > span {
  color: #188fc8;
  font-size: .65rem;
  font-weight: 820;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.tailored-step h3 {
  max-width: 430px;
  margin: 42px 0 9px;
  color: var(--refresh-ink);
  font-size: clamp(1.65rem, 2.35vw, 2.35rem);
  font-weight: 760;
  line-height: 1;
  letter-spacing: -.05em;
}

.tailored-step p {
  max-width: 470px;
  margin: 0;
  color: #697d89;
  font-size: .8rem;
  line-height: 1.65;
}

.tailored-step > i {
  position: absolute;
  top: 27px;
  right: 28px;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(16, 73, 105, .17);
  border-radius: 50%;
}

.tailored-step:first-child > i::before,
.tailored-step:first-child > i::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background: rgba(24, 139, 196, .38);
  transform: translate(-50%, -50%);
}

.tailored-step:first-child > i::before {
  width: 24px;
  height: 1px;
}

.tailored-step:first-child > i::after {
  width: 1px;
  height: 24px;
}

.tailored-step:nth-child(2) > i {
  border-radius: 7px;
}

.tailored-step:nth-child(2) > i::before {
  position: absolute;
  top: 9px;
  left: 9px;
  width: 34px;
  height: 34px;
  content: "";
  border: 1px solid rgba(24, 139, 196, .23);
  border-radius: 4px;
}

.tailored-step:nth-child(3) > i {
  border-right-color: transparent;
}

.tailored-step:nth-child(3) > i::after {
  position: absolute;
  right: -2px;
  bottom: 9px;
  width: 8px;
  height: 8px;
  content: "";
  background: var(--refresh-lime);
  border-radius: 50%;
}

/* JavaScript-enabled, restrained entrance motion. Content stays visible if JS is unavailable. */
.refresh-motion-ready [data-refresh-reveal] {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 620ms cubic-bezier(.22, 1, .36, 1),
    transform 760ms cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--refresh-delay, 0ms);
  will-change: opacity, transform;
}

.refresh-motion-ready [data-refresh-reveal="heading"] {
  transform: translate3d(0, 18px, 0);
}

.refresh-motion-ready [data-refresh-reveal="step"] {
  transform: translate3d(26px, 0, 0);
}

.refresh-motion-ready [data-refresh-reveal].is-refresh-visible {
  opacity: 1;
  transform: none;
}

.legacy-product-card figure::before {
  position: absolute;
  z-index: 3;
  inset: 0;
  content: "";
  background: var(--refresh-navy-soft);
  transform: translateX(101%);
  pointer-events: none;
}

.refresh-motion-ready .legacy-product-card figure::before {
  transform: translateX(0);
  transition: transform 780ms cubic-bezier(.77, 0, .18, 1) var(--refresh-image-delay, 120ms);
}

.refresh-motion-ready .legacy-product-card.is-refresh-visible figure::before {
  transform: translateX(101%);
}

.tailored-step::after {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 0;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, var(--refresh-blue), var(--refresh-lime));
  transition: width 620ms cubic-bezier(.22, 1, .36, 1) var(--refresh-accent-delay, 240ms);
}

.tailored-step.is-refresh-visible::after {
  width: clamp(70px, 18%, 128px);
}

@media (hover: hover) and (pointer: fine) {
  .legacy-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 58px rgba(0, 0, 0, .18);
  }

  .tailored-step {
    transition: border-color 240ms ease, box-shadow 240ms ease, background 240ms ease;
  }

  .tailored-step:hover {
    background: #fff;
    border-color: rgba(24, 139, 196, .3);
    box-shadow: 0 24px 54px rgba(8, 30, 46, .09);
  }
}

@media (max-width: 980px) {
  .legacy-products__heading,
  .tailored-systems__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .legacy-products__heading > a {
    justify-self: start;
  }

  .tailored-systems__layout {
    gap: 62px;
  }

  .tailored-systems__intro {
    max-width: 700px;
  }

  .tailored-systems__steps {
    max-width: 760px;
  }
}

@media (max-width: 720px) {
  .legacy-products,
  .tailored-systems {
    padding: 84px 0;
  }

  .legacy-products__heading h2,
  .tailored-systems__intro h2 {
    font-size: clamp(3rem, 14vw, 4.35rem);
  }

  .legacy-products__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .legacy-product-card > div {
    min-height: 184px;
    padding: 25px 22px 28px;
  }

  .legacy-product-card figure {
    height: clamp(220px, 62vw, 330px);
  }

  .tailored-step,
  .tailored-step:nth-child(2),
  .tailored-step:nth-child(3) {
    width: 100%;
    min-height: 205px;
    margin-left: 0;
    padding: 25px 76px 25px 23px;
  }

  .tailored-step h3 {
    margin-top: 44px;
  }

  .tailored-step > i {
    top: 21px;
    right: 20px;
    width: 46px;
    height: 46px;
  }

  .tailored-systems__steps::before,
  .tailored-systems__steps::after {
    display: none;
  }
}

/* Final process treatment: one compact system panel, deliberate motion and no
   disconnected floating boxes. */
.tailored-systems__layout {
  grid-template-columns: minmax(420px, .88fr) minmax(560px, 1.12fr);
  gap: clamp(60px, 7vw, 100px);
}

.tailored-systems__intro h2 {
  font-size: clamp(3.25rem, 4.35vw, 4.45rem);
}

.tailored-systems__steps {
  gap: 10px;
  padding: 11px;
  border: 1px solid rgba(8, 29, 45, .11);
  border-radius: 22px;
  background: rgba(255, 255, 255, .4);
  box-shadow: 0 24px 70px rgba(8, 30, 46, .07);
}

.tailored-step,
.tailored-step:nth-child(2),
.tailored-step:nth-child(3) {
  min-height: 146px;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 50px;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 20px;
  padding: 27px 24px;
  border-color: rgba(8, 29, 45, .09);
  border-radius: 13px;
  background: rgba(255, 255, 255, .82);
  box-shadow: none;
}

.tailored-step > span {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  padding-top: 5px;
  line-height: 1.45;
}

.tailored-step h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0 0 6px;
  font-size: clamp(1.55rem, 1.9vw, 2rem);
}

.tailored-step p {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  font-size: .75rem;
}

.tailored-step > i {
  position: relative;
  top: auto;
  right: auto;
  grid-column: 3;
  grid-row: 1 / 3;
  justify-self: end;
  align-self: center;
  width: 44px;
  height: 44px;
  opacity: .7;
  transition: opacity 420ms ease, transform 560ms cubic-bezier(.16, 1, .3, 1), border-color 300ms ease;
}

.refresh-motion-ready [data-refresh-reveal="step"] {
  transform: translate3d(0, 16px, 0) scale(.992);
}

.refresh-motion-ready .tailored-step > i {
  opacity: 0;
  transform: scale(.76);
}

.refresh-motion-ready .tailored-step.is-refresh-visible > i {
  opacity: .7;
  transform: scale(1);
}

.tailored-step::after {
  top: 18px;
  bottom: 18px;
  left: -1px;
  width: 3px;
  height: auto;
  border-radius: 0 4px 4px 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 620ms cubic-bezier(.22, 1, .36, 1) var(--refresh-accent-delay, 240ms);
}

.tailored-step.is-refresh-visible::after {
  width: 3px;
  transform: scaleY(1);
}

@media (hover: hover) and (pointer: fine) {
  .refresh-motion-ready .tailored-step.is-refresh-visible:hover,
  .tailored-step:hover {
    border-color: rgba(24, 139, 196, .2);
    background: #fff;
    box-shadow: 0 14px 32px rgba(8, 30, 46, .065);
    transform: translateY(-2px);
  }

  .tailored-step:hover > i {
    opacity: 1;
    border-color: rgba(24, 139, 196, .33);
    transform: scale(1.06);
  }
}

/* Correct the transparent image's real visual centre. The previous 70.5%
   offset pulled the device outside its column. */
.mobile-device-stage > img,
.mobile-frame .mobile-device-stage > img {
  width: clamp(1000px, 74vw, 1120px);
  transform: translate(-54%, -50%);
  transform-origin: 54% 50%;
  animation-name: mobileDeviceFloatCentered;
}

.mobile-data-card--status {
  top: 17%;
  right: 0;
  left: auto;
}

.mobile-data-card--flow {
  right: auto;
  bottom: 18%;
  left: 1%;
}

.mobile-product-scene .platform-badge {
  right: 1%;
  bottom: 4%;
}

@keyframes mobileDeviceFloatCentered {
  0%, 100% { transform: translate(-54%, -50%) translateY(0); }
  50% { transform: translate(-54%, -50%) translateY(-6px); }
}

/* The reference enhancement remains purely visual; no added marketing labels. */
.reference-proof,
.reference-toolbar {
  display: none;
}

.reference-heading {
  align-items: end;
  margin-bottom: 44px;
}

.logo-showcase {
  padding: 16px;
}

@media (max-width: 1080px) {
  .tailored-systems__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 52px;
  }

  .tailored-systems__steps {
    max-width: 820px;
  }

  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img {
    width: 1050px;
  }

  .mobile-data-card--status { right: 9%; }
  .mobile-data-card--flow { left: 9%; }
}

@media (max-width: 720px) {
  .tailored-systems__steps {
    gap: 8px;
    padding: 8px;
    border-radius: 17px;
  }

  .tailored-step,
  .tailored-step:nth-child(2),
  .tailored-step:nth-child(3) {
    min-height: 168px;
    grid-template-columns: minmax(0, 1fr) 42px;
    grid-template-rows: auto auto auto;
    column-gap: 14px;
    padding: 22px 18px;
  }

  .tailored-step > span {
    grid-column: 1;
    grid-row: 1;
    padding-top: 0;
  }

  .tailored-step h3 {
    grid-column: 1;
    grid-row: 2;
    margin: 25px 0 7px;
  }

  .tailored-step p {
    grid-column: 1;
    grid-row: 3;
  }

  .tailored-step > i {
    grid-column: 2;
    grid-row: 1 / 4;
    width: 40px;
    height: 40px;
  }

  .mobile-device-stage {
    min-height: 470px;
  }

  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img {
    width: 780px;
  }

  .mobile-data-card {
    min-width: 136px;
    padding: 11px 12px;
  }

  .mobile-data-card--status { top: 15%; right: 0; }
  .mobile-data-card--flow { bottom: 18%; left: 0; }

  .mobile-product-scene .platform-badge {
    position: relative;
    right: auto;
    bottom: auto;
    margin: -22px auto 0;
  }
}

@media (max-width: 440px) {
  .mobile-device-stage {
    min-height: 430px;
  }

  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img {
    width: 700px;
  }

  .mobile-data-card--status { top: 17%; }
  .mobile-data-card--flow { bottom: 16%; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img {
    animation: none;
    transform: translate(-54%, -50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .legacy-product-card,
  .legacy-product-card img,
  .legacy-product-card strong i {
    transition: none;
  }

  .refresh-motion-ready [data-refresh-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .legacy-product-card figure::before,
  .tailored-step::after,
  .tailored-systems__steps::after {
    display: none;
  }
}

/* Mobile product chapter: a larger device with the same restrained data-card
   language used by the opening laptop composition. */
.mobile-product-scene {
  --mobile-shift-x: 0px;
  --mobile-shift-y: 0px;
  min-height: clamp(590px, 46vw, 690px);
  isolation: isolate;
}

.mobile-product-scene .product-halo {
  width: clamp(500px, 38vw, 640px);
  height: clamp(500px, 38vw, 640px);
  border-color: rgba(53, 183, 243, .14);
  background: radial-gradient(circle, rgba(26, 151, 219, .07), transparent 61%);
  transform: translate3d(var(--mobile-shift-x), var(--mobile-shift-y), 0);
  transition: transform 700ms cubic-bezier(.16, 1, .3, 1);
}

.mobile-frame {
  width: 100%;
  overflow: visible;
}

.mobile-device-stage {
  position: relative;
  min-height: clamp(520px, 42vw, 630px);
  overflow: visible;
  transform: translate3d(var(--mobile-shift-x), var(--mobile-shift-y), 0);
  transition: transform 700ms cubic-bezier(.16, 1, .3, 1);
}

.mobile-device-stage > img,
.mobile-frame .mobile-device-stage > img {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: clamp(970px, 72vw, 1160px);
  max-width: none;
  max-height: none;
  height: auto;
  margin: 0;
  border-radius: 0;
  filter: drop-shadow(0 38px 42px rgba(0, 0, 0, .34));
  transform: translate(-70.5%, -50%);
  transform-origin: 70% 50%;
  animation: mobileDeviceSettle 6.5s ease-in-out infinite;
}

.mobile-device-grid {
  position: absolute;
  z-index: 0;
  inset: 7% 2% 6%;
  border-radius: 50%;
  background-image: linear-gradient(rgba(83, 176, 216, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(83, 176, 216, .06) 1px, transparent 1px);
  background-size: 38px 38px;
  -webkit-mask-image: radial-gradient(circle, #000 10%, transparent 72%);
  mask-image: radial-gradient(circle, #000 10%, transparent 72%);
}

.mobile-data-card {
  position: absolute;
  z-index: 5;
  min-width: 172px;
  padding: 15px 17px;
  border: 1px solid rgba(128, 202, 231, .24);
  border-radius: 12px;
  color: #f6fbfe;
  background: rgba(10, 37, 51, .88);
  box-shadow: 0 20px 46px rgba(0, 0, 0, .24);
  backdrop-filter: blur(14px);
  animation: mobileCardFloat 5.4s ease-in-out infinite;
}

.mobile-data-card small {
  display: block;
  margin-bottom: 6px;
  color: #7890a0;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.mobile-data-card strong {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.mobile-data-card strong i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #a5d938;
  box-shadow: 0 0 0 5px rgba(165, 217, 56, .08), 0 0 16px rgba(165, 217, 56, .5);
}

.mobile-data-card--status {
  top: 17%;
  left: 3%;
}

.mobile-data-card--flow {
  right: -1%;
  bottom: 18%;
  animation-delay: -2.2s;
}

.mobile-product-scene .platform-badge {
  right: 4%;
  bottom: 5%;
  min-width: 194px;
  transition: transform 320ms cubic-bezier(.16, 1, .3, 1), border-color 320ms ease, background 320ms ease;
}

.mobile-product-scene .platform-badge:hover {
  border-color: rgba(121, 202, 234, .42);
  background: #0d3340;
  transform: translateY(-4px);
}

@keyframes mobileDeviceSettle {
  0%, 100% { transform: translate(-70.5%, -50%) translateY(0); }
  50% { transform: translate(-70.5%, -50%) translateY(-7px); }
}

@keyframes mobileCardFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* Reference chapter: a structured proof surface rather than a bare logo rail. */
.references {
  position: relative;
  isolation: isolate;
  background: linear-gradient(145deg, #eef3f1 0%, #e8efed 100%);
}

.references::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background-image: linear-gradient(rgba(10, 31, 54, .027) 1px, transparent 1px), linear-gradient(90deg, rgba(10, 31, 54, .027) 1px, transparent 1px);
  background-size: 52px 52px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.reference-heading {
  align-items: center;
  margin-bottom: 38px;
}

.reference-heading__intro {
  display: grid;
  align-content: space-between;
  align-self: stretch;
  min-width: 220px;
}

.reference-proof {
  display: flex;
  align-items: end;
  gap: 12px;
}

.reference-proof strong {
  color: #0a1f36;
  font-size: clamp(2.8rem, 4vw, 4.4rem);
  line-height: .8;
  letter-spacing: -.07em;
}

.reference-proof span {
  padding-left: 12px;
  border-left: 1px solid rgba(10, 31, 54, .18);
  color: #627783;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.35;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.logo-showcase {
  position: relative;
  gap: 0;
  padding: 17px;
  border: 1px solid rgba(10, 31, 54, .11);
  border-radius: 24px;
  background: rgba(248, 251, 250, .74);
  box-shadow: 0 24px 70px rgba(12, 39, 54, .08);
  mask-image: none;
}

.reference-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 7px 15px;
  color: #6f838d;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.reference-toolbar b {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #45606e;
}

.reference-toolbar i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8fc22e;
  box-shadow: 0 0 0 4px rgba(143, 194, 46, .1);
}

.logo-marquee {
  overflow: hidden;
  border-radius: 14px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.logo-grid {
  counter-reset: reference-card;
}

.logo-grid .logo-card {
  position: relative;
  width: 236px;
  height: 122px;
  overflow: hidden;
  counter-increment: reference-card;
  border-color: rgba(10, 31, 54, .09);
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);
  transition: transform 360ms cubic-bezier(.16, 1, .3, 1), border-color 300ms ease, box-shadow 360ms ease, background 300ms ease;
}

.logo-grid .logo-card::before {
  position: absolute;
  top: 11px;
  left: 13px;
  content: counter(reference-card, decimal-leading-zero);
  color: #8da0a8;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .12em;
}

.logo-grid .logo-card::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, #168fe1, #94c832);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 360ms cubic-bezier(.16, 1, .3, 1);
}

.logo-grid .logo-card img {
  filter: grayscale(1) saturate(.5);
  opacity: .68;
  transition: filter 320ms ease, opacity 320ms ease, transform 420ms cubic-bezier(.16, 1, .3, 1);
}

.logo-grid .logo-card:hover {
  border-color: rgba(22, 143, 225, .22);
  background: #fff;
  box-shadow: 0 18px 42px rgba(10, 31, 54, .11);
  transform: translateY(-5px);
}

.logo-grid .logo-card:hover::after {
  transform: scaleX(1);
}

.logo-grid .logo-card:hover img {
  filter: grayscale(0) saturate(1);
  opacity: 1;
  transform: scale(1.045);
}

.reference-foot {
  justify-content: flex-end;
  margin-top: 26px;
  padding-top: 22px;
}

.reference-foot a {
  padding: 13px 17px;
  border: 1px solid rgba(10, 31, 54, .13);
  border-radius: 999px;
  background: rgba(255, 255, 255, .44);
  transition: color 260ms ease, background 260ms ease, border-color 260ms ease, transform 260ms ease;
}

.reference-foot a:hover {
  color: #fff;
  border-color: #0a2132;
  background: #0a2132;
  transform: translateY(-2px);
}

@media (max-width: 1000px) {
  .mobile-device-stage {
    min-height: 590px;
  }

  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img {
    width: 1110px;
  }

  .mobile-data-card--status { left: 8%; }
  .mobile-data-card--flow { right: 8%; }
}

@media (max-width: 720px) {
  .mobile-product-scene {
    min-height: 510px;
  }

  .mobile-device-stage {
    min-height: 460px;
  }

  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img {
    width: 820px;
  }

  .mobile-data-card {
    min-width: 142px;
    padding: 12px 13px;
  }

  .mobile-data-card--status { top: 15%; left: 0; }
  .mobile-data-card--flow { right: 0; bottom: 17%; }
  .mobile-product-scene .platform-badge { right: 2%; bottom: 1%; }

  .reference-heading__intro {
    min-width: 0;
  }

  .reference-proof {
    margin-top: 24px;
  }

  .logo-showcase {
    padding: 12px;
    border-radius: 18px;
  }

  .logo-grid .logo-card {
    width: 196px;
    height: 106px;
  }
}

@media (max-width: 440px) {
  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img {
    width: 730px;
  }

  .mobile-data-card--status { top: 19%; }
  .mobile-data-card--flow { bottom: 19%; }
  .mobile-product-scene .platform-badge { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img,
  .mobile-data-card {
    animation: none;
  }

  .mobile-product-scene,
  .mobile-product-scene .product-halo,
  .mobile-device-stage {
    --mobile-shift-x: 0px;
    --mobile-shift-y: 0px;
    transform: none;
  }
}

/* Balanced working-model composition. Cards share one axis and the oversized
   timeline is removed so the section reads as a single corporate system. */
.tailored-systems {
  padding: clamp(96px, 7vw, 124px) 0;
}

.tailored-systems__layout {
  grid-template-columns: minmax(430px, .88fr) minmax(540px, 1.12fr);
  align-items: center;
  gap: clamp(64px, 7vw, 104px);
}

.tailored-systems__intro {
  max-width: 550px;
}

.tailored-systems__intro h2 {
  max-width: 540px;
  margin: 20px 0 34px;
  font-size: clamp(3.35rem, 4.55vw, 4.65rem);
  line-height: .92;
}

.tailored-systems__steps {
  gap: 14px;
  padding: 0;
}

.tailored-systems__steps::before,
.tailored-systems__steps::after {
  display: none;
}

.tailored-step,
.tailored-step:nth-child(2),
.tailored-step:nth-child(3) {
  width: 100%;
  min-height: 170px;
  margin-left: 0;
  padding: 28px 88px 27px 30px;
  border-color: rgba(8, 29, 45, .12);
  border-radius: 15px;
  background: rgba(255, 255, 255, .74);
  box-shadow: 0 15px 38px rgba(8, 30, 46, .055);
}

.tailored-step h3 {
  margin: 31px 0 8px;
  font-size: clamp(1.7rem, 2vw, 2.15rem);
}

.tailored-step p {
  font-size: .76rem;
  line-height: 1.55;
}

.tailored-step > i {
  top: 23px;
  right: 25px;
  width: 46px;
  height: 46px;
}

.tailored-step:nth-child(2) > i::before {
  top: 8px;
  left: 8px;
  width: 30px;
  height: 30px;
}

.refresh-motion-ready [data-refresh-reveal="step"] {
  transform: translate3d(0, 18px, 0);
}

.tailored-step::after {
  border-radius: 15px 0 0;
}

.tailored-step.is-refresh-visible::after {
  width: 92px;
}

@media (hover: hover) and (pointer: fine) {
  .tailored-step:hover {
    border-color: rgba(24, 139, 196, .23);
    box-shadow: 0 20px 46px rgba(8, 30, 46, .08);
    transform: translateY(-2px);
  }
}

@media (max-width: 1080px) {
  .tailored-systems__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 54px;
  }

  .tailored-systems__intro {
    max-width: 680px;
  }

  .tailored-systems__intro h2 {
    max-width: 680px;
  }

  .tailored-systems__steps {
    width: 100%;
    max-width: 780px;
  }
}

@media (max-width: 720px) {
  .tailored-systems {
    padding: 82px 0;
  }

  .tailored-systems__layout {
    gap: 44px;
  }

  .tailored-systems__intro h2 {
    font-size: clamp(2.85rem, 13vw, 4rem);
  }

  .tailored-step,
  .tailored-step:nth-child(2),
  .tailored-step:nth-child(3) {
    min-height: 180px;
    padding: 24px 70px 24px 22px;
  }

  .tailored-step h3 {
    margin-top: 35px;
    font-size: clamp(1.6rem, 8vw, 2rem);
  }

  .tailored-step > i {
    top: 20px;
    right: 18px;
    width: 42px;
    height: 42px;
  }
}

/* Definitive cascade for the three corrected sections. */
.tailored-systems__layout {
  grid-template-columns: minmax(420px, .88fr) minmax(560px, 1.12fr);
  gap: clamp(60px, 7vw, 100px);
}

.tailored-systems__intro h2 {
  font-size: clamp(3.25rem, 4.35vw, 4.45rem);
}

.tailored-systems__steps {
  gap: 10px;
  padding: 11px;
  border: 1px solid rgba(8, 29, 45, .11);
  border-radius: 22px;
  background: rgba(255, 255, 255, .4);
  box-shadow: 0 24px 70px rgba(8, 30, 46, .07);
}

.tailored-step,
.tailored-step:nth-child(2),
.tailored-step:nth-child(3) {
  min-height: 146px;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 50px;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 20px;
  padding: 27px 24px;
  border-color: rgba(8, 29, 45, .09);
  border-radius: 13px;
  background: rgba(255, 255, 255, .82);
  box-shadow: none;
}

.tailored-step > span {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  padding-top: 5px;
}

.tailored-step h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0 0 6px;
  font-size: clamp(1.55rem, 1.9vw, 2rem);
}

.tailored-step p {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  font-size: .75rem;
}

.tailored-step > i {
  position: relative;
  top: auto;
  right: auto;
  grid-column: 3;
  grid-row: 1 / 3;
  justify-self: end;
  align-self: center;
  width: 44px;
  height: 44px;
  opacity: .7;
}

.refresh-motion-ready [data-refresh-reveal="step"] {
  transform: translate3d(0, 16px, 0) scale(.992);
}

.refresh-motion-ready .tailored-step.is-refresh-visible > i {
  opacity: .7;
  transform: scale(1);
}

.tailored-step::after {
  top: 18px;
  bottom: 18px;
  left: -1px;
  width: 3px;
  height: auto;
  border-radius: 0 4px 4px 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 620ms cubic-bezier(.22, 1, .36, 1) var(--refresh-accent-delay, 240ms);
}

.tailored-step.is-refresh-visible::after {
  width: 3px;
  transform: scaleY(1);
}

.mobile-device-stage > img,
.mobile-frame .mobile-device-stage > img {
  width: clamp(1000px, 74vw, 1120px);
  transform: translate(-54%, -50%);
  transform-origin: 54% 50%;
  animation-name: mobileDeviceFloatCentered;
}

.mobile-data-card--status { top: 17%; right: 0; left: auto; }
.mobile-data-card--flow { right: auto; bottom: 18%; left: 1%; }
.mobile-product-scene .platform-badge { right: 1%; bottom: 4%; }

.reference-proof,
.reference-toolbar { display: none; }
.reference-heading { align-items: end; margin-bottom: 44px; }
.logo-showcase { padding: 16px; }

@media (hover: hover) and (pointer: fine) {
  .refresh-motion-ready .tailored-step.is-refresh-visible:hover,
  .tailored-step:hover {
    border-color: rgba(24, 139, 196, .2);
    background: #fff;
    box-shadow: 0 14px 32px rgba(8, 30, 46, .065);
    transform: translateY(-2px);
  }

  .tailored-step:hover > i {
    opacity: 1;
    border-color: rgba(24, 139, 196, .33);
    transform: scale(1.06);
  }
}

@media (max-width: 1080px) {
  .tailored-systems__layout { grid-template-columns: minmax(0, 1fr); gap: 52px; }
  .tailored-systems__steps { max-width: 820px; }
  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img { width: 1050px; }
  .mobile-data-card--status { right: 9%; }
  .mobile-data-card--flow { left: 9%; }
}

@media (max-width: 720px) {
  .tailored-systems__steps { gap: 8px; padding: 8px; border-radius: 17px; }
  .tailored-step,
  .tailored-step:nth-child(2),
  .tailored-step:nth-child(3) {
    min-height: 168px;
    grid-template-columns: minmax(0, 1fr) 42px;
    grid-template-rows: auto auto auto;
    column-gap: 14px;
    padding: 22px 18px;
  }
  .tailored-step > span { grid-column: 1; grid-row: 1; padding-top: 0; }
  .tailored-step h3 { grid-column: 1; grid-row: 2; margin: 25px 0 7px; }
  .tailored-step p { grid-column: 1; grid-row: 3; }
  .tailored-step > i { grid-column: 2; grid-row: 1 / 4; width: 40px; height: 40px; }
  .mobile-device-stage { min-height: 470px; }
  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img { width: 780px; }
  .mobile-data-card { min-width: 136px; padding: 11px 12px; }
  .mobile-data-card--status { top: 15%; right: 0; }
  .mobile-data-card--flow { bottom: 18%; left: 0; }
  .mobile-product-scene .platform-badge { position: relative; right: auto; bottom: auto; margin: -22px auto 0; }
}

@media (max-width: 440px) {
  .mobile-device-stage { min-height: 430px; }
  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img { width: 700px; }
  .mobile-data-card--status { top: 17%; }
  .mobile-data-card--flow { bottom: 16%; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-device-stage > img,
  .mobile-frame .mobile-device-stage > img {
    animation: none;
    transform: translate(-54%, -50%);
  }
}
