
@media (min-width:901px) and (min-height:600px) and (prefers-reduced-motion:no-preference){

  html.svc-anim .services-grid{ perspective:1100px; perspective-origin:50% 0%; }
  html.svc-anim .svc-card{ transform-origin:50% 100%; }
  html.svc-anim .svc-card:not(.is-up){ transition:border-color .25s ease, box-shadow .3s ease; }

  html.reportes-anim #reportes .wrap{ perspective:1600px; perspective-origin:50% 20%; }
  html.reportes-anim #reportes .an-card{ transform-origin:50% 0%; }
  html.reportes-anim #reportes .an-cards{ perspective:1200px; }
  html.reportes-anim #reportes .an-bar{ transition-property:opacity, filter; transition-duration:.25s; }
  html.reportes-anim #reportes .an-meta-fill{ transition:none; }

  html.precios-anim .price-grid{ perspective:1400px; perspective-origin:50% 100%; }
  html.precios-anim .price-card{ transform-origin:50% 150%; }
  html.precios-anim .price-card:not(.is-up){ transition:border-color .25s ease, box-shadow .3s ease; }
  html.precios-anim .price-card.featured{ transition:border-color .25s ease, transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, translate .2s linear; }
  html.precios-anim .price-card.featured:not(.is-up){ transition:border-color .25s ease, box-shadow .3s ease; }

  html.precios-anim .price-grid.is-dealt .price-card.featured{
    outline:2px solid transparent;
    animation:pr-wave 1.1s cubic-bezier(.2,.7,.2,1) .05s both;
  }
  @keyframes pr-wave{
    0%  { outline-color:rgba(76,111,255,.95); outline-offset:0; }
    100%{ outline-color:rgba(76,111,255,0);   outline-offset:18px; }
  }
}

.form-flip{ perspective:1600px; }
.form-flip-inner{
  position:relative; transform-style:preserve-3d;
  transition:transform .95s cubic-bezier(.3,1.25,.45,1);
}
.form-flip-inner.is-flipped{ transform:rotateY(180deg); }
.form-flip-inner > form,
.form-back{ backface-visibility:hidden; -webkit-backface-visibility:hidden; }

