/* ============================ Header / navegación ============================ */
.site-header{
  position:sticky;top:0;z-index:120;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--gris-200);
  transition:box-shadow var(--transicion);
}
.site-header[data-scrolled="true"]{box-shadow:var(--sombra-suave)}
.site-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-5);min-height:var(--header-h);
}
.marca{display:flex;align-items:center;gap:var(--sp-3);flex:none}
.marca__logo{height:42px;width:auto}
@media (max-width:420px){.marca__logo{height:34px}}

.nav-principal{display:none}
@media (min-width:1024px){.nav-principal{display:flex;flex:1;justify-content:center}}
.header-acciones{display:flex;align-items:center;gap:var(--sp-4);flex:none}

.nav__lista{display:flex;align-items:center;gap:var(--sp-6)}
.nav__enlace{
  position:relative;display:inline-block;
  font-family:var(--fuente-titulo);font-size:.82rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gris-700);
  padding:8px 0;transition:color var(--transicion);
}
.nav__enlace::after{
  content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;
  background:var(--acento);transition:right var(--transicion);
}
.nav__enlace:hover,.nav__enlace[aria-current="page"]{color:var(--negro)}
.nav__enlace:hover::after,.nav__enlace[aria-current="page"]::after{right:0}
.header-acciones .nav__cta{display:none}
@media (min-width:1024px){.header-acciones .nav__cta{display:inline-flex}}

.nav-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-width:48px;min-height:48px;padding:0 12px;background:none;border:0;
  cursor:pointer;font-family:var(--fuente-titulo);letter-spacing:.12em;
  text-transform:uppercase;font-size:.78rem;font-weight:600;
}
.nav-toggle__barras{display:grid;gap:5px;width:24px}
.nav-toggle__barras span{height:2px;background:var(--negro);transition:transform var(--transicion),opacity var(--transicion)}
.nav-toggle[aria-expanded="true"] .nav-toggle__barras span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__barras span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__barras span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (min-width:1024px){.nav-toggle{display:none}}

.nav-panel{
  display:none;position:absolute;left:0;right:0;top:100%;
  background:#fff;border-bottom:1px solid var(--gris-200);
  box-shadow:var(--sombra-suave);padding:var(--sp-5);
}
.nav-panel[data-abierto="true"]{display:block;animation:panel-in 200ms ease-out}
.nav-panel__lista{display:grid;gap:2px}
.nav-panel__lista a{
  display:block;padding:14px 8px;font-family:var(--fuente-titulo);
  text-transform:uppercase;letter-spacing:.12em;font-size:.9rem;
  border-bottom:1px solid var(--gris-100);
}
.nav-panel__lista a[aria-current="page"]{color:var(--acento)}
.nav-panel .btn{margin-top:var(--sp-5);width:100%}
@keyframes panel-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (min-width:1024px){.nav-panel{display:none!important}}

/* ================================= Botones ================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--fuente-titulo);font-weight:600;font-size:.85rem;
  letter-spacing:.08em;text-transform:uppercase;line-height:1;
  padding:16px 28px;min-height:48px;border:1px solid transparent;
  border-radius:var(--r-sm);cursor:pointer;text-align:center;
  transition:transform var(--transicion),background var(--transicion),color var(--transicion),border-color var(--transicion);
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn__icono{width:18px;height:18px;flex:none}
.btn--primario{background:var(--cian-oscuro);color:#fff}
.btn--primario:hover{background:var(--cian);color:var(--negro)}
.btn--acento{background:var(--cian-oscuro);color:#fff}
.btn--acento:hover{background:var(--cian);color:var(--negro)}
.btn--claro{background:transparent;color:var(--negro);border-color:var(--gris-300)}
.btn--claro:hover{border-color:var(--negro);background:var(--negro);color:#fff}
.btn--inverso{background:#fff;color:var(--negro)}
.btn--inverso:hover{background:var(--gris-100);color:var(--negro)}
.btn--bloque{width:100%}
.enlace-flecha{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fuente-titulo);font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;font-size:.82rem;color:var(--negro);
}
.enlace-flecha svg{transition:transform var(--transicion)}
.enlace-flecha:hover svg{transform:translateX(5px)}
.enlace-flecha::after{content:""}

/* =============================== Secciones =============================== */
.seccion-cabecera{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-7)}
.seccion-cabecera__titulo{font-size:var(--fs-h2)}
.seccion-cabecera--centrada{align-items:center;text-align:center;margin-inline:auto}
.seccion-cabecera--fila{flex-direction:column}
@media (min-width:900px){
  .seccion-cabecera--fila{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--sp-7)}
  .seccion-cabecera--fila .seccion-cabecera__texto{max-width:60ch}
}

