  :root {
    --bg: #F5F8F6;
    --panel: #FFFFFF;
    --panel-2: #F0F6F2;
    --border: #E1E9E4;
    --border-soft: #EAF0EC;
    --text: #10241F;
    --text-dim: #5B6862;
    --text-faint: #8FA098;
    --accent: #0E9F6E;
    --accent-dark: #0B7F58;
    --accent-soft: #E3F5EC;
    --accent-lime: #82ED4C;
    --accent-teal: #19C99A;
    --warn: #B45309;
    --danger: #DC2626;
    --c-whatsapp: #25D366;
    --c-instagram: #E1306C;
    --c-web: #5B4BFF;
    --c-reservas: #2F7BF5;
    --c-voz: #F59E0B;
    --r-lg: 20px;
    --r-md: 14px;
    --r-sm: 10px;
    --shadow-card: 0 1px 2px rgba(16, 36, 28, 0.05), 0 10px 28px rgba(16, 36, 28, 0.06);
    --shadow-pop: 0 16px 40px rgba(16, 36, 28, 0.14);
    --nav-h: 68px;
  }
  * { box-sizing: border-box; }
  /* overflow-x va en html, no en body: ponerlo en body hace que el body compute overflow-y a
     "auto" y se convierta en su propio contenedor de scroll (en vez del viewport), lo que rompe
     "position: sticky" del menú y desincroniza window.scrollTo()/pageYOffset del scroll real. */
  html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 16px); overflow-x: hidden; }
  body {
    margin: 0; background: var(--bg); color: var(--text);
    font-family: 'Inter', system-ui, sans-serif; line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3, h4, .lp-brand { font-family: 'Space Grotesk', 'Inter', sans-serif; letter-spacing: -0.015em; margin: 0; }
  p { margin: 0; }
  a { color: var(--accent-dark); }
  img, svg { max-width: 100%; }
  .lp-ico { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
  :focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; border-radius: 6px; }
  .lp-skip { position: absolute; left: -999px; top: 8px; background: var(--text); color: #fff; padding: 8px 14px; border-radius: 8px; z-index: 100; }
  .lp-skip:focus { left: 8px; }

  .lp-wrap { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 24px; }
  .lp-section { padding: 88px 0; }
  .lp-section.alt { background: var(--panel); border-top: 1px solid var(--border-soft); border-bottom: 1px solid var(--border-soft); }
  .lp-eyebrow {
    display: inline-flex; align-items: center; gap: 8px; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--accent-dark); background: var(--accent-soft); padding: 6px 12px; border-radius: 999px; margin-bottom: 16px;
  }
  .lp-h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); line-height: 1.12; margin-bottom: 14px; }
  .lp-lead { color: var(--text-dim); font-size: 1.05rem; }
  .lp-head { margin-bottom: 44px; }
  .lp-head.center { text-align: center; }
  .lp-head.center .lp-lead { margin-left: auto; margin-right: auto; }

  /* Botones */
  .lp-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: inherit; font-size: 0.95rem; font-weight: 600;
    padding: 13px 24px; border-radius: var(--r-sm); border: 1px solid transparent; cursor: pointer; text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  }
  .lp-btn.primary { background: var(--accent); color: #fff; box-shadow: 0 8px 20px rgba(14, 159, 110, 0.28); }
  .lp-btn.primary:hover { filter: brightness(1.07); transform: translateY(-1px); box-shadow: 0 12px 26px rgba(14, 159, 110, 0.32); }
  .lp-btn.ghost { background: var(--panel); color: var(--text); border-color: var(--border); }
  .lp-btn.ghost:hover { border-color: var(--accent); color: var(--accent-dark); }
  .lp-btn.small { padding: 9px 12px; font-size: 0.86rem; white-space: nowrap; }
  .lp-btn.block { width: 100%; }

  /* Navegación */
  .lp-nav {
    position: sticky; top: 0; z-index: 50; height: var(--nav-h);
    background: var(--accent-dark);
  }
  .lp-nav .lp-wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .lp-brand { display: inline-flex; align-items: center; gap: 16px; font-size: 1.25rem; font-weight: 700; color: #fff; text-decoration: none; width: max-content; flex-shrink: 0; }
  .lp-brand img { height: 50px; width: auto; }
  .lp-links { display: flex; align-items: center; gap: 2px; }
  .lp-links a.lp-link { color: rgba(255, 255, 255, 0.82); text-decoration: none; font-size: 0.9rem; font-weight: 500; padding: 8px 7px; border-radius: 8px; white-space: nowrap; transition: color 0.15s, background 0.15s; }
  .lp-links a.lp-link:hover { color: #fff; background: rgba(255, 255, 255, 0.12); }
  .lp-nav-cta { display: flex; align-items: center; gap: 8px; }
  .lp-burger { display: none; background: var(--panel); border: 1px solid var(--border); border-radius: 10px; width: 42px; height: 42px; color: var(--text); cursor: pointer; align-items: center; justify-content: center; font-size: 1.15rem; }
  @media (max-width: 1140px) {
    .lp-burger { display: inline-flex; }
    .lp-links {
      position: absolute; top: var(--nav-h); left: 0; right: 0; flex-direction: column; align-items: stretch; padding: 12px 24px 20px; gap: 2px;
      background: var(--panel); border-bottom: 1px solid var(--border); box-shadow: var(--shadow-pop); display: none;
    }
    .lp-links.open { display: flex; }
    .lp-links a.lp-link { padding: 13px 12px; font-size: 1rem; color: var(--text-dim); }
    .lp-links a.lp-link:hover { color: var(--text); background: var(--panel-2); }
    /* Mismo ancho de margen lateral en todo el rango "móvil" (hasta 1140px, el mismo punto en el
       que aparece el menú hamburguesa) — antes solo se reducía por debajo de 560px, así que en
       anchos intermedios (tablet, ventana de escritorio estrecha) seguía viéndose el margen de
       escritorio (24px) con la cabecera ya en modo móvil. */
    .lp-wrap { padding: 0 16px; }
  }

  /* Hero */
  .lp-hero { position: relative; padding: 76px 0 84px; overflow-x: clip; }
  .lp-hero::before {
    content: ''; position: absolute; inset: -20% -10% auto auto; width: 720px; height: 720px; z-index: 0;
    background: radial-gradient(closest-side, rgba(25, 201, 154, 0.22), rgba(130, 237, 76, 0.10) 55%, transparent 75%); pointer-events: none;
  }
  .lp-hero::after {
    content: ''; position: absolute; inset: auto auto -30% -12%; width: 560px; height: 560px; z-index: 0;
    background: radial-gradient(closest-side, rgba(91, 75, 255, 0.10), transparent 70%); pointer-events: none;
  }
  .lp-hero .lp-wrap { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
  .lp-hero h1 { font-size: clamp(2.3rem, 5.2vw, 3.9rem); line-height: 1.04; margin-bottom: 20px; }
  .lp-hero h1 em { font-style: normal; background: linear-gradient(100deg, var(--accent-dark), var(--accent-teal) 60%, #5fd12f); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .lp-hero .lp-lead { font-size: 1.14rem; margin-bottom: 28px; }
  .lp-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; }
  .lp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
  .lp-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--panel); border: 1px solid var(--border); border-radius: 999px; padding: 7px 14px 7px 10px; font-size: 0.84rem; font-weight: 500; }
  .lp-chip i { width: 9px; height: 9px; border-radius: 50%; background: var(--dot, var(--accent)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot, var(--accent)) 20%, transparent); }

  /* Mockup del chat */
  .lp-device { position: relative; max-width: 420px; margin-left: auto; width: 100%; }
  .lp-phone { background: var(--panel); border: 1px solid var(--border); border-radius: 28px; box-shadow: var(--shadow-pop); overflow: hidden; }
  .lp-phone-head { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: var(--accent-dark); color: #fff; }
  .lp-avatar { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,0.22); display: grid; place-items: center; font-family: 'Space Grotesk', sans-serif; font-weight: 700; position: relative; }
  .lp-avatar::after { content: ''; position: absolute; right: 0; bottom: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--accent-lime); border: 2px solid var(--accent-dark); }
  .lp-phone-head strong { display: block; font-size: 0.95rem; }
  .lp-phone-head span { font-size: 0.76rem; opacity: 0.9; }
  .lp-msgs { padding: 18px; display: flex; flex-direction: column; gap: 10px; background: var(--panel-2); min-height: 370px; }
  .lp-msg { max-width: 82%; padding: 10px 14px; border-radius: 16px; font-size: 0.88rem; line-height: 1.45; box-shadow: 0 1px 2px rgba(16,36,28,0.06); }
  .lp-msg.user { align-self: flex-end; background: var(--accent); color: #fff; border-bottom-right-radius: 5px; }
  .lp-msg.bot { align-self: flex-start; background: var(--panel); border-bottom-left-radius: 5px; }
  .lp-msg-slots { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
  .lp-msg-slots b { font-weight: 600; font-size: 0.78rem; border: 1px solid var(--border); border-radius: 8px; padding: 4px 9px; background: var(--panel-2); }
  .lp-confirm { align-self: flex-start; background: var(--panel); border: 1px solid var(--border); border-left: 4px solid var(--c-reservas); border-radius: 14px; padding: 12px 14px; display: flex; gap: 12px; align-items: center; font-size: 0.84rem; box-shadow: var(--shadow-card); }
  .lp-confirm .lp-ico { color: var(--c-reservas); font-size: 1.4rem; }
  .lp-confirm strong { display: block; font-size: 0.88rem; }
  .lp-float { position: absolute; background: var(--panel); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow-card); padding: 10px 14px; font-size: 0.8rem; font-weight: 600; display: flex; align-items: center; gap: 8px; }
  .lp-float.a { left: -34px; top: 62px; } .lp-float.b { right: -22px; bottom: 74px; }
  .lp-float .lp-ico { color: var(--dot); font-size: 1.05rem; }
  .lp-float.a { --dot: var(--c-whatsapp); } .lp-float.b { --dot: var(--c-instagram); }
  @media (max-width: 900px) {
    .lp-hero .lp-wrap { grid-template-columns: 1fr; gap: 44px; }
    .lp-device { margin: 0 auto; }
    .lp-float.a { left: -8px; } .lp-float.b { right: -6px; }
  }

  /* Tarjetas genéricas */
  .lp-grid { display: grid; gap: 20px; }
  .lp-grid.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-grid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lp-grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  @media (max-width: 980px) { .lp-grid.c3, .lp-grid.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 640px) { .lp-grid.c2, .lp-grid.c3, .lp-grid.c4 { grid-template-columns: 1fr; } }
  .lp-card {
    background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 26px; box-shadow: var(--shadow-card);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }
  .lp-card.hover:hover { transform: translateY(-3px); box-shadow: var(--shadow-pop); }
  .lp-card h3 { font-size: 1.15rem; margin-bottom: 8px; }
  .lp-card p, .lp-card li { color: var(--text-dim); font-size: 0.93rem; }
  .lp-card ul { margin: 10px 0 0; padding-left: 0; list-style: none; display: grid; gap: 8px; }
  .lp-card ul li { position: relative; padding-left: 24px; }
  .lp-card ul li::before { content: ''; position: absolute; left: 2px; top: 0.5em; width: 12px; height: 7px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg) translateY(-3px); }
  .lp-card strong { color: var(--text); font-weight: 600; }
  .lp-ib { flex: none; width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; font-size: 1.35rem; margin-bottom: 16px; color: var(--c, var(--accent)); background: color-mix(in srgb, var(--c, var(--accent)) 13%, var(--panel)); }
  .lp-tag { display: inline-block; font-size: 0.72rem; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--accent-soft); color: var(--accent-dark); margin-bottom: 10px; letter-spacing: 0.02em; }
  .lp-tag.warn { background: #FEF3C7; color: var(--warn); }
  .lp-note { display: flex; gap: 12px; align-items: flex-start; background: #FFFBEB; border: 1px solid #FDE68A; border-radius: var(--r-md); padding: 14px 16px; font-size: 0.9rem; color: #6B4A0B; margin-top: 20px; }
  .lp-note .lp-ico { color: var(--warn); margin-top: 3px; font-size: 1.05rem; }
  .lp-note.info { background: var(--accent-soft); border-color: #BFE7D3; color: #0B5A40; }
  .lp-note.info .lp-ico { color: var(--accent-dark); }

  /* Canales */
  .lp-channel { --c: var(--c-whatsapp); border-top: 4px solid var(--c); }

  /* Cómo empezar */
  .lp-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: st; }
  @media (max-width: 980px) { .lp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 640px) { .lp-steps { grid-template-columns: 1fr; } }
  .lp-step { position: relative; background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 26px 24px; box-shadow: var(--shadow-card); counter-increment: st; }
  .lp-step::before {
    content: counter(st); display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; margin-bottom: 16px;
    font-family: 'Space Grotesk', sans-serif; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--accent-dark), var(--accent-teal));
  }
  .lp-step h3 { font-size: 1.05rem; margin-bottom: 8px; }
  .lp-step p { color: var(--text-dim); font-size: 0.9rem; }

  /* Split */
  .lp-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
  @media (max-width: 900px) { .lp-split { grid-template-columns: 1fr; gap: 32px; } }
  .lp-list { display: grid; gap: 14px; margin-top: 22px; }
  .lp-list > div { display: flex; gap: 14px; align-items: flex-start; }
  .lp-list .lp-ib { width: 38px; height: 38px; font-size: 1.05rem; margin: 0; border-radius: 11px; }
  .lp-list h4 { font-size: 0.98rem; margin-bottom: 2px; }
  .lp-list p { color: var(--text-dim); font-size: 0.9rem; }

  /* Personalización Chatweb (mini vista previa) */
  .lp-bubble-preview { background: var(--panel); border: 1px solid var(--border); border-radius: 22px; box-shadow: var(--shadow-pop); overflow: hidden; max-width: 340px; margin: 0 auto; }
  .lp-bubble-preview .top { background: var(--c-web); color: #fff; padding: 14px 16px; display: flex; align-items: center; gap: 10px; font-weight: 600; }
  .lp-bubble-preview .body { padding: 16px; display: grid; gap: 8px; background: var(--panel-2); }
  .lp-bubble-preview .composer { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--border); align-items: center; }
  .lp-bubble-preview .composer span { flex: 1; color: var(--text-faint); font-size: 0.85rem; }
  .lp-bubble-preview .composer b { background: var(--c-web); color: #fff; border-radius: 10px; padding: 6px 12px; font-size: 0.8rem; }
  .lp-launchers { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
  .lp-launchers span { width: 46px; height: 46px; border-radius: 50%; background: var(--c-web); color: #fff; display: grid; place-items: center; font-size: 1.15rem; box-shadow: 0 8px 18px rgba(91,75,255,0.32); }
  .lp-launchers span:nth-child(2) { background: var(--c-instagram); box-shadow: 0 8px 18px rgba(225,48,108,0.28); }
  .lp-launchers span:nth-child(3) { background: var(--accent); box-shadow: 0 8px 18px rgba(14,159,110,0.28); }
  .lp-launchers span:nth-child(4) { background: var(--text); box-shadow: 0 8px 18px rgba(16,36,31,0.28); }

  /* Precios */
  .lp-plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
  @media (max-width: 1040px) { .lp-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 600px) { .lp-plans { grid-template-columns: 1fr; } }
  .lp-plan { position: relative; display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 28px 24px; box-shadow: var(--shadow-card); }
  .lp-plan.featured { border: 2px solid var(--accent); box-shadow: 0 16px 40px rgba(14,159,110,0.16); }
  .lp-plan .ribbon { position: absolute; top: -12px; left: 24px; background: var(--accent); color: #fff; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.04em; padding: 4px 12px; border-radius: 999px; }
  .lp-plan h3 { font-size: 1.25rem; }
  .lp-price { margin: 14px 0 2px; font-family: 'Space Grotesk', sans-serif; font-size: 2.5rem; font-weight: 700; line-height: 1; }
  .lp-price small { font-family: 'Inter', sans-serif; font-size: 0.88rem; font-weight: 500; color: var(--text-dim); }
  .lp-alta { color: var(--text-dim); font-size: 0.88rem; margin-bottom: 18px; }
  .lp-alta strong { color: var(--text); }
  /* Interruptor Mensual/Anual encima de los planes */
  .lp-interval { display: flex; justify-content: center; margin-bottom: 26px; }
  .lp-interval .lp-seg button { padding: 10px 18px; font-size: 0.92rem; }
  .lp-save { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--accent); color: #fff; font-size: 0.74rem; font-weight: 600; }
  .lp-permonth { margin: 4px 0 0; color: var(--accent-dark); font-size: 0.86rem; font-weight: 600; }
  .lp-calc-out .permonth { margin: -10px 0 12px; font-size: 0.9rem; opacity: 0.9; }
  .lp-grid.c2 > .lp-span2 { grid-column: 1 / -1; }
  .lp-plan ul { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 9px; flex: 1; align-content: start; }
  .lp-plan li { position: relative; padding-left: 24px; font-size: 0.9rem; color: var(--text-dim); }
  .lp-plan li::before { content: ''; position: absolute; left: 2px; top: 0.45em; width: 12px; height: 7px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg) translateY(-3px); }
  .lp-speed { display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 600; margin-bottom: 18px; }
  .lp-speed.instant { color: var(--accent-dark); } .lp-speed.delayed { color: var(--warn); }
  .lp-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--panel); box-shadow: var(--shadow-card); }
  table.lp-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 560px; }
  table.lp-table th { text-align: left; padding: 14px 16px; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-dim); background: var(--panel-2); border-bottom: 1px solid var(--border); font-weight: 600; }
  table.lp-table td { padding: 13px 16px; border-bottom: 1px solid var(--border-soft); color: var(--text-dim); }
  table.lp-table td:first-child { color: var(--text); font-weight: 500; }
  table.lp-table tr:last-child td { border-bottom: 0; }
  table.lp-table .yes { color: var(--accent-dark); font-weight: 600; }
  table.lp-table .no { color: var(--text-faint); }

  /* Calculadora */
  .lp-calc { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 0; background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-pop); }
  @media (max-width: 900px) { .lp-calc { grid-template-columns: 1fr; } }
  .lp-calc-form { padding: 30px; display: grid; gap: 22px; }
  .lp-calc-form label.t, .lp-calc-form .t { display: block; font-size: 0.82rem; font-weight: 600; color: var(--text); margin-bottom: 9px; }
  .lp-seg { display: flex; flex-wrap: wrap; gap: 8px; }
  .lp-seg button {
    font-family: inherit; font-size: 0.86rem; font-weight: 500; background: var(--panel-2); color: var(--text-dim); border: 1px solid var(--border); border-radius: 10px;
    padding: 9px 14px; cursor: pointer; transition: all 0.15s ease;
  }
  .lp-seg button:hover { border-color: var(--accent); color: var(--text); }
  .lp-seg button[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-dark); font-weight: 600; }
  .lp-seg button:disabled { opacity: 0.45; cursor: not-allowed; }
  .lp-toggle { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: var(--panel-2); border: 1px solid var(--border); border-radius: var(--r-md); padding: 12px 16px; }
  .lp-toggle strong { font-size: 0.9rem; display: block; }
  .lp-toggle span { font-size: 0.8rem; color: var(--text-dim); }
  .lp-switch { position: relative; width: 46px; height: 26px; flex: none; }
  .lp-switch input { position: absolute; inset: 0; opacity: 0; cursor: pointer; margin: 0; z-index: 1; }
  .lp-switch i { position: absolute; inset: 0; border-radius: 999px; background: #CBD8D1; transition: background 0.2s; }
  .lp-switch i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.25); transition: transform 0.2s; }
  .lp-switch input:checked + i { background: var(--accent); }
  .lp-switch input:checked + i::after { transform: translateX(20px); }
  .lp-switch input:focus-visible + i { outline: 3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
  .lp-calc-out { padding: 30px; background: var(--accent-dark); color: #fff; display: flex; flex-direction: column; justify-content: center; gap: 4px; }
  .lp-calc-out .k { font-size: 0.82rem; opacity: 0.85; text-transform: uppercase; letter-spacing: 0.07em; font-weight: 600; }
  .lp-calc-out .big { font-family: 'Space Grotesk', sans-serif; font-size: 3.1rem; font-weight: 700; line-height: 1.05; margin-bottom: 14px; }
  .lp-calc-out .big small { font-size: 1rem; font-weight: 500; opacity: 0.85; }
  .lp-calc-out dl { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.28); display: grid; gap: 8px; font-size: 0.88rem; }
  .lp-calc-out dl div { display: flex; justify-content: space-between; gap: 12px; }
  .lp-calc-out dt { opacity: 0.88; } .lp-calc-out dd { margin: 0; font-weight: 600; text-align: right; }
  .lp-calc-out .foot { margin-top: 18px; font-size: 0.78rem; opacity: 0.85; }

  /* Franjas */
  .lp-franjas { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  @media (max-width: 760px) { .lp-franjas { grid-template-columns: 1fr; } }
  .lp-franja-row { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--border-soft); font-size: 0.92rem; }
  .lp-franja-row:last-child { border-bottom: 0; }
  .lp-franja-row span { color: var(--text-dim); } .lp-franja-row b { font-weight: 600; }
  .lp-franja-row b.inc { color: var(--accent-dark); }

  /* Acordeón / FAQ */
  details.lp-acc { background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-md); transition: border-color 0.15s ease, box-shadow 0.15s ease; }
  details.lp-acc + details.lp-acc { margin-top: 10px; }
  details.lp-acc[open] { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); box-shadow: var(--shadow-card); }
  details.lp-acc summary { list-style: none; cursor: pointer; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-weight: 600; font-size: 0.97rem; }
  details.lp-acc summary::-webkit-details-marker { display: none; }
  details.lp-acc summary .lp-ico { color: var(--text-faint); transition: transform 0.2s ease; font-size: 1.1rem; }
  details.lp-acc[open] summary .lp-ico { transform: rotate(180deg); color: var(--accent); }
  details.lp-acc .ans { padding: 0 20px 18px; color: var(--text-dim); font-size: 0.93rem; }
  details.lp-acc .ans p + p { margin-top: 8px; }
  details.lp-acc .ans ul { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 4px; }
  .lp-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
  .lp-tabs button { font-family: inherit; font-size: 0.87rem; font-weight: 500; background: var(--panel); color: var(--text-dim); border: 1px solid var(--border); border-radius: 999px; padding: 8px 16px; cursor: pointer; transition: all 0.15s; }
  .lp-tabs button:hover { border-color: var(--accent); color: var(--text); }
  .lp-tabs button[aria-selected="true"] { background: var(--text); color: #fff; border-color: var(--text); }
  .js .lp-panel { display: none; } .js .lp-panel.active { display: block; }
  .lp-panel > h3 { font-size: 1.05rem; margin: 22px 0 12px; }
  .js .lp-panel > h3 { display: none; }

  /* Panel del cliente */
  .lp-app { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  @media (max-width: 980px) { .lp-app { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 600px) { .lp-app { grid-template-columns: 1fr; } }
  .lp-app .lp-card { padding: 22px; }
  .lp-app .lp-card h3 { font-size: 1rem; display: flex; align-items: center; gap: 10px; }
  .lp-app .lp-card h3 .lp-ico { color: var(--accent); font-size: 1.15rem; }

  /* Tira de datos */
  .lp-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-lg); box-shadow: var(--shadow-card); overflow: hidden; }
  @media (max-width: 860px) { .lp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .lp-fact { padding: 24px; border-right: 1px solid var(--border-soft); }
  .lp-fact:last-child { border-right: 0; }
  @media (max-width: 860px) { .lp-fact:nth-child(2) { border-right: 0; } .lp-fact:nth-child(-n+2) { border-bottom: 1px solid var(--border-soft); } }
  .lp-fact b { display: block; font-family: 'Space Grotesk', sans-serif; font-size: 1.9rem; line-height: 1.1; color: var(--accent-dark); }
  .lp-fact span { font-size: 0.86rem; color: var(--text-dim); }

  /* CTA final + contacto: sin caja ni degradado, contenido plano sobre la página */
  .lp-cta { text-align: center; }
  .lp-cta h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); margin-bottom: 12px; color: var(--text); }
  .lp-cta p { color: var(--text-dim); max-width: 560px; margin: 0 auto 26px; }
  .lp-cta .row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
  footer.lp-foot { padding: 44px 0 36px; }
  .lp-foot .lp-wrap { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; }
  .lp-foot nav { display: flex; flex-wrap: wrap; gap: 6px 20px; }
  .lp-foot nav a { color: var(--text-dim); font-size: 0.88rem; text-decoration: none; }
  .lp-foot nav a:hover { color: var(--accent-dark); }
  .lp-copy { color: var(--text-faint); font-size: 0.82rem; width: 100%; padding-top: 22px; border-top: 1px solid var(--border-soft); }

  /* Animación de entrada */
  .js .rv { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease, transform 0.6s ease; }
  .js .rv.in { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .js .rv { opacity: 1; transform: none; transition: none; }
    .lp-btn, .lp-card { transition: none; }
  }
  @media (max-width: 560px) {
    .lp-section { padding: 64px 0; }
    .lp-fact { padding: 18px 16px; } .lp-fact b { font-size: 1.35rem; }
    .lp-nav-cta .lp-btn.ghost { display: none; }
    .lp-float { display: none; }
  }

  /* Cabecera de página interior */
  .lp-section.lp-pagehead { position: relative; padding-top: 64px; overflow-x: clip; }
  .lp-section.lp-pagehead::before {
    content: ''; position: absolute; inset: -30% -8% auto auto; width: 560px; height: 560px; z-index: 0; pointer-events: none;
    background: radial-gradient(closest-side, rgba(25, 201, 154, 0.16), rgba(130, 237, 76, 0.07) 55%, transparent 75%);
  }
  .lp-section.lp-pagehead > .lp-wrap { position: relative; z-index: 1; }
  .lp-pagehead .lp-head { margin-bottom: 36px; }
  .lp-pagehead h1.lp-h2 { font-size: clamp(2rem, 4.4vw, 3.1rem); }
  .lp-crumb { display: flex; align-items: center; gap: 8px; font-size: 0.84rem; color: var(--text-dim); margin-bottom: 18px; }
  .lp-crumb a { color: var(--text-dim); text-decoration: none; } .lp-crumb a:hover { color: var(--accent-dark); }
  .lp-crumb .lp-ico { font-size: 0.8rem; transform: rotate(-90deg); color: var(--text-faint); }
  
  .lp-links a.lp-link[aria-current="page"] { color: var(--text); background: var(--accent-soft); }

  /* Barra secundaria de anclas */
  .lp-subnav { position: sticky; top: var(--nav-h); z-index: 40; background: rgba(255,255,255,0.86); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--border-soft); }
  .lp-subnav .lp-wrap { display: flex; gap: 6px; overflow-x: auto; padding-top: 10px; padding-bottom: 10px; scrollbar-width: none; }
  .lp-subnav .lp-wrap::-webkit-scrollbar { display: none; }
  .lp-subnav a { flex: none; font-size: 0.86rem; font-weight: 500; color: var(--text-dim); text-decoration: none; padding: 7px 14px; border-radius: 999px; border: 1px solid transparent; transition: all 0.15s; }
  .lp-subnav a:hover { color: var(--text); background: var(--panel-2); }
  .lp-subnav a.on { color: var(--accent-dark); background: var(--accent-soft); border-color: #BFE7D3; font-weight: 600; }
  html { scroll-padding-top: 132px; }

  /* Tarjetas de la portada que enlazan a cada sección */
  a.lp-teaser { display: block; text-decoration: none; color: inherit; }
  a.lp-teaser h3 { color: var(--text); }
  .lp-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-size: 0.9rem; font-weight: 600; color: var(--accent-dark); }
  .lp-more .lp-ico { transition: transform 0.15s; }
  a.lp-teaser:hover .lp-more .lp-ico { transform: translateX(4px); }
  .lp-teaser .lp-num { display: inline-block; font-size: 0.78rem; font-weight: 600; color: var(--text-faint); letter-spacing: 0.06em; margin-bottom: 4px; }

  .lp-foot-cols { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 28px; width: 100%; }
  @media (max-width: 800px) { .lp-foot-cols { grid-template-columns: 1fr 1fr; } }
  .lp-foot-cols h3 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-faint); margin-bottom: 10px; font-family: 'Inter', sans-serif; font-weight: 600; }
  .lp-foot-cols a { display: block; color: var(--text-dim); font-size: 0.9rem; text-decoration: none; padding: 3px 0; }
  .lp-foot-cols a:hover { color: var(--accent-dark); }
  .lp-foot-cols p { color: var(--text-dim); font-size: 0.88rem; margin-top: 10px; max-width: 280px; }