.form-back{
  position:absolute; inset:0; transform:rotateY(180deg);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  padding:32px; text-align:center;
  background:#000; color:#fff;
  border:1px solid #000; border-radius:var(--radius);
  box-shadow:inset 0 0 0 7px #000, inset 0 0 0 8px rgba(255,255,255,.14), 0 24px 50px -26px rgba(0,0,0,.55);
}
html[data-theme="dark"] .form-back{
  border:1px solid transparent;
  background:
    linear-gradient(#000, #000) padding-box,
    linear-gradient(160deg, rgba(255,255,255,.75) 0%, rgba(76,111,255,.85) 45%, rgba(124,92,255,.55) 75%, rgba(255,255,255,.12) 100%) border-box;
  box-shadow:inset 0 0 0 7px #000, inset 0 0 0 8px rgba(255,255,255,.1), 0 0 50px -10px rgba(76,111,255,.55);
}
.form-back-icon svg{ width:64px; height:64px; display:block; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.form-back-icon circle{ stroke:rgba(76,111,255,.9); stroke-dasharray:151; stroke-dashoffset:151; }
.form-back-icon path{ stroke-dasharray:36; stroke-dashoffset:36; }
.form-flip-inner.is-flipped .form-back-icon circle{ transition:stroke-dashoffset .7s cubic-bezier(.4,0,.2,1) .45s; stroke-dashoffset:0; }
.form-flip-inner.is-flipped .form-back-icon path{ transition:stroke-dashoffset .45s cubic-bezier(.4,0,.2,1) .95s; stroke-dashoffset:0; }
.form-flip-inner.is-flipped .form-back-icon svg{ filter:drop-shadow(0 0 14px rgba(76,111,255,.6)); }

.form-back-title{ font-size:24px; letter-spacing:-.01em; color:#fff; outline:none; }
.form-back-text{ color:rgba(255,255,255,.72); font-size:15px; line-height:1.55; max-width:34ch; }
.form-back-btn{
  margin-top:8px; padding:12px 22px; border-radius:999px; cursor:pointer;
  font:600 14px/1 'Figtree', sans-serif; color:#000; background:#fff; border:1px solid #fff;
  transition:background .2s ease, transform .2s ease;
}
.form-back-btn:hover{ background:#E5E5E5; }
.form-back-btn:active{ transform:scale(.98); }
.form-back-btn:focus-visible{ outline:2px solid #fff; outline-offset:3px; }

@media (prefers-reduced-motion:reduce){
  .form-flip-inner{ transition:none; }
  .form-flip-inner.is-flipped{ transform:none; }
  .form-back{ transform:none; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility 0s .3s; }
  .form-flip-inner.is-flipped .form-back{ opacity:1; visibility:visible; transition:opacity .3s ease; }
  .form-flip-inner.is-flipped > form{ visibility:hidden; }
  .form-back-icon circle, .form-back-icon path{ stroke-dashoffset:0; }
}

.an-chart-area{ position:relative; }
.an-bar{ position:relative; transition-property:height, opacity, filter; transition-duration:.8s, .25s, .25s; }
.an-chart-area.is-hovering .an-bar:not(.is-hot){ opacity:.4; }
.an-bar.is-hot{ filter:brightness(1.12) saturate(1.15); }
.an-bar.is-record{
  background:linear-gradient(to top, #4C6FFF, #A78BFF);
  box-shadow:0 0 18px rgba(124,92,255,.55);
  overflow:hidden;
}
.an-bar.is-record::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, transparent 30%, rgba(255,255,255,.75) 50%, transparent 70%) no-repeat;
  background-size:100% 260%; background-position:0 100%;
  animation:an-bar-sheen 1.2s cubic-bezier(.4,0,.2,1) .15s both;
}
@keyframes an-bar-sheen{ from{ background-position:0 100%; } to{ background-position:0 -160%; } }

.an-tip{
  position:absolute; z-index:3; pointer-events:none; white-space:nowrap;
  display:flex; flex-direction:column; align-items:center; gap:1px;
  padding:7px 11px 8px; border-radius:10px;
  background:#0A0A0A; color:#fff; box-shadow:0 12px 26px -10px rgba(0,0,0,.55);
  opacity:0; transform:translate(-50%, 8px) scale(.85); transform-origin:50% 100%;
  transition:opacity .22s ease, transform .4s cubic-bezier(.3,1.5,.5,1), left .3s cubic-bezier(.2,.7,.2,1), bottom .3s cubic-bezier(.2,.7,.2,1);
}
.an-tip::after{
  content:''; position:absolute; left:50%; bottom:-5px; width:10px; height:10px; margin-left:-5px;
  background:inherit; transform:rotate(45deg); border-radius:2px;
}
.an-tip.is-on{ opacity:1; transform:translate(-50%, 0) scale(1); }
.an-tip b{ font-size:13.5px; font-weight:700; letter-spacing:-.01em; }
.an-tip small{ font-size:10.5px; color:rgba(255,255,255,.6); }
.an-tip-k{ font-size:10px; font-weight:700; color:#A9B8FF; margin-bottom:1px; }
.an-tip.is-record{ background:linear-gradient(135deg, #1B1F3A, #0A0A0A); box-shadow:0 0 0 1px rgba(124,140,255,.45), 0 14px 30px -10px rgba(76,111,255,.6); }

.an-toasts, .an-sat{ display:none; }

@media (min-width:901px) and (min-height:600px) and (prefers-reduced-motion:no-preference){
  html.reportes-anim #reportes .an-stage{ position:relative; transform-style:preserve-3d; }
  html.reportes-anim #reportes .an-chart-card{ position:relative; }
  html.reportes-anim #reportes .an-chart-monto{ margin-bottom:58px; }

  html.reportes-anim .an-toasts{
    display:block; position:absolute; z-index:4; pointer-events:none;
    top:clamp(8px, calc(var(--an-pad-top, 64px) - 52px), 14px); left:clamp(24px, 5vw, 56px);
  }
  .an-toast{
    position:absolute; top:0; left:0; white-space:nowrap;
    display:flex; align-items:center; gap:10px; padding:8px 14px 8px 8px; border-radius:14px;
    background:#0A0A0A; color:#fff;
    box-shadow:0 16px 34px -14px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06);
    opacity:0; transform:translateY(14px) scale(.7); transform-origin:0 100%;
    transition:opacity .3s ease, transform .6s cubic-bezier(.3,1.45,.5,1);
  }
  .an-toast.is-in{ opacity:1; transform:none; }
  .an-toast.is-out{ opacity:0; transform:translateY(-12px) scale(.96); transition:opacity .45s ease, transform .5s ease; }
  .an-toast-icon{
    width:32px; height:32px; border-radius:10px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background:rgba(52,211,153,.16); color:#34D399;
  }
  .an-toast-icon svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .an-toast-txt{ display:flex; flex-direction:column; line-height:1.15; }
  .an-toast-txt small{ font-size:10.5px; color:rgba(255,255,255,.6); }
  .an-toast-txt b{ font-size:14px; color:#34D399; letter-spacing:-.01em; }
  .an-toast-time{ font-size:10.5px; color:rgba(255,255,255,.4); margin-left:4px; }

  .an-mini-monto, .an-chart-monto{ transform-origin:0 60%; }
  .an-mini-monto.is-bump, .an-chart-monto.is-bump{ animation:an-bump .9s cubic-bezier(.3,1.3,.5,1); }
  @keyframes an-bump{
    0%  { transform:scale(1); color:inherit; }
    25% { transform:scale(1.07); color:#16A34A; text-shadow:0 0 18px rgba(52,211,153,.45); }
    100%{ transform:scale(1); }
  }
  html.reportes-anim #reportes .an-meta-fill.is-live{ transition:width .8s cubic-bezier(.3,1.3,.5,1); }

  html.reportes-anim .an-sat{
    display:block; position:absolute; z-index:5; pointer-events:none; opacity:0;
    transform:translateZ(var(--z, 90px));
  }
  .an-sat--clientes{ --z:90px;  top:-28px; left:36%; }
  .an-sat--stock{    --z:130px; bottom:-30px; right:5%; }
  .an-sat-in{
    display:flex; align-items:center; gap:11px; padding:10px 16px 10px 10px; border-radius:14px;
    background:#fff; color:#0A0A0A; white-space:nowrap;
    box-shadow:0 24px 44px -18px rgba(20,20,40,.45), 0 0 0 1px rgba(0,0,0,.05);
    animation:an-float 6s ease-in-out infinite;
  }
  .an-sat--stock .an-sat-in{ animation-delay:-3s; animation-duration:7s; }
  @keyframes an-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }
  .an-sat-icon{ width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .an-sat-icon svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .an-sat--clientes .an-sat-icon{ background:rgba(76,111,255,.12); color:#4C6FFF; }
  .an-sat--stock .an-sat-icon{ background:rgba(245,158,11,.14); color:#D97706; }
  .an-sat-txt{ display:flex; flex-direction:column; line-height:1.2; }
  .an-sat-txt b{ font-size:13.5px; font-weight:700; }
  .an-sat-txt small{ font-size:11.5px; color:#6B6B6B; }
  html[data-theme="dark"] .an-sat-in{ box-shadow:0 24px 44px -16px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.08), 0 0 40px -12px rgba(76,111,255,.35); }
}

@media (prefers-reduced-motion:reduce){
  .an-tip{ transition:opacity .2s ease; }
  .an-bar.is-record::after{ animation:none; }
}

.an-dwell{ display:none; }
.an-pie-pill{ display:none; }

@media (min-width:901px) and (min-height:600px) and (prefers-reduced-motion:no-preference){
  html.reportes-anim #reportes > .wrap{ position:sticky; top:var(--rep-top, 0px); z-index:1; }
  html.reportes-anim #reportes .an-dwell{ display:block; height:calc(55vh / var(--ndz, 1)); }

  html.reportes-anim #reportes .an-pie-card{ position:relative; }
  html.reportes-anim .an-pie-wrap{ perspective:600px; }
  html.reportes-anim .an-pie,
  html.reportes-anim .an-pie-center{ transform-origin:50% 60%; }
  html.reportes-anim .an-pie-shadow{
    display:block; position:absolute; left:10%; right:10%; bottom:-6px; height:22%; z-index:0; pointer-events:none;
    border-radius:50%; background:radial-gradient(closest-side, rgba(40,40,80,.35), transparent);
    opacity:var(--lift, 0); transform:scale(calc(.7 + .35 * var(--lift, 0))); filter:blur(4px);
  }
  html.reportes-anim .an-slice{ cursor:pointer; }
  html.reportes-anim .an-pie-card.is-live .an-slice{
    transition:transform .55s cubic-bezier(.3,1.45,.5,1), opacity .25s ease, stroke-width .3s ease;
  }
  html.reportes-anim .an-pie-card.has-act .an-slice:not(.is-act){ opacity:.35; }
  html.reportes-anim .an-slice.is-act{ stroke-width:7.6; filter:drop-shadow(0 0 1.6px var(--c)); }
  html.reportes-anim .an-slice.is-bump{ animation:an-slice-ping .9s cubic-bezier(.3,1.3,.5,1); }
  @keyframes an-slice-ping{
    0%  { stroke-width:6.5; filter:none; }
    30% { stroke-width:8.4; filter:drop-shadow(0 0 2.4px var(--c)); }
    100%{ stroke-width:6.5; filter:none; }
  }

  html.reportes-anim .an-pie-pill{
    display:block; position:absolute; z-index:3; pointer-events:none; opacity:0;
    transform:translate(-50%, -50%) translateZ(70px);
    padding:3px 8px; border-radius:999px; white-space:nowrap;
    font-size:11px; font-weight:700; color:#fff; background:var(--c);
    box-shadow:0 8px 18px -6px var(--c);
    transition:left .45s cubic-bezier(.3,1.45,.5,1), top .45s cubic-bezier(.3,1.45,.5,1);
  }
  html.reportes-anim .an-pie-card:not(.is-live) .an-pie-pill{ transition:none; }
  html.reportes-anim .an-pie-card.has-act .an-pie-pill:not(.is-act){ opacity:.3 !important; }

  html.reportes-anim .an-pie-center small.an-pie-amt{ color:var(--text); font-weight:700; font-size:11.5px; margin-top:3px; }
  html.reportes-anim .an-pie-legend li{ cursor:default; transition:background .2s ease, opacity .2s ease; }
  html.reportes-anim .an-pie-card.has-act .an-pie-legend li:not(.is-act){ opacity:.45; }
  html.reportes-anim .an-pie-legend li.is-act{ background:#F4F5F9; }
  html.reportes-anim .an-pie-legend li.is-bump{ animation:an-li-ping .9s ease-out; }
  @keyframes an-li-ping{ 0%{ background:rgba(52,211,153,0); } 30%{ background:rgba(52,211,153,.18); } 100%{ background:rgba(52,211,153,0); } }

  .an-sat--pagos{ --z:110px; top:-34px; right:4%; }
  .an-sat-pie{ width:38px; height:38px; flex-shrink:0; overflow:visible; }
  .an-sat-pie .an-pie-track{ stroke:#F1F1F1; stroke-width:7; fill:none; }
  .an-mslice{ fill:none; stroke-width:7; stroke-dasharray:0 100; }
}

.an-tip.is-record{ transform:translate(-20px, 8px) scale(.85); transform-origin:20px 100%; align-items:flex-start; }
.an-tip.is-record.is-on{ transform:translate(-20px, 0) scale(1); }
.an-tip.is-record::after{ left:20px; }
