/* =====================================================================
   p-empresas.css · /fumigacion-para-empresas-cdmx/
   Efectos firma: «Expediente abierto» (Raptor Lib 21, carpeta en abanico) y «Cinta de
   clientes» (Raptor Lib 23, giros que aceleran con el scroll), re-pintados con los tokens
   «En Vivo». Prefijos: emp- · carpeta/hoja (skill) · cinta (skill).
   Estados iniciales solo bajo .fx: sin JS la carpeta se ve abierta y la cinta, en renglones.
   ===================================================================== */

/* ---------- HERO ---------- */
.emp-hero{position:relative;padding:0 4% 2.4rem}
.emp-hero .shot{aspect-ratio:4/3.3}
.emp-doc{position:absolute;right:0;bottom:0;z-index:2;width:min(250px,58%);padding:1rem 1.05rem 1.1rem;border-radius:16px;background:#fff;color:var(--estudio);box-shadow:0 0 0 1px rgba(1,47,74,.12),0 30px 50px -20px rgba(0,0,0,.6);transform:rotate(3deg)}
.emp-doc-k{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pcd)}
.emp-doc-k img{width:66px;height:auto}
.emp-doc b{display:block;margin:.5rem 0 .6rem;font:400 1.4rem/1 var(--f-display);text-transform:uppercase}
.emp-doc i{display:block;height:7px;border-radius:4px;background:#E2EEF5;margin-top:.42rem}
.emp-doc i:nth-of-type(2){width:80%}.emp-doc i:nth-of-type(3){width:60%}
.emp-doc span{display:flex;align-items:center;gap:.4rem;margin-top:.8rem;font-size:.78rem;font-weight:700}
.emp-doc svg{width:18px;height:18px;fill:none;stroke:var(--magenta);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.emp-sello{position:absolute;left:0;top:8%;z-index:2;display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem .6rem .6rem;border-radius:16px;background:var(--estudio);box-shadow:inset 0 0 0 1.5px var(--cian),0 20px 40px -18px rgba(0,0,0,.7);transform:rotate(-3deg)}
.emp-sello i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--cian);color:var(--estudio)}
.emp-sello i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.emp-sello b{display:block;font:400 1.15rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.emp-sello small{display:block;font-size:.74rem;color:var(--niebla)}
@media (prefers-reduced-motion:no-preference){.fx .emp-sello{animation:empFlota 5s ease-in-out infinite}.fx .emp-doc{animation:empFlota 6s ease-in-out -2s infinite reverse}}
@keyframes empFlota{0%,100%{translate:0 0}50%{translate:0 -8px}}

/* ---------- programa vs fumigación suelta ---------- */
.emp-porque{margin-top:clamp(2.4rem,5vw,4rem)}
.emp-porque .prose{max-width:none}

/* ---------- EXPEDIENTE ABIERTO (carpeta en abanico) ---------- */
:where(.carpeta){
  --cp-hoja:#fff;--cp-linea:#DCE8EF;--cp-borde:rgba(255,255,255,.14);
  --cp-carpeta:var(--pcd);--cp-carpeta-atras:#0A75AE;--cp-acento:var(--cian);--cp-acento-hoja:var(--magenta);
  --cp-acento-texto:#C8103A;--cp-ok:var(--cian);--cp-paso:12deg;--cp-centro:2.5
}
.emp-exp-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.emp-exp-top .head{margin-bottom:0}
.emp-iso{display:flex;align-items:center;gap:1rem;margin-top:1.4rem;padding:1rem 1.2rem;border-radius:20px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1.5px rgba(37,244,238,.45)}
.emp-iso>span{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--cian);color:var(--estudio);flex:none}
.emp-iso>span svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.emp-iso b{display:block;font:400 1.4rem/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.emp-iso small{display:block;font-size:.92rem;color:var(--niebla)}
.carpeta{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.carpeta__fan{position:relative;z-index:1;aspect-ratio:6/4.8;container-type:inline-size}
.carpeta__atras{position:absolute;left:14%;right:14%;bottom:6%;height:52%;border-radius:12px 12px 10px 10px;background:var(--cp-carpeta-atras)}
.carpeta__atras::before{content:"";position:absolute;left:0;top:-18px;width:36%;height:22px;border-radius:10px 10px 0 0;background:var(--cp-carpeta-atras)}
.carpeta__frente{position:absolute;z-index:40;left:12%;right:12%;bottom:4%;height:32%;padding:5% 6%;border-radius:10px;background:var(--cp-carpeta);color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 -10px 30px -10px rgba(0,17,29,.6)}
.carpeta__frente::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:10px 10px 0 0;background:var(--cp-acento)}
.carpeta__frente b{font:400 clamp(.95rem,3.6cqw,1.6rem)/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.carpeta__frente small{display:flex;justify-content:space-between;gap:1rem;font:600 clamp(.5rem,1.7cqw,.68rem)/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--bruma)}
.carpeta__frente img{position:absolute;right:6%;top:18%;width:16%;height:auto}
.hoja{position:absolute;left:35%;bottom:17%;width:30%;aspect-ratio:3/4;padding:6% 7%;border-radius:7px;background:var(--cp-hoja);border:1px solid var(--cp-linea);color:var(--estudio);cursor:pointer;
  transform-origin:50% 150%;transform:rotate(calc((var(--i) - var(--cp-centro)) * var(--cp-paso)));z-index:calc(var(--i) + 1);
  transition:transform 1.1s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .4s;box-shadow:0 8px 20px -12px rgba(0,0,0,.55)}
.fx .carpeta__fan:not(.open) .hoja{transform:rotate(calc((var(--i) - var(--cp-centro)) * 1deg))}
.carpeta__fan.open .hoja{transition-delay:calc(var(--i) * 45ms)}
.carpeta__fan .hoja.is-act{transform:rotate(calc((var(--i) - var(--cp-centro)) * var(--cp-paso))) translateY(-14%);z-index:30;border-color:var(--cp-acento-hoja);box-shadow:0 26px 40px -18px rgba(0,0,0,.7);transition-delay:0s}
.hoja__n{display:flex;justify-content:space-between;align-items:center;font:700 clamp(.5rem,1.9cqw,.74rem)/1 var(--f-body);letter-spacing:.1em;color:var(--cp-acento-texto)}
.hoja__n i{width:22%;height:4px;border-radius:2px;background:var(--cp-acento-hoja)}
.hoja__t{margin-top:8%;font:400 clamp(.6rem,2.7cqw,1.1rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.hoja__ln{display:block;height:3px;margin-top:7%;border-radius:2px;background:var(--cp-linea)}
.hoja__ln.s{width:62%}.hoja__ln.m{width:80%}
.hoja__sello{position:absolute;right:9%;bottom:7%;width:26%;aspect-ratio:1;border:1.5px solid var(--cp-acento-hoja);border-radius:50%;opacity:.85}
.hoja__sello::after{content:"";position:absolute;inset:22%;border:1px dashed var(--cp-acento-hoja);border-radius:50%}
.hoja__croq{display:block;margin-top:9%;height:42%;border-radius:4px;background:linear-gradient(var(--cp-linea) 1px,transparent 1px) 0 0/22% 25%,linear-gradient(90deg,var(--cp-linea) 1px,transparent 1px) 0 0/22% 25%;box-shadow:inset 0 0 0 1.5px #9FB8C7;position:relative}
.hoja__croq::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 28%,var(--cp-acento-hoja) 0 6%,transparent 7%),radial-gradient(circle at 78% 22%,var(--cp-acento-hoja) 0 6%,transparent 7%),radial-gradient(circle at 70% 78%,var(--cp-acento-hoja) 0 6%,transparent 7%),radial-gradient(circle at 26% 74%,var(--cp-acento-hoja) 0 6%,transparent 7%)}
.hoja__esc{display:grid;place-items:center;margin:10% auto 0;width:44%;aspect-ratio:1;border-radius:22%;background:var(--estudio);color:var(--cian)}
.hoja__esc svg{width:62%;height:62%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.carpeta__lista{position:relative;z-index:2;margin:0;padding:0;list-style:none;border-top:1px solid var(--cp-borde)}
.carpeta__fila{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr) 26px;align-items:center;gap:.9rem;width:100%;padding:.85rem .6rem .85rem 0;border:0;border-bottom:1px solid var(--cp-borde);background:transparent;color:#fff;text-align:left;font:inherit;cursor:pointer;
  transition:background-color .3s,color .3s,padding .45s cubic-bezier(.22,1,.36,1);border-radius:0}
.carpeta__fila::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:4px;background:var(--magenta);transform:scaleY(0);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.carpeta__fila.is-act{background:#fff;color:var(--estudio);padding-left:.9rem}
.carpeta__fila.is-act::before{transform:scaleY(1)}
.carpeta__fila:focus-visible{outline:3px solid var(--cian);outline-offset:-3px}
.carpeta__fila .n{white-space:nowrap;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--niebla)}
.carpeta__fila.is-act .n{color:var(--cp-acento-texto)}
.carpeta__fila strong{display:block;font:400 1.3rem/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.carpeta__fila small{display:block;margin-top:.25rem;font-size:.88rem;line-height:1.45;color:var(--niebla)}
.carpeta__fila.is-act small{color:var(--gris)}
.carpeta__fila svg{width:24px;height:24px;fill:none;stroke:var(--cp-ok);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.carpeta__fila svg circle{stroke:rgba(255,255,255,.25);stroke-width:1.5}
.carpeta__fila.is-act svg{stroke:var(--magenta)}
.carpeta__fila.is-act svg circle{stroke:#D5E2EA}
.emp-exp-pie{margin-top:1.4rem}
@media (prefers-reduced-motion:reduce){.hoja,.carpeta__fila,.carpeta__fila::before{transition:none!important}}

/* ---------- CINTA DE CLIENTES (giros) ---------- */
:where(.cinta){
  --ci-texto:var(--estudio);--ci-contorno:rgba(1,47,74,.58);--ci-hover:var(--magenta);
  --ci-tamano:clamp(2.8rem,7.4vw,6.8rem);--ci-hueco:clamp(1.2rem,2.8vw,2.6rem);--ci-fade:7%
}
.emp-cinta{margin:clamp(1.6rem,3vw,2.4rem) 0 clamp(2.4rem,5vw,4rem)}
.cinta{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--ci-fade),#000 calc(100% - var(--ci-fade)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--ci-fade),#000 calc(100% - var(--ci-fade)),transparent)}
.cinta+.cinta{margin-top:.2rem}
.cinta__track{display:flex;width:max-content;will-change:transform}
.cinta__set{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.cinta__set>*{display:inline-flex;align-items:center;gap:var(--ci-hueco);padding-right:var(--ci-hueco);font:400 var(--ci-tamano)/1.06 var(--f-display);text-transform:uppercase;white-space:nowrap;letter-spacing:.005em;color:var(--ci-texto);transition:color .35s,-webkit-text-stroke-color .35s}
.cinta__set>*::after{content:"";width:.42em;height:.42em;flex:none;background:url("../img/pcd-isotipo.svg") center/contain no-repeat}
.cinta__set>.o{color:transparent;-webkit-text-stroke:1.6px var(--ci-contorno)}
@media (hover:hover){.cinta__set>*:hover{color:var(--ci-hover);-webkit-text-stroke-color:var(--ci-hover)}}
.cinta-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cinta:not(.cinta--viva){-webkit-mask-image:none;mask-image:none}
.cinta:not(.cinta--viva) .cinta__track{width:auto}
.cinta:not(.cinta--viva) .cinta__set{flex-wrap:wrap;justify-content:center;padding-inline:1rem}
.cinta:not(.cinta--viva) .cinta__set>*{font-size:clamp(1.8rem,4vw,3.2rem)}
.cinta:not(.cinta--viva)+.cinta:not(.cinta--viva){display:none}

/* ---------- giros ---------- */
.emp-giros{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}
.emp-giro{display:flex;flex-direction:column;gap:.7rem;padding:1.5rem 1.5rem 1.6rem;border-radius:24px;background:var(--hielo);box-shadow:inset 0 0 0 1px rgba(1,47,74,.08);transition:transform .45s var(--ease)}
.emp-giro:hover{transform:translateY(-4px)}
.emp-giro>svg{width:40px;height:40px;fill:none;stroke:var(--pcd);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.emp-giro h3{font-size:clamp(1.55rem,2vw,1.85rem);color:var(--estudio)}
.emp-giro p{font-size:.97rem;line-height:1.58;color:var(--gris)}
.emp-giro .emp-pide{margin-top:auto;padding:.8rem .9rem;border-radius:14px;background:#fff;font-size:.9rem;color:var(--estudio)}
.emp-giro .emp-pide b{display:block;margin-bottom:.2rem;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta)}
.emp-giro .lnk{font-size:.92rem;align-self:flex-start}

/* ---------- programa paso a paso ---------- */
.emp-pasos{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;counter-reset:p}
.emp-paso{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:1.4rem 1.4rem 1.5rem;border-radius:24px;background:rgba(0,27,46,.34);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);overflow:hidden}
.emp-paso::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--cian),var(--magenta));transform-origin:0 50%}
.emp-paso b{font:400 3.2rem/.85 var(--f-display);color:var(--cian)}
.emp-paso h3{font-size:clamp(1.55rem,2.1vw,1.9rem)}
.emp-paso p{font-size:.97rem;line-height:1.55;color:var(--bruma)}
.fx .emp-paso::before{transform:scaleX(0);transition:transform 1.2s var(--ease) calc(var(--d,0) * 1ms + .25s)}
.fx .emp-paso.is-in::before{transform:none}
.emp-oper{margin-top:clamp(2.6rem,5vw,4rem)}
.emp-turnos{padding:1.4rem;border-radius:26px;background:var(--estudio);box-shadow:0 30px 60px -36px rgba(0,0,0,.7)}
.emp-turnos h3{font-size:clamp(1.5rem,2vw,1.8rem);margin-bottom:.3rem}
.emp-turnos>p{font-size:.86rem;color:var(--niebla)}
.emp-dia{position:relative;margin:1.6rem 0 .6rem;height:62px;border-radius:14px;background:rgba(255,255,255,.06);overflow:hidden}
.emp-dia span{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center;line-height:1.1}
.emp-dia .op{left:calc(100% * 8 / 24);width:calc(100% * 14 / 24);background:repeating-linear-gradient(135deg,rgba(255,255,255,.1) 0 6px,transparent 6px 12px),rgba(255,255,255,.08);color:var(--bruma)}
.emp-dia .sv{left:calc(100% * 22.5 / 24);width:calc(100% * 1.5 / 24);background:var(--magenta);color:#fff}
.emp-dia .sv2{left:0;width:calc(100% * 4 / 24);background:var(--magenta);color:#fff}
.emp-horas{display:flex;justify-content:space-between;font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--niebla)}
.emp-ley{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1rem;font-size:.82rem;color:var(--bruma)}
.emp-ley i{display:inline-block;width:12px;height:12px;margin-right:.4rem;border-radius:4px;vertical-align:-1px;background:var(--c)}
.fx .emp-turnos .sv,.fx .emp-turnos .sv2{transform:scaleX(0);transition:transform 1s var(--ease) .4s}
.fx .emp-turnos .sv{transform-origin:0 50%}.fx .emp-turnos .sv2{transform-origin:0 50%;transition-delay:.9s}
.fx .emp-turnos.is-in .sv,.fx .emp-turnos.is-in .sv2{transform:none}

/* ---------- video ---------- */
.emp-hallazgos{margin-top:.4rem}
.vid-side .emp-hallazgos li{justify-content:flex-start;padding-bottom:0;border-bottom:0;font-size:.98rem}

/* ---------- cierre ---------- */
.emp-certlink{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.2rem;align-items:center;margin-top:1.4rem;padding:1.3rem 1.5rem;border-radius:24px;background:#fff;color:var(--estudio);text-decoration:none;box-shadow:0 30px 60px -36px rgba(0,0,0,.7);transition:transform .45s var(--ease)}
.emp-certlink:hover{transform:translateY(-3px)}
.emp-certlink>span:first-child{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--magenta);color:#fff}
.emp-certlink>span:first-child svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.emp-certlink b{display:block;font:400 clamp(1.4rem,2.2vw,1.9rem)/1 var(--f-display);text-transform:uppercase}
.emp-certlink small{display:block;margin-top:.3rem;font-size:.92rem;color:var(--gris)}
.emp-certlink>svg{width:26px;height:26px;fill:none;stroke:var(--magenta);stroke-width:2}
.emp-mas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
.emp-fin{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:2rem;align-items:center;margin-top:clamp(2.6rem,5vw,4rem);padding:clamp(1.6rem,3vw,2.6rem);border-radius:32px;background:var(--estudio);box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.emp-fin p{font:400 clamp(1.8rem,3vw,2.8rem)/1.02 var(--f-display);text-transform:uppercase;max-width:22ch}
.emp-fin small{display:block;margin-top:.7rem;font:600 .82rem/1.3 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--niebla)}
.emp-fin .ctas{margin-top:0}

/* ---------- responsivo ---------- */
@media (max-width:1023px){
  .phero-grid{grid-template-columns:minmax(0,1fr)}
  .emp-hero{max-width:560px;margin-inline:auto}
  .emp-exp-top{grid-template-columns:1fr}
  .emp-pasos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .emp-fin{grid-template-columns:1fr}
}
@media (max-width:900px){
  .carpeta{grid-template-columns:1fr}
  .carpeta__fan{max-width:520px;width:100%;margin-inline:auto}
}
@media (max-width:640px){
  .emp-pasos{grid-template-columns:1fr}
  .carpeta__fila{grid-template-columns:50px minmax(0,1fr) 22px;gap:.7rem}
  .carpeta__fila strong{font-size:1.15rem}
  .emp-certlink{grid-template-columns:auto minmax(0,1fr)}
  .emp-certlink>svg{display:none}
  .emp-dia span{font-size:.6rem;letter-spacing:.04em}
  :where(.cinta){--ci-fade:5%}
}
