.solutions-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(6rem,8vw,9rem) 0 clamp(5rem,7vw,8rem);
  color:#f5f9ff;
  background:#061522;
}
.solutions-hero::before {
  content:"";
  position:absolute;
  inset:-25% -25% -25% 28%;
  z-index:-1;
  background:radial-gradient(ellipse at 55% 45%,#126ed644 0%,#0b3b6a27 35%,transparent 68%);
  pointer-events:none;
}
.solutions-hero-inner {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(1rem,3vw,3rem);
  align-items:center;
}
.solutions-hero-copy { position:relative; z-index:1; }
.solutions-hero h1 {
  max-width:15ch;
  margin:0 0 1.5rem;
  font-size:clamp(3.5rem,6.2vw,7rem);
  font-weight:300;
  line-height:1.02;
  letter-spacing:-.055em;
}
.solutions-hero h1 em { color:#93c7ff; }
.solutions-hero-copy>p:not(.eyebrow) {
  max-width:55ch;
  margin-bottom:1.75rem;
  color:#c8d9e7;
  font-size:clamp(1.05rem,1.45vw,1.35rem);
}
.solutions-orbit {
  position:relative;
  width:min(100%,34rem);
  aspect-ratio:1;
  justify-self:end;
  color:#eef7ff;
}
.solutions-orbit-visual { position:absolute; inset:0; }
.solutions-orbit-ring {
  position:absolute;
  inset:0;
  border:1px solid rgba(112,189,255,.3);
  border-radius:50%;
  box-shadow:0 0 0 3rem rgba(65,145,215,.045),0 0 0 6rem rgba(65,145,215,.025),inset 0 0 3rem rgba(6,105,200,.1);
}
.solutions-orbit-node {
  position:absolute;
  width:.52rem;
  height:.52rem;
  border:1px solid #82c6ff;
  border-radius:50%;
  background:#123c62;
  box-shadow:0 0 .65rem rgba(91,180,255,.6);
  transform:translate(-50%,-50%);
}
.solutions-orbit-node-1 { top:0; left:50%; }
.solutions-orbit-node-2 { top:50%; left:100%; }
.solutions-orbit-node-3 { top:100%; left:50%; }
.solutions-orbit-node-4 { top:50%; left:0; }
.solutions-orbit-runner {
  position:absolute;
  inset:0;
  border-radius:50%;
  animation:solutions-orbit-turn 16s linear infinite;
}
.solutions-orbit-light {
  position:absolute;
  left:50%;
  top:0;
  width:.88rem;
  height:.88rem;
  border-radius:50%;
  background:#62c7ff;
  box-shadow:0 0 .6rem #3bbcff,0 0 1.6rem #0089ff,0 0 3rem #0089ff8c;
  transform:translate(-50%,-50%);
}
.solutions-orbit-center {
  position:absolute;
  inset:22%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}
.solutions-orbit-kicker {
  display:block;
  margin-bottom:1rem;
  color:#9ecfff;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.solutions-orbit-message {
  position:absolute;
  top:53%;
  left:0;
  width:100%;
  opacity:0;
  transform:translateY(.5rem);
  animation:solutions-orbit-message 16s linear infinite;
}
.solutions-orbit-message-1 { animation-delay:0s; }
.solutions-orbit-message-2 { animation-delay:-12s; }
.solutions-orbit-message-3 { animation-delay:-8s; }
.solutions-orbit-message-4 { animation-delay:-4s; }
.solutions-orbit-message span {
  display:block;
  margin-bottom:.65rem;
  color:#91c8ff;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.solutions-orbit-message p {
  max-width:16ch;
  margin:0 auto;
  font-size:clamp(1.35rem,1.8vw,1.95rem);
  font-weight:300;
  letter-spacing:-.035em;
  line-height:1.22;
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@keyframes solutions-orbit-turn { to { transform:rotate(1turn); } }
@keyframes solutions-orbit-message {
  0%,21% { opacity:1; transform:translateY(0); }
  23%,98% { opacity:0; transform:translateY(-.5rem); }
  100% { opacity:1; transform:translateY(0); }
}
.solutions-hero-link,.solutions-recognize a {
  display:inline-flex;
  align-items:center;
  gap:1.2rem;
  padding-bottom:.35rem;
  border-bottom:1px solid #73b9ff;
  color:#e6f3ff;
  font-size:.94rem;
  font-weight:600;
  text-decoration:none;
}
.solutions-hero-link:hover,.solutions-recognize a:hover { color:#93c7ff; }
.solutions-services {
  padding:clamp(4.5rem,7vw,7rem) 0;
  background:#f9fbfd;
}
.solutions-section-head h2 {
  max-width:21ch;
  margin-bottom:3.5rem;
  font-size:clamp(2.8rem,4vw,4.5rem);
  font-weight:300;
  line-height:1.08;
}
.solutions-rows { border-top:1px solid #bfcedc; }
.solution-row {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:3rem minmax(240px,.85fr) minmax(0,1fr);
  gap:clamp(1.25rem,3vw,3rem);
  align-items:start;
  padding:2rem 0 2.2rem;
  border-bottom:1px solid #bfcedc;
  transform-origin:center;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.solution-row::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-.3rem -.8rem;
  border-radius:6px;
  background:#fff;
  box-shadow:0 14px 32px #123e6817;
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}
@keyframes solution-slide-in {
  from { opacity:0; transform:translateX(-30px); }
  to { opacity:1; transform:none; }
}
@media(prefers-reduced-motion:no-preference) {
  .solutions-rows.is-motion-ready .solution-row { opacity:0; }
  .solutions-rows.is-motion-ready .solution-row.is-visible {
    opacity:1;
    animation:solution-slide-in .8s cubic-bezier(.22,1,.36,1) backwards;
    animation-delay:calc(var(--row-index) * 100ms);
  }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .solution-row:hover { z-index:1; transform:scale(1.018); }
  .solution-row:hover::before { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
  .solution-row,.solution-row::before { transition:none; }
}
.solution-number {
  padding-top:.2rem;
  color:#0969db;
  font-size:.83rem;
  font-weight:700;
  letter-spacing:.12em;
}
.solution-kicker {
  margin-bottom:.55rem;
  color:#587087;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.solution-row h3 {
  max-width:17ch;
  margin:0;
  font-size:clamp(1.7rem,2.3vw,2.5rem);
  font-weight:400;
  line-height:1.15;
}
.solution-copy { max-width:48ch; }
.solution-copy p { margin:0; }
.solution-copy .solution-question {
  margin-bottom:.7rem;
  color:#102d48;
  font-size:clamp(1.12rem,1.5vw,1.42rem);
  font-weight:600;
  line-height:1.35;
}
.solution-copy p:last-child {
  max-width:48ch;
  color:#465d72;
  font-size:1rem;
  line-height:1.55;
}
.solutions-recognize {
  padding:clamp(4.5rem,7vw,7rem) 0;
  color:#f5f9ff;
  background:linear-gradient(120deg,#092038,#0b3765);
}
.solutions-recognize-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  gap:clamp(2rem,6vw,7rem);
  align-items:center;
}
.solutions-recognize h2 {
  margin-bottom:0;
  font-size:clamp(3rem,4.5vw,5.2rem);
  font-weight:300;
  line-height:1.08;
}
.solutions-recognize h2 em { color:#98caff; }
.solutions-recognize-grid>div:last-child p {
  max-width:48ch;
  color:#d1e1f0;
  font-size:1.1rem;
}
.solutions-recognize a { margin-top:.55rem; }
@media(max-width:760px) {
  .solutions-hero { padding:5rem 0 5.5rem; }
  .solutions-hero-inner { grid-template-columns:1fr; gap:3rem; }
  .solutions-hero h1 { max-width:13ch; font-size:clamp(3rem,10vw,4.4rem); }
  .solutions-orbit { width:min(76vw,24rem); justify-self:center; }
  .solutions-orbit-ring { box-shadow:0 0 0 2rem rgba(65,145,215,.04),inset 0 0 2rem rgba(6,105,200,.1); }
  .solutions-orbit-center { inset:18%; }
  .solutions-orbit-kicker { font-size:.64rem; }
  .solutions-orbit-message span { font-size:.65rem; }
  .solutions-orbit-message p { font-size:clamp(1.15rem,5vw,1.55rem); }
  .solutions-section-head h2 { margin-bottom:2.4rem; font-size:clamp(2.6rem,8.5vw,3.7rem); }
  .solution-row { grid-template-columns:2.3rem minmax(0,1fr); gap:.6rem 1rem; padding:1.6rem 0; }
  .solution-copy { grid-column:2; }
  .solution-copy .solution-question { font-size:1.14rem; }
  .solution-row h3 { font-size:1.8rem; }
  .solutions-recognize-grid { grid-template-columns:1fr; gap:2rem; }
  .solutions-recognize h2 { font-size:clamp(2.8rem,9vw,4rem); }
}
@media(prefers-reduced-motion:reduce) {
  .solutions-orbit-runner,.solutions-orbit-message { animation:none; }
  .solutions-orbit-message { opacity:0; }
  .solutions-orbit-message-1 { opacity:1; transform:none; }
}