.rejilla{display:grid;gap:var(--sp-6)}
.rejilla--2{grid-template-columns:1fr}
.rejilla--3{grid-template-columns:1fr}
.rejilla--4{grid-template-columns:1fr}
@media (min-width:640px){
  .rejilla--3,.rejilla--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){.rejilla--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){
  .rejilla--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rejilla--4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ================================= Hero ================================= */
.hero{position:relative;overflow:hidden}
.hero__grid{display:grid;gap:var(--sp-7);align-items:center;padding-block:var(--sp-8)}
@media (min-width:960px){
  .hero__grid{grid-template-columns:1.05fr .95fr;gap:var(--sp-8);padding-block:var(--sp-9);min-height:calc(100svh - var(--header-h))}
}
.hero__contenido{position:relative;z-index:2;display:flex;flex-direction:column;gap:var(--sp-5);max-width:36ch}
.hero__marca{display:flex;align-items:center;gap:var(--sp-3)}
.hero__marca img{height:44px;width:auto}
.hero__titulo{font-size:var(--fs-display);font-weight:600}
.hero__titulo em{font-style:normal;color:var(--violeta)}
.hero__lead{font-size:var(--fs-lead);color:var(--texto-suave);max-width:46ch}
.hero__acciones{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-2)}
.hero__pistas{display:flex;flex-wrap:wrap;gap:var(--sp-5);margin-top:var(--sp-5);font-size:var(--fs-sm);color:var(--gris-600)}
.hero__pista{display:flex;align-items:center;gap:8px}
.hero__pista svg{width:16px;height:16px;color:var(--acento);flex:none}

.hero__media{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:320px}
.hero__disco{
  position:absolute;bottom:4%;left:50%;transform:translateX(-50%);
  width:min(84%,440px);aspect-ratio:1/1;border-radius:50%;
  background:var(--papel);z-index:0;
}
.hero__pluma{
  position:absolute;top:5%;right:4%;width:112px;opacity:.92;z-index:1;
  animation:flotar 6s ease-in-out infinite;
}
.hero__foto{position:relative;z-index:2;height:clamp(400px,54vh,540px);width:auto;max-height:none;object-fit:contain;object-position:center bottom}
.hero__sello{
  position:absolute;left:2%;bottom:12%;z-index:3;
  background:#fff;border:1px solid var(--gris-200);border-radius:var(--r-md);
  box-shadow:var(--sombra-suave);padding:var(--sp-4) var(--sp-5);
  display:flex;align-items:center;gap:var(--sp-3);max-width:230px;
}
.hero__sello strong{font-family:var(--fuente-titulo);font-size:1.4rem;display:block;line-height:1}
.hero__sello span{font-size:.8rem;color:var(--gris-600);line-height:1.35;display:block}
@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (max-width:959px){
  .hero__foto{height:clamp(360px,56svh,480px)}
  .hero__sello{left:0;bottom:4%}
  .hero__pluma{width:82px;right:0}
}