.lp-foot-cols a.lp-brand { display: inline-flex; padding: 0; font-size: 1.25rem; color: var(--text); }

.lp-tryit { display: flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--text-dim); font-size: 0.9rem; }
.lp-tryit .lp-ico { color: var(--accent); font-size: 1.05rem; }

.lp-contact-mail { font-family: 'Space Grotesk', sans-serif; font-size: 1.05rem; font-weight: 600; color: var(--text) !important; word-break: break-all; margin: 6px 0 16px; }
.lp-contact-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-kv { margin: 6px 0 0; display: grid; gap: 8px; }
.lp-kv div { display: flex; justify-content: space-between; gap: 12px; font-size: 0.92rem; border-bottom: 1px solid var(--border-soft); padding-bottom: 8px; }
.lp-kv dt { color: var(--text-dim); } .lp-kv dd { margin: 0; font-weight: 600; text-align: right; }

/* Pestañas de página: cabecera fija + un panel visible cada vez */
.lp-tabhead { padding-bottom: 8px; }
.lp-tabhead .lp-head { margin-bottom: 20px; }
.lp-tabpanel { padding-top: 36px; padding-bottom: 72px; }
.js .lp-tabpanel { display: none; }
.js .lp-tabpanel.active { display: block; animation: lpTabIn 0.35s ease; }
@keyframes lpTabIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .js .lp-tabpanel.active { animation: none; } }

