/* Acto prueba: escala operativa · bento vivo (ref Motionsites autonomous-ops) */
.ops{
  --ops-in:0;
  --ops-scroll:0;
  position:relative;z-index:3;
  margin-top:0;padding:0;
  overflow:hidden;
  color:var(--charcoal,#f2f3f4);
  /* Corte limpio: sin degradado encima del vídeo de #que-es */
  background:var(--mist,#0c0e11);
}
[data-theme="light"] .ops{
  background:var(--mist,#eceae8);
}
.ops__in{
  width:min(1120px, 100% - 64px);
  margin:0 auto;
  padding:clamp(40px, 6vh, 72px) 0 clamp(88px, 12vh, 140px);
}
.ops__head{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr);
  gap:clamp(24px, 4vw, 56px);
  align-items:end;
  margin-bottom:clamp(28px, 4vh, 48px);
  will-change:transform;
}
.ops__title{
  margin:0;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
  gap:clamp(10px, 1.4vh, 14px);
  max-width:22ch;
  font:650 clamp(28px, 4vw, 48px)/1.1em "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.035em;
  color:var(--charcoal,#f2f3f4);
}
.ops__title::before{
  content:"";display:block;height:2px;background:var(--orange,#FF6600);
  width:0;
}
.ops__title.is-shutter::before{
  animation:holdMarkDraw .55s cubic-bezier(.16,1,.3,1) forwards;
}
.ops__title .hold__shutter-line{
  justify-content:flex-start;
}
.ops__title .hold__shutter-word{
  display:inline-flex;flex-wrap:nowrap;align-items:center;
}
.ops__title .hold__shutter-line--lead{
  font:650 12px/1 "Geist Sans",Geist,system-ui,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange,#FF6600);
}
.ops__title .hold__shutter-line--main{
  font:650 clamp(28px, 4vw, 48px)/1.1em "Geist Sans",Geist,system-ui,sans-serif;
  letter-spacing:-.035em;
  color:var(--charcoal,#f2f3f4);
  flex-wrap:wrap;
  max-width:100%;
  align-content:flex-start;
  row-gap:.08em;
}
.ops__title .hold__shutter-line--main .hold__shutter-char{
  padding:.06em .012em .12em;
  line-height:1.1em;
}
.ops__title.is-shutter .hold__shutter-base{
  opacity:0;filter:blur(10px);transform:translateY(16px);
  animation:holdShutterBase .55s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 40ms)
}
.ops__title.is-shutter .hold__shutter-slice--top{
  animation:holdShutterSweepR .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms)
}
.ops__title.is-shutter .hold__shutter-slice--mid{
  animation:holdShutterSweepL .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 40ms)
}
.ops__title.is-shutter .hold__shutter-slice--bot{
  animation:holdShutterSweepR .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 80ms)
}
.ops__lead{
  margin:0 0 20px;
  max-width:42ch;
  font:400 16px/1.55 "Geist Sans",system-ui,sans-serif;
  color:var(--muted,rgba(242,243,244,.68));
}
.ops__grid{
  list-style:none;margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:12px;
}
.ops__card{
  position:relative;
  display:flex;flex-direction:column;
  min-height:248px;
  border:1px solid var(--border,rgba(255,233,218,.14));
  border-radius:18px;
  background:var(--card,#161a20);
  box-shadow:
    0 1px 2px rgba(0,0,0,.2),
    0 10px 28px rgba(0,0,0,.28);
  overflow:hidden;
  isolation:isolate;
  transition:
    border-color .35s ease,
    box-shadow .35s cubic-bezier(.16,1,.3,1);
  will-change:transform, opacity;
}
.ops__card.is-ready:hover{
  border-color:rgba(255,102,0,.35);
  box-shadow:
    0 1px 2px rgba(0,0,0,.25),
    0 18px 40px rgba(255,102,0,.16),
    0 0 0 1px rgba(255,102,0,.08);
}
.ops__card.is-ready:hover .ops__panel{
  transform:translateY(-3px);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.ops__card--lg{grid-column:span 4}
.ops__card--sm{grid-column:span 2}
.ops__card--md{grid-column:span 3}

.ops__panel{
  position:relative;
  flex:1;
  margin:12px 12px 0;
  border-radius:14px 14px 12px 12px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  min-height:132px;
  background:var(--card-panel,
    radial-gradient(circle at 50% 80%, rgba(255,136,64,.14), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,136,64,.06)));
}
.ops__body{padding:14px 20px 20px}
.ops__card h3{
  margin:0;
  font:650 16px/1.25 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.02em;
  color:var(--charcoal,#f2f3f4);
}
.ops__card p{
  margin:6px 0 0;
  font:400 13.5px/1.45 "Geist Sans",system-ui,sans-serif;
  color:var(--muted,rgba(242,243,244,.68));
}

.ops__live{
  position:absolute;top:12px;left:14px;
  display:inline-flex;align-items:center;gap:6px;
  font:650 10px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-2,rgba(242,243,244,.48));
}
.ops__live i{
  width:7px;height:7px;border-radius:50%;
  background:var(--orange,#FF6600);
  box-shadow:0 0 0 0 rgba(255,102,0,.45);
  animation:opsPulse 1.8s ease-out infinite;
}
@keyframes opsPulse{
  0%{box-shadow:0 0 0 0 rgba(255,102,0,.45)}
  70%{box-shadow:0 0 0 10px rgba(255,102,0,0)}
  100%{box-shadow:0 0 0 0 rgba(255,102,0,0)}
}

.ops__stat{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:6px;width:100%;max-width:420px;
  padding:8px 18px;
}
.ops__stat--overlay{
  align-items:flex-start;justify-content:center;height:100%;
  z-index:4; /* por encima de tags flotantes */
  max-width:58%;
}
.ops__num{
  margin:0;
  font:650 clamp(40px, 6vw, 64px)/.95 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.045em;font-variant-numeric:tabular-nums;
  color:var(--charcoal,#f2f3f4);
}
.ops__num span{color:var(--orange,#FF6600)}
.ops__cap{
  position:relative;z-index:1;
  margin:0;
  font:500 11px/1.3 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted-2,rgba(242,243,244,.48));
}

/* Radar inmuebles */
.ops__radar{
  position:absolute;inset:0;
  display:grid;place-items:center;
  pointer-events:none;
}
.ops__radar-ring{
  position:absolute;width:78%;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,102,0,.18);
}
.ops__radar-ring--2{width:52%;border-color:rgba(255,102,0,.28)}
.ops__radar-sweep{
  position:absolute;width:78%;aspect-ratio:1;border-radius:50%;
  background:conic-gradient(from 0deg, rgba(255,102,0,.0), rgba(255,102,0,.28) 18%, transparent 22%);
  animation:opsRadarSpin 3.6s linear infinite;
  mask-image:radial-gradient(circle, transparent 28%, #000 29%);
}
.ops__radar-dot{
  position:absolute;left:var(--x);top:var(--y);
  width:7px;height:7px;border-radius:50%;
  background:var(--orange,#FF6600);
  box-shadow:0 0 0 0 rgba(255,102,0,.4);
  animation:opsDotBlink 2.4s ease-in-out infinite;
  animation-delay:calc(var(--x) * .02s);
}
@keyframes opsRadarSpin{to{transform:rotate(360deg)}}
@keyframes opsDotBlink{
  0%,100%{opacity:.35;transform:scale(.85);box-shadow:0 0 0 0 rgba(255,102,0,.35)}
  50%{opacity:1;transform:scale(1);box-shadow:0 0 0 6px rgba(255,102,0,0)}
}

/* Meter rows visitas/reuniones */
.ops__stack{
  width:100%;max-width:300px;display:flex;flex-direction:column;gap:8px;
  padding:0 10px;position:relative;z-index:2;
}
.ops__stack b{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(255,255,255,.04);
  font:600 12px/1.2 "Geist Sans",system-ui,sans-serif;
  color:var(--charcoal,#f2f3f4);
  transition:border-color .35s ease, box-shadow .35s ease;
}
[data-theme="light"] .ops__stack b{
  border-color:rgba(26,27,29,.08);
  background:rgba(255,255,255,.85);
}
.ops__stack b span{grid-column:1}
.ops__stack b em{
  grid-column:2;
  font-style:normal;font-variant-numeric:tabular-nums;
  color:var(--orange,#FF6600);
}
.ops__meter{
  grid-column:1 / -1;
  display:block;height:3px;border-radius:999px;
  background:rgba(255,255,255,.12);
  position:relative;overflow:hidden;
}
[data-theme="light"] .ops__meter{background:rgba(26,27,29,.08)}
.ops__meter::after{
  content:"";position:absolute;inset:0 auto 0 0;width:var(--p, 50%);
  border-radius:inherit;background:var(--orange,#FF6600);
  transform-origin:left center;
  box-shadow:0 0 8px rgba(255,102,0,.35);
}
.ops__stack b.is-hot{
  border-color:rgba(255,102,0,.35);
  box-shadow:0 0 0 1px rgba(255,102,0,.08);
}

/* Legal dossiers + floating tags */
.ops__dossiers{
  position:absolute;right:14px;top:18px;width:72px;height:78px;
}
.ops__dossiers i{
  position:absolute;inset:0;
  border-radius:8px;
  border:1px solid rgba(255,102,0,.22);
  background:linear-gradient(165deg, #fff, #fff3ea);
  box-shadow:0 6px 14px rgba(44,35,29,.08);
}
.ops__dossiers i:nth-child(1){transform:translate(10px,-6px) rotate(6deg)}
.ops__dossiers i:nth-child(2){transform:translate(4px,-2px) rotate(2deg)}
.ops__dossiers i:nth-child(3){transform:none}
.ops__tag{
  position:absolute;z-index:1; /* detrás del stat 90 / LEGAL MATTERS */
  padding:5px 9px;border-radius:999px;
  background:rgba(22,26,32,.92);
  border:1px solid rgba(255,255,255,.12);
  font:650 10px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.02em;color:var(--charcoal,#f2f3f4);
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  pointer-events:none;
}
[data-theme="light"] .ops__tag{
  background:rgba(255,255,255,.95);
  border-color:rgba(26,27,29,.08);
  color:#1a1b1d;
  box-shadow:0 4px 12px rgba(44,35,29,.08);
}
/* Columna derecha: no invaden el bloque numérico de la izquierda */
.ops__tag--a{top:16%;right:8%;left:auto}
.ops__tag--b{top:48%;right:14%;left:auto;bottom:auto}
.ops__tag--c{bottom:16%;right:6%;left:auto}

.ops__areas{
  width:100%;max-width:300px;
  display:flex;flex-direction:column;gap:8px;
  padding:0 10px;position:relative;z-index:2;
}
.ops__areas b{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.04);
  font:650 12px/1.2 "Geist Sans",system-ui,sans-serif;
  color:var(--charcoal,#f2f3f4);
  transition:border-color .35s ease, background .35s ease, box-shadow .35s ease, transform .35s ease;
}
.ops__areas b em{
  font-style:normal;font-weight:500;
  font-size:10px;letter-spacing:.02em;
  color:var(--muted-2,rgba(242,243,244,.48));
  text-align:right;
}
.ops__areas b.is-on{
  border-color:rgba(255,102,0,.4);
  background:rgba(255,102,0,.14);
  box-shadow:0 0 0 1px rgba(255,102,0,.1);
}
.ops__areas b.is-on span{color:var(--orange,#FF6600)}
.ops__areas b.is-on em{color:rgba(255,102,0,.85)}
[data-theme="light"] .ops__areas b{
  border-color:rgba(26,27,29,.08);
  background:rgba(255,255,255,.85);
  color:#1a1b1d;
}
[data-theme="light"] .ops__areas b em{color:rgba(26,27,29,.5)}
[data-theme="light"] .ops__areas b.is-on{
  border-color:rgba(255,102,0,.35);
  background:rgba(255,102,0,.1);
}

.ops__bars{
  display:flex;align-items:flex-end;gap:3px;
  width:100%;height:72px;max-width:300px;
  padding:0 8px;
}
.ops__bars i{
  flex:1;border-radius:999px;
  background:rgba(255,219,196,.64);
  transform-origin:bottom;
  height:var(--h, 40%);
  min-height:8%;
}
.ops__bars i.is-hot{
  background:var(--orange,#FF6600);
  box-shadow:0 0 10px rgba(255,102,0,.28);
}

.ops__flow{
  position:absolute;inset:auto 0 0;height:46%;
  pointer-events:none;opacity:.9;z-index:0;
}
.ops__card--lg .ops__stat,
.ops__card--lg .ops__live{z-index:3}

/* Entrada: oculto hasta la coreografía (autonomous-ops) */
.ops.is-pending .ops__card{opacity:0;transform:translate3d(0,32px,0) scale(.97)}
.ops.is-pending .ops__lead,
.ops.is-pending .ops__cta{opacity:0;transform:translateY(14px)}
.ops.is-pending .ops__title:not(.is-shutter) .hold__shutter-base{opacity:0}

@media (max-width:980px){
  .ops__head{grid-template-columns:1fr}
  .ops__grid{grid-template-columns:repeat(2, 1fr)}
  .ops__card--lg,.ops__card--sm,.ops__card--md{grid-column:span 2}
}
@media (max-width:609px){
  /* Separación clara tras el pin sticky de #que-es. */
  .ops{
    margin-top:0;
    padding-top:clamp(48px, 8vh, 72px);
    /* Fondo opaco: evita “fantasmas” del pin al soltar el sticky. */
    background:var(--mist,#0c0e11);
    isolation:isolate;
  }
  .ops__in{
    width:calc(100% - 40px);
    padding:12px 0 max(120px, env(safe-area-inset-bottom, 0px) + 96px);
  }
  .ops__head{
    margin-bottom:clamp(22px, 4vh, 36px);
    gap:18px;
    will-change:auto;
  }
  .ops__grid{grid-template-columns:1fr;gap:14px}
  .ops__card--lg,.ops__card--sm,.ops__card--md{grid-column:span 1}
  .ops__card{
    min-height:auto;
    padding:22px 18px;
    will-change:auto;
  }
  .ops__card.is-ready:hover{transform:none}
  .ops__title .hold__shutter-line--main{
    font-size:clamp(26px, 7.4vw, 36px);
    letter-spacing:-.04em;
    line-height:1.08;
  }
  .ops__lead{font-size:15px;max-width:36ch;margin-bottom:16px}
  .ops__cta{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .ops.is-pending .ops__card,
  .ops.is-pending .ops__lead,
  .ops.is-pending .ops__cta{opacity:1;transform:none}
  .ops__live i,
  .ops__radar-sweep,
  .ops__radar-dot{animation:none}
  .ops__card,.ops__cta,.ops__areas b,.ops__stack b{transition:none}
  .ops__card.is-ready:hover{transform:none}
  .ops__title.is-shutter .hold__shutter-base,
  .ops__title.is-shutter .hold__shutter-slice{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}
  .ops__title::before{width:48px}
}
