/* g2 v2 (19/9/2026, auditoría fila 20): sin el @import de Google Fonts (las letras las sirve la propia web, ver fuentes.css del fragmento 332)
   y con 'Fraunces respaldo' / 'Manrope respaldo' en las pilas: letra del sistema con las MISMAS medidas mientras llega la de marca. Nada más cambia. */
/* =====================================================================
   G2 · sistema de diseño de la web de PxN · 15/9/2026
   Regla primaria de Javi (decisión 29 del cuartel):
   - más grande y con marca (banner de correo: degradado navy → cian + isotipo de fondo)
   - botones que llaman al clic, sin cortes de línea feos
   - texto corto con viñetas y negritas; plegables y pestañas para ahorrar scroll
   - cada sección se distingue al bajar; el móvil se piensa aparte y se comprueba
   CONTRATO para quien construya secciones:
   - Todo va dentro de <main class="g2">. Cada sección: <section class="g2-s g2-s--TEMA" id="…">
     TEMAS: blanco · hielo · arena · ambar · cian · navy · marca (degradado de marca, texto blanco)
     Dos secciones seguidas NUNCA con el mismo tema.
   - Contenedor .g2-w · cabecera .g2-cab (+ --centro) con .g2-eti (+ <span class="n">3</span>), h2, .g2-entrada
   - Botones: .g2-btn + variante (--compra verde SOLO para comprar o ver el pack · --navy · --claro · --linea)
     + --grande. Dentro: <span class="txt">Texto<small>Detalle</small></span><span class="fl">icono</span>
   - Iconos de línea: <svg class="i"><use href="#i-NOMBRE"/></svg> (sprite al principio de la página)
   - Tarjeta .g2-tarj · icono en caja .g2-ico · lista .g2-lista (li = icono + <span>)
   - Plegable: <details class="g2-plega"><summary><span>Título</span><span class="mas">+icono</span></summary><div class="dentro">
   - Pestañas: [data-g2-tabs] > .g2-tabs > button.g2-tab[data-g2-tab=x] · paneles [data-g2-panel=x]
   - Carrusel en móvil y rejilla en ordenador: .g2-carrusel style="--cols:3" + <div class="g2-puntos"></div>
   - Aparición al bajar: atributo data-rev
   - NUNCA dos columnas de texto en móvil (<700 px): una columna, tarjetas apiladas o carrusel.
   ===================================================================== */

