/* Pointer decoration never intercepts a link or changes layout. */
.pointer-header{position:relative;isolation:isolate}.pointer-light{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(ellipse 360px 260px at var(--pointer-x,50%) var(--pointer-y,50%),rgba(48,153,255,.11),transparent 75%);transition:opacity .35s}.pointer-active>.pointer-light{opacity:1}html[data-theme=light] .pointer-light{background:radial-gradient(ellipse 360px 260px at var(--pointer-x,50%) var(--pointer-y,50%),rgba(30,108,189,.065),transparent 75%)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.pointer-header .momentum-grid,.pointer-header .contour-field{translate:var(--pointer-dx,0px) var(--pointer-dy,0px);transition:translate .6s ease-out}
.pointer-card{border-radius:12px;transition:transform .35s ease-out,box-shadow .35s ease-out;transform:perspective(1800px) rotateX(var(--pointer-rx,0deg)) rotateY(var(--pointer-ry,0deg));box-shadow:0 0 0 1px transparent}.pointer-card.pointer-active,.pointer-card:focus-visible{box-shadow:0 0 0 1px #63b8f080,0 18px 50px #1788db12}.pointer-card .product-image{transition:filter .35s,box-shadow .35s}.pointer-card.pointer-active .product-image,.pointer-card:focus-visible .product-image{filter:brightness(1.045);box-shadow:inset 0 0 0 1px #75caff66}.pointer-cta{translate:var(--pointer-dx,0px) var(--pointer-dy,0px);transition:translate .2s ease-out,background .2s,transform .2s}
html[data-theme=light] .pointer-card.pointer-active,html[data-theme=light] .pointer-card:focus-visible{box-shadow:0 0 0 1px #226fb54d,0 12px 35px #174d7910}
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.pointer-light{display:none}.pointer-card,.pointer-cta{translate:none!important;transform:none!important}}
.site-motion-paused .pointer-light{display:none}.site-motion-paused .pointer-card,.site-motion-paused .pointer-cta{translate:none!important;transform:none!important}

.pointer-card .pointer-explore{display:inline-block;font-size:0.875rem;color:var(--accent);margin-top:10px}.pointer-card.pointer-active .pointer-explore,.pointer-card:focus-visible .pointer-explore{text-decoration:underline;text-underline-offset:4px}

/* Keep the action beside the description, within its own card. */
.software-motion-card .product-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-width:0}
.software-motion-card .software-card-action{display:inline-flex;align-items:center;justify-self:end;gap:12px;max-width:100%}
.software-motion-card .software-card-action .pointer-explore{display:inline;font-size:0.875rem;line-height:1.5;margin:0;color:var(--accent);white-space:nowrap}
.software-card-arrow{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font-size:20px;color:var(--accent)}

@media(max-width:420px){.software-motion-card .product-caption{grid-template-columns:1fr;gap:14px}.software-motion-card .software-card-action{justify-self:start}}

/* Keep the homepage contact button steady while its arrow responds. */
.hero .actions .hero-cta {
  transform: none;
  transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.hero-cta > span {
  transition: transform 240ms cubic-bezier(.22, 1, .36, 1);
}
@media (hover: hover) and (pointer: fine) {
  .hero .actions .hero-cta:hover {
    background-color: #155fb7;
    border-color: #5b9ee7;
    box-shadow: 0 4px 14px #07101d35;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html:not(.site-motion-paused) .hero-cta:hover > span {
    transform: translate(2px, -2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero .actions .hero-cta, .hero-cta > span { transition: none; }
}
