/* OT Experience 2.0 — Digital Pulse journey.
   Lightweight scroll-linked construction for the method and emissive ecosystem.
   Text remains readable without motion; mobile/reduced-motion keep the static layout. */

html.has-digital-pulse-journey #metodo .method-grid{
  --method-pulse:0;
  position:relative;
  isolation:isolate;
}
html.has-digital-pulse-journey #metodo .method-grid::before,
html.has-digital-pulse-journey #metodo .method-grid::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:4%;
  right:4%;
  top:46px;
  height:1px;
  border-radius:999px;
  pointer-events:none;
}
html.has-digital-pulse-journey #metodo .method-grid::before{
  background:rgba(255,255,255,.08);
}
html.has-digital-pulse-journey #metodo .method-grid::after{
  right:auto;
  width:92%;
  background:linear-gradient(90deg,#67e8f9 0%,#7dd3fc 36%,#8b5cf6 70%,#a855f7 100%);
  box-shadow:0 0 12px rgba(103,232,249,.38),0 0 26px rgba(168,85,247,.16);
  transform:scaleX(var(--method-pulse));
  transform-origin:left center;
  transition:transform .12s linear;
}
html.has-digital-pulse-journey #metodo .method-card{
  position:relative;
  overflow:visible;
  transition:border-color .35s ease,background .35s ease,transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;
}
html.has-digital-pulse-journey #metodo .method-card::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:17px;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(135deg,rgba(103,232,249,.15),transparent 42%,rgba(168,85,247,.13));
  transition:opacity .35s ease;
}
html.has-digital-pulse-journey #metodo .method-card.is-pulse-built{
  transform:translateY(-4px);
  border-color:rgba(103,232,249,.22);
  box-shadow:0 16px 38px rgba(0,0,0,.2),0 0 22px rgba(103,232,249,.055);
}
html.has-digital-pulse-journey #metodo .method-card.is-pulse-built::after{opacity:1}
html.has-digital-pulse-journey #metodo .method-card.is-pulse-built b{
  border-color:rgba(103,232,249,.72);
  color:#bff7ff;
  box-shadow:inset 0 0 18px rgba(139,92,246,.16),0 0 16px rgba(103,232,249,.2);
}

/* Ecosystem pulse layer */
html.has-digital-pulse-journey .ot-ecosystem__shell{
  --ecosystem-pulse:0;
  isolation:isolate;
}
.ot-pulse-network{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.85;
}
.ot-pulse-network__base{
  fill:none;
  stroke:rgba(103,232,249,.085);
  stroke-width:1;
}
.ot-pulse-network__active{
  fill:none;
  stroke:url(#otPulseGradient);
  stroke-width:1.35;
  stroke-linecap:round;
  filter:drop-shadow(0 0 5px rgba(103,232,249,.6));
}
.ot-pulse-network__runner{
  fill:none;
  stroke:rgba(225,250,255,.88);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-dasharray:2 22;
  animation:otPulseDash 2.8s linear infinite;
  filter:drop-shadow(0 0 5px rgba(103,232,249,.78));
}
.ot-pulse-hub{
  position:absolute;
  z-index:2;
  width:18px;
  height:18px;
  border:1px solid rgba(103,232,249,.48);
  border-radius:50%;
  background:radial-gradient(circle,#dffcff 0 12%,#67e8f9 16% 26%,rgba(103,232,249,.12) 30% 58%,transparent 62%);
  box-shadow:0 0 18px rgba(103,232,249,.32),0 0 34px rgba(168,85,247,.12);
  opacity:calc(.22 + var(--ecosystem-pulse) * .78);
  transform:translate(-50%,-50%) scale(calc(.72 + var(--ecosystem-pulse) * .28));
  transition:opacity .25s ease,transform .25s ease;
  pointer-events:none;
}
.ot-pulse-hub::after{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(168,85,247,.22);
  border-radius:50%;
  animation:otPulseRing 2.7s ease-out infinite;
}
html.has-digital-pulse-journey .ot-ecosystem__card{
  position:relative;
  z-index:1;
}
html.has-digital-pulse-journey .ot-ecosystem__card::before{
  content:"";
  position:absolute;
  left:-4px;
  top:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#67e8f9;
  box-shadow:0 0 12px rgba(103,232,249,.6);
  opacity:0;
  transform:translate(-50%,-50%) scale(.55);
  transition:opacity .28s ease,transform .28s ease;
}
html.has-digital-pulse-journey .ot-ecosystem__card.is-pulse-live{
  border-color:rgba(103,232,249,.22);
  background:linear-gradient(135deg,rgba(103,232,249,.052),rgba(168,85,247,.035));
  box-shadow:0 0 26px rgba(103,232,249,.045);
}
html.has-digital-pulse-journey .ot-ecosystem__card.is-pulse-live::before{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
html.has-digital-pulse-journey .ot-ecosystem__status{
  position:relative;
  overflow:hidden;
}
html.has-digital-pulse-journey .ot-ecosystem__status::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(134,239,172,.14),transparent);
  transform:translateX(-120%);
}
html.has-digital-pulse-journey .ot-ecosystem.is-pulse-active .ot-ecosystem__status::after{
  animation:otStatusSweep 2.6s ease-in-out infinite;
}
@keyframes otPulseDash{to{stroke-dashoffset:-48}}
@keyframes otPulseRing{0%{transform:scale(.65);opacity:.7}75%,100%{transform:scale(1.35);opacity:0}}
@keyframes otStatusSweep{0%,20%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}

@media(max-width:1100px){
  .ot-pulse-network,.ot-pulse-hub{display:none}
  html.has-digital-pulse-journey .ot-ecosystem__card::before{display:none}
}
@media(max-width:900px){
  html.has-digital-pulse-journey #metodo .method-grid::before,
  html.has-digital-pulse-journey #metodo .method-grid::after{display:none}
  html.has-digital-pulse-journey #metodo .method-card.is-pulse-built{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .ot-pulse-network,.ot-pulse-hub{display:none!important}
  html.has-digital-pulse-journey #metodo .method-grid::after{display:none}
  html.has-digital-pulse-journey #metodo .method-card.is-pulse-built{transform:none}
  html.has-digital-pulse-journey .ot-ecosystem__status::after{animation:none!important}
}