/* Menú con desplegables */
.lp-item { position: relative; display: flex; align-items: center; }
.lp-links a.lp-link { display: inline-flex; align-items: center; }
.lp-caret { font-size: 0.7rem; margin-left: 5px; transition: transform 0.2s ease; }
.lp-drop { position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(6px); padding-top: 12px; opacity: 0; visibility: hidden; transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s; z-index: 60; }
.lp-drop-in { min-width: 230px; background: var(--panel); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow-pop); padding: 8px; display: grid; gap: 2px; }
.lp-drop-in a { display: block; padding: 10px 14px; border-radius: 9px; font-size: 0.92rem; font-weight: 500; color: var(--text-dim); text-decoration: none; white-space: nowrap; transition: background 0.15s, color 0.15s; }
.lp-drop-in a:hover, .lp-drop-in a:focus-visible { background: var(--accent-soft); color: var(--accent-dark); }
@media (min-width: 1141px) {
  .lp-item.has-sub:hover .lp-drop, .lp-item.has-sub:focus-within .lp-drop { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
  .lp-item.has-sub:hover .lp-caret, .lp-item.has-sub:focus-within .lp-caret { transform: rotate(180deg); }
}
@media (max-width: 1140px) {
  .lp-item { flex-direction: column; align-items: stretch; }
  .lp-links a.lp-link { display: flex; }
  .lp-caret { display: none; }
  .lp-drop { position: static; opacity: 1; visibility: visible; transform: none; padding: 0 0 8px 14px; }
  .lp-drop-in { min-width: 0; box-shadow: none; border: 0; background: transparent; padding: 0; }
  .lp-drop-in a { padding: 9px 12px; font-size: 0.95rem; }
}
@media (max-width: 1140px) { .lp-links.open { max-height: calc(100dvh - var(--nav-h)); overflow-y: auto; } }

.lp-drop-in a[aria-current="true"] { background: var(--accent-soft); color: var(--accent-dark); font-weight: 600; }

.lp-pagehead .lp-crumb { margin-bottom: 22px; }
.lp-pagehead .lp-head .lp-lead { font-size: 1.1rem; }
.lp-step ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.lp-step li { position: relative; padding-left: 22px; color: var(--text-dim); font-size: 0.88rem; }
.lp-step li::before { content: ''; position: absolute; left: 2px; top: 0.5em; width: 11px; height: 6px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg) translateY(-3px); }


