/* Innectia · hoja de estilos común (home, landings, diagnóstico, novedades y páginas legales).
   Marfil cálido, tinta y verde Innectia solo para la acción y lo que está «en vivo».
   En la home y en las landings (html.snap) cada idea ocupa una pantalla en escritorio; en móvil, scroll libre y más liviano.
   Índice: tipografía · tokens · base · layout · componentes · secciones de la home · movimiento · movimiento reducido */

/* ═════════ Tipografía: Geist (SIL Open Font License), alojada en el sitio ═════════ */
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/geist-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/geist-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ═════════ Tokens ═════════ */
:root{
  --paper:#FAF8F4; --card:#FFFFFF; --line:#E7E2D8; --line-2:#D5CFC3;
  --ink:#131313; --ink-2:#46433D; --ink-3:#6B675F;
  --green:#0E6B4A; --green-ink:#0E6B4A; --green-soft:#E8F1EC; --on-green:#FFFFFF; --green-hi:#0B5A3E;
  --night:#131313; --night-2:#1F1F1F; --on-night:#FAF8F4; --on-night-2:#B9B4AA;
  --video:#B9AE9B; --video-2:#A99F8D; --video-3:#C9BFAD;
  --sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:var(--sans); /* rótulos en mayúsculas: misma Geist, nombre histórico usado por las landings */
  --ease:cubic-bezier(.22,.61,.36,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --head:64px;
  color-scheme:light;
}
/* Paleta sobre fondo oscuro: el verde se aclara para mantener el contraste */
.btn-ink,.sec.dark,.chip-servicio.x,.msg.v,.h-launch,.h-bub .acts button,.seg2 button[aria-pressed="true"],
.ficha-planes button[aria-selected="true"],.selector-anfitrion button[data-anfitrion="pro"][aria-selected="true"],
.demo-avatar,.respuesta-rag,.demo-anfitrion[data-anfitrion="pro"] .demo-etiqueta,
.catalogo-pestana[aria-selected="true"],.catalogo-pestana.x[aria-selected="true"],.catalogo-vista button[aria-pressed="true"],
.tabla-planes-columna.dark,.diagnostico-pasos li::before,.qc-btn,.sfoot,.plan.dark{
  --green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-hi:#9ADDB9;--green-soft:rgba(127,209,168,.14)
}

/* ═════════ Base ═════════ */
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,select,textarea{font:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px;border-radius:6px}
::selection{background:#CFE6DA;color:var(--ink)}
h1,h2,h3{font-weight:600;letter-spacing:-.035em;line-height:1.04;margin:0;text-wrap:balance}
p{margin:0}
em{font-style:normal;color:var(--green-ink)}

/* ═════════ Layout ═════════ */
.wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
/* Secciones: móvil primero, scroll progresivo */
.sec{position:relative;padding-block:calc(var(--head) + 48px) 64px;overflow:hidden}
.sec>.wrap{position:relative;z-index:1}
.sec.dark{background:var(--night);color:var(--on-night)}
.sec.white{background:var(--card);border-block:1px solid var(--line)}
.sec .head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(24px,4vh,48px);max-width:820px}
.sec h2{font-size:clamp(31px,min(4.37vw,6.55vh),59px)}
/* Home en escritorio: una pantalla por idea */
@media (min-width:961px) and (min-height:700px) and (pointer:fine){
  html.snap{scroll-snap-type:y mandatory}
  html.snap .sec{height:100svh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;padding-block:calc(var(--head) + 24px) 32px}
  html.snap .puntos-secciones{display:flex}
}
html.snap .sfoot{scroll-snap-align:end}
/* Landings por pantallas (html[data-pantallas].snap, solo escritorio): todo cabe en una pantalla.
   Las preguntas frecuentes, si se abren varias, se desplazan dentro de su bloque. */
@media (min-width:961px) and (min-height:700px) and (pointer:fine){
  html.snap[data-pantallas] .sec .faq{max-height:calc(100svh - var(--head) - 250px);overflow-y:auto;scrollbar-width:thin;padding-right:6px}
  html.snap[data-pantallas] .sec .faq-grid .faq{max-height:calc(100svh - var(--head) - 90px)}
  html.snap[data-pantallas] .sec .head{margin-bottom:clamp(18px,3vh,36px)}
}
/* Landings en móvil y sin pantallas: secciones de altura libre */
html:not(.snap) .sec{padding-block:clamp(72px,11vh,120px)}

/* ═════════ Componentes ═════════ */
/* Textos */
.k,.lab,.crumbs,.bd{font-weight:600}
.k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink)}
.muted{color:var(--ink-2)}
.small{font-size:13px;color:var(--ink-3)}
.live{display:inline-flex;align-items:center;gap:7px}
.live::before{content:"";width:7px;height:7px;border-radius:50%;background:#22A06B;box-shadow:0 0 0 3px rgba(34,160,107,.22);animation:pulso 1.8s ease-in-out infinite}
.price-note{font-size:12.5px;color:var(--ink-3)}
.price-note b{font-weight:600;color:var(--ink-2)}
.linkbtn{background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
.crumbs{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--green-ink)}

/* Botones */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}
.btn:hover{transform:translateY(-2px)}
.btn-go{background:var(--green);color:var(--on-green);box-shadow:0 0 0 0 rgba(14,107,74,0)}
.btn-go:hover{background:var(--green-hi);box-shadow:0 12px 30px -14px rgba(14,107,74,.6)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-go,.btn-ink{transition:translate .25s var(--ease),background-color .2s,color .2s,box-shadow .25s,transform .15s}
.btn-line{background:rgba(255,255,255,.85);color:var(--ink);border-color:var(--line-2);font-weight:500}

/* Cabecera */
header.top{position:fixed;inset:0 0 auto 0;z-index:40;padding-top:env(safe-area-inset-top,0px);background:rgba(250,248,244,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
header.top .wrap{height:var(--head);display:flex;align-items:center;justify-content:space-between;gap:16px}
header.top .btn{min-height:40px;padding:0 16px;font-size:14px}
header.top .btn-line{background:transparent}
.logo{font-size:24px;font-weight:600;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}
header.top .logo{font-size:34px;line-height:1;letter-spacing:-.045em;display:inline-flex;align-items:center;flex:none}
@media (max-width:1100px){header.top .logo{font-size:31px}}
@media (max-width:760px){header.top .logo{font-size:30px}}
@media (max-width:360px){header.top .logo{font-size:26px}}
.logo i{font-style:normal;color:var(--green-ink)}
.nav{display:flex;gap:2px;align-items:center}
.nav a{font-size:14px;text-decoration:none;color:var(--ink-2);padding:8px 12px;border-radius:999px;transition:background .2s,color .2s;white-space:nowrap}
.nav a:hover{color:var(--ink);background:rgba(19,19,19,.05)}
.nav a[aria-current="page"]{color:var(--ink);font-weight:600;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.tools{display:flex;align-items:center;gap:8px}
.seg2{display:inline-flex;padding:3px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.seg2 button{all:unset;cursor:pointer;font-size:11.5px;letter-spacing:.06em;padding:5px 9px;border-radius:999px;color:var(--ink-3);transition:background .2s,color .2s}
.seg2 button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.seg2 button:focus-visible,.nav-btn:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.nav-btn{all:unset;cursor:pointer;display:none;width:40px;height:40px;border-radius:50%;place-items:center;border:1px solid var(--line);background:var(--card)}
.nav-btn span{display:block;width:16px;height:1.5px;background:var(--ink);position:relative}
.nav-btn span::before,.nav-btn span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:transform .25s var(--ease)}
.nav-btn span::before{top:-5px}.nav-btn span::after{top:5px}
header.top.menu-open .nav-btn span{background:transparent}
header.top.menu-open .nav-btn span::before{transform:translateY(5px) rotate(45deg)}
header.top.menu-open .nav-btn span::after{transform:translateY(-5px) rotate(-45deg)}
@media (max-width:1100px){header.top .tools .btn-go{display:none}}
@media (max-width:960px){
  .nav-btn{display:grid}
  .nav{position:absolute;top:calc(var(--head) + env(safe-area-inset-top,0px));left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;background:rgba(250,248,244,.98);border-bottom:1px solid var(--line);display:none}
  header.top.menu-open .nav{display:flex}
  .nav a{padding:14px 8px;border-radius:0;border-bottom:1px solid var(--line);font-size:16px}
  .nav a[aria-current="page"]{box-shadow:none;background:transparent;color:var(--green-ink)}
}
@media (max-width:820px){header.top .btn{display:none}}

/* Selector de moneda: € EUR · US$ USD · $ ARS · RSD */
.money{position:relative}
.money-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink);transition:border-color .2s}
.money-btn:hover,.money.open .money-btn{border-color:var(--ink)}
.money-btn:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.money-btn i{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--ease)}
.money.open .money-btn i{transform:translateY(1px) rotate(-135deg)}
.money-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:250px;padding:6px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 50px -24px rgba(19,19,19,.35);display:none;flex-direction:column;gap:2px;z-index:60}
.money.open .money-menu{display:flex;animation:subir .25s var(--ease) both}
.money-menu button{all:unset;box-sizing:border-box;cursor:pointer;white-space:nowrap;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--ink-2)}
.money-menu button b{font-weight:600;color:var(--ink);min-width:62px}
.money-menu button:hover,.money-menu button:focus-visible{background:var(--green-soft);color:var(--ink)}
.money-menu button[aria-checked="true"]{background:var(--green);color:#FFFFFF}
.money-menu button[aria-checked="true"] b{color:#FFFFFF}

/* Progreso de lectura y puntos de navegación lateral */
.progreso-lectura{position:fixed;left:0;right:0;top:0;height:2px;z-index:50;background:var(--green-ink);transform-origin:left;transform:scaleX(0)}
.puntos-secciones{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:35;display:none;flex-direction:column;gap:12px}
.puntos-secciones a{display:flex;align-items:center;justify-content:flex-end;gap:10px;height:16px;text-decoration:none}
.puntos-secciones a span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);background:rgba(250,248,244,.9);padding:3px 8px;border-radius:6px;opacity:0;transform:translateX(6px);transition:opacity .2s,transform .2s;white-space:nowrap}
.puntos-secciones:hover a span,.puntos-secciones a:focus-visible span{opacity:1;transform:none}
.puntos-secciones a i{display:block;width:6px;height:6px;border-radius:3px;background:var(--line-2);transition:height .35s var(--ease),background .35s}
.puntos-secciones a[aria-current="true"] i{height:22px;background:var(--green-ink)}

