/* MindShot v2.15 — Software a Medida refinements + dedicated motion */
.v214-software{
  --sw-motion-ease:cubic-bezier(.18,.72,.18,1);
  --sw-motion-spring:cubic-bezier(.16,1,.3,1);
}

/* Less empty air: tighter editorial rhythm without crowding. */
.v214-software .sw-section{padding:90px 0}
.v214-software .sw-section-head{margin-bottom:40px}
.v214-software .sw-problem-grid,
.v214-software .sw-under-grid,
.v214-software .sw-build-grid{gap:68px}
.v214-software .sw-section--faq{padding-top:78px;padding-bottom:88px}
.v214-software .sw-final{padding-top:90px;padding-bottom:96px}

/* Hero gets a little more software character without becoming a dashboard UI. */
.v214-software .sw-system-map{isolation:isolate}
.v214-software .sw-system-map::before,
.v214-software .sw-system-map::after{transition:border-color .35s ease,opacity .35s ease}
.v214-software .sw-core{overflow:visible}
.v214-software .sw-core::before{
  content:"";
  position:absolute;
  inset:-16px;
  border:1px solid rgba(43,217,247,.22);
  border-radius:50%;
  opacity:.7;
  pointer-events:none;
}
.v214-software .sw-core::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--sw-acid);
  box-shadow:0 0 0 8px rgba(232,255,59,.08);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.v214-software .sw-node{transition:transform .35s var(--sw-motion-spring),background .35s ease}
.v214-software .sw-node:hover{transform:translateY(-4px);background:rgba(10,23,42,.97)}

/* Human pause / photo band. */
.v214-software .sw-photo-break{
  position:relative;
  min-height:520px;
  display:grid;
  align-items:end;
  overflow:hidden;
  background:#091321;
  color:#fff;
  isolation:isolate;
}
.v214-software .sw-photo-break-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.v214-software .sw-photo-break-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(7,16,31,.92) 0%,rgba(7,16,31,.72) 36%,rgba(7,16,31,.16) 72%,rgba(7,16,31,.3) 100%),
    linear-gradient(180deg,transparent 45%,rgba(7,16,31,.68) 100%);
}
.v214-software .sw-photo-break-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block;transform:scale(1.035)}
.v214-software .sw-photo-break::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--sw-cyan),var(--sw-violet),var(--sw-magenta),var(--sw-acid));
}
.v214-software .sw-photo-break-copy{padding-top:76px;padding-bottom:64px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:28px 64px;align-items:end}
.v214-software .sw-photo-break-copy .v24-kicker{grid-column:1/-1;color:#b4c4d7}
.v214-software .sw-photo-break-copy p{margin:0;max-width:600px;font-size:clamp(1.55rem,2.7vw,2.75rem);line-height:1.04;letter-spacing:-.045em;font-weight:760}
.v214-software .sw-photo-break-copy strong{display:block;max-width:520px;font-size:1rem;line-height:1.7;font-weight:600;color:#c1cedd}

/* Flow board gets an actual flow cue. */
.v214-software .sw-flowboard{position:relative;overflow:hidden}
.v214-software .sw-flowboard::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--sw-cyan),var(--sw-violet),var(--sw-magenta),var(--sw-acid));
  transform-origin:top;transform:scaleY(.12);opacity:.55;
}
.v214-software .sw-flow-row{position:relative}
.v214-software .sw-flow-row::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,rgba(111,63,245,.5),rgba(224,0,160,.12),transparent 75%);
  transform-origin:left;transform:scaleX(0);
}

