/* Clearer hero copy and a centered ecosystem signature. */
.software-page .software-hero h1 { font-size: clamp(3.5rem, 6.8vw, 7rem); line-height: 1.01; }
.software-page .software-hero .software-hero-copy > p {
  color: #f3f7ff;
  font-size: clamp(1.05rem, 1.35vw, 1.17rem);
  line-height: 1.7;
  padding: 1.1rem 1.25rem;
  margin: 0 0 1.5rem;
  border-left: 2px solid #90d9ff;
  border-radius: 0 14px 14px 0;
  background: linear-gradient(100deg, #071423f5, #071423e6);
}
.software-page .software-ecosystem {
  display: flex; flex-direction: column; justify-content: center;
  gap: .85rem; text-align: center; width: 100%; max-width: none;
  padding: 1.5rem 1rem;
  background: linear-gradient(145deg, #152e49e8, #0c192ee8 65%, #202542bb);
}
.software-page .software-ecosystem-title {
  margin: 0; font: 600 clamp(1.2rem, 1.8vw, 1.5rem)/1.2 var(--display);
  letter-spacing: -.025em; color: #f1f8ff;
}
.software-page .software-ecosystem-number { flex: 0 0 78px; width: 78px; height: 78px; }
.software-page .software-ecosystem-number svg { transform-origin: center; }
.software-page .software-hero-copy .software-ecosystem-tagline {
  color: #b9dcf6; margin: 0; padding: 0; font-size: clamp(.9rem, 1.3vw, 1.15rem);
  line-height: 1.3; letter-spacing: .015em; white-space: nowrap;
}

/* Bespoke software CTA: a luminous frame with an architectural orbital motif. */
.software-page .software-closing {
  position: relative; display: block; padding: 1rem max(5%, calc((100% - 1420px)/2)) 6rem;
  background: #070e1c; color: #edf6ff;
}
.software-closing .software-closing-panel {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: clamp(2rem, 3vw, 3rem);
  align-items: center; padding: clamp(2rem, 4vw, 4rem);
  border: 1px solid #7caaff35; border-radius: 32px;
  background: radial-gradient(ellipse at 95% 25%, #317bc83d, transparent 55%),
    radial-gradient(ellipse at 0% 100%, #674adb2b, transparent 60%), linear-gradient(120deg, #121e36, #0b172b);
  box-shadow: inset 0 1px 0 #ffffff0d, 0 30px 90px #00000030;
}
.software-closing-panel::before {
  content: ''; position: absolute; height: 1px; top: 0; left: 8%; right: 8%;
  background: linear-gradient(90deg, transparent, #70b6ff, #c1eaff, transparent);
}
.software-closing .software-closing-art {
  position: absolute; z-index: -1; pointer-events: none;
  width: 440px; height: 440px; right: -160px; top: -190px;
  border: 1px solid #8dcfff24; border-radius: 50%;
  box-shadow: 0 0 0 45px #83bfff0a, 0 0 0 90px #83bfff07;
}
.software-closing-art::after {
  content: ''; position: absolute; inset: 45px; border: 1px dashed #8fcbff40; border-radius: 50%;
  animation: software-orbit 90s linear infinite;
}
.software-closing .software-closing-copy h2 {
  margin: 0; max-width: 720px; font: 550 clamp(2.2rem, 4.5vw, 4.8rem)/1.05 var(--display); letter-spacing: -.055em;
}
.software-closing-copy h2 em { font-style: normal; color: #a7d9ff; }
.software-page .software-closing .software-closing-copy p {
  margin: 1.5rem 0 0; max-width: none;
  font: 400 1.05rem/1.75 var(--body, sans-serif); letter-spacing: 0; color: #c0cee1;
}
.software-closing .software-closing-action {
  padding: 2rem 0 2rem 2rem; border-left: 1px solid #9bc7ff24; text-align: center;
}
.software-page .software-closing .software-closing-action p {
  margin: 0 auto 1.4rem; max-width: none; text-align: center;
  font: 400 1.05rem/1.65 var(--body, sans-serif); letter-spacing: 0; color: #e0ebfa;
}
.software-page .software-closing .software-closing-action a {
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  gap: 1.5rem; padding: 1rem 2rem; min-height: 54px;
  border: 1px solid #b8e4ff; border-radius: 12px;
  color: #071427; background: linear-gradient(115deg, #b5ecff, #82baff);
  font-size: .95rem; font-weight: 750; box-shadow: 0 8px 30px #248bff26;
  transition: box-shadow .25s, transform .25s;
}
.software-closing-action a:hover { transform: translateY(-3px); box-shadow: 0 12px 40px #248bff44; }
.software-closing-action a:focus-visible { outline: 2px solid #d0f3ff; outline-offset: 5px; }
.software-page .software-closing .software-closing-action a span { font-size: 1.4rem; }
@media (max-width: 1000px) {
  .software-page .software-ecosystem { max-width: 440px; }
  .software-closing .software-closing-panel { grid-template-columns: 1fr; gap: 2rem; }
  .software-closing .software-closing-action { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid #9bc7ff24; }
}
@media (max-width: 650px) {
  .software-page .software-hero h1 { font-size: clamp(2.9rem, 12.5vw, 4.5rem); }
  .software-page .software-closing { padding-bottom: 4rem; }
  .software-closing .software-closing-panel { padding: 2rem 1.4rem; border-radius: 24px; }
  .software-page .software-closing .software-closing-action a { width: 100%; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .software-closing-art::after { animation: none; }
  .software-page .software-closing .software-closing-action a { transition: none; transform: none; }
}

.software-page .software-hero .software-hero-copy > p { text-align: center; }
