/* TACET Solutions — tokens de diseño v0.1 (borrador) */
:root{
  /* Marca (manual de identidad) */
  --c-navy:#1A1D36; --c-cian:#1DBCF2; --c-oro:#F9C80E; --c-naranja:#F7941D;
  /* Derivados accesibles (propuestos, no en el manual) */
  --c-cian-700:#0A6E91;     /* enlaces/texto cian sobre blanco: 5.75:1 */
  --c-naranja-800:#9A5200;  /* texto naranja sobre blanco: 5.86:1 */
  --c-blanco:#FFFFFF; --c-gris-50:#F5F7FA; --c-gris-200:#DDE1EA;
  --c-texto:#1A1D36; --c-texto-2:#4A4F6A; --c-borde-input:#6B7088; /* 3:1+ UI */
  --c-rojo-sangre:#8A0303; /* acento PROFA: blanco sobre él 10.02:1, sobre blanco 10.02:1 · NO sobre navy (1.65) */
  --c-rojo-50:#FDECEC;
  --c-error:#B3261E; --c-exito:#1E7B3A;
  /* Semánticos */
  --bg:var(--c-blanco); --bg-alt:var(--c-gris-50); --bg-inverso:var(--c-navy);
  --link:var(--c-cian-700); --focus:var(--c-naranja);
  /* Tipografía: TACET FONT / SOLUTIONS FONT no disponibles como webfont → fallback geométrico */
  --font-display:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fs-xs:.875rem; --fs-sm:1rem; --fs-md:1.125rem; --fs-lg:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  --fs-xl:clamp(1.5rem,1.25rem + 1.2vw,2rem); --fs-2xl:clamp(2rem,1.5rem + 2.4vw,3rem);
  --lh-tight:1.15; --lh-body:1.6; --fw-reg:400; --fw-semi:600; --fw-bold:700;
  /* Espaciado (base 4px) */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-6:1.5rem; --sp-8:2rem; --sp-12:3rem; --sp-16:4rem; --sp-24:6rem;
  /* Radios y sombras */
  --r-sm:4px; --r-md:8px; --r-lg:16px; --r-full:999px;
  --sh-1:0 1px 2px rgb(26 29 54/.08),0 1px 3px rgb(26 29 54/.12);
  --sh-2:0 4px 12px rgb(26 29 54/.12); --sh-3:0 12px 32px rgb(26 29 54/.18);
  --container:72rem; --tap:44px;
}
/* Breakpoints mobile-first (usar en @media, las custom props no funcionan en media queries):
   sm 480px · md 768px · lg 1024px · xl 1280px */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:5rem}