/* Vídeo de fondo de la home (marcador animado mientras carga) */
.video-fondo{position:absolute;inset:0;background:var(--video);overflow:hidden}
.video-fondo::before{content:"";position:absolute;inset:-20%;background:radial-gradient(40% 50% at 70% 40%,var(--video-3),transparent 70%),radial-gradient(35% 40% at 30% 75%,var(--video-2),transparent 70%);animation:deriva 22s ease-in-out infinite alternate}
.video-fondo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease);filter:sepia(.35) saturate(.8) contrast(.95)}
.video-fondo video.ok{opacity:var(--opacidad-video,.55)}
/* Vídeo de fondo del hero de cada landing: <div class="hvid" aria-hidden="true"><video … data-src="videos/hero-x.mp4"></video></div> */
.lp-hero{position:relative;isolation:isolate}
.lp-hero>.wrap{position:relative;z-index:1}
.hvid{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#0F1311}
.hvid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hvid::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(250,248,244,.96) 38%,rgba(250,248,244,.7) 62%,rgba(250,248,244,.35) 100%)}
@media (max-width:960px){.hvid::after{background:linear-gradient(180deg,rgba(250,248,244,.9) 0%,rgba(250,248,244,.94) 60%,var(--paper) 100%)}}

/* Inicio con demo (home y anfitriones) */
.inicio-texto{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px;max-width:760px}
.inicio-texto h1{font-size:clamp(42px,min(5.93vw,9.36vh),84px);line-height:.92}
.inicio-texto .lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:30em}
.inicio-texto .lead strong{color:var(--ink);font-weight:600}
.inicio-texto .small a{color:var(--green-ink);font-weight:600}
.inicio-columnas{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,56px);align-items:center}
.inicio-columnas .inicio-texto h1{font-size:clamp(37px,min(4.52vw,8.19vh),75px)}
@media (max-width:960px){.inicio-columnas{grid-template-columns:1fr}}

