/* Only the service showcase: geometry follows the measured crop of each source. */
#servicos .service-stage { position:sticky; top:130px; }
#servicos .service-well { position:relative; height:var(--well-height,410px); margin:24px 0 20px; }
#servicos .service-frame { position:absolute; left:0; top:20px; width:100%; height:auto; aspect-ratio:1.6; max-height:none; margin:0; border:0; background:#191d1c; box-shadow:0 14px 35px #0002; }
#servicos .service-frame::before { content:''; position:absolute; inset:-7px; border:1px solid #ffffff0d; pointer-events:none; }
#servicos .service-visual { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; transform:none; transition:none; clip-path:none; z-index:1; visibility:hidden; }
#servicos .service-visual:first-child { opacity:1; visibility:visible; }
#servicos .service-image-window { position:relative; width:100%; height:100%; overflow:hidden; background:var(--artboard-tone); }
#servicos .service-image-window img { position:absolute; max-width:none; height:auto; }
#servicos .frame-anchor { width:13px; height:13px; }
#servicos .anchor-top { top:-8px; left:-8px; }
#servicos .anchor-bottom { right:-8px; bottom:-8px; }
#servicos .service-scan { position:absolute; top:0; bottom:0; left:calc(var(--scan,0) * 100%); width:1px; background:var(--blue); opacity:var(--scan-opacity,0); z-index:3; pointer-events:none; }
#servicos .service-registration { position:absolute; left:0; bottom:0; width:42px; height:1px; background:var(--line); }
#servicos .service-registration::after { content:''; position:absolute; width:1px; height:7px; bottom:-3px; left:0; background:var(--blue); }
#servicos .service-stage-label { font-size:12px; }
#servicos .service-stage-caption { align-items:baseline; font-size:12px; letter-spacing:0; }
#servicos .service-stage-caption > span:last-child { font-size:12px; letter-spacing:.08em; }
#servicos .service-progress { margin-top:25px; }
#servicos .service-progress i { transform:translateX(calc(var(--service-progress,0) * 100%)); transition:none; }
#servicos .service:not(.is-active):hover h3 { color:var(--white); }
#servicos .service-mobile-visual { display:none; }
@media (min-width:1024px) and (max-height:700px) { #servicos .service-stage { top:110px; } }
@media (max-width:1023px) {
  #servicos .services-layout { display:block; }
  #servicos .service-stage { display:none; }
  #servicos .services-list { width:100%; }
  #servicos .service { min-height:0; padding-block:16px; }
  #servicos .service-mobile-visual { display:block; margin:30px 0 0 -32px; width:calc(100% + 32px); position:relative; }
  #servicos .service-mobile-visual::before { content:''; position:absolute; top:-7px; left:-7px; width:12px; height:12px; border-top:1px solid var(--blue); border-left:1px solid var(--blue); }
  #servicos .service-mobile-visual .service-image-window { aspect-ratio:var(--artboard-ratio); height:auto; }
  #servicos .service-mobile-visual figcaption { margin-top:12px; color:var(--muted); font-size:12px; }
  #servicos .service[open] .service-mobile-visual .service-image-window { animation:service-mobile-reveal .7s var(--ease) both; }
  #servicos .service-details { padding-right:0; }
}
@media (max-width:767px) { #servicos .service-mobile-visual { margin-left:-30px; width:calc(100% + 30px); } }
@keyframes service-mobile-reveal { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
.motion-reduced #servicos .service-stage { position:relative; top:auto; }
@media (prefers-reduced-motion:reduce) { #servicos .service-stage { position:relative; top:auto; } }