/* ===== v3: menos cajas, más tipografía y ritmo ===== */
:root { --dark: #07130F; --dark-2: #0C2119; --lime: #82ED4C; }
.lp-section { padding: 112px 0; }
.lp-section.alt { background: linear-gradient(180deg, transparent, rgba(14, 159, 110, 0.06) 30%, rgba(14, 159, 110, 0.06) 70%, transparent); border: 0; }
.lp-h2 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); line-height: 1.06; letter-spacing: -0.03em; }
.lp-pagehead h1.lp-h2 { font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1.02; }
.lp-lead { font-size: 1.15rem; line-height: 1.65; }
.lp-eyebrow { background: none; padding: 0; color: var(--accent-dark); letter-spacing: 0.14em; }
.lp-eyebrow::before { content: ''; width: 28px; height: 2px; background: var(--accent); display: inline-block; }

/* Tarjetas abiertas: línea fina arriba en vez de caja */
.lp-card:not(.lp-plan) { background: none; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; padding: 26px 0 0; }
.lp-card.hover:hover { transform: none; box-shadow: none; border-top-color: var(--accent); }
.lp-card .lp-ib { width: auto; height: auto; background: none; border-radius: 0; margin-bottom: 14px; font-size: 1.7rem; place-items: start; justify-items: start; display: block; }
.lp-card h3 { font-size: 1.25rem; }
.lp-card p, .lp-card li { font-size: 0.98rem; }
.lp-channel { border-top: 3px solid var(--c) !important; }
.lp-app .lp-card { padding: 22px 0 0; }
.lp-grid { gap: 44px 40px; }
a.lp-teaser:hover { border-top-color: var(--accent); }