/* Conversación: burbujas y «escribiendo…» (demo, anfitrión flotante y landings) */
.msg{max-width:84%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.45}
.msg.v{align-self:flex-end;background:var(--ink);color:var(--paper);border-bottom-right-radius:6px}
.msg.a{align-self:flex-start;background:#F3F0E9;border-bottom-left-radius:6px}
.msg.lead{align-self:stretch;max-width:none;background:var(--green-soft);border:1px solid rgba(14,107,74,.3)}
.msg.lead strong{color:var(--green-ink)}
.msg a{color:var(--green-ink);font-weight:600}
.typing{align-self:flex-start;display:none;gap:4px;padding:12px 14px;border-radius:18px;background:#F3F0E9}
.typing.in{display:flex}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:puntos-escribiendo 1.2s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}

/* Demo del anfitrión: FULL (conversación guiada) y PRO (IA + RAG) */
.demo-anfitrion{justify-self:end;width:100%;max-width:500px;height:clamp(500px,74vh,640px);background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:26px;box-shadow:0 40px 90px -40px rgba(19,19,19,.45);display:flex;flex-direction:column;overflow:hidden}
.demo-controles{padding:12px 12px 10px;display:flex;flex-direction:column;gap:9px;border-bottom:1px solid var(--line)}
.demo-aviso{margin:0;font-size:12px;line-height:1.35;color:var(--ink-2);display:flex;align-items:center;gap:8px;padding:0 4px}
.demo-aviso i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(14,107,74,.45);animation:aro-aviso 1.8s ease-out infinite}
.demo-aviso.mine{color:var(--green-ink);font-weight:600}
.demo-paso{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--ink-2);padding:0 4px;margin-bottom:-3px}
.demo-paso b{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:10.5px;font-weight:600}
.selector-anfitrion{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#F3F0E9;border-radius:999px}
.selector-anfitrion button{all:unset;cursor:pointer;text-align:center;font-size:13px;font-weight:600;padding:9px 8px;border-radius:999px;color:var(--ink-3);transition:background .25s,color .25s}
.selector-anfitrion button:not([aria-selected="true"]):hover{background:rgba(19,19,19,.06);color:var(--ink)}
.selector-anfitrion button[data-anfitrion="full"][aria-selected="true"]{background:var(--green);color:var(--on-green)}
.selector-anfitrion button[data-anfitrion="pro"][aria-selected="true"]{background:var(--ink);color:var(--paper)}
.selector-anfitrion button:focus-visible,.selector-sector button:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.selector-sector{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.selector-sector::-webkit-scrollbar{display:none}
.selector-sector button{all:unset;cursor:pointer;white-space:nowrap;font-size:12.5px;padding:6px 11px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);transition:border-color .2s,background .2s}
.selector-sector button:hover{border-color:var(--ink);color:var(--ink)}
.selector-sector button[aria-selected="true"]{border-color:var(--ink);color:var(--ink);background:var(--card);font-weight:600}
.demo-cabecera{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}
.demo-cabecera>div{flex:1;min-width:0}
.demo-cabecera b{display:block;font-size:14px;font-weight:600}
.demo-cabecera .small{font-size:12px}
.demo-avatar{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--green);display:grid;place-items:center;font-size:20px;flex:none}
.demo-anfitrion[data-anfitrion="full"] .demo-avatar{background:var(--green);color:var(--on-green)}
.demo-chat{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(19,19,19,.18) transparent;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.demo-chat>:first-child{margin-top:auto}
.demo-chat::-webkit-scrollbar{width:6px}.demo-chat::-webkit-scrollbar-thumb{background:rgba(19,19,19,.18);border-radius:6px}
.demo-chat .msg{font-size:13.5px;animation:subir .35s var(--ease) both;max-width:88%}
.demo-chat .typing{flex:none}
.demo-chat .buscando{color:var(--ink-3);font-size:12.5px;background:transparent;border:1px dashed var(--line-2)}
.demo-repetir{display:flex;gap:6px;flex-wrap:wrap;align-self:center;margin-top:4px}
.demo-repetir button{all:unset;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);background:var(--card)}
.demo-repetir button:hover{border-color:var(--ink);color:var(--ink)}
.opciones{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start;max-width:96%}
.opciones span,.opciones button{all:unset;box-sizing:border-box;cursor:pointer;font-size:12.5px;padding:7px 12px;border-radius:999px;border:1px solid var(--green-ink);color:var(--green-ink);background:var(--card);animation:subir .35s var(--ease) both;animation-delay:calc(var(--i) * 90ms);transition:background .2s,color .2s,transform .15s,opacity .3s,box-shadow .2s}
.opciones button:hover:not(:disabled){background:var(--green-soft);box-shadow:0 0 0 3px var(--green-soft)}
.opciones button:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.opciones button:disabled{cursor:default}
.opciones small{flex-basis:100%;font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:6px;margin-top:2px}
.opciones small::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green-ink);animation:latido-aviso 1.6s ease-in-out infinite}
.opciones.done small{display:none}
.opciones span.pick,.opciones button.pick{background:var(--green);border-color:var(--green);color:var(--on-green);font-weight:600;transform:scale(.96)}
.opciones.done span:not(.pick),.opciones.done button:not(.pick){opacity:.3}
.quien-pregunta{font-size:10.5px;letter-spacing:.08em;color:var(--ink-3);align-self:flex-end}
.respuesta-rag{align-self:stretch;background:var(--ink);color:var(--paper);border-radius:16px 16px 16px 6px;padding:11px 13px;font-size:13.5px;line-height:1.5;animation:subir .35s var(--ease) both}
.respuesta-fuente{display:block;margin-top:7px;font-size:10.5px;color:var(--green);opacity:0;transition:opacity .4s}
.respuesta-fuente.in{opacity:1}
.demo-pie{padding:11px 16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.45;color:var(--ink-2);background:#F6F3EC}
.demo-pie b{color:var(--ink)}
.demo-etiqueta{display:inline-block;font-size:10.5px;letter-spacing:.08em;padding:2px 7px;border-radius:6px;margin-right:6px;background:var(--green);color:var(--on-green);font-weight:600}
.demo-anfitrion[data-anfitrion="pro"] .demo-etiqueta{background:var(--ink);color:var(--green)}
@media (max-width:960px){.demo-anfitrion{justify-self:stretch;max-width:none;height:560px}}

/* Tabla de planes (servicios y precios en la home, FULL o PRO en anfitriones) */
.tabla-planes{--lab:160px;display:grid;grid-template-columns:var(--lab) repeat(var(--n),minmax(0,1fr));grid-template-rows:auto repeat(var(--r),auto) auto;column-gap:10px}
.tabla-planes.una-columna{grid-template-columns:var(--lab) minmax(0,1fr) minmax(0,.8fr)}
.tabla-planes-etiquetas,.tabla-planes-columna{display:grid;grid-row:1 / -1;grid-template-rows:subgrid}
.tabla-planes-columna{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:0 16px;position:relative}
.tabla-planes-columna.hi{border:2px solid var(--green);box-shadow:0 26px 60px -34px rgba(14,107,74,.55)}
.tabla-planes-columna.dark{background:var(--night);color:var(--on-night);border-color:var(--night)}
.tabla-planes-columna>*,.tabla-planes-etiquetas>*{animation:subir .45s var(--ease) both;animation-delay:calc(var(--k,0) * 35ms)}
.tabla-planes-cabecera{padding:12px 0 10px;display:flex;flex-direction:column;gap:2px}
.tabla-planes-cabecera .nm{font-size:24px;line-height:1.05;font-weight:600;letter-spacing:-.03em}
.tabla-planes-cabecera .pr{font-size:clamp(23px,2.03vw,30px);line-height:1;font-weight:600;letter-spacing:-.03em}
.tabla-planes-cabecera .pr small{font-size:12.5px;color:var(--ink-3);letter-spacing:0}
.tabla-planes-columna.dark .tabla-planes-cabecera .pr small{color:var(--on-night-2)}
.tabla-planes-cabecera .tg{font-size:13px;color:var(--ink-3)}
.tabla-planes-columna.dark .tg{color:var(--on-night-2)}
.tabla-planes-cabecera .bd{position:absolute;top:-11px;left:14px;font-size:10.5px;letter-spacing:.08em;padding:3px 9px;border-radius:999px;background:var(--green);color:var(--on-green)}
.tabla-planes-celda{padding:7px 0;border-top:1px solid var(--line);font-size:13.5px;line-height:1.35;display:flex;align-items:center}
.tabla-planes-columna.dark .tabla-planes-celda{border-color:#2A2A2A}
.tabla-planes-celda.no{color:var(--ink-3)}
.tabla-planes-etiquetas .tabla-planes-celda{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-color:var(--line-2)}
.tabla-planes-pie{padding:10px 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tabla-planes-pie .btn{min-height:40px;padding:0 16px;font-size:14px}
.tabla-planes-pie .lnk{all:unset;cursor:pointer;font-size:13px;font-weight:600;color:var(--green-ink);text-decoration:underline}
.tabla-planes-columna.dark .lnk{color:var(--green)}
.tabla-planes-pie .lnk:focus-visible{outline:2px solid var(--green-ink)}
.tabla-planes-nota{grid-row:1 / -1;align-self:stretch;border:1px dashed var(--line-2);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-2)}
.tabla-planes-nota strong{font-weight:600;font-size:20px;line-height:1.05;color:var(--ink)}
@media (max-width:860px){
  .tabla-planes,.tabla-planes.una-columna{display:flex;flex-direction:column;gap:14px}
  .tabla-planes-etiquetas,.tabla-planes-nota{display:none}
  .tabla-planes-columna{display:flex;flex-direction:column}
  .tabla-planes-celda{flex-direction:column;align-items:flex-start;gap:2px}
  .tabla-planes-celda::before{content:attr(data-l);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
}

/* Planes de las landings */
.lp-hero .lead{font-size:inherit;color:var(--ink-2);max-width:36em}
.lp-hero p.lead{font-size:clamp(17px,1.5vw,20px)}
html:not(.snap) .sec.lp-hero{padding-top:calc(var(--head) + clamp(48px,9vh,96px));min-height:min(100svh,920px);display:flex;flex-direction:column;justify-content:center}
.lp-hero h1{font-size:clamp(37px,min(5.46vw,8.58vh),81px);line-height:.94}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px}
.plan.hi{border:2px solid var(--green);box-shadow:0 30px 70px -40px rgba(14,107,74,.6)}
.plan.dark{background:var(--night);color:var(--on-night);border-color:var(--night)}
.plan .bd{position:absolute;top:-12px;left:20px;font-size:10.5px;letter-spacing:.08em;padding:4px 10px;border-radius:999px;background:var(--green);color:var(--on-green)}
.plan .nm,.plan .pr{font-weight:600;letter-spacing:-.03em;line-height:1}
.plan .nm{font-size:25px}
.plan .pr{font-size:clamp(31px,3.12vw,42px)}
.plan .pr small{font-size:13px;color:var(--ink-3);margin-left:6px;letter-spacing:0}
.plan.dark .pr small,.plan.dark .tg{color:var(--on-night-2)}
.plan .tg{font-size:14.5px;color:var(--ink-2)}
.plan ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.plan li{display:block;position:relative;padding-left:28px;line-height:1.4}
.plan li::before{content:"✓";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--green);color:var(--on-green);font-size:10px;font-weight:700;display:grid;place-items:center}
.plan .btn{margin-top:auto}
/* Qué incluye y qué no */
.incexc{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.incexc>div{border:1px solid var(--line);border-radius:22px;padding:22px;background:var(--card)}
.incexc h3{font-size:22px;margin-bottom:12px;letter-spacing:-.03em}
.incexc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:15px}
.incexc li{display:block;position:relative;padding-left:30px;line-height:1.45}
.incexc li::before{position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;font-weight:700;display:grid;place-items:center}
.incexc .inc li::before{content:"✓";background:var(--green);color:var(--on-green);font-size:11px}
.incexc .exc li::before{content:"–";background:#EDE9E1;color:var(--ink-3);font-size:13px}
.incexc .exc{background:transparent;border-style:dashed}
@media (max-width:760px){.incexc{grid-template-columns:1fr}}
/* Preguntas frecuentes */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 4px;font-size:clamp(16px,1.4vw,18px);font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;color:var(--green-ink);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 4px 18px;color:var(--ink-2);max-width:62em}
.faq summary:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
/* Siguientes pasos de las landings: pantalla propia, verde suave, separada del pie oscuro.
   El bloque termina con esquinas redondeadas que se apoyan sobre el pie: el límite se ve siempre. */
.lp-cta{background:var(--green-soft);color:var(--ink);border-top:1px solid rgba(14,107,74,.16);border-radius:0 0 clamp(24px,3vw,40px) clamp(24px,3vw,40px);z-index:2}
.lp-cta h2{color:var(--ink)}.lp-cta h2 em{color:var(--green-ink)}
.lp-cta .k{color:var(--green-ink)}
.lp-cta .muted,.lp-cta .lead,.lp-cta .small{color:var(--ink-2)}
.lp-cta .btn-line{background:var(--card);color:var(--ink);border-color:var(--line-2)}
.lp-cta .meta{color:var(--ink-2)}
.lp-cta .meta span::before{color:var(--green-ink)}
.lp-cta .wrap{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.lp-cta h2{font-size:clamp(36px,min(4.99vw,7.8vh),72px);max-width:13em}
.lp-cta p{max-width:36em}
.lp-cta .row .btn{min-height:52px}
.lp-cta .meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13.5px}
.lp-cta .meta span::before{content:"✓ "}
.lp-cta .small a{color:var(--green-ink);font-weight:600}
html:not(.snap) .sec.lp-cta{padding-block:clamp(88px,14vh,140px)}
main:has(> .lp-cta:last-child) + .sfoot{margin-top:calc(clamp(24px,3vw,40px) * -1);padding-top:calc(56px + clamp(24px,3vw,40px))}
/* Guía «¿cuál necesito?» (anfitriones) */
.guia{display:flex;flex-direction:column;max-width:900px}
.guia-fila{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(14px,2.6vh,22px) 4px;border-top:1px solid var(--line);font-size:clamp(16px,1.5vw,19px);text-decoration:none;transition:background .2s,padding .2s}
.guia-fila:last-child{border-bottom:1px solid var(--line)}
.guia-fila:hover{background:var(--card);padding-inline:14px}
.guia-fila strong{white-space:nowrap;font-weight:600}
.guia-fila:hover strong{color:var(--green-ink)}

/* Casos de clientes y carrusel */
.case{display:flex;flex-direction:column;gap:8px;text-decoration:none}
.case img{width:100%;max-width:100%;aspect-ratio:900/442;object-fit:cover;border-radius:16px;border:1px solid var(--line);transition:transform .6s var(--ease)}
.case:hover img{transform:scale(1.02)}
.case b{font-weight:600}
.carrusel-clientes{overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%);margin-inline:calc(clamp(16px,4vw,40px) * -1);padding:6px clamp(16px,4vw,40px) 14px}
.carrusel-clientes::-webkit-scrollbar{display:none}
.carrusel-pista{display:flex;gap:16px;width:max-content}
.carrusel-clientes .case{width:clamp(250px,24vw,330px);flex:none;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px 10px 14px}
.carrusel-clientes .case img{height:auto;border-radius:12px;border:0}
.carrusel-clientes .case b,.carrusel-clientes .case .small{padding-inline:4px}

