/* Componentes originales clínicos de planes y add-ons, adaptados a Labs. */
.qz{font-family:'Qurova','DM Sans',sans-serif;font-weight:500;font-size:1.06em;letter-spacing:-.005em;text-transform:lowercase}

.boton{
  display:inline-flex; align-items:center; gap:.45em;
  min-height:44px; padding:11px 20px;
  border-radius:var(--r-boton);
  font-size:15px; font-weight:400; letter-spacing:-.01em;
  background:var(--azul); color:#fff;
  transition:transform .14s var(--sal), background-color .18s ease;
}
.boton:active{ transform:scale(.97) }
@media(hover:hover) and (pointer:fine){
  .boton:hover{ background:var(--azul-alto) }
  .boton:hover .boton__flecha{ transform:translateX(3px) }
}
.boton--fantasma{ background:transparent; color:var(--texto); box-shadow:inset 0 0 0 1px var(--linea) }
@media(hover:hover) and (pointer:fine){
  .boton--fantasma:hover{ background:transparent; box-shadow:inset 0 0 0 1px var(--acento); color:var(--acento) }
}
.boton__flecha{ transition:transform .22s var(--sal) }
.pz{
  
  --sis-surface:#FFFFFF;
  --sis-surface-2:#EEF1F7;
  --sis-ink:#16141C;
  --sis-ink-soft:#6B6878;
  --sis-line:#E4E2EC;
  --sis-azul:var(--azul);
  --sis-azul-soft:#E9EFFF;
  --sis-azul-borde:rgba(10,54,247,.20);

  
  --texto:var(--sis-ink);
  --texto-2:var(--sis-ink-soft);
  --texto-3:var(--sis-ink-soft);
  --linea:var(--sis-line);
  --acento:var(--sis-azul);

  
  --pz-sombra:0 1px 2px rgba(16,20,40,.05), 0 18px 44px -30px rgba(16,20,40,.45);

  position:relative; z-index:3;
  
  background:
    
    linear-gradient(180deg, #FFFFFF 0, rgba(255,255,255,0) clamp(220px,32vh,420px)),
    linear-gradient(0deg,   #FFFFFF 0, rgba(255,255,255,0) clamp(140px,20vh,260px)),
    var(--papel-2);
  color:var(--sis-ink);
  padding:clamp(72px,12vh,140px) 0 clamp(80px,13vh,160px);
  
  isolation:isolate;
}
.pz *,.pz *::before,.pz *::after{ box-sizing:border-box }
.pz-marco{ width:min(1320px,100% - var(--marco) * 2); margin-inline:auto }


.pz-cabeza{ display:grid; justify-items:center; gap:16px; text-align:center; margin-bottom:clamp(34px,5vh,54px) }

.pz-titulo{ max-width:19ch }
.pz-bajada{ max-width:52ch }


.pz-tabs{ display:flex; justify-content:center; margin-bottom:clamp(30px,4.6vh,46px) }
.pz-tabs__pista{
  position:relative; display:inline-block; max-width:100%; padding:5px;
  background:var(--sis-surface); border:1px solid var(--sis-line);
  border-radius:var(--r-boton); box-shadow:var(--pz-sombra);
}
.pz-tabs__grupo{
  position:relative; z-index:1;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
}
.pz-tabs__perla{
  position:absolute; z-index:0; top:5px; bottom:5px; left:0;
  width:var(--pw,120px); border-radius:var(--r-boton);
  transform:translate3d(var(--px,0),0,0);
  transition:transform .46s var(--puerta);
  pointer-events:none;
}
.pz-tabs__perla > i{
  position:absolute; inset:0; display:block; overflow:hidden;
  border-radius:inherit; background:var(--sis-ink);
  transform:scaleY(1);
  transition:transform .34s var(--sal);   
}

.pz-tabs__perla.aplastando > i{ transform:scaleY(.82) scaleX(1.03); transition-duration:.15s }


.pz-tab{ transition:color .18s ease, transform .34s var(--puerta) }
.pz-tab.pulsando{ transform:scale(.938); transition-duration:.09s }

.pz-tab::after{
  content:''; position:absolute; z-index:-1; pointer-events:none;
  left:var(--ox,50%); top:var(--oy,50%);
  width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%;
  background:radial-gradient(circle,rgba(10,54,247,.28),rgba(10,54,247,0) 70%);
  opacity:0; transform:scale(1);
}
.pz-tab.ondeando::after{
  animation:pzOnda .58s cubic-bezier(.23,1,.32,1) forwards;
}
@keyframes pzOnda{
  from{ opacity:.9; transform:scale(1) }
  to  { opacity:0;  transform:scale(11) }
}

.pz-tab[aria-selected="true"]::after{ display:none }
@media (prefers-reduced-motion:reduce){
  .pz-tab,.pz-tab.pulsando{ transform:none; transition:color .18s ease }
  .pz-tab.ondeando::after{ animation:none }
}

.pz-tabs__perla > i::after{
  content:''; position:absolute; inset:-50% -60%;
  background:linear-gradient(100deg,transparent 36%,rgba(255,255,255,.42) 50%,transparent 64%);
  transform:translate3d(-125%,0,0);
}
.pz-tabs__pista.viajando .pz-tabs__perla > i::after{
  transform:translate3d(125%,0,0);
  transition:transform .62s var(--sal);
}
.pz-tab{
  position:relative; isolation:isolate;
  position:relative; z-index:1;
  appearance:none; border:0; background:none; cursor:pointer;
  font:inherit; font-size:15px; font-weight:500; letter-spacing:-.01em;
  color:var(--sis-ink-soft);
  padding:12px clamp(16px,2.4vw,32px); border-radius:var(--r-boton);
  white-space:nowrap; min-height:44px;   
  transition:color .22s ease, transform .16s var(--sal);
}
.pz-tab[aria-selected="true"]{ color:#fff }
.pz-tab:active{ transform:scale(.96) }
@media(hover:hover) and (pointer:fine){
  .pz-tab:not([aria-selected="true"]):hover{ color:var(--sis-ink) }
}
.pz-panel[hidden]{ display:none }

.pz-panel{ animation:pzEntraPanel .42s var(--sal) }
@keyframes pzEntraPanel{ from{ opacity:0; transform:translate3d(0,14px,0) } to{ opacity:1; transform:none } }


.pz-grid{ display:grid; gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch }
@media (max-width:1180px){ .pz-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media (max-width:700px){ .pz-grid{ grid-template-columns:1fr } }


.pz-plan{
  position:relative; display:flex; flex-direction:column;
  background:var(--sis-surface); border:1px solid var(--sis-line);
  border-radius:22px; padding:28px 24px 24px;
  box-shadow:var(--pz-sombra);
  transition:border-color .3s ease;
}

@media(hover:hover) and (pointer:fine){
  .pz-plan:hover{ border-color:var(--sis-azul) }
}
.pz-plan:focus-within{ border-color:var(--sis-azul) }

.pz-plan--destacado{
  border-color:rgba(10,54,247,.34);
  box-shadow:0 1px 2px rgba(16,20,40,.06), 0 40px 80px -40px rgba(10,54,247,.55);
}
.pz-plan--destacado::before{
  content:''; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(10,54,247,.14);
}
.pz-plan-nombre{
  font-size:12px; font-weight:500; letter-spacing:.15em; text-transform:uppercase;
  color:var(--sis-azul); margin:0 0 8px;
}

.pz-plan-nombre .qz{ font-size:1.18em; letter-spacing:-.005em }
.pz-plan-claim{ font-size:14.5px; line-height:1.45; color:var(--sis-ink-soft); margin:0 0 22px; min-height:42px }
.pz-precio{ display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin-bottom:18px }
.pz-precio b{ font-size:clamp(1.9rem,2.4vw,2.3rem); font-weight:500; letter-spacing:-.045em; line-height:1 }
.pz-precio span{ font-size:12.5px; font-weight:400; color:var(--sis-ink-soft) }


.pz-chips{ position:relative; display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px }
.pz-chip{
  display:inline-flex; align-items:center; gap:5px;
  background:var(--sis-surface-2); border:1px solid var(--sis-line);
  border-radius:var(--r-boton); padding:6px 12px;
  font-size:12.5px; font-weight:400; color:var(--sis-ink-soft);
}
.pz-chip b{ color:var(--sis-azul); font-weight:600 }
.pz-feats{ list-style:none; margin:0 0 22px; padding:0; display:grid; gap:11px }
.pz-feats li{ position:relative; padding-left:22px; font-size:14px; line-height:1.45 }
.pz-feats li::before{
  content:'✓'; position:absolute; left:0; top:0;
  color:var(--sis-azul); font-weight:600; font-size:13px;
}
.pz-plan-pie{ margin-top:auto }
.pz-impl{ margin:0 0 12px; font-size:12px; color:var(--sis-ink-soft); text-align:center }
.pz-garantia{
  margin-top:10px; padding:11px 14px; border-radius:12px;
  background:var(--sis-azul-soft); border:1px solid var(--sis-azul-borde);
  color:var(--sis-azul); font-size:12.5px; font-weight:600; text-align:center;
}


.pz-cta{
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; width:100%; justify-content:center; text-align:center;
}
.pz-cta::after{
  content:''; position:absolute; z-index:-1; inset:-60% -70%;
  background:linear-gradient(100deg,transparent 34%,var(--pz-luz,rgba(10,54,247,.16)) 50%,transparent 66%);
  transform:translate3d(-125%,0,0);
  pointer-events:none;
}

.boton.pz-cta:not(.boton--fantasma){ --pz-luz:rgba(255,255,255,.5) }
@media(hover:hover) and (pointer:fine){
  .pz-cta:hover::after{ transform:translate3d(125%,0,0); transition:transform .74s var(--sal) }
}

.pz-cta:focus-visible::after{ transform:translate3d(125%,0,0); transition:transform .74s var(--sal) }


.pz-bloque{ margin-top:clamp(52px,8vh,88px) }
.pz-h2{
  margin:0 0 8px; font-weight:500;
  font-size:var(--t-subtitulo); line-height:1.08; letter-spacing:-.035em;
  color:var(--sis-ink);
}
.pz-h2 .qz{ font-size:1.06em }
.pz-sub{ margin:0 0 24px; max-width:64ch; font-size:var(--t-bajada); line-height:1.47; color:var(--sis-ink-soft) }
.pz-addons{ display:grid; gap:14px; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)) }
.pz-addon{
  display:flex; flex-direction:column;
  background:var(--sis-surface); border:1px solid var(--sis-line);
  border-radius:18px; padding:22px 20px; box-shadow:var(--pz-sombra);
  transition:border-color .3s ease;
}
@media(hover:hover) and (pointer:fine){
  .pz-addon:hover{ border-color:var(--sis-azul) }
}
.pz-addon-tag{
  align-self:flex-start; margin-bottom:14px;
  background:var(--sis-surface-2); border:1px solid var(--sis-line); color:var(--sis-ink-soft);
  font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  padding:5px 11px; border-radius:var(--r-boton);
}

.pz-addon-tag--pack{ background:var(--sis-azul-soft); border-color:rgba(10,54,247,.22); color:var(--sis-azul) }
.pz-addon h4{ margin:0 0 9px; font-size:17px; font-weight:600; letter-spacing:-.025em }
.pz-addon h4 .qz{ font-size:1.1em }
.pz-addon-precio{ display:flex; align-items:baseline; gap:6px; margin-bottom:10px }
.pz-addon-precio b{ font-size:22px; font-weight:500; letter-spacing:-.035em }
.pz-addon-precio span{ font-size:12px; color:var(--sis-ink-soft) }
.pz-addon p{ margin:0; font-size:13.5px; line-height:1.55; color:var(--sis-ink-soft) }

/* La rejilla clínica se adapta a los dos planes de Labs. */
#planes .pz-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin-inline:auto}
#planes .pz-tabs__grupo{grid-template-columns:repeat(2,minmax(0,1fr))}
#planes .pz-plan-nombre{font-size:14px}
#planes .pz-plan-nombre .qz{font-size:1.18em}
#planes .pz-plan-claim{min-height:0}
#planes .pz-bajada{font-size:var(--t-bajada);line-height:1.55;color:var(--sis-ink-soft)}
#planes .pz-feats strong{font-weight:600}
#planes .pz-addon h3{margin:0 0 9px;font-size:17px;font-weight:600;letter-spacing:-.025em;line-height:1.3}
#planes .pz-addon-precio{margin:0 0 10px}
#planes .pz-addon-precio b{color:var(--sis-ink)}
#planes .pz-addon a{margin-top:auto;padding-top:22px;color:var(--sis-azul);font-size:13px}
#planes .pz-panel[hidden]{display:none}
#planes .pz-terms{font-size:12px;line-height:1.7;color:var(--sis-ink-soft);max-width:920px;margin:32px auto 0}
.pz-tabs[hidden]{display:none}
#pzPanelAddons:not([role]){margin-top:64px}
/* Suite: funciones visibles, agrupadas por el trabajo del laboratorio. */
.labs-suite{padding:110px var(--marco);background:var(--lienzo-0);color:white}
.labs-suite .labs-seccion-cab{max-width:830px}
.labs-suite .labs-bajada{color:var(--plata)}
.comercial-etapas{max-width:1120px;margin:100px auto 0;display:grid;gap:100px}
.comercial-etapa{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;align-items:start}
.comercial-etapa>h3{font-size:clamp(2rem,3.6vw,3.25rem);font-weight:500;line-height:1.08;letter-spacing:-.045em;max-width:13ch;text-wrap:balance;color:var(--azul-pal)}
.comercial-roles{display:grid;gap:32px}
.comercial-roles h4{font-size:21px;line-height:1.3;letter-spacing:-.025em;font-weight:500;margin:0 0 9px;color:white}
.comercial-roles p{font-size:17px;line-height:1.65;color:var(--plata);max-width:52ch;margin:0}
.comercial-nota{font-size:14px;line-height:1.65;color:var(--plata);max-width:750px;text-align:center;margin:80px auto 0}
@media(max-width:700px){
 #planes .pz-grid{grid-template-columns:1fr}
 #planes .pz-addons{grid-template-columns:1fr}
 .labs-suite{padding:76px var(--marco)}
 .comercial-etapas{margin-top:60px;gap:64px}
 .comercial-etapa{grid-template-columns:1fr;gap:28px}
 .comercial-etapa>h3{font-size:2.2rem;max-width:16ch}
 .comercial-roles{gap:26px}
 .comercial-roles h4{font-size:20px}
 .comercial-roles p{font-size:16px}
 .comercial-nota{margin-top:52px;text-align:left}
}
@media(prefers-reduced-motion:reduce){.pz *,.pz *::before,.pz *::after{animation:none!important;transition:none!important}.pz-cta::after{display:none}}

#planes .pz-addons{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px;margin-inline:auto}
@media(max-width:1000px){#planes .pz-addons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#planes .pz-addons{grid-template-columns:1fr}}