body{margin:0;font:var(--fw-reg) var(--fs-sm)/var(--lh-body) var(--font-body);color:var(--c-texto);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--font-display);line-height:var(--lh-tight);margin:0 0 var(--sp-4)}
h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}
a{color:var(--link)}
[hidden]{display:none!important}
/* Foco doble anillo: navy interior (≥3:1 en fondos claros/cian) + naranja exterior (≥3:1 en navy y rojo PROFA) */
:focus-visible{outline:3px solid var(--c-naranja);outline-offset:3px;box-shadow:0 0 0 3px var(--c-navy)!important;border-radius:var(--r-sm)}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--sp-4)}
.skip{position:absolute;left:-999px;top:0;background:var(--c-navy);color:#fff;padding:var(--sp-3) var(--sp-4);z-index:100}
.skip:focus{left:var(--sp-2);top:var(--sp-2)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pendiente{background:#FFF4CC;border:1px dashed var(--c-naranja-800);color:var(--c-navy);padding:0 .3em;border-radius:var(--r-sm);font-size:.95em}
/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:var(--sh-1)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:4rem;gap:var(--sp-4)}
.brand{display:flex;align-items:center;gap:var(--sp-2);text-decoration:none;color:var(--c-navy);font:var(--fw-bold) 1.1rem var(--font-display);letter-spacing:.04em}
.brand img{width:40px;height:auto}
.nav-toggle{min-width:var(--tap);min-height:var(--tap);background:none;border:2px solid var(--c-navy);border-radius:var(--r-md);color:var(--c-navy);font-weight:600}
.nav ul{list-style:none;margin:0;padding:0}
.nav[data-open="false"] ul{display:none}
.nav ul{position:absolute;left:0;right:0;top:4rem;background:#fff;box-shadow:var(--sh-2);padding:var(--sp-2) var(--sp-4)}
.nav a{display:flex;align-items:center;min-height:var(--tap);color:var(--c-navy);text-decoration:none;font-weight:600}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--c-cian);text-decoration-thickness:3px;text-underline-offset:6px}
@media (min-width:768px){.nav-toggle{display:none}.nav[data-open] ul{display:flex;position:static;box-shadow:none;padding:0;gap:var(--sp-6);align-items:center}}
/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-md);border:2px solid transparent;font:var(--fw-semi) var(--fs-sm) var(--font-body);text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:var(--sh-2)}
.btn-primario{background:var(--c-naranja);color:var(--c-navy)}          /* 7.23:1 */
.btn-secundario{background:var(--c-navy);color:#fff}                    /* 16.5:1 */
.btn-terciario{background:transparent;color:var(--c-navy);border-color:var(--c-navy)}
.btn-cian{background:var(--c-cian);color:var(--c-navy)}                 /* 7.48:1 */
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Hero */
.hero{background:var(--c-navy);color:#fff;padding-block:var(--sp-12)}
.hero .container{display:grid;gap:var(--sp-8);align-items:center}
.hero .eyebrow{color:var(--c-oro);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-xs)}
.hero .acciones{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}
.hero .btn-terciario{color:#fff;border-color:#fff}
.hero figure{margin:0;justify-self:center;max-width:320px;background:#fff;border-radius:var(--r-lg);padding:var(--sp-2)}
@media (min-width:1024px){.hero .container{grid-template-columns:1.3fr 1fr}.hero{padding-block:var(--sp-24)}}
/* Tarjetas */
.grid{display:grid;gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.card{background:#fff;border:1px solid var(--c-gris-200);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:var(--sp-3)}
.card .tag{align-self:flex-start;background:var(--c-oro);color:var(--c-navy);font-size:var(--fs-xs);font-weight:700;padding:2px var(--sp-2);border-radius:var(--r-full)}
.card a.stretched{margin-top:auto}
.seccion{padding-block:var(--sp-16)}.seccion.alt{background:var(--bg-alt)}
/* Formularios */
.campo{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-4)}
.campo label{font-weight:600}
.campo .ayuda{color:var(--c-texto-2);font-size:var(--fs-xs)}
.campo input,.campo textarea,.campo select{font:inherit;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border:2px solid var(--c-borde-input);border-radius:var(--r-md);background:#fff;color:var(--c-texto)}
.campo [aria-invalid="true"]{border-color:var(--c-error)}
.campo .error{color:var(--c-error);font-size:var(--fs-xs);font-weight:600}
.check{display:flex;gap:var(--sp-2);align-items:flex-start}.check input{width:1.25rem;height:1.25rem;margin-top:.2rem}
/* Footer */
.site-footer{background:var(--c-navy);color:#fff;padding-block:var(--sp-12) var(--sp-6);margin-top:var(--sp-16)}
.site-footer a{color:#fff}
.site-footer .cols{display:grid;gap:var(--sp-8);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.site-footer h2{font-size:var(--fs-md);color:var(--c-oro)}
.site-footer ul a,.site-footer .legal a{display:inline-flex;align-items:center;min-height:24px;padding-block:2px}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-2)}
.site-footer .legal{border-top:1px solid rgb(255 255 255/.2);margin-top:var(--sp-8);padding-top:var(--sp-4);font-size:var(--fs-xs)}
.site-footer .pendiente{color:var(--c-navy)}
/* Acento PROFA */
.tema-profa .hero{background:var(--c-rojo-sangre)}
.tema-profa .hero .eyebrow{color:#fff}
.btn-profa{background:var(--c-rojo-sangre);color:#fff}
.card.profa{border-top:6px solid var(--c-rojo-sangre)}
.card.profa .tag{background:var(--c-rojo-sangre);color:#fff}
.card.inactivo{opacity:1;background:var(--bg-alt);border-style:dashed}
.card.inactivo .tag{background:var(--c-gris-200);color:var(--c-navy)}
.datos{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));list-style:none;padding:0;margin:0}
.datos li{background:#fff;border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--sh-1);text-align:center}
.datos strong{display:block;font:var(--fw-bold) var(--fs-2xl)/1 var(--font-display);color:var(--c-rojo-sangre)}
.precio{font:var(--fw-bold) var(--fs-2xl)/1 var(--font-display);margin:0}
.aviso{background:var(--c-rojo-50);border-left:6px solid var(--c-rojo-sangre);padding:var(--sp-4);border-radius:var(--r-md)}
details{border:1px solid var(--c-gris-200);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);background:#fff}
summary{cursor:pointer;font-weight:600;min-height:var(--tap);display:flex;align-items:center}
.banda{background:var(--c-navy);color:#fff;text-align:center;padding-block:var(--sp-12)}
.lead{font-size:var(--fs-md);max-width:65ch}
.estado{font-weight:700}
.gform-marco iframe{display:block;width:100%;min-height:1120px;border:0;border-radius:var(--r-md);background:#fff}
/* Estilo campaña JNJ (modelo: piezas promo-jnj) */
.titular-oro{color:var(--c-oro)}                       /* oro sobre navy 10.45:1 */
.chips{list-style:none;padding:0;margin:var(--sp-4) 0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.chip{background:var(--c-cian);color:var(--c-navy);font-weight:700;padding:var(--sp-1) var(--sp-4);border-radius:var(--r-full)} /* 7.48:1 */
.hero-jnj .visual{position:relative;justify-self:center;max-width:400px;width:100%}
.hero-jnj .visual .foto{border-radius:var(--r-lg);width:100%}
.hero-jnj .visual .niti{position:absolute;left:0;bottom:-24px;width:34%;filter:drop-shadow(0 6px 12px rgb(0 0 0/.5))}
.hero-jnj .ph-foto{border:2px dashed var(--c-oro);border-radius:var(--r-lg);min-height:300px;display:grid;place-items:center;padding:var(--sp-4)}
.ejemplos{display:grid;gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.ejemplos ul{padding-left:1.2rem}
.card .portada{width:100%;height:auto;aspect-ratio:auto;border-radius:var(--r-md)}
.pasos{padding-left:1.4rem;font-size:var(--fs-md);display:grid;gap:var(--sp-2)}
.datos.fechas{margin-top:var(--sp-6)}
.datos.fechas strong{font-size:var(--fs-lg);line-height:1.3;color:var(--c-navy)}
.bases{max-width:48rem}.bases h2{margin-top:var(--sp-8)}
.tabla{overflow-x:auto}.tabla table{border-collapse:collapse;width:100%}.tabla th,.tabla td{border:1px solid var(--c-gris-200);padding:var(--sp-2) var(--sp-3);text-align:left;vertical-align:top}.tabla th{background:var(--bg-alt)}
/* Enlaces sueltos en listas y párrafos de contenido: área táctil ≥24px (WCAG 2.5.8) */
main li > a:not(.btn), main p > a:only-child:not(.btn){display:inline-flex;align-items:center;min-height:24px}
.deslinde-hero{margin-top:var(--sp-6);font-size:var(--fs-xs);max-width:60ch;color:#fff;border-left:4px solid #fff;padding-left:var(--sp-3)} /* blanco sobre rojo 10.02:1 */
.aviso.deslinde{margin-top:var(--sp-6);color:var(--c-navy);font-size:var(--fs-sm)} /* navy sobre rojo-50 14.44:1 */
.aviso.borrador{font-size:var(--fs-md);color:var(--c-navy)} blockquote.aviso{margin:var(--sp-4) 0;color:var(--c-navy)}
.chips-claro .chip{font-weight:600}.lista-check{display:grid;gap:var(--sp-2);padding-left:1.2rem;font-size:var(--fs-md)}

/* =========================================================
   REDISEÑO v2 — referencias (Linear, Stripe, Vercel, Duolingo, Framer, Raycast…)
   ========================================================= */
:root{--r-card:24px;--r-xl:32px;--glow-cian:0 0 0 1px rgb(29 188 242/.55),0 10px 30px -6px rgb(29 188 242/.35);
  --sh-capas:0 1px 2px rgb(26 29 54/.06),0 6px 16px -4px rgb(26 29 54/.12),0 24px 48px -16px rgb(26 29 54/.18)}
/* (7) Nav sticky glass */
.site-header{background:rgb(26 29 54/.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgb(255 255 255/.08)}
.brand{color:#fff}.brand img{background:#fff;border-radius:12px;padding:3px;width:38px;height:auto}
.nav a{color:#fff;border-radius:999px;padding-inline:var(--sp-3)}
.nav a:hover{background:rgb(255 255 255/.1)}
.nav a[aria-current="page"]{background:rgb(29 188 242/.18);text-decoration:none;box-shadow:inset 0 0 0 1px rgb(29 188 242/.6)}
.nav-toggle{border-color:#fff;color:#fff;border-radius:999px;padding-inline:var(--sp-4)}
.nav ul{background:var(--c-navy);border-radius:0 0 var(--r-card) var(--r-card)}
@media (min-width:768px){.nav[data-open] ul{background:transparent;gap:var(--sp-2)}}
/* (2) Bordes generosos */
.btn{border-radius:999px}
.card,.datos li,details,.aviso,.campo input,.campo textarea,.campo select{border-radius:var(--r-card)}
details{border-radius:18px}
.card{border:1px solid rgb(26 29 54/.08);box-shadow:var(--sh-capas)}
.hero figure{border-radius:var(--r-xl);background:transparent;padding:0}
.hero figure img{border-radius:var(--r-xl)}
.portada,.hero-jnj .visual .foto{border-radius:var(--r-card)!important}
.site-footer{border-radius:var(--r-xl) var(--r-xl) 0 0}
.chip{padding:var(--sp-2) var(--sp-4)}
/* (6) Hover vivo + botones 3D */
.card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-capas),var(--glow-cian)}
.btn{transition:transform .12s ease,box-shadow .12s ease,filter .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.btn-primario{box-shadow:0 4px 0 #A85E06}
.btn-secundario{box-shadow:0 4px 0 #000}
.btn-profa{box-shadow:0 4px 0 #4A0101}
.btn-cian{box-shadow:0 4px 0 #0A6E91}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 rgb(0 0 0/.4)}
/* (1) Hero con profundidad */
.hero{position:relative;overflow:hidden;isolation:isolate;padding-bottom:calc(var(--sp-16) + 40px)}
.hero::before{content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 40% at 15% 20%,rgb(29 188 242/.35),transparent 70%),radial-gradient(35% 35% at 85% 70%,rgb(247 148 29/.28),transparent 70%),radial-gradient(30% 30% at 60% 10%,rgb(249 200 14/.12),transparent 70%);filter:blur(30px)}
.tema-profa .hero::before{background:radial-gradient(40% 40% at 15% 20%,rgb(255 255 255/.12),transparent 70%),radial-gradient(35% 35% at 85% 70%,rgb(247 148 29/.22),transparent 70%)}
.hero h1{letter-spacing:-.02em}
.flota{animation:flota 6s ease-in-out infinite}
@keyframes flota{0%,100%{transform:translateY(-6px)}50%{transform:translateY(6px)}}
/* (4) Divisores ondulados */
.hero::after,.banda::before{content:"";position:absolute;left:0;right:0;height:48px;pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 24C240 56 480 56 720 28S1200-4 1440 20V48H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 24C240 56 480 56 720 28S1200-4 1440 20V48H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.hero::after{bottom:-1px;background:var(--ola-sig,#fff)}
.hero.sig-alt{--ola-sig:var(--c-gris-50)}
.banda{position:relative;padding-top:calc(var(--sp-12) + 40px)}
.banda::before{top:-1px;transform:scaleY(-1);background:var(--ola-prev,#fff)}
.banda.prev-alt{--ola-prev:var(--c-gris-50)}
.ola{display:block;width:100%;height:48px;line-height:0}
.ola svg{width:100%;height:100%;display:block}
/* (3) Bento */
.bento{display:grid;gap:var(--sp-4);grid-template-columns:1fr}
@media (min-width:768px){.bento{grid-template-columns:repeat(4,1fr)}.bento .b-xl{grid-column:span 2;grid-row:span 2}.bento .b-md{grid-column:span 2}.bento .b-sm{grid-column:span 1}}
.b-card{position:relative;border-radius:var(--r-card);padding:var(--sp-6);overflow:hidden;display:flex;flex-direction:column;gap:var(--sp-3);box-shadow:var(--sh-capas);transition:transform .25s ease,box-shadow .25s ease;border:1px solid rgb(26 29 54/.08);background:#fff}
.b-card:hover{transform:translateY(-4px);box-shadow:var(--sh-capas),var(--glow-cian)}
.b-card h3{margin:0}
.b-card .ver{margin-top:auto;font-weight:700}
.b-jnj{background:var(--c-navy);color:#fff}
.b-jnj h3{color:var(--c-oro);font-size:var(--fs-xl)}
.b-jnj .niti-mini{position:absolute;right:-10px;bottom:-14px;width:min(42%,190px);pointer-events:none}
.b-jnj p,.b-jnj ul{max-width:60%}
@media (max-width:767px){.b-jnj p,.b-jnj ul{max-width:100%}.b-jnj .niti-mini{position:static;width:140px;align-self:flex-end;margin:-8px -8px -20px 0}}
.b-profa{border-top:6px solid var(--c-rojo-sangre)}
.b-profa .num{color:var(--c-rojo-sangre)}
.b-legere{border-top:6px solid var(--c-cian)}
.b-calc{background:var(--bg-alt);border-style:dashed}
.b-card .tag{align-self:flex-start;font-size:var(--fs-xs);font-weight:700;padding:2px var(--sp-3);border-radius:999px;background:var(--c-oro);color:var(--c-navy)}
.b-profa .tag{background:var(--c-rojo-sangre);color:#fff}
.b-calc .tag{background:var(--c-gris-200)}
.icono{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgb(29 188 242/.15);color:var(--c-navy)}
.b-jnj .icono{background:rgb(255 255 255/.12);color:var(--c-oro)}
.b-jnj a.ver{color:var(--c-oro)}
/* (9) Cifras */
.bento-claims{display:grid;gap:var(--sp-4);grid-template-columns:repeat(2,1fr)}
@media (min-width:768px){.bento-claims{grid-template-columns:repeat(4,1fr)}.bento-claims .c-wide{grid-column:span 2}}
.claim{border-radius:var(--r-card);padding:var(--sp-6) var(--sp-4);background:#fff;box-shadow:var(--sh-capas);display:flex;flex-direction:column;justify-content:center;gap:var(--sp-1);min-height:9rem;transition:transform .25s ease,box-shadow .25s ease}
.claim:hover{transform:translateY(-4px);box-shadow:var(--sh-capas),var(--glow-cian)}
.claim .num{font:800 clamp(2rem,1.5rem + 2vw,3rem)/1 var(--font-display);color:var(--c-navy)}
.claim.oscuro{background:var(--c-navy);color:#fff}.claim.oscuro .num{color:var(--c-oro)}
.claim.cian{background:var(--c-cian);color:var(--c-navy)}
.claim.naranja{background:var(--c-naranja);color:var(--c-navy)}
.claim .txt{font-weight:600}
/* (8) Niti guía */
.guia{display:flex;align-items:flex-end;gap:var(--sp-4)}
.guia img{width:110px;flex:none}
.burbuja{position:relative;background:#fff;border-radius:var(--r-card);padding:var(--sp-3) var(--sp-4);box-shadow:var(--sh-capas);font-weight:600;margin-bottom:var(--sp-6)}
.burbuja::after{content:"";position:absolute;left:-8px;bottom:14px;border:8px solid transparent;border-left:0;border-right-color:#fff}
.niti-celebra{width:min(220px,60%);height:auto;margin-inline:auto}
.banda .container{display:grid;gap:var(--sp-6);justify-items:center}
@media (min-width:768px){.banda.con-niti .container{grid-template-columns:auto 1fr;text-align:left;justify-items:start;align-items:center}}
/* (5) Aparición al scroll */
.js-reveal .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js-reveal .reveal.visible{opacity:1;transform:none}
/* (12) Reduced motion */
@media (prefers-reduced-motion:reduce){.flota{animation:none}.js-reveal .reveal{opacity:1;transform:none}.card:hover,.b-card:hover,.claim:hover,.btn:hover,.btn:active{transform:none}}
@media (min-width:768px){.bento .b-ancho{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap}.bento .b-ancho .ver{margin-top:0;margin-left:auto}}

/* =========================================================
   v3 — Interior limpio (Linear/Vercel/Notion/Stripe) + intro tipo Raycast solo en el hero del index
   ========================================================= */
:root{--r-card:16px;--r-xl:20px}
.seccion{padding-block:clamp(4rem,3rem + 4vw,7rem)}
.seccion h2{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.4rem);letter-spacing:-.02em;margin-bottom:var(--sp-6)}
.lead{color:var(--c-texto-2)}
.hero .lead,.banda .lead{color:#fff}
/* sombras y brillos mínimos */
.card,.b-card,.claim{box-shadow:none;border:1px solid var(--c-gris-200)}
.card:hover,.b-card:hover,.claim:hover{transform:translateY(-2px);box-shadow:0 8px 24px -12px rgb(26 29 54/.18)}
.b-jnj,.claim.oscuro{border-color:transparent}
.btn,.btn-primario,.btn-secundario,.btn-profa,.btn-cian{box-shadow:none}
.btn:hover{transform:translateY(-1px);filter:none;box-shadow:0 6px 16px -8px rgb(26 29 54/.35)}
.btn:active{transform:none;box-shadow:none}
details{box-shadow:none}
/* heros internos: navy liso, sin degradados ni onda */
.hero:not(.hero-intro)::before{display:none}
.hero:not(.hero-intro)::after{display:none}
.hero:not(.hero-intro){padding-bottom:var(--sp-16)}
.banda::before{display:none}.banda{padding-top:var(--sp-16)}
.flota{animation:none}

/* aparición: fundido corto */
.js-reveal .reveal{opacity:0;transform:none;transition:opacity .35s ease}
.js-reveal .reveal.visible{opacity:1}

/* ---------- Hero del index: entrada tipo Raycast ---------- */
.hero-intro{background:#0E1024;min-height:min(88vh,760px);display:flex;align-items:center}
.hero-intro::before{display:none}
.hero-intro .container{position:relative;z-index:1}
.haces{position:absolute;inset:-30% -10%;z-index:0;pointer-events:none;transform:rotate(-35deg)}
.haz{position:absolute;top:0;bottom:0;width:13%;border-radius:999px;filter:blur(28px);opacity:.55;
  animation:haz-entra 1.4s cubic-bezier(.2,.7,.2,1) both}
.h1c{left:8%;background:linear-gradient(180deg,transparent,#1DBCF2 35%,rgb(29 188 242/.15) 70%,transparent);animation-delay:.05s}
.h2o{left:24%;width:16%;background:linear-gradient(180deg,transparent,#F9C80E 40%,rgb(247 148 29/.25) 75%,transparent);opacity:.45;animation-delay:.15s}
.h3n{left:44%;background:linear-gradient(180deg,transparent,#F7941D 45%,rgb(247 148 29/.1) 80%,transparent);opacity:.5;animation-delay:.25s}
.h4c{left:62%;width:9%;background:linear-gradient(180deg,transparent,#1DBCF2 50%,transparent);opacity:.4;animation-delay:.35s}
.h5n{left:78%;width:11%;background:linear-gradient(180deg,transparent,rgb(249 200 14/.6) 45%,transparent);opacity:.3;animation-delay:.45s}
@keyframes haz-entra{from{opacity:0;transform:translateY(-18%) scaleY(.6)}}
/* velo para garantizar contraste del texto sobre los haces */
.hero-intro::after{z-index:0}
.hero-intro .container>div:first-child{position:relative}
.hero-intro .container>div:first-child::before{content:"";position:absolute;inset:-2rem -2rem;z-index:-1;border-radius:32px;background:radial-gradient(closest-side,rgb(14 16 36/.85),rgb(14 16 36/.55) 70%,transparent)}
/* texto escalonado (el H1 aparece pronto para no penalizar LCP) */
.hero-intro .eyebrow,.hero-intro h1,.hero-intro .lead,.hero-intro .chips,.hero-intro .acciones{animation:sube .6s cubic-bezier(.2,.7,.2,1) both}
.hero-intro .eyebrow{animation-delay:0s}
.hero-intro h1{animation-delay:.08s}
.hero-intro .lead{animation-delay:.2s}
.hero-intro .chips{animation-delay:.32s}
.hero-intro .acciones{animation-delay:.44s}
@keyframes sube{from{opacity:0;transform:translateY(14px)}}
/* Niti con halo */
.niti-hero{position:relative;margin:0;justify-self:center;max-width:340px;width:100%}
.niti-hero img{position:relative;z-index:1;animation:niti-entra .9s .35s cubic-bezier(.2,.7,.2,1) both}
.niti-hero .halo{position:absolute;inset:8% 4% 4%;border-radius:50%;z-index:0;background:radial-gradient(closest-side,rgb(29 188 242/.55),rgb(249 200 14/.18) 60%,transparent);filter:blur(16px);animation:halo-entra 1.2s .3s ease-out both}
@keyframes niti-entra{from{opacity:0;transform:translateY(24px) scale(.96)}}
@keyframes halo-entra{from{opacity:0;transform:scale(.6)}}
@media (prefers-reduced-motion:reduce){.haz,.hero-intro .eyebrow,.hero-intro h1,.hero-intro .lead,.hero-intro .chips,.hero-intro .acciones,.niti-hero img,.niti-hero .halo{animation:none!important}}
.h1c{opacity:.75}.h2o{opacity:.6}.h3n{opacity:.7}.h4c{opacity:.55}.h5n{opacity:.45}
/* Casos de éxito (oculta por defecto con [hidden]) */
.casos-exito[hidden]{display:none}
.casos-exito{padding-block:var(--sp-16);background:var(--bg-alt)}
.casos-exito__inner{max-width:1120px;margin-inline:auto;padding-inline:var(--sp-4)}
.casos-exito h2{font-family:var(--font-display);font-size:var(--fs-xl);line-height:var(--lh-tight);margin:0 0 var(--sp-3)}
.casos-exito__intro{color:var(--c-texto-2);margin:0 0 var(--sp-8)}
.casos-exito__grid{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}
@media (min-width:768px){.casos-exito__grid{grid-template-columns:repeat(3,1fr)}}
.caso-exito{background:var(--bg);border:1px solid var(--c-gris-200);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--sh-1)}
.caso-exito__figura{margin:0;display:flex;flex-direction:column;gap:var(--sp-4)}
.caso-exito__foto{aspect-ratio:1/1;width:72px;border-radius:var(--r-full);background:var(--c-gris-50);border:1px dashed var(--c-borde-input);display:grid;place-items:center;font-size:.625rem;text-align:center;color:var(--c-texto-2)}
.caso-exito__testimonio{margin:0;color:var(--c-texto);font-size:var(--fs-sm);line-height:var(--lh-body)}
.caso-exito__nombre{display:block;font-style:normal;font-weight:var(--fw-semi)}
.caso-exito__resultado{display:block;font-size:var(--fs-xs);color:var(--c-texto-2)}

/* ===== Menú sticky: sólido navy arriba (legibilidad), translúcido con blur al hacer scroll ===== */
.site-header{background:var(--c-navy);transition:background-color .2s ease-out,box-shadow .2s ease-out}
.site-header.is-scrolled{background:rgb(26 29 54/.78);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);box-shadow:0 1px 0 rgb(255 255 255/.12)}
@media (max-width:767.98px){.nav-toggle{display:inline-flex;align-items:center;gap:var(--sp-2)}}
.hamb,.hamb::before,.hamb::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s ease-out,opacity .2s}
.hamb::before,.hamb::after{content:"";position:absolute;left:0;transform-origin:50% 50%}
.hamb::before{top:-6px}.hamb::after{top:6px}
.nav-toggle[aria-expanded="true"] .hamb{background:transparent}
.nav-toggle[aria-expanded="true"] .hamb::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .hamb::after{transform:translateY(-6px) rotate(-45deg)}

/* ===== Acordeones (FAQ y bases del sorteo) ===== */
details.acordeon summary h2{margin:0;font-size:var(--fs-lg,1.15rem)}
details summary{list-style:none;justify-content:space-between;gap:var(--sp-3)}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:1.4em;line-height:1;flex:none;transition:transform .2s ease-out}
details[open] summary::after{transform:rotate(45deg)}

/* ===== Microinteracciones: spotlight en tarjetas ===== */
.card,.b-card{position:relative;overflow:hidden}
.card::after,.b-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .2s ease-out;border-radius:inherit;
  background:radial-gradient(260px circle at var(--x,50%) var(--y,50%),rgb(29 188 242/.16),transparent 60%)}
.card>*,.b-card>*{position:relative;z-index:1}
.card:focus-within::after,.b-card:focus-within::after{opacity:1}
.card:focus-within,.b-card:focus-within{box-shadow:var(--sh-capas),var(--glow-cian)}
@media (hover:hover) and (pointer:fine){.card:hover::after,.b-card:hover::after{opacity:1}}
[data-magnetic]{transition:transform .2s cubic-bezier(.2,.8,.2,1)}
/* Táctil: sin efectos de movimiento ni brillo */
@media (hover:none),(pointer:coarse){
  .card:hover,.b-card:hover{transform:none}
  .card::after,.b-card::after{display:none}
  [data-magnetic]{transform:none!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-magnetic],.card,.b-card{transform:none!important}
}
/* Niti levita: sin piernas, nunca camina ni rebota; solo flota suave */
.brand picture{display:inline-flex;flex:none}
.niti-hero img{animation:niti-flota 4s ease-in-out infinite}
.niti-hero{animation:niti-aparece .9s .35s ease-out both}
.niti-flota{animation:niti-flota 4s ease-in-out infinite;will-change:transform}
.niti-hero::after{content:"";position:absolute;left:30%;right:30%;bottom:-4%;height:7%;border-radius:50%;background:radial-gradient(closest-side,rgb(0 0 0/.35),transparent);animation:niti-sombra 4s ease-in-out infinite;z-index:0}
@keyframes niti-flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes niti-sombra{0%,100%{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.8);opacity:.55}}
@keyframes niti-aparece{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.niti-flota,.niti-hero,.niti-hero img,.niti-hero::after{animation:none!important;transform:none!important}}
/* v4 — logo transparente sobre navy + parallax de haces */
.brand img{background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;filter:drop-shadow(0 0 1.5px rgb(255 255 255/.55))}
.haz{translate:var(--mx,0px) var(--my,0px);will-change:translate}
.haces{opacity:var(--ho,1)}
main a{overflow-wrap:anywhere}
/* v5 — halo de logo sobre fondo oscuro, nosotros, acordeón de productos, contacto compacto */
.brand{text-shadow:0 0 10px rgb(255 255 255/.35),0 0 18px rgb(255 200 80/.18)}
.brand img,.site-footer .logo-halo,.logo-osc .logo-halo{filter:drop-shadow(0 0 6px rgb(255 255 255/.45)) drop-shadow(0 0 14px rgb(255 200 80/.25))!important}
.site-footer .logo-halo{width:64px;height:auto}
.intro-n{display:grid;gap:var(--sp-8);align-items:center}
@media (min-width:768px){.intro-n{grid-template-columns:1.5fr 1fr}}
.intro-n picture img{max-width:100%;height:auto;justify-self:center}
.logo-osc{background:var(--c-navy);border-radius:var(--r-xl,24px);padding:var(--sp-8);display:grid;place-items:center}
.logo-osc img{max-width:180px;height:auto}
.grid-2,.grid-3{display:grid;gap:var(--sp-4);margin-top:var(--sp-6)}
@media (min-width:768px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}
.card.mv h3{color:var(--c-navy)}
.estrecho{max-width:48rem}
.compacta{padding-block:var(--sp-8)}
.canales{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-8)}
.acordeon{display:grid;gap:var(--sp-3);margin-top:var(--sp-6)}
.prod{padding:0;overflow:hidden}
.prod summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:.25rem var(--sp-3);padding:var(--sp-4) var(--sp-6);border-radius:inherit}
.prod summary::-webkit-details-marker{display:none}
.prod summary:focus-visible{outline:3px solid var(--c-oro);outline-offset:-3px}
.prod-tit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);grid-column:1}
.prod-nom{font-weight:700;font-size:1.125rem;color:var(--c-navy);min-width:0;overflow-wrap:anywhere}
.prod-res{grid-column:1;color:inherit;opacity:.85}
.chev{grid-column:2;grid-row:1/span 2;align-self:center;width:.7rem;height:.7rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s ease}
.prod[open] .chev{transform:rotate(-135deg)}
.prod-cuerpo{padding:0 var(--sp-6) var(--sp-6)}
.prod[open] .prod-cuerpo{animation:abre .3s ease-out}
@keyframes abre{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.prod::details-content{block-size:0;overflow:hidden;transition:block-size .3s ease,content-visibility .3s allow-discrete}
.prod[open]::details-content{block-size:auto}
:root{interpolate-size:allow-keywords}
.puntos{padding-left:1.2rem;margin:0 0 var(--sp-3)}
.precio{margin:0 0 var(--sp-4)}
@media (prefers-reduced-motion:reduce){.prod::details-content{transition:none}.prod[open] .prod-cuerpo{animation:none}.chev{transition:none}}

/* =========================================================
   v5b — SISTEMA ORGÁNICO COHERENTE (todas las páginas)
   Contenedor, espaciado, h1/h2/bajada, tarjeta, botón, chip y onda únicos.
   ========================================================= */
:root{--fb-logo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%231877F2'/%3E%3Cpath fill='%23fff' d='M18.1 26.5v-8.2h2.8l.4-3.2h-3.2v-2c0-.9.3-1.6 1.6-1.6h1.7V8.6c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3v2.4H12v3.2h2.7v8.2z'/%3E%3C/svg%3E");--wa-logo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2325D366'/%3E%3Cpath fill='%23fff' d='M23.3 8.7A10.3 10.3 0 0 0 7 21.1L5.6 26.4l5.4-1.4a10.3 10.3 0 0 0 4.9 1.3c5.7 0 10.3-4.6 10.3-10.3 0-2.8-1.1-5.3-2.9-7.3zm-7.4 15.9c-1.5 0-3-.4-4.3-1.2l-.3-.2-3.2.8.9-3.1-.2-.3a8.6 8.6 0 1 1 7.1 4zm4.7-6.4c-.3-.1-1.5-.8-1.8-.9s-.4-.1-.6.1-.7.9-.8 1-.3.2-.6.1a7 7 0 0 1-3.5-3c-.3-.5.3-.4.8-1.4.1-.2 0-.3 0-.4l-.8-1.9c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.1 5.1 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.7.5-.1 1.5-.6 1.7-1.2s.2-1.1.2-1.2-.4-.2-.7-.3z'/%3E%3C/svg%3E");--r-card:20px;--r-xl:28px;--sp-seccion:clamp(3.5rem,2.75rem + 3vw,6rem);
  --ola:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 24C240 56 480 56 720 28S1200-4 1440 20V48H0Z'/%3E%3C/svg%3E")}
.container,.casos-exito__inner{max-width:var(--container)}
.seccion,.banda,.casos-exito{padding-block:var(--sp-seccion)}
h1,.cab h1,.hero h1{font-size:clamp(2rem,1.55rem + 2.2vw,3.25rem);letter-spacing:-.025em;line-height:1.1}
h2,.seccion h2,.banda h2{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.4rem);letter-spacing:-.02em;margin-bottom:var(--sp-6)}
.lead{font-size:var(--fs-md);max-width:62ch}
/* Tarjeta única */
.card,.b-card,.claim,.datos li,.caso-exito,details{border-radius:var(--r-card);border:1px solid var(--c-gris-200);box-shadow:none}
/* Botón único: píldora */
.btn{border-radius:999px}
/* Chip único */
.chip{background:rgb(29 188 242/.14);color:var(--c-navy);border:1px solid rgb(29 188 242/.45);font-weight:600;font-size:var(--fs-xs);padding:.35rem .9rem;border-radius:999px}
.b-jnj .chip,.hero .chip,.cab .chip{background:rgb(29 188 242/.16);color:#fff;border-color:rgb(29 188 242/.55)}
/* Onda única: inferior del hero / encabezado y entre secciones de color distinto */
.hero::after,.cab::after,.seccion.alt::before,.seccion.alt::after,.banda::before{content:"";display:block;position:absolute;left:0;right:0;height:40px;pointer-events:none;
  -webkit-mask:var(--ola) center/100% 100% no-repeat;mask:var(--ola) center/100% 100% no-repeat}
.hero::after,.hero:not(.hero-intro)::after,.cab::after{display:block;bottom:-1px;background:var(--ola-sig,#fff);z-index:1}
.seccion.alt{position:relative;isolation:isolate;overflow:hidden}
.seccion.alt::before{top:-1px;background:#fff;transform:scale(-1,-1)}
.seccion.alt::after{bottom:-1px;background:#fff;transform:scaleX(-1)}
.cab+.seccion.alt::before,.hero+.seccion.alt::before,.seccion.alt+.seccion.alt::before{display:none}
.seccion.alt:has(+.banda)::after,.seccion.alt:has(+.seccion.alt)::after,.seccion.alt:last-child::after{display:none}
.banda{position:relative;overflow:hidden;isolation:isolate}
.banda::before{display:block;top:-1px;transform:scale(-1,-1);background:var(--ola-prev,#fff)}
/* blobs difusos tenues */
.seccion.alt>.container{position:relative}
.seccion.alt{background:radial-gradient(40% 60% at 0% 0%,rgb(29 188 242/.07),transparent 70%),radial-gradient(35% 55% at 100% 100%,rgb(247 148 29/.07),transparent 70%),var(--bg-alt)}
/* Encabezado compacto de páginas internas (mismo patrón que el hero, más bajo) */
.cab,.hero:not(.hero-intro){position:relative;overflow:hidden;isolation:isolate;background:var(--c-navy);color:#fff;
  padding-block:clamp(2.5rem,2rem + 2.5vw,4rem) calc(clamp(2.5rem,2rem + 2.5vw,4rem) + 40px)}
.cab::before,.hero:not(.hero-intro)::before{display:block;content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;filter:blur(36px);
  background:radial-gradient(35% 45% at 12% 25%,rgb(29 188 242/.30),transparent 70%),radial-gradient(30% 40% at 88% 70%,rgb(247 148 29/.24),transparent 70%),radial-gradient(25% 30% at 55% 5%,rgb(249 200 14/.14),transparent 70%)}
.tema-profa .hero:not(.hero-intro){background:var(--c-navy)}
.tema-profa .hero:not(.hero-intro)::before{background:radial-gradient(35% 45% at 12% 25%,rgb(138 3 3/.55),transparent 70%),radial-gradient(30% 40% at 88% 70%,rgb(247 148 29/.18),transparent 70%)}
.tema-profa .hero .eyebrow{color:var(--c-oro)}
.tema-profa .hero{border-bottom:0}
.cab .eyebrow,.hero .eyebrow{color:var(--c-oro);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-xs);margin:0 0 var(--sp-3)}
.cab h1{margin:0 0 var(--sp-3);color:#fff}
.cab .lead{color:#E6E8F2;margin:0}
.cab .container{position:relative;z-index:1}
.hero:not(.hero-intro) .container{position:relative;z-index:1}
.hero:not(.hero-intro) figure,.hero-jnj .visual{max-width:280px}
@media (min-width:1024px){.hero:not(.hero-intro){padding-block:var(--sp-12) calc(var(--sp-12) + 40px)}}
.tema-profa .deslinde-hero{border-left-color:var(--c-rojo-sangre);background:rgb(138 3 3/.35);padding:var(--sp-2) var(--sp-3);border-radius:12px}
/* Misión / visión */
.card.mv{padding:clamp(1.5rem,1rem + 2vw,2.5rem)}
.card.mv .eyebrow-c{margin:0;color:var(--c-naranja-800);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-xs)}
.eyebrow-c{color:var(--c-naranja-800);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-xs)}
.cab .logo-cab{display:none}
@media (min-width:768px){.cab-flex{display:grid;grid-template-columns:1fr auto;gap:var(--sp-8);align-items:center}.cab .logo-cab{display:block;width:88px}}
.logo-cab img{filter:drop-shadow(0 0 6px rgb(255 255 255/.45)) drop-shadow(0 0 14px rgb(255 200 80/.25))}
.site-footer{margin-top:0}
.canales{margin:0 0 var(--sp-8)}
.canales .btn{min-width:12rem}
/* Contacto */
.contacto-grid{display:grid;gap:var(--sp-6)}
@media (min-width:900px){.contacto-grid{grid-template-columns:18rem 1fr;align-items:start}}
.contacto-grid .card h2{font-size:var(--fs-lg);margin-bottom:var(--sp-3)}
@media (prefers-reduced-motion:reduce){.cab::before{filter:blur(36px)}}
.cab:has(+.seccion.alt),.hero:has(+.seccion.alt){--ola-sig:var(--c-gris-50)}
.hero .familia{color:#E6E8F2;margin:var(--sp-3) 0 0;animation:sube .6s .26s cubic-bezier(.2,.7,.2,1) both}
.hero .familia a{color:var(--c-oro);font-weight:600}
.precio-nota{color:var(--c-texto-2);margin:0 0 var(--sp-4)}
@media (prefers-reduced-motion:reduce){.hero .familia{animation:none}}
.contacto-grid>*{min-width:0}.gform,.gform-marco{width:100%}.gform-marco iframe{width:100%!important}
.prod summary::after{content:none;display:none}.prod .precio{font:var(--fw-semi) var(--fs-md)/1.5 var(--font-body);color:var(--c-navy)}.prod .precio strong{font:800 1.5rem var(--font-display)}
/* Bloque Perú */
.peru-card{position:relative;overflow:hidden;padding:clamp(1.5rem,1rem + 2vw,2.5rem) clamp(1.5rem,1rem + 2vw,2.5rem) clamp(1.5rem,1rem + 2vw,2.5rem) calc(clamp(1.5rem,1rem + 2vw,2.5rem) + 10px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='16' viewBox='0 0 64 16'%3E%3Cg fill='none' stroke='%23D91023' stroke-opacity='.25' stroke-width='1.5'%3E%3Cpath d='M0 16 8 8 16 16 24 8 32 16 40 8 48 16 56 8 64 16M4 16 8 12 12 16M20 16 24 12 28 16M36 16 40 12 44 16M52 16 56 12 60 16'/%3E%3C/g%3E%3C/svg%3E") right 1.25rem bottom 1rem/64px 16px no-repeat,radial-gradient(45% 70% at 100% 0%,rgb(217 16 35/.06),transparent 70%),#fff}
.peru-franja{position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(#D91023 0 33.3%,#fff 33.3% 66.6%,#D91023 66.6%);border-right:1px solid var(--c-gris-200)}
.peru-card .eyebrow-c{margin:0;color:#B00D1C}
.peru-card h2{margin:var(--sp-2) 0 var(--sp-4)}
.peru-card .lead{margin:0 0 var(--sp-2)}
/* =========================================================
   v6 — Persona JNJ, Novedades, intro productos, tarjetas de producto
   ========================================================= */
.intro-prod{margin:0 0 var(--sp-6)}
.cab+.seccion .intro-prod{color:var(--c-texto-2)}
/* Persona JNJ (sin Niti: la foto queda sola, sin saturar) */
.persona-jnj{display:block}
.persona-jnj img{display:block;width:100%;height:auto;border-radius:var(--r-card);object-fit:cover}
.b-jnj .persona-jnj{margin:0 0 var(--sp-4);max-width:100%}
@media (min-width:768px){.b-jnj{display:grid;grid-template-columns:1fr minmax(0,42%);column-gap:var(--sp-6);align-content:start}.b-jnj>*{grid-column:1}.b-jnj .persona-jnj{grid-column:2;grid-row:1/span 6;margin:0;align-self:start}.b-jnj p,.b-jnj ul{max-width:100%}}
.hero-jnj .visual{max-width:400px}
.hero-jnj .visual .persona-jnj img{box-shadow:0 18px 40px rgb(0 0 0/.35);border:1px solid rgb(255 255 255/.15)}
/* Novedades */
.nov-card{display:grid;gap:var(--sp-6);padding:clamp(1rem,.75rem + 1.5vw,2rem);align-items:center;background:#fff}
.nov-card picture,.nov-card img{display:block;width:100%;max-width:480px;height:auto;border-radius:calc(var(--r-card) - 6px)}
.nov-card h3{margin:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-xl)}
.nov-card .eyebrow-c{margin:0}
@media (min-width:768px){.nov-card{grid-template-columns:minmax(0,420px) 1fr}}
/* Productos: tarjetas separadas con acento propio */
.acordeon{gap:var(--sp-6)}
.prod{--acento:var(--c-gris-200);--acento-txt:var(--c-navy);border:1px solid var(--c-gris-200);border-left:8px solid var(--acento);background:#fff;box-shadow:0 6px 18px rgb(26 29 54/.08)}
.prod-jnj{--acento:var(--c-naranja);--acento-txt:var(--c-navy)}
.prod-profa{--acento:#8A0303;--acento-txt:#fff}
.prod-legere{--acento:#1D5FBF;--acento-txt:#fff}
.prod-calc{--acento:#6B7088;--acento-txt:#fff}
.prod-calc{background:var(--c-gris-50)}
.prod summary:focus-visible{outline-color:var(--c-navy)}
.prod-tit{gap:var(--sp-3)}
.ribbon{position:relative;display:inline-grid;place-items:center;min-width:2.25rem;height:2rem;padding:0 .9rem 0 .7rem;margin-left:calc(-1 * var(--sp-6) - 8px);background:var(--acento);color:var(--acento-txt);font:800 1rem/1 var(--font-display,inherit);clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%)}
.prod .tag{background:var(--acento);color:var(--acento-txt)}
.prod-jnj .tag{background:var(--c-oro)}
.prod[open]{box-shadow:0 10px 28px rgb(26 29 54/.14)}
@media (min-width:768px){.b-jnj>.tag,.b-jnj>.icono,.b-jnj>.btn{justify-self:start}}
/* v7 · tarjetas de producto en pastel (contraste AA: texto navy #1A1D36 sobre fondos claros >12:1) */
.prod{border-left:4px solid var(--acento-borde);background:var(--acento-fondo)}
.prod-jnj{--acento:#FFD9A8;--acento-borde:#F2B266;--acento-fondo:rgb(247 148 29/.08);--acento-txt:var(--c-navy)}
.prod-profa{--acento:#F3CFD2;--acento-borde:#D9959A;--acento-fondo:rgb(138 3 3/.06);--acento-txt:#5C0202}
.prod-legere{--acento:#CDEBFA;--acento-borde:#86CDEE;--acento-fondo:rgb(29 188 242/.08);--acento-txt:#0B3A5C}
.prod-calc{--acento:#E6E8EE;--acento-borde:#BFC4D1;--acento-fondo:#F7F8FA;--acento-txt:var(--c-navy)}
.prod .tag,.prod-jnj .tag{background:var(--acento);color:var(--acento-txt)}
/* index: mismo criterio */
.b-jnj{background:rgb(247 148 29/.08);color:var(--c-navy);border:1px solid var(--c-gris-200);border-left:4px solid #F2B266}
.b-jnj h3{color:var(--c-navy)}
.b-jnj .icono{background:#FFD9A8;color:var(--c-navy)}
.b-jnj a.ver{color:var(--c-naranja-800)}
.b-jnj .chip{background:#fff;color:var(--c-navy);border-color:#F2B266}
.b-jnj .tag{background:#FFD9A8;color:var(--c-navy)}
.b-profa{border-top:0;border-left:4px solid #D9959A;background:rgb(138 3 3/.06)}
.b-profa .tag{background:#F3CFD2;color:#5C0202}
.b-legere{border-top:0;border-left:4px solid #86CDEE;background:rgb(29 188 242/.08)}
.b-legere .tag{background:#CDEBFA;color:#0B3A5C}
.b-calc{border-style:solid;border-left:4px solid #BFC4D1;background:#F7F8FA}
/* v7 · Novedades */
.nov-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 40%,rgb(29 188 242/.06))}
.nov-marco{position:relative;justify-self:center;width:100%;max-width:320px;padding:clamp(.75rem,2vw,1.5rem)}
.nov-marco::before{content:"";position:absolute;inset:0;border-radius:40% 60% 55% 45%/50% 45% 55% 50%;background:radial-gradient(circle at 30% 30%,rgb(249 200 14/.45),transparent 60%),radial-gradient(circle at 75% 70%,rgb(29 188 242/.35),transparent 60%);filter:blur(18px);z-index:0}
.nov-marco picture{position:relative;z-index:1;transform:rotate(-2deg);border-radius:var(--r-lg,20px);overflow:hidden;box-shadow:0 18px 40px rgb(26 29 54/.18),0 2px 6px rgb(26 29 54/.08);border:6px solid #fff;transition:transform .3s ease}
.nov-card:hover .nov-marco picture{transform:rotate(0)}
.nov-card .nov-marco img{max-width:100%;border-radius:0}
.chip-nov{display:inline-block;background:var(--c-oro);color:var(--c-navy);font-weight:700;font-size:var(--fs-xs);padding:2px 12px;border-radius:999px;margin-bottom:var(--sp-2)}
.nov-fechas{list-style:none;padding:0;margin:0 0 var(--sp-4);display:grid;gap:.25rem;color:var(--c-texto-2)}
.nov-fechas strong{color:var(--c-navy)}
@media (min-width:768px){.nov-card{grid-template-columns:1fr minmax(0,320px)}.nov-marco{order:2}.nov-txt{order:1}}
@media (prefers-reduced-motion:reduce){.nov-marco picture{transition:none}}
/* v7b — logo Nosotros grande, iluminado estilo hero, sin placa */
.cab .logo-cab{position:relative;isolation:isolate;display:block;justify-self:center;width:min(100%,240px);margin:var(--sp-6,1.5rem) auto 0;padding:clamp(1rem,3vw,2rem);background:none;box-shadow:none;border-radius:0;box-sizing:border-box}
.cab .logo-cab::before{content:"";position:absolute;inset:-6%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgb(255 255 255/.35),rgb(255 200 80/.16) 55%,transparent);filter:blur(18px);pointer-events:none;animation:logo-pulso 5s ease-in-out infinite}
.cab .logo-cab img{display:block;width:100%;max-width:220px;height:auto;margin:0 auto;filter:drop-shadow(0 0 8px rgb(255 255 255/.5)) drop-shadow(0 0 18px rgb(255 200 80/.3))!important}
@keyframes logo-pulso{50%{opacity:.7;transform:scale(1.05)}}
@media (min-width:768px){.cab .logo-cab{width:clamp(260px,26vw,320px);margin:0}}
@media (prefers-reduced-motion:reduce){.cab .logo-cab::before{animation:none}}

/* =========================================================
   v8 — Pastel translúcido en hero y cabeceras · tarjetas de producto visibles · contacto sin banda
   Texto navy #1A1D36 sobre fondos pastel (≥12:1). Acentos de texto oscuros (#7A4100, #5C0202) ≥7:1.
   ========================================================= */
/* v10: hero y cabeceras vuelven al fondo navy con haces de color en movimiento (pedido de Ricardo) */
/* Niti flota: nunca recortado (logo del pecho visible) */
.niti-hero,.niti-hero picture,.b-jnj .niti-mini,.hero-jnj .visual{overflow:visible}
.niti-hero img,.niti-celebra{object-fit:contain;max-width:100%;height:auto}
@media (max-width:767px){.niti-hero{max-width:240px}}
/* Productos: tarjetas siempre visibles, 2 columnas en escritorio */
.prod-grid{display:grid;gap:var(--sp-6);grid-template-columns:1fr;margin-top:var(--sp-6)}
@media (min-width:900px){.prod-grid{grid-template-columns:1fr 1fr}}
.seccion .container.estrecho:has(.prod-grid){max-width:var(--container)}
.prod{padding:0;display:flex;flex-direction:column}
.prod-cab{display:grid;gap:.25rem;padding:var(--sp-4) var(--sp-6) var(--sp-3)}
.prod-tit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}
h2.prod-nom{font:700 1.2rem/1.25 var(--font-display);margin:0;letter-spacing:0;color:var(--c-navy)}
.prod-cuerpo{padding:0 var(--sp-6) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-2);flex:1}
.prod-cuerpo .btn{align-self:flex-start}
.prod-cuerpo .btn:first-of-type{margin-top:auto}
/* Contacto sin banda */
.contacto-sec{padding-top:var(--sp-12)}
.contacto-sec h1{margin-bottom:var(--sp-3)}
.contacto-sec .lead{margin:0 0 var(--sp-8)}
.canales-in{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
/* Objetivos táctiles ≥24px (WCAG 2.5.8) */
main p a:not(.btn),main li a:not(.btn),.site-footer a{display:inline-block;min-height:24px;line-height:24px}
.skip:focus{z-index:200}
#main,[id]{scroll-margin-top:5rem}

.prod-historico{filter:grayscale(1);color:#595959}.prod-historico img{opacity:.6}

.linea-tiempo{list-style:none;margin:1.5rem 0 0;padding:0 0 0 1.5rem;border-left:2px solid rgba(120,140,200,.35)}
.linea-tiempo li{position:relative;margin:0 0 1.25rem}
.linea-tiempo li::before{content:"";position:absolute;left:calc(-1.5rem - 7px);top:.45em;width:12px;height:12px;border-radius:50%;background:#dfe6fb;border:2px solid rgba(120,140,200,.7)}
.linea-tiempo p{margin:0;max-width:65ch}

/* v10b: WhatsApp como logotipo + texto, sin botón */
a.btn[href*="wa.me"]{background:none!important;border:0!important;box-shadow:none!important;padding:.25rem 0!important;min-height:44px;color:inherit!important;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a.btn[href*="wa.me"]::before{content:"";flex:none;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2325D366'/%3E%3Cpath fill='%23fff' d='M23.3 8.7A10.3 10.3 0 0 0 7 21.1L5.6 26.4l5.4-1.4a10.3 10.3 0 0 0 4.9 1.3c5.7 0 10.3-4.6 10.3-10.3 0-2.8-1.1-5.3-2.9-7.3zm-7.4 15.9c-1.5 0-3-.4-4.3-1.2l-.3-.2-3.2.8.9-3.1-.2-.3a8.6 8.6 0 1 1 7.1 4zm4.7-6.4c-.3-.1-1.5-.8-1.8-.9s-.4-.1-.6.1-.7.9-.8 1-.3.2-.6.1a7 7 0 0 1-3.5-3c-.3-.5.3-.4.8-1.4.1-.2 0-.3 0-.4l-.8-1.9c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.1 5.1 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.7.5-.1 1.5-.6 1.7-1.2s.2-1.1.2-1.2-.4-.2-.7-.3z'/%3E%3C/svg%3E") center/contain no-repeat}
a.btn[href*="wa.me"]:hover{text-decoration-thickness:2px}

/* v10c: espacio entre CTA (Úrsula): 24px escritorio, 16px móvil, 12px entre filas */
.acciones,.canales-in{display:flex;flex-wrap:wrap;align-items:center;column-gap:1rem;row-gap:.75rem}
@media (min-width:768px){.acciones,.canales-in{column-gap:1.5rem}}

.lista-materias-tit,h2:has(+ .lista-check),h3:has(+ .lista-check){margin-top:var(--sp-8)}

/* v10d: avisos legales en el pie, plegables, letra pequeña */
.avisos{margin-top:var(--sp-6);font-size:.8rem;line-height:1.5;opacity:.85}
.avisos summary{cursor:pointer;display:inline-flex;align-items:center;min-height:24px;text-decoration:underline;text-underline-offset:3px}
.avisos-txt{max-width:80ch;margin-top:var(--sp-2)}
.avisos-txt p{margin:0 0 var(--sp-2)}
.site-footer details.avisos{background:none;border:0;border-top:1px solid rgb(255 255 255/.12);border-radius:0;padding:var(--sp-4) 0 0;margin:var(--sp-6) 0 var(--sp-3);color:#C9CCDA}
.site-footer .avisos summary{display:inline-flex;justify-content:flex-start;gap:.4rem;font-weight:500;font-size:.8rem;color:#C9CCDA}
.site-footer .avisos summary::after{font-size:1.1em}
.site-footer .avisos-txt p{color:#C9CCDA;font-size:.78rem}

.resalte-trampa{color:#B54708;font-weight:800}.site-footer .resalte-trampa,.claim.oscuro .resalte-trampa,.hero .chips .resalte-trampa{color:#F9C80E}

/* ===== v11 — acordeón de productos, marco azul, pie a sangre, logo del pie, estela de cubos ===== */
/* Acordeón (anula estilos globales de details/summary) */
.prod-acordeon{grid-template-columns:1fr!important;gap:var(--sp-4)}
details.prod{margin:0;padding:0;border-radius:var(--r-card,24px);border:1px solid rgb(26 29 54/.08);border-left:6px solid var(--acento-borde);background:var(--acento-fondo);box-shadow:0 4px 14px rgb(26 29 54/.06);overflow:hidden;transition:box-shadow .25s ease}
details.prod>summary.prod-cab{list-style:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.25rem var(--sp-4);min-height:var(--tap);padding:var(--sp-4) var(--sp-6);cursor:pointer;font-weight:inherit}
details.prod>summary.prod-cab::-webkit-details-marker{display:none}
details.prod>summary.prod-cab::after{content:none}
details.prod>summary .prod-tit,details.prod>summary .prod-res{grid-column:1}
details.prod>summary .chev{grid-column:2;grid-row:1/span 2;width:2.25rem;height:2.25rem;border-radius:50%;background:rgb(255 255 255/.75);border:1px solid var(--acento-borde);position:relative;transition:transform .25s ease}
details.prod>summary .chev::before{content:"";position:absolute;left:50%;top:45%;width:.55rem;height:.55rem;border:solid var(--c-navy);border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}
details.prod[open]>summary .chev{transform:rotate(180deg)}
details.prod>summary:hover{background:rgb(255 255 255/.35)}
details.prod>summary:focus-visible{outline:3px solid var(--c-naranja);outline-offset:-3px;border-radius:inherit}
details.prod[open]{box-shadow:0 10px 28px rgb(26 29 54/.12)}
details.prod .prod-cuerpo{padding:0 var(--sp-6) var(--sp-6);border-top:1px dashed var(--acento-borde);padding-top:var(--sp-4)}
details.prod .ribbon{margin-left:calc(-1 * var(--sp-6) - 6px)}
details.prod .prod-nom{font:700 1.2rem/1.25 var(--font-display);margin:0;color:var(--c-navy)}
details.prod .acciones{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-top:var(--sp-3)}
.prod-home .persona-jnj{float:right;margin:0 0 var(--sp-3) var(--sp-4);max-width:min(42%,260px)}
.prod-home .persona-jnj img{border-radius:var(--r-lg);height:auto;max-width:100%}
.prod-home .prod-cuerpo::after{content:"";display:block;clear:both}
.prod-home .chips{margin:var(--sp-3) 0}.prod-home .prod-jnj .chip{background:#fff;color:var(--c-navy);border:1px solid #F2B266}
@media (max-width:600px){.prod-home .persona-jnj{float:none;margin:0 0 var(--sp-3);max-width:100%}}
@media (prefers-reduced-motion:reduce){details.prod>summary .chev{transition:none}}
/* Marco azul con la frase introductoria */
.intro-marco{margin:var(--sp-4) 0 0!important;max-width:62ch;padding:var(--sp-3) var(--sp-4);border-radius:16px;background:rgb(29 188 242/.12);border:1px solid rgb(29 188 242/.4);color:#E6E8F2!important}
.marco-azul{background:linear-gradient(135deg,rgb(29 188 242/.10),rgb(29 95 191/.08));border:1px solid rgb(29 188 242/.35);border-radius:var(--r-card,24px);padding:var(--sp-6);margin-bottom:var(--sp-6)}
.marco-azul h2{margin-bottom:var(--sp-3)}
.marco-azul .intro-marco{background:none;border:0;padding:0;color:var(--c-texto)!important;margin:0!important}
/* Pie a sangre: sin esquinas redondeadas ni huecos laterales */
.site-footer{border-radius:0!important;width:100%;margin:0!important;box-shadow:none}
body{overflow-x:hidden}
/* Logo del pie: centrado en una caja translúcida, más visible */
.site-footer .pie-logo{display:grid;place-items:center;align-self:start;min-height:160px;max-width:220px;border-radius:24px;position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(circle at 50% 42%,rgb(249 200 14/.18),transparent 62%),radial-gradient(circle at 20% 90%,rgb(29 188 242/.16),transparent 55%),rgb(255 255 255/.05);
  border:1px solid rgb(255 255 255/.14);box-shadow:inset 0 1px 0 rgb(255 255 255/.08)}
.site-footer .pie-logo::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;
  background-image:linear-gradient(rgb(255 255 255/.06) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255/.06) 1px,transparent 1px);background-size:14px 14px;
  -webkit-mask:radial-gradient(circle at 50% 45%,#000,transparent 75%);mask:radial-gradient(circle at 50% 45%,#000,transparent 75%)}
.site-footer .pie-logo picture{display:block}
.site-footer .pie-logo .logo-halo{width:84px!important;height:auto;display:block;margin:auto;filter:drop-shadow(0 0 4px rgb(255 255 255/.7)) drop-shadow(0 0 16px rgb(255 200 80/.35))!important}
@media (max-width:767px){.site-footer .pie-logo{max-width:none;min-height:140px}}
/* Estela de cubos */
.estela-cubos{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483000}
details.prod>summary .chev{transform:none;border:1px solid var(--acento-borde);align-self:center;flex:none}
details.prod[open]>summary .chev{transform:rotate(180deg)}
details.prod .tag{border-radius:999px;padding:2px .7rem;font-size:var(--fs-xs);font-weight:700;line-height:1.6}
.prod-home .prod-cuerpo{display:block}
details.prod .prod-nom{display:inline;font:700 1.2rem/1.25 var(--font-display);color:var(--c-navy)}
/* v13 — servicios */
.servicios .eyebrow-c{margin:0 0 var(--sp-2);color:var(--c-cian-700);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-xs)}
.serv-grid{margin-top:var(--sp-2)}
.serv{border-top:4px solid var(--b,#86CDEE)}.serv h2{font-size:var(--fs-lg);line-height:1.25;margin:0 0 var(--sp-3)}.serv p{margin:0}
.serv-apps{--b:#F2B266;background:linear-gradient(180deg,rgb(247 148 29/.06),#fff 60%)}.serv-web{--b:#86CDEE;background:linear-gradient(180deg,rgb(29 188 242/.07),#fff 60%)}.serv-ia{--b:#B9A6E8;background:linear-gradient(180deg,rgb(124 92 214/.06),#fff 60%)}
.serv-poc{margin-top:var(--sp-6);padding:var(--sp-6);border-radius:var(--r-card,24px);background:rgb(26 29 54/.04);border:1px dashed rgb(26 29 54/.18)}
.serv-poc h3{font-size:var(--fs-md);margin:0 0 var(--sp-2)}.serv-poc p{margin:0;max-width:75ch}
/* ===== v13b — onda superior en la primera sección de todas las páginas (misma onda --ola que la inferior) ===== */
.con-ola-sup{position:relative;isolation:isolate}
.con-ola-sup>.ola-sup{position:absolute;left:0;right:0;top:-1px;height:40px;z-index:1;pointer-events:none;
  filter:drop-shadow(0 2px 0 rgb(29 188 242/.28)) drop-shadow(0 6px 10px rgb(249 200 14/.10))}
.con-ola-sup>.ola-sup::before{content:"";position:absolute;inset:0;background:var(--c-navy);transform:scale(-1,-1);
  -webkit-mask:var(--ola) center/100% 100% no-repeat;mask:var(--ola) center/100% 100% no-repeat}
.cab.con-ola-sup,.hero.con-ola-sup:not(.hero-intro){padding-top:calc(clamp(2.5rem,2rem + 2.5vw,4rem) + 40px)}
.hero-intro.con-ola-sup{padding-top:calc(var(--sp-12) + 40px)}
.contacto-sec.con-ola-sup{padding-top:calc(var(--sp-seccion) + 40px)}
.con-ola-sup>.container{position:relative;z-index:2}
@media (max-width:480px){.con-ola-sup>.ola-sup{height:28px}}
/* ===== v13c — onda superior del pie (mismo dibujo --ola, navy del pie). Se monta 40px sobre el padding inferior de la sección previa, sin tapar contenido ===== */
.site-footer{position:relative;overflow:visible}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;pointer-events:none;z-index:1;background:var(--c-navy);
  -webkit-mask:var(--ola) center/100% 100% no-repeat;mask:var(--ola) center/100% 100% no-repeat}
@media (max-width:480px){.site-footer::before{top:-27px;height:28px}}
main>section:last-child{padding-bottom:max(var(--sp-seccion,4rem),56px)}
/* v13d — reserva fija del Google Form (CLS≈0): el iframe se monta absoluto dentro de un marco de alto fijo */
.gform-marco{position:relative;display:block;min-height:1120px;height:1120px}
.gform-marco[hidden]{display:block}
.gform-marco .gform-aviso{position:absolute;inset:0 0 auto 0;margin:0}
.gform-marco iframe{position:absolute;inset:0;height:100%!important;min-height:0}

/* v13e WhatsApp pie: logo + texto */.site-footer a[href*="wa.me"]{display:inline-flex;align-items:center;gap:.45rem}.site-footer a[href*="wa.me"]::before{content:"";flex:none;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2325D366'/%3E%3Cpath fill='%23fff' d='M23.3 8.7A10.3 10.3 0 0 0 7 21.1L5.6 26.4l5.4-1.4a10.3 10.3 0 0 0 4.9 1.3c5.7 0 10.3-4.6 10.3-10.3 0-2.8-1.1-5.3-2.9-7.3zm-7.4 15.9c-1.5 0-3-.4-4.3-1.2l-.3-.2-3.2.8.9-3.1-.2-.3a8.6 8.6 0 1 1 7.1 4zm4.7-6.4c-.3-.1-1.5-.8-1.8-.9s-.4-.1-.6.1-.7.9-.8 1-.3.2-.6.1a7 7 0 0 1-3.5-3c-.3-.5.3-.4.8-1.4.1-.2 0-.3 0-.4l-.8-1.9c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.1 5.1 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.7.5-.1 1.5-.6 1.7-1.2s.2-1.1.2-1.2-.4-.2-.7-.3z'/%3E%3C/svg%3E") center/contain no-repeat}
/* v13f — logo de WhatsApp en todos los enlaces wa.me de texto (mismo SVG que v13e) */
main a[href*="wa.me"]:not(.btn){display:inline-flex;align-items:center;gap:.35rem;vertical-align:-.3em;line-height:1.2}
main a[href*="wa.me"]:not(.btn)::before{content:"";flex:none;width:19px;height:19px;background:var(--wa-logo) center/contain no-repeat}

/* v13g — logo de Facebook (mismo tamaño y alineación que WhatsApp) */
.site-footer a[href*="facebook.com"]{display:inline-flex;align-items:center;gap:.45rem}
.site-footer a[href*="facebook.com"]::before{content:"";flex:none;width:20px;height:20px;background:var(--fb-logo) center/contain no-repeat}
main a[href*="facebook.com"]:not(.btn){display:inline-flex;align-items:center;gap:.35rem;vertical-align:-.3em;line-height:1.2}
main a[href*="facebook.com"]:not(.btn)::before{content:"";flex:none;width:19px;height:19px;background:var(--fb-logo) center/contain no-repeat}
a.btn[href*="facebook.com"]{background:none!important;border:0!important;box-shadow:none!important;padding:.25rem 0!important;min-height:44px;color:inherit!important;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;text-decoration:underline;text-underline-offset:4px}
a.btn[href*="facebook.com"]::before{content:"";flex:none;width:26px;height:26px;background:var(--fb-logo) center/contain no-repeat}
a.btn[href*="facebook.com"]:hover{transform:none;text-decoration-thickness:2px}
@view-transition{navigation:auto}
/* ===== v13m — onda sutil (14px) arriba y abajo en todas las .banda navy; color de la sección anterior/siguiente ===== */
.banda.con-niti::before,.banda.con-niti::after{content:"";display:block;position:absolute;left:0;right:0;height:14px;pointer-events:none;z-index:1;
  -webkit-mask:var(--ola) center/100% 100% no-repeat;mask:var(--ola) center/100% 100% no-repeat}
.banda.con-niti::before{top:-1px;transform:scale(-1,-1);background:var(--ola-prev,#fff)}
.banda.con-niti::after{bottom:-1px;transform:scaleX(-1);background:var(--ola-sig-banda,#fff)}
.banda.con-niti{padding-block:calc(var(--sp-seccion) + 8px)}
.seccion.alt+.banda.con-niti{--ola-prev:var(--c-gris-50)}
.banda.con-niti:has(+.seccion.alt){--ola-sig-banda:var(--c-gris-50)}
main>.banda.con-niti:last-child{--ola-sig-banda:var(--c-navy)} /* sigue el pie navy: sin corte visible */
/* Botones de la banda alineados */
.banda.con-niti .acciones{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);align-items:center}
@media (max-width:767px){.banda.con-niti .acciones{flex-direction:column;justify-content:center;align-items:center;gap:var(--sp-2)}
  .banda.con-niti .acciones .btn{margin:0;min-height:44px;padding-inline:0!important}}
/* v13n — fichas de producto y bloque de precios aislable */
.ficha{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-3);max-width:75ch}.ficha p{margin:0}
.precios-bloque{display:inline-block;align-self:flex-start;margin:var(--sp-2) 0;padding:var(--sp-2) var(--sp-4);border-radius:14px;background:rgb(255 255 255/.7);border:1px dashed var(--acento-borde,#BFC4D1);color:var(--c-navy)}
.precios-bloque p{margin:0}
/* v13n — onda inferior de .banda con la MISMA curva y orientación que la superior: mismo transform y máscara invertida (solo cambia el relleno) */
.banda.con-niti::after{transform:scale(-1,-1);
  -webkit-mask:var(--ola) center/100% 100% no-repeat,linear-gradient(#000,#000);-webkit-mask-composite:xor;
  mask:var(--ola) center/100% 100% no-repeat,linear-gradient(#000,#000);mask-composite:exclude}
.precios-bloque .precio-pend{margin:.25rem 0 0;font-size:var(--fs-xs);color:var(--c-texto-2)}
/* v13p — contenedor del Libro de reclamaciones (Google Form pendiente) */
.libro-form{margin:var(--sp-6) 0;padding:var(--sp-6);min-height:12rem;border:2px dashed var(--c-gris-200);border-radius:var(--r-card,20px);background:var(--bg-alt);display:grid;place-items:center;text-align:center}
.bases ul ul{margin-top:var(--sp-2)}
/* v13s — Google Form del Libro de Reclamaciones (reserva fija, sin CLS; medida 1554/1824 px de la 1.ª página) */
.libro-marco{height:1600px;min-height:1600px;margin:var(--sp-6) 0 var(--sp-3);border-radius:var(--r-md);overflow:hidden;background:#fff}
@media (max-width:600px){.libro-marco{height:1850px;min-height:1850px}}
.libro-alt{margin:0 0 var(--sp-6)}
/* v13u — destacado «Funciona sin internet» (wifi tachado, pastel) */
.sin-internet{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 var(--sp-3);padding:.4rem .9rem;border-radius:999px;background:#E8F6FD;border:1px solid #9FD7F0;color:var(--c-navy);font-size:var(--fs-xs);line-height:1.4;max-width:100%}
.sin-internet .ico-wifi-off{flex:none;color:#0A6E91}
.claim-offline .txt{display:inline-flex;align-items:center;gap:.5rem}.claim-offline .ico-wifi-off{color:#0A6E91}
.claim-offline{background:#F2FAFE;border-color:#BFE5F5}
.libro-aviso{margin:var(--sp-6) 0 calc(-1 * var(--sp-3));font-size:var(--fs-xs);color:var(--c-texto-2)}