/* Pasos abiertos con número grande */
.lp-step { background: none; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; padding: 26px 0 0; }
.lp-step::before { width: auto; height: auto; background: none; color: var(--accent); font-size: 2.8rem; line-height: 1; display: block; margin-bottom: 14px; letter-spacing: -0.03em; }
.lp-list .lp-ib { background: none; width: auto; height: auto; font-size: 1.3rem; }

/* FAQ como lista con líneas */
details.lp-acc { background: none; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; }
details.lp-acc + details.lp-acc { margin-top: 0; }
details.lp-acc[open] { box-shadow: none; border-color: var(--border); }
details.lp-acc summary { padding: 22px 0; font-size: 1.08rem; }
details.lp-acc .ans { padding: 0 0 24px; font-size: 1rem; max-width: 820px; }
.lp-tabs { gap: 6px 26px; border-bottom: 1px solid var(--border); margin-bottom: 8px; }
.lp-tabs button { background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 10px 0; font-size: 0.95rem; }
.lp-tabs button:hover { border-color: transparent; color: var(--text); }
.lp-tabs button[aria-selected="true"] { background: none; color: var(--text); border-bottom-color: var(--accent); font-weight: 600; }

/* Capítulos de la portada */
.lp-chapters { border-bottom: 1px solid var(--border); }
.lp-chapter { display: grid; grid-template-columns: 150px 1fr; gap: 32px; padding: 48px 0; border-top: 1px solid var(--border); align-items: start; }
.lp-chnum { font-family: 'Space Grotesk', sans-serif; font-size: 4.6rem; font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 2px var(--accent); letter-spacing: -0.04em; }
.lp-chapter h2 { font-size: clamp(1.7rem, 3.2vw, 2.6rem); line-height: 1.1; margin-bottom: 12px; }
.lp-chapter p { color: var(--text-dim); font-size: 1.15rem; line-height: 1.6; max-width: none; }
@media (max-width: 700px) { .lp-chapter { grid-template-columns: 1fr; gap: 6px; padding: 34px 0; } .lp-chnum { font-size: 3.4rem; } }

