/* Preserve the approved scroll scenes in short browser panes as well as full windows. */
#enfoques .service-folio:not(.is-open) .folio-heading {pointer-events:none}
/* Local review requests the full scene, even when Windows suppresses animation.
   Keep CSS and JS on the same mode; OS media rules must not collapse its stage. */
body.motion-full .experience .hero{transform:translateX(var(--intro-x,0px))}
body.motion-full .experience .dimension-sticky{transform:translateY(var(--detail-y,0px))}
body.motion-full .synapse-story{height:191svh}
body.motion-full .synapse-sticky{height:calc(100svh - var(--header-height))!important;position:sticky;top:var(--header-height)}

/* Reduced motion is a complete reading layout, never an inaccessible second layer. */
body.motion-reduced .experience{height:auto}
body.motion-reduced .experience-stage{position:relative;height:auto;min-height:0;overflow:visible}
body.motion-reduced .experience .hero{position:relative;inset:auto;height:max(760px,100svh);opacity:1;transform:none}
body.motion-reduced .experience-model{top:100px!important;height:620px!important}
body.motion-reduced .experience .dimension-sticky{
  position:relative;inset:auto;min-height:700px;height:100svh;opacity:1;transform:none;
  background:var(--dark);pointer-events:auto;padding-top:35px;
}
body.motion-reduced .dimension-layout{position:relative}
body.motion-reduced .dimension-visual{position:relative;inset:auto!important;min-height:420px}
body.motion-reduced .static-dimension-model{position:absolute;inset:0;width:100%;height:100%}
body.motion-reduced .dimension-anchor{top:max(760px,100svh)}
body.motion-reduced .synapse-story{height:auto}
body.motion-reduced .synapse-sticky{position:relative;top:0;height:620px!important}
@media(max-width:760px){
  body.motion-reduced .experience-model{top:250px!important;left:-4%!important;width:108%!important;height:400px!important}
  body.motion-reduced .experience .dimension-sticky{height:auto;min-height:0}
  body.motion-reduced .dimension-visual{height:360px;min-height:0}
  body.motion-reduced .experience .dimension-layout{display:block}
}
@media (max-height:600px) {
  body:not(.motion-reduced) .experience-stage {
    position:sticky;top:0;height:100svh;min-height:0;
  }
  body:not(.motion-reduced) .experience .dimension-sticky {
    padding-top:calc(var(--header-height) + 12px);
  }
  .experience .section-kicker {padding-bottom:12px}
  .experience .dimension-copy {padding-top:14px}
  .experience .dimension-copy h2 {font-size:21px}
  .experience .dimension-current {margin-top:18px}
  .experience .dimension-current h3 {font-size:36px;margin:8px 0}
  .experience .dimension-current p {font-size:14px;line-height:1.4}
  .experience .intro-services {margin-top:15px;font-size:12px}
  .experience .dimension-tabs {padding-bottom:12px}
  .experience .dimension-tabs button {font-size:17px;padding-top:10px}
  .experience .dimension-tabs small {font-size:9px}
  body:not(.motion-reduced) .synapse-story {height:191svh}
  body:not(.motion-reduced) .synapse-sticky {
    position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0;
    padding-top:20px;padding-bottom:20px;
  }
  .synapse-sticky .letter-stage {min-height:160px}
  .synapse-sticky .synapse-bottom {padding-top:15px;gap:12px}
  .synapse-sticky .synapse-message {font-size:20px}
  .synapse-sticky .synapse-bottom>p:last-child {font-size:14px}
}

/* Continuous placement preserves the approved endpoints. */
body.motion-full .experience .experience-model{left:calc(47% - 7% * var(--model-t,0))!important;top:calc(20% - 6% * var(--model-t,0))!important;width:calc(53% + 6% * var(--model-t,0))!important;height:calc(75% + 1% * var(--model-t,0))!important}
@media(max-width:900px){body.motion-full .experience .experience-model{left:calc(39% + 1% * var(--model-t,0))!important;top:calc(31% - 17% * var(--model-t,0))!important;width:calc(61% - 2% * var(--model-t,0))!important;height:calc(57% + 19% * var(--model-t,0))!important}}
@media(max-width:600px){body.motion-full .experience .experience-model{left:calc(-4% - 1% * var(--model-t,0))!important;top:calc(32% + 10% * var(--model-t,0))!important;width:calc(108% + 2% * var(--model-t,0))!important;height:calc(45% - 2% * var(--model-t,0))!important}}
body.motion-full #enfoques .service-folio{transition:flex .75s cubic-bezier(.22,.68,0,1),filter .5s!important}
.contact-whatsapp{display:inline-flex;align-items:center;gap:12px;margin-top:22px;color:var(--light);font-size:14px}.contact-whatsapp svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7}.contact-whatsapp:hover{color:var(--orange)}
.service-folio{scroll-margin-top:100px}