:root{
  --g2-navy:#0F2942;--g2-navy-2:#0B1F33;--g2-navy-3:#16395C;--g2-teal:#0A6E84;
  --g2-cian:#0AB7C6;--g2-cian-2:#7FE3EC;--g2-cian-3:#D6F4F7;
  --g2-hielo:#E9F6FB;--g2-hielo-2:#F4FAFD;--g2-arena:#F5EDD6;--g2-arena-2:#FBF6EA;
  --g2-ambar:#F0B429;--g2-ambar-2:#FFF5DD;--g2-verde:#1A9D5A;--g2-verde-2:#22C06F;--g2-verde-3:#12804A;
  --g2-rojo:#C8463D;--g2-tinta:#132536;--g2-gris:#556579;--g2-gris-2:#8A98A8;--g2-borde:#DCE7EF;
  --g2-tit:'Fraunces','Fraunces respaldo','Fraunces respaldo B',Georgia,'Times New Roman',serif;
  --g2-txt:'Manrope','Manrope respaldo','Manrope respaldo B',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --g2-r-s:12px;--g2-r-m:18px;--g2-r-l:26px;--g2-r-xl:34px;
  --g2-sh-s:0 2px 10px rgba(15,41,66,.07);
  --g2-sh-m:0 14px 34px rgba(15,41,66,.12);
  --g2-sh-l:0 30px 64px rgba(15,41,66,.20);
  --g2-sh-verde:0 16px 34px rgba(26,157,90,.38);
  --g2-grad:linear-gradient(125deg,#0B1F33 0%,#0F2942 28%,#0A6E84 68%,#0AB7C6 100%);
  --g2-w:1200px;--g2-pad:clamp(20px,5vw,40px)
}

/* ---------- base ---------- */
.g2{font-family:var(--g2-txt);color:var(--g2-tinta);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
.g2 *,.g2 *::before,.g2 *::after{box-sizing:border-box}
.g2 img{max-width:100%;height:auto}
.g2 h1,.g2 h2,.g2 h3,.g2 h4{font-family:var(--g2-tit);font-weight:700;letter-spacing:-.015em;margin:0;color:inherit}
.g2 h1{font-size:clamp(40px,8.4vw,74px);line-height:1.03}
.g2 h2{font-size:clamp(31px,6vw,52px);line-height:1.07}
.g2 h3{font-size:clamp(21px,3.6vw,27px);line-height:1.18}
.g2 p{margin:0 0 .8em}
.g2 b,.g2 strong{font-weight:800}
.g2 a{color:inherit}
.g2 .i{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.g2-w{max-width:var(--g2-w);margin:0 auto;padding-inline:var(--g2-pad)}
.g2-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- secciones y temas ---------- */
.g2-s{position:relative;padding-block:clamp(64px,10vw,116px);isolation:isolate}
.g2-s--blanco{background:#fff}
.g2-s--hielo{background:var(--g2-hielo)}
.g2-s--arena{background:var(--g2-arena-2)}
.g2-s--ambar{background:var(--g2-ambar-2)}
.g2-s--cian{background:linear-gradient(165deg,#CFF3F6 0%,#E9F6FB 55%,#F7FCFE 100%)}
.g2-s--navy{background:radial-gradient(120% 80% at 100% 0%,#16395C 0%,#0F2942 45%,#0B1F33 100%);color:#fff}
.g2-s--marca{background:var(--g2-grad);color:#fff}
.g2-s--navy .g2-tarj,.g2-s--marca .g2-tarj{color:var(--g2-tinta)}
.g2-s--hielo+.g2-s--hielo,.g2-s--blanco+.g2-s--blanco{border-top:1px solid var(--g2-borde)}
.g2-marca-agua{position:absolute;z-index:-1;pointer-events:none;opacity:.07;width:min(80vw,720px);right:-14%;top:50%;transform:translateY(-50%)}
.g2-s--navy .g2-marca-agua,.g2-s--marca .g2-marca-agua{opacity:.09}

/* olas entre secciones: <div class="g2-ola" style="--c:#E9F6FB"><svg viewBox="0 0 1440 80" preserveAspectRatio="none"><path d="…"/></svg></div> */
.g2-ola{position:absolute;left:0;right:0;bottom:-1px;height:clamp(34px,5vw,80px);z-index:1;pointer-events:none;line-height:0}
.g2-ola svg{width:100%;height:100%;display:block}
.g2-ola path{fill:var(--c,#fff)}

/* ---------- cabecera de sección ---------- */
.g2-cab{max-width:780px;margin-bottom:clamp(28px,5vw,52px)}
.g2-cab--centro{margin-inline:auto;text-align:center}
.g2-eti{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:13px;letter-spacing:.11em;text-transform:uppercase;padding:8px 14px 8px 8px;border-radius:999px;background:rgba(10,183,198,.12);color:var(--g2-teal);margin-bottom:18px;line-height:1.2}
.g2-eti .n{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:var(--g2-cian);color:#fff;font-size:12px;letter-spacing:0}
.g2-eti .i{width:18px;height:18px}
.g2-s--navy .g2-eti,.g2-s--marca .g2-eti,.g2-hero .g2-eti{background:rgba(255,255,255,.12);color:var(--g2-cian-2)}
.g2 h2 .acento,.g2 h1 .acento{color:var(--g2-cian);font-style:italic}
.g2-s--navy h2 .acento,.g2-s--marca h2 .acento,.g2-hero h1 .acento{color:var(--g2-cian-2)}
.g2-entrada{font-size:clamp(17px,2.3vw,20px);color:var(--g2-gris);margin-top:16px;max-width:62ch}
.g2-cab--centro .g2-entrada{margin-inline:auto}
.g2-s--navy .g2-entrada,.g2-s--marca .g2-entrada{color:rgba(255,255,255,.8)}

/* ---------- botones ---------- */
.g2-btn{--bg:var(--g2-navy);--fg:#fff;position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:10px 10px 10px 24px;border-radius:18px;background:var(--bg);color:var(--fg)!important;font:800 18px/1.15 var(--g2-txt);text-decoration:none!important;border:0;cursor:pointer;box-shadow:var(--g2-sh-m);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;text-align:left;-webkit-tap-highlight-color:transparent}
.g2-btn:hover{transform:translateY(-2px);box-shadow:var(--g2-sh-l);filter:saturate(1.08)}
.g2-btn:active{transform:translateY(0)}
.g2-btn:focus-visible{outline:3px solid var(--g2-cian-2);outline-offset:3px}
.g2-btn .txt{display:flex;flex-direction:column;gap:3px}
.g2-btn .txt small{font-size:13.5px;font-weight:700;opacity:.9;white-space:nowrap;letter-spacing:.01em}
.g2-btn .fl{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.2);transition:transform .2s ease}
.g2-btn:hover .fl{transform:translateX(4px)}
.g2-btn .fl .i{width:22px;height:22px;stroke-width:2.2}
.g2-btn--compra{background:linear-gradient(135deg,#27C774 0%,#1A9D5A 52%,#12804A 100%);box-shadow:var(--g2-sh-verde)}
.g2-btn--navy{--bg:var(--g2-navy)}
.g2-btn--claro{--bg:#fff;--fg:var(--g2-navy)}
.g2-btn--claro .fl{background:var(--g2-hielo);color:var(--g2-teal)}
.g2-btn--linea{--bg:rgba(255,255,255,.06);--fg:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.g2-btn--linea:hover{box-shadow:inset 0 0 0 2px #fff}
.g2-btn--linea .fl{background:rgba(255,255,255,.14)}
.g2-btn--suave{--bg:var(--g2-hielo);--fg:var(--g2-navy);box-shadow:none}
.g2-btn--suave .fl{background:#fff;color:var(--g2-teal)}
.g2-btn--grande{min-height:70px;font-size:20px;border-radius:20px;padding-left:28px}
.g2-btn--grande .fl{width:50px;height:50px;border-radius:15px}
.g2-btn--latido::after{content:"";position:absolute;inset:-7px;border-radius:26px;border:2px solid rgba(39,199,116,.6);opacity:0;animation:g2-latido 2.8s ease-out 1.4s infinite;pointer-events:none}
@keyframes g2-latido{0%{opacity:.85;transform:scale(.97)}70%{opacity:0;transform:scale(1.05)}100%{opacity:0}}
@media (max-width:560px){.g2-btn{width:100%}}
.g2-acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.g2-enlace{display:inline-flex;align-items:center;gap:8px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--g2-cian)}
.g2-enlace .i{width:18px;height:18px}

/* sellos bajo los botones: una fila, iconos arriba y alineados */
.g2-sellos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.g2-sello{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:10px 6px;border-radius:14px;background:rgba(15,41,66,.04);font-size:12.5px;font-weight:800;line-height:1.25;color:var(--g2-navy)}
.g2-sello .i{width:22px;height:22px;color:var(--g2-verde)}
.g2-s--navy .g2-sello,.g2-s--marca .g2-sello,.g2-hero .g2-sello{background:rgba(255,255,255,.08);color:#fff}
.g2-s--navy .g2-sello .i,.g2-s--marca .g2-sello .i,.g2-hero .g2-sello .i{color:var(--g2-cian-2)}
.g2-chips-mini{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:14px;font-weight:800}
.g2-chips-mini span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.g2-chips-mini .i{width:17px;height:17px;color:var(--g2-verde)}
.g2-hero .g2-chips-mini{color:rgba(255,255,255,.9)}
.g2-hero .g2-chips-mini .i{color:var(--g2-cian-2)}

/* ---------- tarjetas, iconos, listas ---------- */
.g2-tarj{position:relative;background:#fff;border-radius:var(--g2-r-l);padding:clamp(20px,3vw,30px);box-shadow:var(--g2-sh-s);border:1px solid var(--g2-borde)}
.g2-tarj--alta{box-shadow:var(--g2-sh-m);border-color:transparent}
.g2-ico{display:inline-grid;place-items:center;flex:none;width:54px;height:54px;border-radius:16px;background:var(--g2-hielo);color:var(--g2-teal)}
.g2-ico .i{width:28px;height:28px;stroke-width:1.8}
.g2-ico--cian{background:var(--g2-cian);color:#fff}
.g2-ico--ambar{background:var(--g2-ambar-2);color:#B7791F}
.g2-ico--verde{background:#E3F7EC;color:var(--g2-verde-3)}
.g2-ico--navy{background:var(--g2-navy);color:var(--g2-cian-2)}
.g2-lista{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.g2-lista li{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;line-height:1.45}
.g2-lista li>.i{width:24px;height:24px;margin-top:0;color:var(--g2-cian);stroke-width:2.2}
.g2-lista li.no>.i{color:var(--g2-gris-2)}
.g2-lista li.no{color:var(--g2-gris)}
.g2-lista li.mas>.i{color:var(--g2-verde)}
.g2-s--navy .g2-lista li>.i,.g2-s--marca .g2-lista li>.i{color:var(--g2-cian-2)}
.g2-s--navy .g2-lista li.no,.g2-s--marca .g2-lista li.no{color:rgba(255,255,255,.84)}
.g2-s--navy .g2-lista li.no>.i,.g2-s--marca .g2-lista li.no>.i{color:rgba(255,255,255,.62)}
.g2-marca-txt{background:linear-gradient(transparent 62%,rgba(10,183,198,.22) 62%);padding:0 2px}
.g2-pastilla{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:800;background:var(--g2-hielo);color:var(--g2-teal);white-space:nowrap}
.g2-pastilla--verde{background:#E3F7EC;color:var(--g2-verde-3)}
.g2-pastilla--ambar{background:var(--g2-ambar-2);color:#9A6412}
.g2-pastilla--navy{background:var(--g2-navy);color:#fff}
.g2-pastilla .i{width:15px;height:15px}

/* ---------- pestañas ---------- */
.g2 .g2-tabs{display:flex;gap:6px;padding:6px;border-radius:20px;background:rgba(15,41,66,.07);overflow-x:auto;scrollbar-width:none;margin-bottom:18px}
.g2 .g2-tabs::-webkit-scrollbar{display:none}
.g2 .g2-tab{flex:1 0 auto;min-height:56px;padding:8px 14px;border-radius:15px;border:0;background:transparent;font:800 15.5px/1.1 var(--g2-txt);color:var(--g2-navy);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;white-space:nowrap;transition:background .2s,box-shadow .2s,color .2s}
.g2 .g2-tab small{font-weight:700;font-size:12.5px;color:var(--g2-gris)}
.g2 .g2-tab[aria-selected="true"]{background:#fff;box-shadow:var(--g2-sh-m);color:var(--g2-teal)}
.g2 .g2-tab[aria-selected="true"] small{color:var(--g2-navy)}
.g2-s--navy .g2-tabs,.g2-s--marca .g2-tabs{background:rgba(255,255,255,.1)}
.g2-s--navy .g2-tab,.g2-s--marca .g2-tab{color:#fff}
.g2-s--navy .g2-tab small,.g2-s--marca .g2-tab small{color:rgba(255,255,255,.7)}
.g2-s--navy .g2-tab[aria-selected="true"],.g2-s--marca .g2-tab[aria-selected="true"]{color:var(--g2-navy)}
.g2-js [data-g2-panel][hidden]{display:none!important}

/* ---------- plegables ---------- */
.g2-plega{border-radius:var(--g2-r-m);background:#fff;border:1px solid var(--g2-borde);overflow:hidden;transition:box-shadow .2s}
.g2-plega+.g2-plega{margin-top:10px}
.g2-plega[open]{box-shadow:var(--g2-sh-m);border-color:transparent}
.g2-plega summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 18px 18px 20px;font-weight:800;font-size:17px;line-height:1.3;color:var(--g2-navy)}
.g2-plega summary::-webkit-details-marker{display:none}
.g2-plega summary .g2-ico{width:44px;height:44px;border-radius:13px}
.g2-plega summary .g2-ico .i{width:24px;height:24px}
.g2-plega summary small{display:block;font-weight:700;font-size:13.5px;color:var(--g2-gris);margin-top:2px}
.g2-plega summary .mas{margin-left:auto;flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--g2-hielo);color:var(--g2-teal);transition:transform .25s,background .25s}
.g2-plega summary .mas .i{width:18px;height:18px;stroke-width:2.4}
.g2-plega[open] summary .mas{transform:rotate(45deg);background:var(--g2-cian);color:#fff}
.g2-plega .dentro{padding:0 20px 22px}
.g2-plega .dentro>:last-child{margin-bottom:0}

/* ---------- carrusel (móvil) / rejilla (ordenador) ---------- */
.g2-carrusel{display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--g2-pad) 18px;margin-inline:calc(var(--g2-pad) * -1);scrollbar-width:none;scroll-padding-inline:var(--g2-pad)}
.g2-carrusel::-webkit-scrollbar{display:none}
.g2-carrusel>*{scroll-snap-align:start;min-width:0}
.g2 .g2-puntos{display:flex;justify-content:center;gap:7px;margin-top:2px}
.g2 .g2-puntos button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:rgba(15,41,66,.22);cursor:pointer;transition:width .25s,background .25s}
.g2 .g2-puntos button[aria-current="true"]{width:26px;background:var(--g2-cian)}
.g2-s--navy .g2-puntos button,.g2-s--marca .g2-puntos button{background:rgba(255,255,255,.3)}
@media (min-width:900px){
  .g2-carrusel{grid-auto-flow:row;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));overflow:visible;margin:0;padding:0;gap:20px}
  .g2 .g2-puntos{display:none}
}

/* ---------- el móvil con la hoja de ruta dentro ---------- */
.g2-movil{position:relative;width:320px;max-width:86vw;margin-inline:auto}
.g2-movil .marco{position:relative;aspect-ratio:320/660;border-radius:48px;padding:12px;background:linear-gradient(150deg,#243a52 0%,#0b1623 60%,#16293d 100%);box-shadow:0 44px 90px rgba(3,15,28,.45),inset 0 0 0 2px rgba(255,255,255,.1)}
.g2-movil .marco::before{content:"";position:absolute;top:20px;left:50%;transform:translateX(-50%);width:92px;height:25px;border-radius:20px;background:#070f18;z-index:3}
.g2-movil .pantalla{position:relative;width:100%;height:100%;border-radius:37px;overflow:hidden;background:#fff}
.g2-movil iframe{position:absolute;top:0;left:0;width:390px;border:0;transform-origin:0 0;transform:scale(var(--k,.759));height:calc(100% / var(--k,.759))}
.g2-movil .desliza{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:4;display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;background:rgba(15,41,66,.9);color:#fff;font-size:13px;font-weight:800;pointer-events:none;box-shadow:0 8px 20px rgba(0,0,0,.25);white-space:nowrap;transition:opacity .3s}
.g2-movil .desliza .i{width:16px;height:16px;animation:g2-sube 1.8s ease-in-out infinite}
.g2-movil.usado .desliza{opacity:0}
@keyframes g2-sube{0%,100%{transform:translateY(3px)}50%{transform:translateY(-3px)}}
.g2-movil .pie{text-align:center;font-size:13px;font-weight:700;margin-top:14px;opacity:.85}
.g2-flota{position:absolute;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:#fff;color:var(--g2-navy);font-size:14px;font-weight:800;box-shadow:var(--g2-sh-l);white-space:nowrap;animation:g2-flotar 5s ease-in-out infinite}
.g2-flota .i{width:18px;height:18px;color:var(--g2-verde)}
@keyframes g2-flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* ---------- línea de pasos ---------- */
.g2-pasos{list-style:none;margin:0;padding:0;display:grid;gap:0}
.g2-paso{position:relative;display:grid;grid-template-columns:52px 1fr;gap:16px;padding-bottom:24px}
.g2-paso::before{content:"";position:absolute;left:25px;top:54px;bottom:2px;width:2px;background:linear-gradient(var(--g2-cian),rgba(10,183,198,.15))}
.g2-paso:last-child{padding-bottom:0}
.g2-paso:last-child::before{display:none}
.g2-paso .pt{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--g2-teal);border:2px solid var(--g2-cian-3);box-shadow:var(--g2-sh-s)}
.g2-paso .pt .i{width:24px;height:24px}
.g2-paso .cuando{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--g2-teal);margin-top:4px}
.g2-paso h3{font-family:var(--g2-txt);font-size:19px;font-weight:800;margin:3px 0 6px;letter-spacing:0}
.g2-paso p{font-size:15.5px;color:var(--g2-gris);margin:0}
.g2-paso .quien{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-size:12.5px;font-weight:800;padding:5px 11px;border-radius:999px;background:var(--g2-hielo);color:var(--g2-navy)}
.g2-paso .quien .i{width:14px;height:14px}
.g2-s--navy .g2-paso .pt,.g2-s--marca .g2-paso .pt{background:rgba(255,255,255,.08);color:var(--g2-cian-2);border-color:rgba(127,227,236,.4);box-shadow:none}
.g2-s--navy .g2-paso .cuando,.g2-s--marca .g2-paso .cuando{color:var(--g2-cian-2)}
.g2-s--navy .g2-paso p,.g2-s--marca .g2-paso p{color:rgba(255,255,255,.76)}
.g2-s--navy .g2-paso .quien,.g2-s--marca .g2-paso .quien{background:rgba(255,255,255,.1);color:#fff}
.g2-paso--final .pt{background:var(--g2-ambar)!important;color:var(--g2-navy)!important;border-color:var(--g2-ambar)!important;box-shadow:0 0 0 8px rgba(240,180,41,.18)!important}

/* ---------- cifras grandes ---------- */
.g2-cifras{display:grid;gap:12px}
.g2-cifra{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:center;background:#fff;border-radius:var(--g2-r-l);padding:20px 22px;box-shadow:var(--g2-sh-s);border:1px solid var(--g2-borde)}
.g2-cifra .num{grid-row:span 2;font-family:var(--g2-tit);font-size:clamp(38px,8vw,56px);line-height:1;color:var(--g2-navy);min-width:3.2ch}
.g2-cifra .num small{font-size:.42em;font-family:var(--g2-txt);font-weight:800;margin-left:2px}
.g2-cifra .que{font-weight:800;font-size:17px;line-height:1.25}
.g2-cifra p{font-size:14.5px;color:var(--g2-gris);margin:0}
@media (min-width:900px){.g2-cifras{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:18px}.g2-cifra{grid-template-columns:1fr;padding:26px}.g2-cifra .num{grid-row:auto;margin-bottom:10px}}

/* ---------- valoración de Google (cifra real, se rellena sola) ---------- */
.g2-nota{display:inline-flex;align-items:center;gap:12px}
.g2-nota .n{font-family:var(--g2-tit);font-size:46px;line-height:1}
.g2-nota .est{display:flex;gap:2px;color:var(--g2-ambar)}
.g2-nota .est .i{width:18px;height:18px;fill:currentColor;stroke:none}
.g2-nota small{display:block;font-size:13.5px;font-weight:700;opacity:.85;margin-top:3px;white-space:nowrap}

/* ---------- aparición al bajar ---------- */
.g2-js .g2 [data-rev]{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.g2-js .g2 [data-rev].vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.g2-js .g2 [data-rev]{opacity:1;transform:none;transition:none}.g2-btn--latido::after,.g2-flota,.g2-movil .desliza .i{animation:none}}

/* =====================================================================
   SECCIONES DE LA PORTADA
   ===================================================================== */

/* 01 · primera pantalla */
.g2-hero{position:relative;background:var(--g2-grad);color:#fff;padding-block:clamp(34px,6vw,84px) clamp(96px,12vw,150px);overflow:hidden;isolation:isolate}
.g2-hero .iso{position:absolute;z-index:-1;width:min(118vw,860px);right:-38%;top:-6%;opacity:.1;pointer-events:none}
.g2-hero .burbuja{position:absolute;z-index:-1;border-radius:50%;border:2px solid rgba(127,227,236,.28);pointer-events:none}
.g2-hero .b1{width:18px;height:18px;left:6%;top:14%}
.g2-hero .b2{width:12px;height:12px;left:46%;top:8%}
.g2-hero .b3{width:26px;height:26px;left:40%;bottom:18%}
/* minmax(0,1fr): sin esto la columna crece hasta el texto que no parte (botones, selector) y todo se sale 9 px por la derecha del móvil */
.g2-hero .rej{display:grid;grid-template-columns:minmax(0,1fr);gap:44px;align-items:center}
.g2-hero .rej>*{min-width:0}
@media (max-width:560px){
  .g2 .g2-hero .g2-conmuta{display:flex;width:100%}
  .g2 .g2-hero .g2-conmuta button{flex:1 1 0;justify-content:center;padding:12px 8px;min-width:0}
  .g2-hero .g2-btn .txt small{white-space:normal}
}
.g2-hero h1{max-width:13ch}
.g2-hero .sub{font-size:clamp(18px,2.4vw,22px);line-height:1.5;color:rgba(255,255,255,.86);max-width:36ch;margin:20px 0 0}
.g2-hero .sub b{color:#fff}
.g2 .g2-conmuta{display:inline-flex;padding:5px;border-radius:17px;background:rgba(255,255,255,.12);margin:28px 0 12px;gap:4px;max-width:100%}
.g2 .g2-conmuta button{border:0;background:transparent;color:#fff;font:800 15.5px var(--g2-txt);padding:12px 16px;border-radius:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.g2 .g2-conmuta button .i{width:18px;height:18px}
.g2 .g2-conmuta button[aria-pressed="true"]{background:#fff;color:var(--g2-navy);box-shadow:0 6px 16px rgba(0,0,0,.15)}
.g2-hero .msg{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.45;color:rgba(255,255,255,.92);margin:0 0 24px;min-height:48px;max-width:44ch}
.g2-hero .msg .i{width:20px;height:20px;color:var(--g2-cian-2);margin-top:2px}
.g2-hero .g2-acciones .g2-btn--linea{min-height:70px}
.g2-prueba{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}
.g2-equipo{display:flex;align-items:center;gap:12px;font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.86)}
.g2-equipo b{color:#fff}
.g2-caras{display:flex;padding-left:10px}
.g2-cara{width:44px;height:44px;border-radius:50%;border:3px solid #0F4D63;margin-left:-10px;display:grid;place-items:center;font-weight:800;font-size:16px;color:var(--g2-navy);background:var(--g2-cian-2)}
.g2-cara:nth-child(2){background:#FFD98A}
.g2-cara:nth-child(3){background:#fff}
.g2-hero .visual{position:relative;padding:10px 0 20px}
.g2-hero .visual .g2-flota.f1{left:0;top:18%}
.g2-hero .visual .g2-flota.f2{right:0;bottom:18%;animation-delay:1.2s}
.g2-hero .visual .etiqueta{display:block;text-align:center;margin-top:16px;font-size:13px;font-weight:700;color:rgba(255,255,255,.75)}
@media (max-width:699px){
  .g2-hero .visual .g2-flota.f1{left:-4px;top:10%}
  .g2-hero .visual .g2-flota.f2{right:-4px;bottom:14%}
}
@media (min-width:1000px){
  .g2-hero .rej{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:40px}
  .g2-hero .iso{right:-12%;top:auto;bottom:-30%;width:780px}
  /* en ordenador las dos etiquetas van juntas arriba a la derecha, sobre el dibujo del bebé y no sobre el texto de la hoja */
  .g2-hero .visual .g2-flota.f1{left:auto;right:-6%;top:9%;bottom:auto}
  .g2-hero .visual .g2-flota.f2{right:-11%;top:calc(9% + 58px);bottom:auto}
}

/* 02 · ¿es para mi caso? */
.g2-casos .rej{display:grid;gap:22px;align-items:start}
.g2 .g2-fichas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.g2 .g2-ficha{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px 14px;border-radius:18px;border:2px solid transparent;background:#fff;box-shadow:var(--g2-sh-s);cursor:pointer;text-align:left;font:inherit;color:var(--g2-navy);transition:transform .15s,box-shadow .2s,border-color .2s;min-width:0}
.g2 .g2-ficha:hover{transform:translateY(-2px);box-shadow:var(--g2-sh-m)}
.g2 .g2-ficha .g2-ico{width:46px;height:46px;border-radius:14px}
.g2 .g2-ficha .g2-ico .i{width:25px;height:25px}
.g2 .g2-ficha b{font-size:16px;line-height:1.2}
.g2 .g2-ficha small{font-size:13px;line-height:1.25;color:var(--g2-gris);font-weight:700}
.g2 .g2-ficha[aria-pressed="true"]{border-color:var(--g2-cian);background:linear-gradient(180deg,#fff 0%,#E6FAFB 100%);box-shadow:0 14px 28px rgba(10,183,198,.24)}
.g2 .g2-ficha[aria-pressed="true"] .g2-ico{background:var(--g2-cian);color:#fff}
.g2-respuesta{background:#fff;border-radius:var(--g2-r-xl);box-shadow:var(--g2-sh-l);padding:clamp(22px,3.4vw,36px);border-top:6px solid var(--g2-cian);scroll-margin-top:90px}
.g2-respuesta .veredicto{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#E3F7EC;color:var(--g2-verde-3);font-weight:800;font-size:14px}
.g2-respuesta .veredicto.ojo{background:var(--g2-ambar-2);color:#9A6412}
.g2-respuesta .veredicto .i{width:18px;height:18px}
.g2-respuesta h3{margin:14px 0 16px}
.g2-respuesta .g2-lista{margin-bottom:22px}
.g2-respuesta .g2-acciones .g2-btn{flex:1 1 240px}
@media (min-width:700px){.g2 .g2-fichas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.g2-casos .rej{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.g2-respuesta{position:sticky;top:96px}}

/* 04 · así lo veis (con la hoja de cierre al final) */
.g2-ves .rej{display:grid;gap:44px;align-items:start}
.g2-ves .final{margin-top:8px;padding:22px;border-radius:var(--g2-r-l);background:linear-gradient(135deg,rgba(240,180,41,.2),rgba(240,180,41,.06));border:1px solid rgba(240,180,41,.45)}
.g2-ves .final h3{font-family:var(--g2-tit);font-size:clamp(24px,4vw,30px);margin:4px 0 8px}
.g2-ves .final p{color:rgba(255,255,255,.85)}
.g2-ves .lado{position:relative}
.g2-ves .lado .g2-tabs{max-width:340px;margin:0 auto 22px}
@media (min-width:1000px){.g2-ves .rej{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px}.g2-ves .lado{position:sticky;top:90px}}

/* 06 · más meses con el bebé (móvil: calendario vertical · ordenador: barras) */
.g2-meses .rej{display:grid;gap:30px;align-items:center}
.g2-cal{background:#fff;border-radius:var(--g2-r-xl);box-shadow:var(--g2-sh-m);padding:20px 16px 18px;border:1px solid var(--g2-borde)}
.g2-cal{overflow:hidden}
.g2-cal .cab{display:grid;grid-template-columns:62px 1fr 1fr;gap:8px;margin-bottom:10px;font-weight:800;font-size:14px;text-align:center;color:var(--g2-navy)}
.g2-cal .cuerpo{position:relative;display:grid;grid-template-columns:62px 1fr 1fr;gap:8px;height:var(--alto,620px)}
.g2-cal .eje{position:relative}
.g2-cal .eje span{position:absolute;right:6px;transform:translateY(-50%);font-size:12px;font-weight:800;color:var(--g2-gris);white-space:nowrap}
.g2-cal .eje span::after{content:"";position:absolute;left:calc(100% + 4px);top:50%;width:calc(200% + 400px);max-width:none;height:1px;background:rgba(15,41,66,.07)}
.g2-cal .carril{position:relative;border-radius:14px;background:repeating-linear-gradient(180deg,rgba(15,41,66,.03) 0 2px,transparent 2px 22px)}
.g2-cal .bloque{position:absolute;left:0;right:0;top:calc(var(--d) * 100% / var(--total));height:calc(var(--s) * 100% / var(--total));border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px 6px;font-size:13px;font-weight:800;line-height:1.15;color:#fff;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.g2-cal .juntos{background:var(--g2-navy)}
.g2-cal .madre{background:var(--g2-cian)}
.g2-cal .pareja{background:#3B7DD8}
.g2-cal .extra{background:var(--g2-ambar);color:var(--g2-navy)}
.g2-cal .lact{background:#8FD9B6;color:var(--g2-navy)}
.g2-cal .vac{background:#F4C9B3;color:var(--g2-navy)}
.g2-cal .total{margin-top:16px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--g2-hielo);font-size:15px;line-height:1.35}
.g2-cal .total b{font-family:var(--g2-tit);font-size:34px;line-height:1;color:var(--g2-navy)}
.g2-leyenda{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;font-size:13.5px;font-weight:700}
.g2-leyenda span{display:inline-flex;align-items:center;gap:7px}
.g2-leyenda i{width:14px;height:14px;border-radius:4px;display:inline-block}
@media (min-width:1000px){.g2-meses .rej{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px}}

/* 07 · niveles + casos que se derivan */
.g2-niveles .g2-tabs{max-width:560px;margin-inline:auto}
.g2-niveles .tarjetas{display:grid;gap:22px;align-items:stretch}
.g2-nivel{position:relative;background:#fff;border-radius:var(--g2-r-xl);padding:30px 24px 24px;box-shadow:var(--g2-sh-m);border:2px solid var(--g2-borde);display:flex;flex-direction:column;min-width:0}
.g2-nivel--rec{border-color:var(--g2-cian);box-shadow:0 30px 64px rgba(10,183,198,.24)}
.g2-nivel .sello-rec{position:absolute;top:-15px;left:24px;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:var(--g2-cian);color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 8px 18px rgba(10,183,198,.35)}
.g2-nivel .sello-rec .i{width:15px;height:15px}
.g2-nivel .cab-n{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.g2-nivel .nom{font-family:var(--g2-tit);font-size:32px;line-height:1.05;color:var(--g2-navy)}
.g2-nivel .para{color:var(--g2-gris);font-weight:700;font-size:15.5px;margin-top:6px}
.g2-nivel .precio{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:20px 0 6px}
.g2-nivel .precio .n{font-family:var(--g2-tit);font-size:58px;line-height:.9;color:var(--g2-navy);white-space:nowrap}
.g2-nivel .precio .n span{font-size:.45em;vertical-align:top;margin-left:2px}
.g2-nivel .precio small{font-weight:700;color:var(--g2-gris);font-size:14px;line-height:1.3;padding-bottom:4px}
.g2-nivel .plazo{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:9px 13px;border-radius:13px;background:var(--g2-hielo);color:var(--g2-teal);font-weight:800;font-size:14.5px;margin:10px 0 18px}
.g2-nivel .plazo .i{width:18px;height:18px}
.g2-nivel .g2-lista{margin-bottom:16px}
.g2-nivel .g2-plega{margin-bottom:18px;background:var(--g2-hielo-2)}
.g2-nivel .g2-plega summary{font-size:15.5px;padding:14px 14px 14px 18px}
.g2-nivel .g2-plega summary .mas{width:32px;height:32px}
.g2-nivel .g2-btn{margin-top:auto;width:100%}
.g2-rutas{display:grid;gap:12px;margin-top:34px}
.g2-rutas .tit{font-family:var(--g2-tit);font-size:clamp(22px,3.6vw,28px);margin-bottom:4px;color:var(--g2-navy)}
.g2-ruta{display:grid;grid-template-columns:56px minmax(0,1fr) 46px;gap:16px;align-items:center;padding:18px;border-radius:var(--g2-r-l);background:var(--g2-navy);color:#fff!important;text-decoration:none!important;box-shadow:var(--g2-sh-m);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.g2-ruta::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(10,183,198,.35),transparent 70%)}
.g2-ruta:hover{transform:translateY(-3px);box-shadow:var(--g2-sh-l)}
.g2-ruta .g2-ico{background:rgba(255,255,255,.1);color:var(--g2-cian-2)}
.g2-ruta b{display:block;font-size:18px;line-height:1.2}
.g2-ruta small{display:block;color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.35;margin-top:4px}
.g2-ruta .precio-r{display:inline-block;margin-top:8px;font-size:13px;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff}
.g2-ruta .fl{position:relative;z-index:1;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--g2-cian);color:#fff}
.g2-ruta .fl .i{width:22px;height:22px;stroke-width:2.2}
@media (max-width:999px){.g2-js .g2-niveles .g2-nivel:not(.act){display:none}}
@media (min-width:1000px){
  .g2-niveles .g2-tabs{display:none}
  .g2-niveles .tarjetas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .g2-nivel--rec{transform:translateY(-14px)}
  .g2-rutas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .g2-rutas .tit{grid-column:1/-1}
}
.g2-nota:not(.con-total) .con{display:none}
.g2-movil.pie{width:auto;max-width:none}

/* ---- blindaje frente a los estilos globales de Elementor: su kit pinta todos los <button> de la web ---- */
.g2 button{font-family:var(--g2-txt);text-transform:none;letter-spacing:normal}
.g2 button:hover,.g2 button:focus{color:inherit}
.g2 .g2-ficha,.g2 .g2-ficha:hover,.g2 .g2-ficha:focus{background:#fff;color:var(--g2-navy)}
.g2 .g2-ficha[aria-pressed="true"],.g2 .g2-ficha[aria-pressed="true"]:hover,.g2 .g2-ficha[aria-pressed="true"]:focus{background:linear-gradient(180deg,#fff 0%,#E6FAFB 100%);color:var(--g2-navy)}
.g2 .g2-tab,.g2 .g2-tab:hover,.g2 .g2-tab:focus{background:transparent;color:var(--g2-navy)}
.g2 .g2-tab[aria-selected="true"],.g2 .g2-tab[aria-selected="true"]:hover,.g2 .g2-tab[aria-selected="true"]:focus{background:#fff;color:var(--g2-teal)}
.g2 .g2-s--navy .g2-tab,.g2 .g2-s--marca .g2-tab,.g2 .g2-s--navy .g2-tab:hover,.g2 .g2-s--marca .g2-tab:hover{background:transparent;color:#fff}
.g2 .g2-s--navy .g2-tab[aria-selected="true"],.g2 .g2-s--marca .g2-tab[aria-selected="true"],.g2 .g2-s--navy .g2-tab[aria-selected="true"]:hover,.g2 .g2-s--marca .g2-tab[aria-selected="true"]:hover{background:#fff;color:var(--g2-navy)}
.g2 .g2-s--navy .g2-tab[aria-selected="true"] small,.g2 .g2-s--marca .g2-tab[aria-selected="true"] small{color:var(--g2-gris)}
.g2 .g2-conmuta button,.g2 .g2-conmuta button:hover,.g2 .g2-conmuta button:focus{background:transparent;color:#fff}
.g2 .g2-conmuta button[aria-pressed="true"],.g2 .g2-conmuta button[aria-pressed="true"]:hover,.g2 .g2-conmuta button[aria-pressed="true"]:focus{background:#fff;color:var(--g2-navy)}
.g2 .g2-puntos button,.g2 .g2-puntos button:hover{background:rgba(15,41,66,.22)}
.g2 .g2-s--navy .g2-puntos button,.g2 .g2-s--marca .g2-puntos button{background:rgba(255,255,255,.3)}
.g2 .g2-puntos button[aria-current="true"]{background:var(--g2-cian)}
.g2 [hidden]{display:none!important}
.g2-hero .burbuja{display:none}
@media (max-width:699px){.g2-eti{letter-spacing:.05em;font-size:12px;padding-right:12px}}
/* tarjetas «¿vuestro caso es otro?»: en móvil el texto usa todo el ancho */
.g2-ruta{grid-template-columns:52px minmax(0,1fr) 44px;grid-template-areas:"ico t fl" "d d d" "p p p";row-gap:10px}
.g2-ruta .g2-ico{grid-area:ico}
.g2-ruta .t{grid-area:t;font-size:18px;line-height:1.2;font-weight:800}
.g2-ruta .fl{grid-area:fl}
.g2-ruta .d{grid-area:d;color:rgba(255,255,255,.8);font-size:14.5px;line-height:1.45}
.g2-ruta .precio-r{grid-area:p;justify-self:start;margin-top:0}

/* la hoja dentro del móvil: los estilos globales le ponen max-width:100% y se quedaba estrecha */
.g2 .g2-movil iframe{max-width:none!important;width:390px!important;min-width:390px}
/* fichas de casos: que el título nunca se salga de su caja */
.g2 .g2-ficha{white-space:normal;overflow-wrap:anywhere}
@media (max-width:420px){.g2 .g2-ficha b{font-size:15px}.g2 .g2-ficha{padding:14px 12px}}

/* ---- blindaje frente al kit de Elementor (post-2129.css): pone «Belleza» y peso 700 a todos los enlaces,
   color morado al pasar por encima, y sombra de texto y borde a todos los <button>. Nuestra letra, siempre. ---- */
.g2 a{font-family:inherit;font-weight:inherit}
.g2 a:hover{color:inherit}
.g2 .g2-btn{font-family:var(--g2-txt);font-weight:800}
.g2 .g2-enlace,.g2 .g2-ruta{font-family:var(--g2-txt);font-weight:800}
.g2 .g2-enlace:hover{color:inherit;text-decoration-color:var(--g2-cian-2)}
.g2 .g2-ruta:hover{color:#fff}
.g2 button,.g2 button:hover,.g2 button:focus{text-shadow:none;border-style:none}
.g2 .g2-paso h3{font-family:var(--g2-txt)}