/* Lista grande de secciones */
.lp-rows { border-top: 1px solid var(--border); }
.lp-row { display: grid; grid-template-columns: 70px 1.1fr 1.6fr 40px; gap: 20px; align-items: center; padding: 34px 0; border-bottom: 1px solid var(--border); text-decoration: none; color: inherit; transition: padding-left 0.25s ease; }
.lp-row .n { font-size: 0.85rem; color: var(--text-faint); font-weight: 600; letter-spacing: 0.08em; }
.lp-row .t { font-family: 'Space Grotesk', sans-serif; font-size: clamp(1.5rem, 3vw, 2.3rem); font-weight: 600; letter-spacing: -0.02em; transition: color 0.2s; }
.lp-row .d { color: var(--text-dim); font-size: 1.05rem; }
.lp-row .a { color: var(--text-faint); font-size: 1.5rem; transition: transform 0.25s, color 0.2s; justify-self: end; }
.lp-row:hover { padding-left: 18px; } .lp-row:hover .t { color: var(--accent-dark); } .lp-row:hover .a { color: var(--accent); transform: translateX(6px); }
@media (max-width: 800px) { .lp-row { grid-template-columns: 44px 1fr 28px; } .lp-row .d { grid-column: 2 / 3; } .lp-row .a { grid-row: 1; grid-column: 3; } }

