/* Services: reference composition, using the site's existing design tokens. */
#services .ops-services__tabs{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid var(--wy-g100);margin-bottom:var(--wy-gap-head);
}
#services .ops-services__tab{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;
  gap:var(--wy-s5);padding:0 var(--wy-s5) var(--wy-s5) 0;
  border:0;background:transparent;cursor:pointer;text-align:left;
  color:var(--wy-g500);font-family:var(--wy-font-cn);
  font-size:var(--wy-fs-h3);line-height:var(--wy-lh-head);font-weight:500;
  transition:color var(--wy-dur) var(--wy-ease);
}
#services .ops-services__icon{
  display:block;flex:none;width:calc(var(--wy-fs-h3) * 1.4);
  height:calc(var(--wy-fs-h3) * 1.4);color:var(--wy-primary);
}
#services .ops-services__tab::after{
  content:"";position:absolute;inset:auto 0 -1px;height:var(--wy-s1);
  background:var(--wy-primary);transform:scaleX(0);transform-origin:left;
  transition:transform var(--wy-dur) var(--wy-ease);
}
#services .ops-services__tab:hover{color:var(--wy-ink)}
#services .ops-services__tab[aria-selected="true"]{color:var(--wy-ink)}
#services .ops-services__tab[aria-selected="true"]::after{transform:scaleX(1)}
#services .ops-services__tab:focus-visible,
#services .ops-services__panel:focus-visible{
  outline:2px solid var(--wy-primary);outline-offset:var(--wy-s2);
  border-radius:var(--wy-r-sm);
}
#services .ops-services__panel{
  display:grid;grid-template-columns:repeat(var(--wy-cols),minmax(0,1fr));
  gap:var(--wy-col-gap);align-items:start;
}
#services .ops-services__panel[hidden]{display:none}
#services .ops-services__copy{grid-column:1 / 6;min-width:0}
#services .ops-services__copy .h3{margin:0 0 var(--wy-gap-title)}
#services .ops-services__copy .body{margin:0;color:var(--wy-g700)}
#services .ops-services__copy .blist{
  display:grid;gap:var(--wy-s3);margin:var(--wy-s5) 0 0;padding:0;
}
#services .ops-services__media{
  grid-column:6 / 13;position:relative;aspect-ratio:16 / 10;overflow:hidden;
  border-radius:var(--wy-r-2xl);isolation:isolate;
  background:radial-gradient(70% 58% at 18% 12%,rgba(184,166,230,.55),transparent 62%),radial-gradient(64% 54% at 88% 82%,rgba(143,178,255,.5),transparent 64%),linear-gradient(146deg,#EAE5FA 0%,#E4E7FB 48%,#DEE9FB 100%);
}
#services .ops-services__media::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:14%;z-index:2;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(22,22,27,.07),rgba(22,22,27,.025) 45%,rgba(22,22,27,0));
}
#services .ops-services__media .af{animation:none}
#services .ops-services__media .af__ln{animation:none}
/* A short fade communicates a tab change without moving the section. */
#services .ops-services__panel.is-entering .ops-services__copy,
#services .ops-services__panel.is-entering .ops-services__media{
  animation:ops-service-enter var(--wy-dur) var(--wy-ease) both;
}
@keyframes ops-service-enter{from{opacity:0}to{opacity:1}}
@media(max-width:1199px){
  #services .ops-services__panel{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  #services .ops-services__copy,#services .ops-services__media{grid-column:auto}
  #services .ops-services__media{aspect-ratio:1}
}
@media(max-width:767px){
  #services .ops-services__tabs{
    display:flex;overflow-x:auto;margin-bottom:var(--wy-s6);
    scroll-snap-type:x proximity;scrollbar-width:thin;
  }
  #services .ops-services__tab{
    flex:0 0 auto;min-width:calc(var(--wy-s8) + var(--wy-s7) + var(--wy-s6));
    gap:var(--wy-s4);padding:var(--wy-s2) var(--wy-s5) var(--wy-s4) 0;
    scroll-snap-align:start;white-space:nowrap;
  }
  #services .ops-services__panel{grid-template-columns:minmax(0,1fr);gap:var(--wy-s6)}
  #services .ops-services__copy .blist{gap:var(--wy-s2)}
  #services .ops-services__media{aspect-ratio:1}
}
@media(prefers-reduced-motion:reduce){
  #services .ops-services__tab,#services .ops-services__tab::after{transition:none}
  #services .ops-services__panel.is-entering .ops-services__copy,
  #services .ops-services__panel.is-entering .ops-services__media{animation:none}
}