/* ============================== Marquee marcas ============================== */
.marcas-band{padding-block:var(--sp-7);border-block:1px solid var(--gris-200)}
.marcas-band__titulo{text-align:center;margin-bottom:var(--sp-6)}
.marquee{
  overflow:hidden;position:relative;display:flex;
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.marquee__track{display:flex;gap:var(--sp-6);flex:none;animation:desliza 42s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee--reversa .marquee__track{animation-direction:reverse;animation-duration:52s}
.marquee__track img{height:58px;width:auto;flex:none;opacity:.92;transition:opacity var(--transicion)}
.marquee__track img:hover{opacity:1}
@keyframes desliza{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .marquee__track{animation:none}
  .hero__pluma{animation:none}
}

/* ============================== Tarjetas pack ============================== */
.pack{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--gris-200);border-radius:var(--r-lg);overflow:hidden;
  transition:transform var(--transicion),box-shadow var(--transicion),border-color var(--transicion);
}
.pack:hover{transform:translateY(-4px);box-shadow:var(--sombra);border-color:var(--gris-300)}
.pack__media{
  position:relative;display:grid;place-items:center;
  padding:var(--sp-7) var(--sp-6);min-height:170px;
}
.pack__media img{height:76px;width:auto}
.pack--branding .pack__media{background:var(--violeta)}
.pack--branding .pack__media img.pack__brand-symbol{height:166px;width:auto}
.pack--content .pack__media{background:var(--cian)}
.pack--design .pack__media{background:var(--rosa)}
.pack__etiqueta{
  position:absolute;top:var(--sp-4);left:var(--sp-4);
  font-family:var(--fuente-titulo);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;font-weight:600;color:var(--negro);
  background:#fff;padding:5px 10px;border-radius:var(--r-pill);
}
.pack__cuerpo{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-6);flex:1}
.pack__titulo{font-size:var(--fs-h3);text-transform:uppercase;letter-spacing:.04em}
.pack--branding .pack__titulo{color:var(--violeta-oscuro)}
.pack--branding .pack__etiqueta{background:#fff;color:var(--violeta-oscuro)}
.pack__desc{color:var(--texto-suave);font-size:var(--fs-sm)}
.pack__lista{display:grid;gap:var(--sp-2);margin-top:var(--sp-2)}
.pack__lista li{position:relative;padding-left:22px;font-size:var(--fs-sm);color:var(--gris-700)}
.pack__lista li::before{
  content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;
  border-radius:50%;background:var(--gris-300);
}
.pack--branding .pack__lista li::before{background:var(--violeta)}
.pack--content .pack__lista li::before{background:var(--cian)}
.pack--design .pack__lista li::before{background:var(--rosa)}
.rejilla--packs-priorizados{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
@media (min-width:768px){.rejilla--packs-priorizados{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rejilla--packs-priorizados .pack--branding{border-color:var(--violeta);box-shadow:0 16px 40px rgba(90,47,214,.12)}
@media (min-width:768px){
  .rejilla--packs-priorizados .pack--branding{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr}
  .rejilla--packs-priorizados .pack--branding .pack__media{min-height:100%;}
}
.pack__pie{margin-top:auto;padding-top:var(--sp-4);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}
.pack__precio{font-family:var(--fuente-titulo);font-weight:600;font-size:1.05rem}
.pack__precio small{display:block;font-family:var(--fuente-texto);font-weight:400;font-size:.72rem;color:var(--gris-500);letter-spacing:.02em}

/* ================================= Pasos ================================= */
.pasos{display:grid;gap:var(--sp-6);counter-reset:paso}
@media (min-width:900px){.pasos{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-4)}}
.paso{position:relative;padding-top:var(--sp-5);border-top:2px solid var(--gris-200)}
.paso::before{
  content:"";position:absolute;top:-2px;left:0;width:38px;height:2px;background:var(--acento);
}
.paso__num{
  font-family:var(--fuente-titulo);font-size:.78rem;letter-spacing:.24em;
  color:var(--acento);font-weight:600;
}
.paso__titulo{font-size:1.15rem;margin-top:var(--sp-2);text-transform:uppercase;letter-spacing:.03em}
.paso__desc{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--texto-suave)}

/* ================================ Métricas ================================ */
.stats{display:grid;gap:var(--sp-6)}
@media (min-width:760px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.stat{display:grid;gap:var(--sp-1)}
.stat__valor{font-family:var(--fuente-titulo);font-weight:600;font-size:clamp(2.8rem,6vw,4.4rem);line-height:.95}
.stat:nth-child(1) .stat__valor{color:var(--violeta)}
.stat:nth-child(2) .stat__valor{color:var(--rosa)}
.stat:nth-child(3) .stat__valor{color:var(--cian)}
.stat__valor span{color:inherit}
.stat__label{font-size:var(--fs-sm);letter-spacing:.04em;color:var(--texto-inverso-suave)}

/* ================================ Valores ================================ */
.valor{display:flex;gap:var(--sp-4);align-items:flex-start}
.valor__icono{
  flex:none;width:52px;height:52px;border-radius:var(--r-md);
  background:var(--gris-100);display:grid;place-items:center;
}
.valor__icono img{height:26px;width:auto;filter:brightness(0) saturate(100%)}
.valor:nth-child(1) .valor__icono{background:rgba(123,77,255,.12)}
.valor:nth-child(1) .valor__icono img{filter:brightness(0) saturate(100%) invert(37%) sepia(98%) saturate(4145%) hue-rotate(243deg) brightness(101%) contrast(101%)}
.valor:nth-child(2) .valor__icono{background:rgba(255,46,147,.12)}
.valor:nth-child(2) .valor__icono img{filter:brightness(0) saturate(100%) invert(24%) sepia(97%) saturate(4975%) hue-rotate(315deg) brightness(101%) contrast(103%)}
.valor:nth-child(3) .valor__icono{background:rgba(31,162,223,.12)}
.valor:nth-child(3) .valor__icono img{filter:brightness(0) saturate(100%) invert(45%) sepia(83%) saturate(1495%) hue-rotate(162deg) brightness(95%) contrast(101%)}
.valor:nth-child(4) .valor__icono{background:rgba(134,209,74,.16)}
.valor:nth-child(4) .valor__icono img{filter:brightness(0) saturate(100%) invert(54%) sepia(57%) saturate(626%) hue-rotate(47deg) brightness(93%) contrast(92%)}
.valor__titulo{font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em}
.valor__desc{font-size:var(--fs-sm);color:var(--texto-suave);margin-top:var(--sp-1)}

/* ================================= CTA ================================= */
.cta{
  position:relative;overflow:hidden;background:var(--negro);color:#fff;
  border-radius:var(--r-lg);padding:var(--sp-8) var(--sp-7);text-align:center;
}
.cta__pluma{position:absolute;right:-30px;bottom:-30px;width:280px;opacity:.1;pointer-events:none}
.cta__pluma--izq{right:auto;left:-30px}
.cta__contenido{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--sp-5);max-width:720px;margin-inline:auto}
.cta__titulo{font-size:var(--fs-h1)}
.cta__desc{color:var(--texto-inverso-suave);font-size:var(--fs-lead);max-width:52ch}
.cta__acciones{display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:center}

/* =============================== Portafolio =============================== */
.marcas-marco{
  border:1px solid var(--gris-200);border-radius:var(--r-lg);overflow:hidden;
  background:#fff;box-shadow:var(--sombra-suave);
}
.marcas-marco img{width:100%;height:auto}
.marcas-lista{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.chip{
  display:inline-block;font-size:var(--fs-sm);padding:7px 14px;
  border:1px solid var(--gris-200);border-radius:var(--r-pill);
  background:#fff;color:var(--gris-700);
}

/* ================================ Footer ================================ */
.footer{position:relative;overflow:hidden;background:var(--negro);color:var(--texto-inverso-suave);padding-block:var(--sp-8) var(--sp-5)}
.footer__pluma{position:absolute;right:-60px;top:-40px;width:300px;opacity:.06;pointer-events:none}
.footer__grid{position:relative;z-index:2;display:grid;gap:var(--sp-7)}
@media (min-width:820px){.footer__grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}}
.footer__logo{height:42px;width:auto;margin-bottom:var(--sp-4)}
.footer__desc{font-size:var(--fs-sm);max-width:34ch;color:var(--texto-inverso-suave)}
.footer__titulo{
  font-family:var(--fuente-titulo);font-size:.76rem;letter-spacing:.2em;
  text-transform:uppercase;color:#fff;font-weight:600;margin-bottom:var(--sp-4);
}
.footer__lista{display:grid;gap:var(--sp-3);font-size:var(--fs-sm)}
.footer__lista a{transition:color var(--transicion)}
.footer__lista a:hover{color:#fff}
.footer__social{display:flex;gap:var(--sp-3);margin-top:var(--sp-5)}
.footer__social a{
  width:44px;height:44px;border:1px solid var(--gris-700);border-radius:50%;
  display:grid;place-items:center;color:var(--texto-inverso-suave);
  transition:background var(--transicion),color var(--transicion),border-color var(--transicion);
}
.footer__social a:hover{background:var(--acento);color:var(--negro);border-color:var(--acento)}
.footer__social svg{width:18px;height:18px;fill:currentColor}
.footer__bottom{
  position:relative;z-index:2;border-top:1px solid #2a2a2a;margin-top:var(--sp-7);
  padding-top:var(--sp-5);display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);
  justify-content:space-between;font-size:var(--fs-sm);
}
.footer__nota{color:var(--gris-500)}

/* ================================ Formulario ================================ */
.formulario{display:grid;gap:var(--sp-5)}
.campo{display:grid;gap:var(--sp-2)}
.campo__label{font-weight:600;font-size:var(--fs-sm)}
.campo__label .req{color:var(--acento-oscuro)}
.campo__control{
  width:100%;font:inherit;color:var(--texto);background:#fff;
  padding:14px 16px;min-height:52px;border:1px solid var(--gris-300);
  border-radius:var(--r-sm);transition:border-color var(--transicion),box-shadow var(--transicion);
}
.campo__control:hover{border-color:var(--gris-400)}
.campo__control:focus{border-color:var(--negro);outline:none;box-shadow:0 0 0 3px rgba(107,69,232,.22)}
select.campo__control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23565656' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
textarea.campo__control{min-height:150px;resize:vertical}
.campo__ayuda{font-size:var(--fs-sm);color:var(--gris-600)}
.campo__error{display:none;font-size:var(--fs-sm);color:var(--error);font-weight:600}
.campo[data-estado="error"] .campo__control{border-color:var(--error)}
.campo[data-estado="error"] .campo__error{display:block}
.campo[data-estado="ok"] .campo__control{border-color:var(--exito)}
.campo--check{display:flex;gap:var(--sp-3);align-items:flex-start}
.campo--check input{flex:none;width:22px;height:22px;min-height:0;margin-top:3px;accent-color:var(--negro)}
.campo--check .campo__label{font-weight:400;color:var(--gris-700);font-size:var(--fs-sm)}
.resumen-error{
  display:none;border:1px solid var(--error);border-left-width:4px;
  border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);
  background:#fff5f7;
}
.resumen-error[data-visible="true"]{display:block}
.resumen-error__titulo{font-weight:700;color:var(--error);margin-bottom:var(--sp-2)}
.resumen-error ul{display:grid;gap:6px}
.resumen-error a{text-decoration:underline;color:var(--error)}
.form-exito{
  display:none;gap:var(--sp-4);align-items:flex-start;text-align:left;
  border:1px solid var(--exito);border-radius:var(--r-md);
  background:#f1faf4;padding:var(--sp-6);
}
.form-exito[data-visible="true"]{display:flex}
.form-exito__icono{
  flex:none;width:46px;height:46px;border-radius:50%;background:var(--exito);
  color:#fff;display:grid;place-items:center;
}
.form-exito__icono svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2.4}
.form-exito__titulo{font-size:1.15rem}
.form-exito__texto{font-size:var(--fs-sm);color:var(--gris-700);margin-top:var(--sp-1)}
.form-pendiente{display:none;border:1px solid var(--gris-300);border-left:4px solid var(--violeta);border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);background:#F7F5FF;color:var(--gris-700);font-size:var(--fs-sm)}
.form-pendiente[data-visible="true"]{display:block}
.btn[data-cargando="true"]{pointer-events:none;opacity:.75}
.btn[data-cargando="true"] .btn__spinner{display:inline-block}
.btn__spinner{
  display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;border-radius:50%;animation:gira .7s linear infinite;
}
.btn--acento .btn__spinner{border-color:rgba(255,255,255,.35);border-top-color:#fff}
@keyframes gira{to{transform:rotate(360deg)}}

/* =========================== Aparición progresiva =========================== */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 520ms cubic-bezier(.2,.7,.3,1),transform 520ms cubic-bezier(.2,.7,.3,1)}
.js [data-reveal].es-visible{opacity:1;transform:none}
.js [data-reveal][data-reveal-delay="1"]{transition-delay:80ms}
.js [data-reveal][data-reveal-delay="2"]{transition-delay:160ms}
.js [data-reveal][data-reveal-delay="3"]{transition-delay:240ms}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1;transform:none;transition:none}
}