/* Franja de cifras: sobre el fondo normal de la página, sin banda de color */
.lp-darkband { padding: 72px 0; position: relative; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.lp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.lp-stat b { display: block; font-family: 'Space Grotesk', sans-serif; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1; letter-spacing: -0.03em; color: var(--accent-dark); margin-bottom: 10px; }
.lp-stat span { color: var(--text-dim); font-size: 1rem; }
@media (max-width: 800px) { .lp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Portada oscura */
.lp-hero.dark { background: radial-gradient(110% 90% at 82% 0%, #14432F 0%, #07130F 58%); color: #fff; margin-top: calc(-1 * var(--nav-h)); padding: calc(100px + var(--nav-h)) 0 70px; overflow: hidden; }
.lp-hero.dark::before, .lp-hero.dark::after { display: none; }
.lp-hero.dark h1 { color: #fff; font-size: clamp(2.8rem, 6.6vw, 5.6rem); line-height: 0.98; letter-spacing: -0.035em; }
.lp-hero.dark h1 em { background: linear-gradient(100deg, #82ED4C, #19C99A); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lp-hero.dark .lp-lead { color: #A9C4B8; font-size: 1.22rem; }
.lp-hero.dark .lp-eyebrow { color: #82ED4C; }
.lp-hero.dark .lp-eyebrow::before { background: #82ED4C; }
.lp-hero.dark .lp-chip { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.14); color: #E8F5EE; }
.lp-hero.dark .lp-tryit { color: #8FB3A3; }
.lp-hero.dark .lp-tryit .lp-ico { color: #82ED4C; }
.lp-hero.dark .lp-btn.primary { background: #82ED4C; color: #07130F; box-shadow: 0 10px 30px rgba(130, 237, 76, 0.28); }
.lp-hero.dark .lp-btn.ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.3); }
.lp-hero.dark .lp-btn.ghost:hover { border-color: #82ED4C; color: #82ED4C; }
.lp-hero.dark .lp-wrap { position: relative; z-index: 1; }
.lp-hero.dark .lp-msgs > * { opacity: 0; animation: lpPop 0.5s ease forwards; }
.lp-hero.dark .lp-msgs > *:nth-child(1) { animation-delay: 0.7s; } .lp-hero.dark .lp-msgs > *:nth-child(2) { animation-delay: 1.9s; }
.lp-hero.dark .lp-msgs > *:nth-child(3) { animation-delay: 3.1s; } .lp-hero.dark .lp-msgs > *:nth-child(4) { animation-delay: 4.2s; }
.lp-hero.dark .lp-msgs > *:nth-child(5) { animation-delay: 5.4s; }
@keyframes lpPop { from { opacity: 0; transform: translateY(12px) scale(0.96); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lp-hero.dark .lp-msgs > * { opacity: 1; animation: none; } }

/* El menú no cambia de aspecto con el scroll ni según lo que tenga detrás: siempre el mismo
   fondo claro translúcido, mismo texto, mismo logo sin recolorear, en todas las páginas. Antes
   dependía de JavaScript calculando la altura de la banda verde para decidir cuándo era
   "transparente" u "opaco", y ese cálculo no era fiable (el logo o el botón de iniciar sesión
   podían quedar mal recoloreados). Así no hay nada que pueda desincronizarse. */

/* Cierre: sin caja, plano sobre la página */
#contacto { border-top: 1px solid var(--border-soft); }
.lp-cta h2 { letter-spacing: -0.03em; }
footer.lp-foot { border-top: 1px solid var(--border-soft); }

@media (max-width: 900px) { .lp-hero-grid { grid-template-columns: 1fr !important; gap: 44px !important; } .lp-hero.dark { padding-top: calc(70px + var(--nav-h)); } }
.lp-hero.dark > .lp-wrap { display: block; }
.lp-hero.dark .lp-phone { color: var(--text); }
.lp-hero.dark .lp-phone .lp-msg.user { color: #fff; }
.lp-hero.dark .lp-confirm { color: var(--text); }
.lp-hero.dark h1 { font-size: clamp(2.6rem, 5.2vw, 4.5rem); }
.lp-hero.dark { padding-top: calc(72px + var(--nav-h)); padding-bottom: 56px; }
.lp-hero.dark .lp-hero-cta { margin-bottom: 24px; }
.lp-section.lp-pagehead { padding-top: 56px; }
.lp-section.lp-tabhead { padding-bottom: 0; }
.lp-tabpanel { padding: 28px 0 96px; }

/* ===== v5: verde de marca 100% plano — un solo color, sin degradado, sin fundido, sin brillos ===== */
.lp-hero.dark, .lp-pagehero { background: var(--accent-dark); color: #fff; }
.lp-hero.dark .lp-lead, .lp-pagehero .lp-lead { color: #D9F2E6; }
.lp-hero.dark .lp-eyebrow, .lp-pagehero .lp-eyebrow { color: #C6F7A0; }
.lp-hero.dark .lp-eyebrow::before, .lp-pagehero .lp-eyebrow::before { background: #C6F7A0; }
.lp-hero.dark h1 em { color: #C6F7A0; }
.lp-hero.dark .lp-tryit { color: #CFEFE0; } .lp-hero.dark .lp-tryit .lp-ico { color: #C6F7A0; }
.lp-hero.dark .lp-chip { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.28); }

/* Cabecera de página interior: mismo verde plano que la portada */
.lp-pagehero { position: relative; margin-top: calc(-1 * var(--nav-h)); padding: calc(56px + var(--nav-h)) 0 72px; }
.lp-pagehero .lp-wrap { position: relative; z-index: 1; }
.lp-pagehero .lp-head { margin-bottom: 0; }
.lp-pagehero .lp-crumb, .lp-pagehero .lp-crumb a { color: #D5F0E4; }
.lp-pagehero .lp-crumb a:hover { color: #fff; }
.lp-pagehero .lp-crumb .lp-ico { color: #9FDCC0; }
.lp-pagehero h1.lp-h2 { color: #fff; font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: 1.02; }
.lp-pagehero .lp-lead { font-size: 1.2rem; }
.lp-pagehero + .lp-section, .lp-pagehero + .lp-tabpanel { padding-top: 72px; }