/* Motion only becomes active when JS explicitly opts the page in. */
.v214-software.service-motion-ready [data-v215-motion]{will-change:transform,opacity,clip-path}
.v214-software.service-motion-ready [data-v215-motion="hero-kicker"],
.v214-software.service-motion-ready [data-v215-motion="hero-title"],
.v214-software.service-motion-ready [data-v215-motion="hero-lead"],
.v214-software.service-motion-ready [data-v215-motion="hero-actions"]{opacity:0;transform:translateY(26px)}
.v214-software.service-motion-ready [data-v215-motion="hero-title"]{clip-path:inset(0 0 100% 0);transform:translateY(34px)}
.v214-software.service-motion-ready [data-v215-motion="map"]{opacity:0;transform:translateX(28px) scale(.985)}
.v214-software.service-motion-ready [data-v215-motion="map"] .sw-node{opacity:0;transform:translateY(18px) scale(.96)}
.v214-software.service-motion-ready [data-v215-motion="map"] .sw-core{opacity:0;transform:translate(-50%,-50%) scale(.82)}
.v214-software.service-motion-ready [data-v215-motion="map"] .sw-map-foot,
.v214-software.service-motion-ready [data-v215-motion="map"] .sw-map-label{opacity:0}

.v214-software.service-motion-ready [data-v215-motion="section-copy"],
.v214-software.service-motion-ready [data-v215-motion="row"],
.v214-software.service-motion-ready [data-v215-motion="case"],
.v214-software.service-motion-ready [data-v215-motion="faq"]{opacity:0;transform:translateY(24px)}
.v214-software.service-motion-ready [data-v215-motion="from-left"]{opacity:0;transform:translateX(-34px)}
.v214-software.service-motion-ready [data-v215-motion="from-right"]{opacity:0;transform:translateX(34px)}
.v214-software.service-motion-ready [data-v215-motion="layer"]{opacity:0;transform:translateY(22px) rotateX(5deg);transform-origin:center bottom}
.v214-software.service-motion-ready [data-v215-motion="photo"]{clip-path:inset(0 100% 0 0)}
.v214-software.service-motion-ready [data-v215-motion="photo"] img{transform:scale(1.1)}
.v214-software.service-motion-ready [data-v215-motion="photo-copy"]{opacity:0;transform:translateY(30px)}

.v214-software.service-motion-ready [data-v215-motion].is-v215-visible{opacity:1;transform:none;clip-path:inset(0 0 0 0);transition:opacity .72s var(--sw-motion-ease),transform .84s var(--sw-motion-spring),clip-path 1s var(--sw-motion-ease)}
.v214-software.service-motion-ready [data-v215-motion="hero-title"].is-v215-visible{transition-duration:.95s}
.v214-software.service-motion-ready [data-v215-motion="photo"].is-v215-visible img{transform:scale(1.035);transition:transform 1.25s var(--sw-motion-ease)}
.v214-software.service-motion-ready [data-v215-motion="map"].is-v215-visible .sw-node{opacity:1;transform:none;transition:opacity .55s ease,transform .75s var(--sw-motion-spring)}
.v214-software.service-motion-ready [data-v215-motion="map"].is-v215-visible .sw-node:nth-of-type(2){transition-delay:.16s}
.v214-software.service-motion-ready [data-v215-motion="map"].is-v215-visible .sw-node:nth-of-type(3){transition-delay:.27s}
.v214-software.service-motion-ready [data-v215-motion="map"].is-v215-visible .sw-node:nth-of-type(4){transition-delay:.38s}
.v214-software.service-motion-ready [data-v215-motion="map"].is-v215-visible .sw-node:nth-of-type(5){transition-delay:.49s}
.v214-software.service-motion-ready [data-v215-motion="map"].is-v215-visible .sw-core{opacity:1;transform:translate(-50%,-50%) scale(1);transition:opacity .7s .55s ease,transform .9s .55s var(--sw-motion-spring)}
.v214-software.service-motion-ready [data-v215-motion="map"].is-v215-visible .sw-map-label{opacity:1;transition:opacity .5s .08s ease}
.v214-software.service-motion-ready [data-v215-motion="map"].is-v215-visible .sw-map-foot{opacity:1;transition:opacity .6s .82s ease}
.v214-software.service-motion-ready .sw-flowboard.is-v215-visible::before{transform:scaleY(1);opacity:1;transition:transform 1.15s var(--sw-motion-ease),opacity .4s ease}
.v214-software.service-motion-ready .sw-flowboard.is-v215-visible .sw-flow-row::after{transform:scaleX(1);transition:transform .85s var(--sw-motion-ease)}
.v214-software.service-motion-ready .sw-flowboard.is-v215-visible .sw-flow-row:nth-child(2)::after{transition-delay:.12s}
.v214-software.service-motion-ready .sw-flowboard.is-v215-visible .sw-flow-row:nth-child(3)::after{transition-delay:.24s}
.v214-software.service-motion-ready .sw-flowboard.is-v215-visible .sw-flow-row:nth-child(4)::after{transition-delay:.36s}