/* Ficha de servicio (panel lateral) y su velo */
.velo-ficha{position:fixed;inset:0;z-index:70;background:rgba(19,19,19,.32);opacity:0;pointer-events:none;transition:opacity .3s var(--ease);backdrop-filter:blur(2px)}
.velo-ficha.in{opacity:1;pointer-events:auto}
.ficha{position:fixed;z-index:71;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--paper);box-shadow:-30px 0 80px -30px rgba(19,19,19,.45);transform:translateX(104%);transition:transform .45s var(--ease-io);display:flex;flex-direction:column;visibility:hidden}
.ficha.in{transform:none;visibility:visible}
.ficha-cabecera{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}
.ficha-cerrar{all:unset;cursor:pointer;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font-size:15px}
.ficha-cerrar:hover{background:var(--card)}.ficha-cerrar:focus-visible{outline:2px solid var(--green-ink)}
.ficha-contenido{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:18px}
.ficha-contenido h3{font-size:clamp(28px,3.12vw,37px);line-height:.98}
.ficha-planes{display:flex;gap:4px;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:999px;align-self:flex-start}
.ficha-planes button{all:unset;cursor:pointer;font-size:13.5px;padding:8px 14px;border-radius:999px;color:var(--ink-3)}
.ficha-planes button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.ficha-planes button:focus-visible{outline:2px solid var(--green-ink)}
.ficha-plan{display:flex;flex-direction:column;gap:14px;animation:subir .4s var(--ease) both}
.ficha-precio{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ficha-precio b{font-weight:600;letter-spacing:-.03em;font-size:44px;line-height:1}
.ficha-precio span{font-size:13px;color:var(--ink-3)}
.ficha-distintivo{align-self:flex-start;font-size:11px;letter-spacing:.08em;padding:5px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-ink);border:1px solid rgba(14,107,74,.25)}
.ficha-lema{font-size:17px}
.ficha-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ficha-lista li{display:flex;gap:10px;font-size:15px;line-height:1.45}
.ficha-lista li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;background:var(--green);color:var(--on-green);font-size:11px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.ficha-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ficha-datos div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:13.5px}
.ficha-datos b{display:block;font-weight:500;font-size:10.5px;letter-spacing:.1em;color:var(--ink-3);margin-bottom:2px}
.ficha-nota{font-size:13px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:12px}
.ficha-nota strong{color:var(--ink-2);font-weight:600}
.ficha-acciones{display:flex;flex-direction:column;gap:8px;padding:16px 22px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card)}
.ficha-acciones .row{flex-wrap:nowrap}.ficha-acciones .btn{flex:1;white-space:nowrap}.ficha-acciones .btn-go{flex:1.6}
.ficha-pagina{font-size:13px;text-align:center;color:var(--ink-2)}
@media (max-width:640px){.ficha{top:auto;height:90svh;width:100vw;border-radius:24px 24px 0 0;transform:translateY(104%)}.ficha-acciones .row{flex-wrap:wrap}.ficha-datos{grid-template-columns:1fr}}

/* Anfitrión FULL flotante (lanzador, aviso proactivo y panel de chat) */
.host{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.h-launch{all:unset;position:relative;cursor:pointer;width:58px;height:58px;border-radius:50%;background:var(--ink);display:grid;place-items:center;box-shadow:0 14px 36px -12px rgba(19,19,19,.55);transition:transform .2s var(--ease)}
.h-launch:hover{transform:scale(1.06)}.h-launch:active{transform:scale(.94)}
.h-launch:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px}
.h-launch svg{width:24px;height:24px}
.h-launch::after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:var(--green);border:2px solid var(--paper);transform:translate(17px,-17px)}
.h-launch .badge{position:absolute;top:-4px;left:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--green);color:var(--on-green);font-size:11px;font-weight:700;display:none;place-items:center;padding:0 5px;border:2px solid var(--paper)}
.h-launch.has .badge{display:grid}
.h-launch.has::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--green);animation:ping 1.6s var(--ease) infinite}
.h-bub{position:relative;max-width:290px;background:var(--card);border:1px solid var(--line);border-radius:18px 18px 6px 18px;padding:12px 34px 12px 14px;font-size:14.5px;line-height:1.45;box-shadow:0 18px 40px -18px rgba(19,19,19,.35);cursor:pointer;opacity:0;transform:translateX(10px) scale(.96);transform-origin:bottom right;transition:opacity .45s var(--ease),transform .45s var(--ease);pointer-events:none}
.h-bub.in{opacity:1;transform:none;pointer-events:auto}
.h-bub b{display:block;font-weight:500;font-size:10.5px;letter-spacing:.1em;color:var(--green-ink);margin-bottom:3px}
.h-bub .typing{display:inline-flex;background:none;padding:6px 0}
.h-bub .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.h-bub .acts button{all:unset;cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--ink);color:var(--paper)}
.h-bub .acts button+button{background:transparent;color:var(--ink);border:1px solid var(--line-2);font-weight:500}
.h-x{all:unset;cursor:pointer;position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);font-size:14px}
.h-x:hover{background:#F3F0E9;color:var(--ink)}
.h-panel{width:min(360px,calc(100vw - 36px));height:min(500px,calc(100svh - 120px));background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 80px -30px rgba(19,19,19,.45);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(12px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease);position:absolute;right:0;bottom:70px}
.host.open .h-panel{opacity:1;transform:none;pointer-events:auto}
.h-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:14px}
.h-head strong{font-weight:600}.h-head .live{display:flex;margin-top:2px}
.h-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:9px}
.h-body .msg{animation:subir .4s var(--ease) both}
.h-chips{display:flex;flex-wrap:wrap;gap:6px}
.h-chips button{all:unset;cursor:pointer;font-size:13px;padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);opacity:0;animation:subir .4s var(--ease) both;animation-delay:calc(var(--i) * 110ms);transition:background .2s,border-color .2s,transform .12s}
.h-chips button:hover{border-color:var(--green-ink);background:var(--green-soft)}
.h-chips button:focus-visible{outline:2px solid var(--green-ink)}
.h-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.h-form input{flex:1;min-width:0;border:1px solid var(--line-2);border-radius:999px;padding:0 14px;height:42px;font:inherit;font-size:14px;background:var(--paper);transition:border-color .2s,box-shadow .2s}
.h-form input:focus{outline:none;border-color:var(--green-ink);box-shadow:0 0 0 4px rgba(14,107,74,.14)}
.h-form button{all:unset;position:relative;overflow:hidden;cursor:pointer;width:42px;height:42px;border-radius:50%;background:var(--green);display:grid;place-items:center;font-weight:700;color:var(--on-green)}
.wa-pre{white-space:pre-wrap;font-size:11.5px;line-height:1.5;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0;max-height:180px;overflow:auto}

/* Contacto rápido (escritorio) y barra de acciones (móvil) */
.qc{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:61}
.qc-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:10px;writing-mode:vertical-rl;transform:rotate(180deg);padding:16px 0;width:36px;border-radius:14px 0 0 14px;background:var(--ink);color:var(--paper);font-weight:600;font-size:13.5px;letter-spacing:.02em;white-space:nowrap;box-shadow:0 0 0 1px rgba(250,248,244,.18),0 10px 30px -10px rgba(0,0,0,.4);transition:width .2s var(--ease),background-color .2s}
.qc-btn:hover,.qc.open .qc-btn{width:40px}
@media (max-width:1100px){.qc-btn{width:30px;font-size:12.5px;padding:14px 0}.qc-btn:hover,.qc.open .qc-btn{width:33px}.qc-menu{left:44px}}
.qc-btn:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px}
.qc-btn i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(127,209,168,.22);animation:pulso 1.8s ease-in-out infinite}
.qc-menu{position:absolute;left:54px;top:50%;width:min(320px,calc(100vw - 72px));background:var(--card);border:1px solid var(--line);border-radius:22px;padding:8px;box-shadow:0 30px 80px -30px rgba(19,19,19,.45);display:flex;flex-direction:column;gap:4px;opacity:0;transform:translate(-8px,-50%) scale(.98);transform-origin:left center;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.qc.open .qc-menu{opacity:1;transform:translate(0,-50%);pointer-events:auto}
.qc-menu a,.qc-menu button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:14px;transition:background .2s}
.qc-menu a:hover,.qc-menu button:hover,.qc-menu a:focus-visible,.qc-menu button:focus-visible{background:#F3F0E9}
.qc-menu .ic{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#F3F0E9;font-size:17px}
.qc-menu .go .ic{background:var(--green);color:var(--on-green)}
.qc-menu b{display:block;font-size:14.5px;font-weight:600}
.qc-menu small{display:block;font-size:12.5px;color:var(--ink-3)}
.qc-menu .copied small{color:var(--green-ink)}
.mbar{display:none}
@media (max-width:820px){
  .qc{display:none}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(250,248,244,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar .btn{flex:1;min-height:44px;font-size:13.5px;padding:0 8px;white-space:nowrap}
  .mbar .btn-line{background:var(--card)}
  .host{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  body:not(:has(.sfoot)) main{padding-bottom:64px}
}

/* Aviso de cookies */
.ck{position:fixed;left:0;right:0;margin-inline:auto;bottom:max(18px,env(safe-area-inset-bottom));z-index:70;width:min(560px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px 18px;box-shadow:0 30px 70px -30px rgba(19,19,19,.45);display:flex;gap:14px;align-items:center;justify-content:space-between;animation:subir .45s var(--ease) both}
.ck p{font-size:13.5px;color:var(--ink-2);line-height:1.45}
.ck a{color:var(--green-ink);font-weight:600}
.ck .row{flex:none;flex-wrap:nowrap;gap:8px}
.ck .btn{min-height:40px;padding:0 16px;font-size:14px}
@media (max-width:820px){.ck{left:16px;right:16px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch}.ck .row{flex-wrap:wrap}.ck .row .btn{flex:1}}
/* Escritorio: aviso compacto abajo a la izquierda, junto a «Contacto rápido», sin tapar el centro de la pantalla */
@media (min-width:961px){.ck{left:calc(max(18px,env(safe-area-inset-left)) + 184px);right:auto;margin:0;bottom:max(18px,env(safe-area-inset-bottom));width:min(420px,calc(100vw - 420px));flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;border-radius:16px}.ck p{font-size:12.5px}.ck .row .btn{flex:1;min-height:34px;font-size:13.5px}}

/* Pie común: el equipo con vídeo de fondo, enlaces y legal */
.sfoot{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:var(--on-night);padding-block:56px 96px}
.sfoot>.wrap{position:relative;z-index:1}
.sfoot .grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:32px}
.sfoot .logo{font-size:30px;color:var(--on-night)}.sfoot .logo i{color:var(--green)}
.sfoot p,.sfoot li,.sfoot a{font-size:14px;color:var(--on-night-2);text-decoration:none;line-height:1.7}
.sfoot a:hover{color:var(--on-night)}
.sfoot ul{list-style:none;margin:0;padding:0}
.sfoot h4{margin:0 0 8px;font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.sfoot .legal{margin-top:36px;padding-top:20px;border-top:1px solid rgba(250,248,244,.14);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--on-night-2)}
.pie-video{position:absolute;inset:0;z-index:0;pointer-events:none}
.pie-video video{width:100%;height:100%;object-fit:cover;opacity:.32}
.pie-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,19,19,.55) 0%,rgba(19,19,19,.82) 45%,var(--night) 100%)}
.pie-equipo{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:end;padding-bottom:44px;margin-bottom:44px;border-bottom:1px solid rgba(250,248,244,.14)}
.pie-equipo .pie-equipo-titulo{margin:0 0 12px;font-size:clamp(26px,3.2vw,40px);line-height:1.08;font-weight:600;letter-spacing:-.02em;color:var(--on-night)}
.pie-equipo .pie-equipo-titulo em{color:var(--green)}
.pie-equipo .pie-equipo-texto{margin:0 0 18px;font-size:16px;line-height:1.6;max-width:52ch;color:var(--on-night-2)}
.ciudades{display:flex;gap:8px;flex-wrap:wrap}
.ciudades span{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(250,248,244,.22);border-radius:999px;padding:6px 12px;font-size:13px;line-height:1.2;color:var(--on-night)}
.pie-cifras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.pie-cifras div{border-top:1px solid rgba(250,248,244,.3);padding-top:10px}
.pie-cifras b{display:block;font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1;color:var(--on-night);font-variant-numeric:tabular-nums}
.pie-cifras span{font-size:12.5px;color:var(--on-night-2)}
@media (max-width:860px){.pie-equipo{grid-template-columns:1fr;align-items:start}.sfoot .grid{grid-template-columns:1fr 1fr}.sfoot .grid>div:first-child{grid-column:1/-1}}
@media (max-width:820px){.sfoot{padding-bottom:110px}}
.bandera{width:20px;height:14px;border-radius:2px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.08);overflow:hidden;display:block}