/* ================================ Lightbox ================================ */
.lightbox{
  position:fixed;inset:0;z-index:200;background:rgba(11,11,11,.92);
  display:grid;place-items:center;padding:var(--sp-5);
  opacity:0;visibility:hidden;transition:opacity var(--transicion),visibility var(--transicion);
}
.lightbox[data-abierto="true"]{opacity:1;visibility:visible}
.lightbox__imagen{max-width:min(1100px,94vw);max-height:84vh;width:auto;height:auto;border-radius:var(--r-sm);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox__cerrar{
  position:absolute;top:var(--sp-5);right:var(--sp-5);
  width:52px;height:52px;border-radius:50%;border:1px solid var(--gris-700);
  background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer;
  transition:background var(--transicion);
}
.lightbox__cerrar:hover{background:#fff;color:var(--negro)}
.lightbox__cerrar svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none}
.zoom-boton{
  position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;
}
.zoom-boton__pista{
  position:absolute;right:var(--sp-4);bottom:var(--sp-4);
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;color:var(--negro);border-radius:var(--r-pill);
  padding:8px 14px;font-size:.78rem;font-weight:600;letter-spacing:.04em;
  box-shadow:var(--sombra-suave);
}
.zoom-boton__pista svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none}

/* ============================== Acceso WhatsApp ============================== */
.whatsapp-pluma{
  position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:150;
  display:grid;place-items:center;width:68px;height:68px;border-radius:50%;
  background:#25D366;box-shadow:0 8px 24px rgba(0,0,0,.24);transition:transform var(--transicion),box-shadow var(--transicion);
}
.whatsapp-pluma:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.3)}
.whatsapp-pluma:focus-visible{outline:3px solid var(--violeta);outline-offset:4px}
.whatsapp-pluma__pluma{height:48px;width:auto}
.whatsapp-pluma__badge{
  position:absolute;right:-2px;bottom:0;width:25px;height:25px;padding:4px;border-radius:50%;
  background:#fff;color:#168A45;box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.whatsapp-pluma__badge path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){
  .whatsapp-pluma{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:60px;height:60px}
  .whatsapp-pluma__pluma{height:42px}
  .whatsapp-pluma__badge{width:23px;height:23px}
}