/* Tiny software accent: one scan passes through the violet stack only once. */
.v214-software .sw-layers{position:relative;overflow:visible}
.v214-software.service-motion-ready .sw-layers.is-v215-visible::after{
  content:"";position:absolute;left:-4%;right:-4%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--sw-acid),var(--sw-cyan),transparent);
  box-shadow:0 0 16px rgba(232,255,59,.34);
  animation:sw-v215-scan 1.45s .4s var(--sw-motion-ease) both;
  pointer-events:none;
}
@keyframes sw-v215-scan{0%{opacity:0;transform:translateY(0)}12%{opacity:.9}85%{opacity:.45}100%{opacity:0;transform:translateY(330px)}}

@media(max-width:1080px){
  .v214-software .sw-section{padding:82px 0}
  .v214-software .sw-problem-grid,.v214-software .sw-under-grid,.v214-software .sw-build-grid{gap:48px}
  .v214-software .sw-photo-break-copy{grid-template-columns:1fr;max-width:820px}
  .v214-software .sw-photo-break-copy .v24-kicker{grid-column:auto}
}
@media(max-width:700px){
  .v214-software .sw-section{padding:62px 0}
  .v214-software .sw-section-head{margin-bottom:30px}
  .v214-software .sw-section--faq{padding:62px 0 70px}
  .v214-software .sw-final{padding:72px 0 78px}
  .v214-software .sw-photo-break{min-height:0;display:block;background:#08111f}
  .v214-software .sw-photo-break-media{position:relative;height:auto;aspect-ratio:4/3;z-index:0}
  .v214-software .sw-photo-break-media::after{background:linear-gradient(180deg,transparent 45%,rgba(7,16,31,.72) 100%)}
  .v214-software .sw-photo-break-media img{object-position:center;transform:scale(1.025)}
  .v214-software .sw-photo-break-copy{padding:34px 20px 44px;gap:18px}
  .v214-software .sw-photo-break-copy p{font-size:clamp(1.8rem,8.7vw,2.55rem);line-height:1}
  .v214-software .sw-photo-break-copy strong{font-size:.91rem;line-height:1.65}
  .v214-software.service-motion-ready [data-v215-motion="from-left"],
  .v214-software.service-motion-ready [data-v215-motion="from-right"]{transform:translateY(22px)}
}
@media(prefers-reduced-motion:reduce){
  .v214-software.service-motion-ready [data-v215-motion]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .v214-software.service-motion-ready [data-v215-motion="map"] .sw-node,
  .v214-software.service-motion-ready [data-v215-motion="map"] .sw-core,
  .v214-software.service-motion-ready [data-v215-motion="map"] .sw-map-foot,
  .v214-software.service-motion-ready [data-v215-motion="map"] .sw-map-label{opacity:1!important;transform:none!important;transition:none!important}
  .v214-software.service-motion-ready [data-v215-motion="map"] .sw-core{transform:translate(-50%,-50%)!important}
  .v214-software.service-motion-ready .sw-layers.is-v215-visible::after{display:none}
  .v214-software .sw-photo-break-media img{transform:none!important}
}