/* Página sin cabecera ni widgets (diagnóstico para compartir en redes) */
body[data-bare] .qc,body[data-bare] .mbar,body[data-bare] .host{display:none!important}
body[data-bare] main{padding-bottom:0!important}
body[data-bare] .ck{background:#161A18;border-color:rgba(255,255,255,.12);color:#F2F0EA;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-hi:#9ADDB9}
body[data-bare] .ck p{color:rgba(242,240,234,.78)}
body[data-bare] .ck .btn-line{background:transparent;color:#F2F0EA;border-color:rgba(255,255,255,.3)}
body[data-bare] .ck .btn-ink{background:#7FD1A8;color:#0B1F17}

/* Puntero Innectia (escritorio): la flecha del sistema + un aro fino que la acompaña */
.pointer-halo{position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:0;height:0;opacity:0;transition:opacity .25s}
.pointer-halo.on{opacity:1}
.pointer-halo::before{content:"";position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(14,107,74,.55);box-shadow:0 0 0 1px rgba(250,248,244,.35);transition:transform .3s var(--ease),background-color .3s,border-color .3s}
.pointer-halo.hover::before{transform:scale(1.55);background:rgba(14,107,74,.08);border-color:rgba(14,107,74,.4)}
.pointer-halo.press::before{transform:scale(.85)}
.pointer-halo.hover.press::before{transform:scale(1.3)}
.pointer-halo.text::before{transform:scale(.6);opacity:.4}
.pointer-halo.see::before{transform:scale(2.3);background:var(--green);border-color:var(--green);box-shadow:0 10px 30px -10px rgba(14,107,74,.6)}
.pointer-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-size:12px;font-weight:600;letter-spacing:.02em;color:#FFFFFF;opacity:0;transition:opacity .2s}
.pointer-halo.see .pointer-label{opacity:1}

/* ═════════ Secciones de la home ═════════ */
/* Inicio */
#inicio .video-fondo{--opacidad-video:.6}
.velo-video{position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(250,248,244,.95) 40%,rgba(250,248,244,.45) 66%,rgba(250,248,244,0) 86%)}
@media (max-width:960px){.velo-video{background:linear-gradient(180deg,rgba(250,248,244,.92) 0%,rgba(250,248,244,.86) 70%,rgba(250,248,244,.6) 100%)}}

/* Una noche con Innectia: línea de tiempo con el servicio de cada momento */
.linea-noche{position:relative;display:flex;flex-direction:column}
.linea-noche-trazo{position:absolute;left:0;top:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .2s}
.sec.on .linea-noche-trazo{transform:scaleX(1)}
.momento{display:grid;grid-template-columns:clamp(96px,12vw,160px) minmax(0,1fr) minmax(0,300px);gap:24px;align-items:center;padding:clamp(8px,1.6vh,18px) 0;border-bottom:1px solid var(--line)}
.momento-hora{font-size:clamp(27px,min(3.12vw,4.68vh),41px);line-height:1;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.momento-hora.destacada{color:var(--green-ink)}
.momento strong{display:block;font-size:clamp(16px,1.4vw,19px);font-weight:600}
.chip-servicio{font:inherit;text-align:left;color:inherit;cursor:pointer;width:100%;line-height:1.4;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.chip-servicio:hover{transform:translateY(-2px);border-color:rgba(14,107,74,.6);box-shadow:0 10px 24px -14px rgba(19,19,19,.35)}
.chip-servicio b{font-weight:500;font-size:11px;letter-spacing:.08em;color:var(--ink-3)}
.chip-servicio.full{border-color:rgba(14,107,74,.4)}.chip-servicio.full b{color:var(--green-ink)}
.chip-servicio.wa{background:var(--green);border-color:var(--green);color:var(--on-green)}.chip-servicio.wa b{color:rgba(255,255,255,.85)}
.chip-servicio.x{background:var(--night);color:var(--on-night);border-color:var(--night)}.chip-servicio.x b{color:var(--green)}
@media (max-width:760px){.momento{grid-template-columns:1fr;gap:8px}}

/* Para quién es: cuatro perfiles y el servicio al que suele apuntar cada uno */
.para-quien{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}
.perfil{display:flex;flex-direction:column;gap:8px;padding:20px 20px 18px;border:1px solid var(--line);border-radius:20px;background:var(--card);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s var(--ease)}
.perfil:hover{border-color:var(--ink);transform:translateY(-3px)}
.perfil-numero{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--green-ink)}
.perfil strong{font-size:18px;font-weight:600;line-height:1.25}
.perfil p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2);flex:1}
.perfil-recomendacion{font-size:12.5px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:10px}
.perfil-recomendacion b{display:block;font-size:14px;color:var(--ink);font-weight:600;margin-top:2px}
.perfil.destacado{background:var(--green);border-color:var(--green);color:#FFFFFF}
.perfil.destacado:hover{background:var(--green-hi);border-color:var(--green-hi)}
.perfil.destacado .perfil-numero,.perfil.destacado .perfil-recomendacion{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.25)}
.perfil.destacado p,.perfil.destacado .perfil-recomendacion b{color:#FFFFFF}
@media (max-width:1000px){.para-quien{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.para-quien{grid-template-columns:1fr}}

/* Servicios y precios: pestañas por servicio y panel con planes o «qué incluye» */
.catalogo-cabecera{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(14px,2.4vh,24px)}
.catalogo-cabecera>div{display:flex;flex-direction:column;gap:10px}
.catalogo-cabecera h2{font-size:clamp(27px,min(2.81vw,4.84vh),44px)}
.catalogo-cabecera p{text-align:right}
.catalogo-pestanas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin-bottom:clamp(10px,1.8vh,16px)}
.catalogo-pestana{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:10px 16px;border-radius:16px;border:1px solid var(--line);background:var(--paper);min-height:calc(70px + var(--s) * 10px);transition:background .25s,border-color .25s,color .25s,transform .25s var(--ease),box-shadow .25s}
.catalogo-pestana:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.pestana-etapa{font-size:10.5px;letter-spacing:.12em;color:var(--ink-3);font-weight:600}
.pestana-nombre{font-size:22px;line-height:1;font-weight:600;letter-spacing:-.03em}
.pestana-detalle{font-size:12.5px;color:var(--ink-3)}
.catalogo-pestana[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.catalogo-pestana[aria-selected="true"] .pestana-etapa{color:var(--green)}
.catalogo-pestana[aria-selected="true"] .pestana-detalle{color:var(--on-night-2)}
.catalogo-pestana.full[aria-selected="true"]{background:var(--green);color:var(--on-green);border-color:var(--green)}
.catalogo-pestana.full[aria-selected="true"] .pestana-etapa{color:var(--ink)}
.catalogo-pestana.full[aria-selected="true"] .pestana-detalle{color:var(--ink-2)}
.catalogo-pestana.x[aria-selected="true"]{background:var(--night);border-color:var(--night)}
.catalogo-panel{view-transition-name:catalogo}
.catalogo-vista{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.catalogo-vista button{all:unset;cursor:pointer;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);transition:background .2s,color .2s,border-color .2s}
.catalogo-vista button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.catalogo-vista button:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.catalogo-vista .price-note{margin-left:auto}
.catalogo-incluye>div{padding:18px 22px}
.catalogo-incluye h3{font-size:20px;margin-bottom:10px}
.catalogo-incluye ul{gap:8px;font-size:14.5px}
.catalogo-enlace{margin-top:10px;font-size:13px;color:var(--ink-3);text-align:right}
.catalogo-enlace a{color:var(--green-ink);font-weight:600;text-decoration:none}
.catalogo-enlace a:hover{text-decoration:underline}
@media (max-width:860px){
  .catalogo-cabecera{flex-direction:column;align-items:flex-start}.catalogo-cabecera p{text-align:left}
  .catalogo-pestanas{display:flex;overflow-x:auto;scrollbar-width:none;align-items:stretch}
  .catalogo-pestana{flex:none;min-width:150px}
  .catalogo-vista .price-note{margin-left:0;width:100%}
}

/* Diagnóstico gratis: qué es y un ejemplo de informe */
.diagnostico-teaser{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,64px);align-items:center}
.diagnostico-texto{display:flex;flex-direction:column;gap:16px}
.diagnostico-pasos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:paso}
.diagnostico-pasos li{counter-increment:paso;display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:start}
.diagnostico-pasos li::before{content:counter(paso);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--green);display:grid;place-items:center;font-size:13px}
.diagnostico-pasos b{font-weight:600}
.diagnostico-pasos span{font-size:14px;color:var(--ink-3)}
.informe-ejemplo{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:clamp(18px,3vh,28px);display:flex;flex-direction:column;gap:18px;box-shadow:0 40px 90px -46px rgba(19,19,19,.45)}
.informe-cabecera{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.informe-barras{display:flex;flex-direction:column;gap:14px}
.informe-barras>div{display:flex;flex-direction:column;gap:6px}
.barra-titulo{display:flex;justify-content:space-between;align-items:baseline}
.barra-titulo b{font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--ink-3)}
.barra-titulo>span{font-size:23px;line-height:1;font-weight:600;letter-spacing:-.03em}
.medidor{height:8px;border-radius:3px;background:var(--line);overflow:hidden}
.medidor i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--green-ink),var(--green));transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .3s}
.medidor.bajo i{background:linear-gradient(90deg,#B98B2E,#E0B94F)}
.sec.on .medidor i{transform:scaleX(1)}
.informe-siguiente-paso{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.informe-siguiente-paso strong{font-weight:600;letter-spacing:-.03em;font-size:clamp(17px,1.56vw,22px);line-height:1.1}
.informe-siguiente-paso span:last-child{font-size:14px;color:var(--ink-2)}
@media (max-width:860px){.diagnostico-teaser{grid-template-columns:1fr}}

/* Cómo trabajamos: tres pilares y los 14 días */
.pilares{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pilar{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:clamp(16px,2.4vh,22px);display:flex;flex-direction:column;gap:10px}
.pilar-etiqueta{font-size:11px;letter-spacing:.12em;color:var(--green-ink);font-weight:600}
.pilar-titulo{font-size:clamp(20px,1.87vw,25px);line-height:1;font-weight:600;letter-spacing:-.03em}
.pilar p{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--ink-2)}
@media (max-width:900px){.pilares{grid-template-columns:1fr}}
.plazo-14-dias{margin-top:clamp(20px,3vh,32px)}
.plazo-14-dias h3{margin:0 0 14px;font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.01em}
.etapas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative}
.etapa{border-top:2px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.etapa.final{border-color:var(--green)}
.etapa span{font-size:11px;letter-spacing:.08em;color:var(--ink-3)}
.etapa.final span{color:var(--green-ink)}
.etapa strong{font-weight:600;letter-spacing:-.03em;font-size:clamp(20px,2.03vw,27px);line-height:1}
.etapa p{font-size:14px;color:var(--ink-2)}
@media (max-width:760px){.etapas{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Contacto: tres vías y el formulario */
.contacto-columnas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(28px,5vw,64px);align-items:center}
.contacto-texto{display:flex;flex-direction:column;gap:14px}
.vias-contacto{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.via-contacto{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px 56px 14px 18px;border:1px solid var(--line);border-radius:18px;background:var(--card);text-decoration:none}
.via-etiqueta{font-size:10.5px;letter-spacing:.12em;color:var(--green-ink)}
.via-contacto strong{font-size:17px;font-weight:600}
.via-detalle{font-size:13.5px;color:var(--ink-3)}
.via-contacto i{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-style:normal;font-size:20px;transition:transform .2s var(--ease)}
.via-contacto:hover i{transform:translate(4px,-50%)}
.via-contacto.destacada{background:var(--green);border-color:var(--green);color:var(--on-green)}
.via-contacto.destacada .via-etiqueta{color:#FFFFFF;opacity:.9}.via-contacto.destacada .via-detalle{color:rgba(255,255,255,.88)}
.via-contacto.destacada:hover{background:var(--green-hi);border-color:var(--green-hi)}
.formulario-contacto{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:clamp(18px,2.6vh,26px);display:flex;flex-direction:column;gap:6px;box-shadow:0 30px 70px -40px rgba(19,19,19,.35)}
.formulario-contacto .k{margin-bottom:4px}
.formulario-contacto label{font-size:13px;font-weight:600;color:var(--ink-2);margin-top:4px}
.formulario-contacto input,.formulario-contacto select{font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:12px;padding:10px 12px;transition:border-color .2s,box-shadow .2s,transform .12s}
.formulario-contacto input:focus,.formulario-contacto select:focus{outline:none;border-color:var(--green-ink);box-shadow:0 0 0 4px rgba(14,107,74,.15)}
.formulario-contacto .con-error{border-color:#B3261E;box-shadow:0 0 0 4px rgba(179,38,30,.1);animation:sacudida .3s}
.formulario-contacto .permiso{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:12.5px;color:var(--ink-3);margin:6px 0}
.formulario-contacto .permiso input{margin-top:2px;accent-color:var(--green-ink);width:16px;height:16px;flex:none}
.formulario-contacto .btn{margin-top:4px}
.formulario-estado{font-size:13px;color:#B3261E;min-height:18px}
.formulario-enviado{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:12px 0;animation:subir .5s var(--ease) both}
.formulario-check{width:56px;height:56px;border-radius:50%;background:var(--green);color:var(--on-green);display:grid;place-items:center;font-size:26px;font-weight:700;animation:aparecer .5s var(--ease) both}
.formulario-enviado strong{font-weight:600;letter-spacing:-.03em;font-size:27px;line-height:1.05}
@media (max-width:860px){.contacto-columnas{grid-template-columns:1fr}}

/* Empieza: cierre oscuro con la marquesina de sedes */
.cierre .wrap{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px}
.cierre .k{color:var(--green)}
.cierre h2{font-size:clamp(37px,min(5.46vw,8.58vh),75px);max-width:11em}
.cierre h2 em{color:var(--green)}
.cierre .small{color:var(--on-night-2)}
.cierre .btn-line{background:transparent;color:var(--on-night);border-color:rgba(250,248,244,.45)}
.marquesina-sedes{overflow:hidden;border-block:1px solid rgba(250,248,244,.16);margin-top:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquesina-pista{display:flex;width:max-content;animation:marquesina 42s linear infinite}
.marquesina-sedes:hover .marquesina-pista{animation-play-state:paused}
.marquesina-pista span{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;white-space:nowrap;font-size:14px;color:var(--on-night-2)}
.marquesina-pista span b{font-weight:500;color:var(--on-night)}
.marquesina-pista span i{font-style:normal;color:var(--green)}

/* ═════════ Movimiento (ver skill innectia-motion) ═════════ */
/* Entrada de cada sección: los elementos [data-a] suben escalonados (--i) cuando la sección tiene .on */
.js .sec:not(.on) [data-a]{opacity:0}
.sec.on [data-a]{animation:subir .85s var(--ease) both;animation-delay:calc(var(--i,0) * 90ms)}
.sec.on .momento[data-a]{animation-name:entrar-de-lado}
.d1{--i:1}.d2{--i:2}.d3{--i:3}.d4{--i:4}
.sec.on .d1,.sec.on .d2,.sec.on .d3,.sec.on .d4{animation-delay:calc(var(--i) * 100ms)}
/* Titulares palabra por palabra (.split) */
.split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.split .w>span{display:inline-block}
.js .sec:not(.on) .split .w>span{transform:translateY(110%)}
.sec.on .split .w>span{animation:palabra-sube .9s var(--ease) both;animation-delay:calc(var(--wi) * 55ms + 120ms)}
/* Elevación al pasar el puntero (tarjetas y enlaces grandes) */
.eleva-al-pasar{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.eleva-al-pasar:hover{transform:translateY(-4px);border-color:rgba(14,107,74,.45)!important;box-shadow:0 18px 44px -18px rgba(19,19,19,.28)}
/* Micro-interacciones al pulsar */
.btn:active,.chip-servicio:active,.case:active{transform:scale(.98)}
.onda{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.55);transform:scale(0);animation:onda .6s var(--ease) forwards}
.btn-go .onda,.h-form .onda{background:rgba(19,19,19,.18)}
/* Profundidad por capas: la mueve el script de la home */
[data-profundidad]{will-change:transform}
/* Grano de papel, estático */
.grano-papel{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* Transiciones de vista: entre páginas y al cambiar el panel de servicios y precios */
::view-transition-old(root){animation:.28s var(--ease) both vista-sale}
::view-transition-new(root){animation:.42s var(--ease) both vista-entra}
html.transicion-catalogo::view-transition-old(root),html.transicion-catalogo::view-transition-new(root){animation:none}
::view-transition-old(catalogo){animation:.22s var(--ease) both vista-sale}
::view-transition-new(catalogo){animation:.4s var(--ease) both vista-entra}

@keyframes subir{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes entrar-de-lado{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes palabra-sube{from{transform:translateY(110%)}to{transform:none}}
@keyframes pulso{50%{opacity:.35}}
@keyframes deriva{to{transform:translate(-6%,4%) scale(1.08)}}
@keyframes puntos-escribiendo{30%{transform:translateY(-3px);opacity:1}0%,60%,100%{opacity:.4}}
@keyframes aro-aviso{0%{box-shadow:0 0 0 0 rgba(14,107,74,.45)}70%{box-shadow:0 0 0 8px rgba(14,107,74,0)}100%{box-shadow:0 0 0 0 rgba(14,107,74,0)}}
@keyframes latido-aviso{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes ping{from{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}
@keyframes marquesina{to{transform:translateX(-50%)}}
@keyframes onda{to{transform:scale(1);opacity:0}}
@keyframes sacudida{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes aparecer{0%{transform:scale(.4)}70%{transform:scale(1.1)}100%{transform:none}}
@keyframes vista-sale{to{opacity:0;transform:translateY(-10px)}}
@keyframes vista-entra{from{opacity:0;transform:translateY(14px)}}

/* ═════════ Movimiento reducido ═════════ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .sec:not(.on) [data-a]{opacity:1;transform:none}
  .js .sec:not(.on) .split .w>span{transform:none}
  .linea-noche-trazo,.medidor i{transform:none}
  .h-chips button{opacity:1}
  .video-fondo video{display:none}
}

/* Barra de lectura movida por el propio scroll (CSS «scroll-driven»), sin JavaScript */
@supports (animation-timeline: scroll()){
  .progreso-lectura{animation:progreso-lectura linear both;animation-timeline:scroll(root)}
  @keyframes progreso-lectura{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* ═════════ Móvil más liviano (utilidades para todas las páginas) ═════════
   .solo-escritorio: textos secundarios que en móvil sobran · .solo-movil: lo contrario.
   data-recortar="3": en móvil muestra los 3 primeros hijos y un botón «Ver más» (lo crea site.js).
   .tabla-apilada: en móvil la tabla pasa a tarjetas; cada celda lleva data-l="Etiqueta". */
.ver-mas{display:none}
@media (max-width:760px){
  .solo-escritorio{display:none!important}
  .recortada>.recorte-extra{display:none!important}
  .ver-mas{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-top:12px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font-weight:600;font-size:14px}
  .ver-mas::after{content:"↓";color:var(--green-ink)}
  .ver-mas:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px}
  .sec.dark .ver-mas{background:var(--night-2);color:var(--on-night);border-color:#3A3A3A}
  .tabla-apilada,.tabla-apilada tbody,.tabla-apilada tr,.tabla-apilada th,.tabla-apilada td{display:block;width:auto}
  .tabla-apilada thead{display:none}
  .tabla-apilada tr{padding:12px 14px;border-bottom:1px solid var(--line)}
  .tabla-apilada tr:last-child{border-bottom:0}
  .tabla-apilada th,.tabla-apilada td{padding:4px 0;border:0}
  .tabla-apilada td[data-l]::before{content:attr(data-l) " · ";font-weight:600;color:var(--ink)}
  .sec .head{gap:10px}
}
@media (min-width:761px){.solo-movil{display:none!important}}

/* Serena en móvil: aviso pequeño, fácil de cerrar, que se aparta si tapa un botón */
@media (max-width:760px),(pointer:coarse){
  .h-bub{max-width:min(240px,calc(100vw - 96px));font-size:13.5px;padding:10px 38px 10px 12px}
  .h-bub .acts button{font-size:12.5px;padding:7px 12px}
  .h-bub .h-x{width:32px;height:32px;top:2px;right:2px}
  .h-bub.aparte{opacity:0;pointer-events:none;transform:translateX(10px) scale(.96)}
}

/* ── Contenido según moneda e idioma de la visita (site.js: data-solo-moneda="ARS" · "EUR,USD,RSD" · data-solo-idioma="es"|"en") ──
   Hasta que site.js decide, no se muestra; después, lo que no coincide lleva data-solo-off. */
html:not(.solo-listo) [data-solo-moneda],html:not(.solo-listo) [data-solo-idioma],[data-solo-off]{display:none!important}

/* ═════════ Para qué sirve (mensaje central: atender bien, nunca spam) y bloque de datos para perfiles avanzados ═════════
   .para-que: «Sirve para / No sirve para» (.incexc) + .bloque-datos al lado. En móvil se apilan y el bloque de datos
   se recorta tras su cabecera con «Ver más» (data-recortar="1"). */
.para-que{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:stretch}
.para-que .incexc>div{padding:clamp(16px,2.6vh,24px)}
.para-que .incexc h3{font-size:clamp(19px,1.6vw,22px)}
.para-que .incexc ul{font-size:clamp(14.5px,1.1vw,16px);gap:12px}
.bloque-datos{display:flex;flex-direction:column;gap:clamp(10px,1.6vh,14px);padding:clamp(16px,2.6vh,24px);border-radius:22px;background:var(--green-soft);border:1px solid rgba(14,107,74,.24);color:var(--ink);min-width:0}
.bd-cab{display:flex;flex-direction:column;gap:6px}
.bd-cab strong{font-size:clamp(18px,1.5vw,21px);font-weight:600;letter-spacing:-.025em;line-height:1.2}
.bd-cab p{font-size:14.5px;color:var(--ink-2);line-height:1.45}
.bd-fila{display:grid;grid-template-columns:minmax(96px,120px) minmax(0,1fr);gap:10px;align-items:start;padding-top:clamp(8px,1.3vh,12px);border-top:1px solid rgba(14,107,74,.2);font-size:14.5px;line-height:1.45}
.bd-fila>b{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--green-ink);padding-top:4px}
.bd-chips{display:flex;flex-wrap:wrap;gap:6px}
.bd-chips span{font-size:13.5px;line-height:1.3;padding:4px 10px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.datos-columnas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3.4vw,48px);align-items:center}
.datos-columnas .head{margin-bottom:0}
@media (max-width:960px){.para-que,.datos-columnas{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .bd-fila{grid-template-columns:1fr;gap:6px}
  .bloque-datos.recortada{gap:0}
  .bloque-datos+.ver-mas{margin-top:10px}
}
/* Variante compacta (home): «sirve / no sirve» arriba y los datos plegados debajo, en una línea */
.para-que.compacta{grid-template-columns:minmax(0,1fr);max-width:980px}
.bloque-datos.plegable{gap:0;padding:0}
.bloque-datos.plegable>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px clamp(16px,2.2vw,22px);font-size:15px;font-weight:600;line-height:1.35;border-radius:22px}
.bloque-datos.plegable>summary::-webkit-details-marker{display:none}
.bloque-datos.plegable>summary:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.bd-ver{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green-ink);padding:6px 12px;border-radius:999px;background:var(--card);border:1px solid rgba(14,107,74,.25)}
.bd-ver::after{content:"↓";transition:transform .25s var(--ease)}
.bloque-datos.plegable[open] .bd-ver::after{transform:rotate(180deg)}
.bloque-datos.plegable>.bd-fila{margin:0 clamp(16px,2.2vw,22px);padding-block:10px}
.bloque-datos.plegable>.bd-fila:last-child{padding-bottom:16px}

/* Carrusel de casos: flechas anterior / siguiente (site.js: Innectia.carrusel) */
.carrusel-marco{position:relative}
.carrusel-flecha{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;top:calc(50% - 22px);z-index:3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--ink);border:1px solid var(--line-2);box-shadow:0 10px 26px -12px rgba(19,19,19,.45);font-size:26px;line-height:1;transition:transform .2s var(--ease),background-color .2s,border-color .2s}
.carrusel-flecha span{margin-top:-3px}
.carrusel-flecha.prev{left:-6px}.carrusel-flecha.next{right:-6px}
.carrusel-flecha:hover{border-color:var(--ink);transform:scale(1.06)}
.carrusel-flecha:active{transform:scale(.95)}
.carrusel-flecha:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px}
.carrusel-clientes:focus-visible{outline:2px solid var(--green-ink);outline-offset:4px;border-radius:14px}
@media (max-width:760px){.carrusel-flecha{width:40px;height:40px;font-size:24px;top:calc(50% - 20px)}.carrusel-flecha.prev{left:-4px}.carrusel-flecha.next{right:-4px}}

/* Selector de idioma: bandera + código; menú con el nombre propio de cada idioma */
.idioma .money-btn span{display:inline-flex;align-items:center;gap:6px}
.idioma .money-menu{min-width:170px}
.idioma .money-menu b{display:inline-flex;align-items:center;gap:8px;min-width:0}
.idioma .bandera{width:18px;height:12px;border-radius:2px;box-shadow:0 0 0 1px rgba(19,19,19,.12);flex:none}

/* Formulario de contacto en ventana (todas las páginas) */
.cm{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px}
.cm[hidden]{display:none}
.cm-fondo{position:absolute;inset:0;background:rgba(19,19,19,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:aparecer .25s ease both}
.cm-caja{position:relative;width:min(460px,100%);max-height:calc(100dvh - 32px);overflow:auto;border-radius:24px;animation:subir .35s var(--ease) both}
.cm-caja .formulario-contacto{box-shadow:0 40px 90px -30px rgba(19,19,19,.5)}
.cm-titulo{font-size:clamp(22px,2.6vw,27px);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0 34px 6px 0}
.cm-cerrar{all:unset;position:absolute;top:14px;right:14px;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:15px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line)}
.cm-cerrar:hover{border-color:var(--ink)}
.cm-cerrar:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.cm .permiso a{color:var(--green-ink);text-decoration:underline}
html.cm-abierta{overflow:hidden}
html.cm-abierta .qc,html.cm-abierta .host,html.cm-abierta .mbar{visibility:hidden}
@media (prefers-reduced-motion:reduce){.cm-fondo,.cm-caja{animation:none}}
.btn-escribenos{white-space:nowrap}

/* Inicio · mapa de la oferta en 4 columnas (webs · anfitriones · CRM · consultoría) */
.mapa-oferta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(16px,3vh,28px)}
.mapa-col{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2.6vh,26px) 20px;border-radius:22px;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 60px -44px rgba(19,19,19,.35)}
.mapa-num{font-size:11.5px;letter-spacing:.14em;color:var(--green-ink);font-weight:600}
.mapa-col h3{font-size:clamp(19px,1.6vw,22px);font-weight:600;letter-spacing:-.025em;line-height:1.12;margin:0}
.mapa-que{font-size:14px;line-height:1.45;color:var(--ink-2);margin:0}
.mapa-precios{list-style:none;margin:4px 0 0;padding:10px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px}
.mapa-precios li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px}
.mapa-precios li b{font-weight:600}
.mapa-precios li span{font-weight:600;white-space:nowrap;color:var(--ink)}
.mapa-precios li.mapa-detalle{display:block;font-size:12.5px;line-height:1.4;color:var(--ink-3);margin-top:-3px}
.mapa-incluye{margin:2px 0 0;padding:8px 11px;border-radius:12px;background:rgba(14,107,74,.09);color:var(--green-ink);font-size:12.5px;font-weight:600;line-height:1.35}
.mapa-ir{margin-top:auto;padding-top:8px;font-size:14px;font-weight:600;color:var(--green-ink);text-decoration:none}
.mapa-ir:hover{text-decoration:underline}
.mapa-col.oscura{background:#131313;border-color:#131313;color:#FAF8F4}
.mapa-col.oscura .mapa-que,.mapa-col.oscura .mapa-precios li span{color:#E9E5DC}
.mapa-col.oscura .mapa-num,.mapa-col.oscura .mapa-ir{color:#7FD1A8}
.mapa-col.oscura .mapa-precios{border-color:rgba(250,248,244,.16)}
.mapa-col.oscura .mapa-incluye{background:rgba(127,209,168,.14);color:#BFEBD3}
.mapa-col.acento{border-color:var(--green-ink);box-shadow:inset 0 0 0 1px var(--green-ink)}
@media (max-width:1100px){.mapa-oferta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mapa-oferta{grid-template-columns:1fr}.mapa-col{padding:18px}}
.h1-dolor{font-size:clamp(30px,3.7vw,58px)!important;line-height:1.03}
.h1-dolor em{display:block}

/* Cabecera: el botón de llamada se acorta en pantallas medianas para que todo quepa en una línea */
.top .btn-go .cta-corto{display:none}
.top .btn-go,.top .money-btn{white-space:nowrap}
@media (max-width:1560px){.top .btn-go .cta-largo{display:none}.top .btn-go .cta-corto{display:inline}}
/* Mapa de la oferta: más compacto en pantallas bajas */
@media (min-width:961px) and (max-height:820px){.mapa-oferta{gap:10px;margin-top:12px}.mapa-col{gap:7px;padding:14px 16px}.mapa-que{font-size:13px}.mapa-precios{gap:5px;padding-top:7px}.mapa-precios li{font-size:13px}.mapa-incluye{padding:6px 9px;font-size:12px}}
/* Serena · lista de sectores: todos visibles con desplazamiento suave, sin desbordar el chat */
.h-chips.sectores{max-height:min(220px,32vh);overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 4px 0;scrollbar-width:thin;-webkit-mask-image:linear-gradient(#000 86%,transparent);mask-image:linear-gradient(#000 86%,transparent)}
.h-chips.sectores button{font-size:12.5px;padding:6px 11px}
@media (max-width:960px){.mbar{gap:6px}.mbar .btn{font-size:12.5px;padding:0 6px;min-width:0;overflow:hidden;text-overflow:ellipsis}}
@media (max-width:960px){.mbar .btn{flex:1 1 auto;padding:0 8px}}
@media (max-width:340px){.mbar{gap:4px;padding-left:8px;padding-right:8px}.mbar .btn{font-size:11.5px;padding:0 5px}}
/* Innectia X: el hero entra justo en pantallas bajas; menos margen inferior */
@media (min-width:961px) and (max-height:820px){body[data-page="x"] #inicio{padding-bottom:8px!important}body[data-page="x"] #inicio .wrap{padding-bottom:0!important}}
@media (min-width:961px) and (max-width:1180px) and (max-height:820px){
  body[data-page="x"] #inicio .x-copy > .small.live{display:none}
  body[data-page="x"] #inicio .x-copy > .lead{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
}
@media (min-width:961px) and (max-height:820px){body[data-page="x"] #inicio .wrap > .d3{max-height:calc(100vh - 150px);overflow:hidden;border-radius:28px}}
/* ═══ Videos explicativos (YouTube con carga al pulsar) ═══ */
.vid-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.vid-marco{position:relative;aspect-ratio:16/9;width:100%;max-width:calc((100svh - var(--head,72px) - 120px) * 16 / 9);border-radius:24px;overflow:hidden;background:#0B0E0D;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 60px -30px rgba(0,0,0,.6)}
.vid-marco iframe,.vid-play{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-play{padding:0;margin:0;background:none;cursor:pointer;display:block}
.vid-play img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease),filter .6s var(--ease);filter:saturate(.95)}
.vid-play::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,19,17,0) 45%,rgba(15,19,17,.45));pointer-events:none}
.vid-boton{position:absolute;left:50%;top:50%;z-index:1;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;display:grid;place-items:center;background:var(--green,#0E6B4A);color:#FAF8F4;box-shadow:0 0 0 8px rgba(127,209,168,.18);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.vid-boton svg{margin-left:4px}
.vid-play:hover img{transform:scale(1.025)}
.vid-play:hover .vid-boton,.vid-play:focus-visible .vid-boton{transform:scale(1.07);box-shadow:0 0 0 12px rgba(127,209,168,.22)}
.vid-play:focus-visible{outline:3px solid #7FD1A8;outline-offset:-3px}
.vid-texto{margin-bottom:0!important}
.sec.dark .vid-texto .lead{color:rgba(250,248,244,.8)!important}
.vid-nota{font-size:13.5px;color:rgba(250,248,244,.62)}
.vid-nota a{color:#7FD1A8;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media (max-width:960px){.vid-grid{grid-template-columns:1fr}.vid-texto{order:-1}.vid-marco{max-width:none}.vid-boton{width:64px;height:64px;margin:-32px 0 0 -32px}}
@media (prefers-reduced-motion:reduce){.vid-play img,.vid-boton{transition:none}}
/* ═══ Barra de desplazamiento discreta (en lugar de la gris del sistema) ═══ */
html{scrollbar-width:thin;scrollbar-color:rgba(19,19,19,.22) transparent}
html::-webkit-scrollbar{width:8px;height:8px}
html::-webkit-scrollbar-track{background:transparent}
html::-webkit-scrollbar-thumb{background:rgba(19,19,19,.2);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
html::-webkit-scrollbar-thumb:hover{background-color:rgba(19,19,19,.35)}
/* ═══ Aviso de cookies compacto, en la esquina, sin competir con el hero ═══ */
.ck{left:auto;right:max(16px,env(safe-area-inset-right));margin:0;width:min(330px,calc(100vw - 32px));flex-direction:column;align-items:stretch;gap:8px;padding:11px 13px;border-radius:14px;box-shadow:0 18px 40px -22px rgba(19,19,19,.4)}
.ck p{font-size:12px;line-height:1.4}
.ck .row{flex-wrap:nowrap;gap:6px}
.ck .row .btn{flex:1;min-height:32px;padding:0 10px;font-size:13px}
@media (min-width:961px){.ck{left:auto;right:calc(max(18px,env(safe-area-inset-right)) + 76px);bottom:max(18px,env(safe-area-inset-bottom));width:330px;padding:11px 13px}.ck p{font-size:12px}.ck .row .btn{min-height:32px;font-size:13px}}
@media (max-width:820px){.ck{left:12px;right:12px;width:auto;bottom:calc(72px + env(safe-area-inset-bottom,0px));flex-direction:row;align-items:center;gap:10px;padding:9px 10px 9px 12px}.ck p{font-size:11.5px;flex:1;min-width:0}.ck .row{flex:none;flex-direction:column;gap:5px}.ck .row .btn{min-height:30px;font-size:12.5px;padding:0 12px}}
/* ═══ Un solo «Reserva tu llamada» a la vista: el del hero manda; el de la cabecera y la barra móvil aparecen al bajar ═══ */
header.top .tools > .btn-go,.mbar{transition:opacity .3s var(--ease),transform .35s var(--ease),visibility .3s}
html.cta-hero header.top .tools > .btn-go{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px)}
@media (max-width:960px){html.cta-hero .mbar{transform:translateY(110%);visibility:hidden}}
