/* Lumea Consultores · hoja de estilos compartida
   Extraída del index.html el 25 sep 2026 para poder crecer a varias páginas.
   La cachea el navegador, así que la 2a página que visite alguien carga casi instantánea. */

:root {
    --indigo-noche: #1C2145; --azul-medianoche: #24305C; --azul-senal: #3A659F;
    --azul-primera-luz: #86B0E1; --azul-palido: #DCE8F6; --blanco-frio: #F3F6FB;
    --gris-azulado: #5E6778; --noche-profunda: #141833; --marfil-frio: #EDF1F8;
    --wa: #25D366;
    --serif: "Playfair Display", Georgia, "Times New Roman", serif;
    --sans: "Figtree", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    --mono: "IBM Plex Mono", "Cascadia Code", ui-monospace, Consolas, monospace;
  }
  * { box-sizing: border-box; }
  /* Nada debe empujar la página de lado. "clip" en vez de "hidden"
     porque no crea contenedor de scroll y no rompe position:sticky. */
  html, body { overflow-x: hidden; max-width: 100%; }
  @supports (overflow-x: clip) { html, body { overflow-x: clip; } }
  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  body { margin: 0; background: var(--blanco-frio); color: var(--indigo-noche); font-family: var(--sans); line-height: 1.6; -webkit-font-smoothing: antialiased; }
  .wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
  a { color: inherit; text-decoration: none; }
  a:focus-visible, button:focus-visible { outline: 2px solid var(--azul-primera-luz); outline-offset: 3px; border-radius: 2px; }
  ::selection { background: var(--azul-primera-luz); color: var(--indigo-noche); }

  .eyebrow { font-family: var(--mono); font-size: 12px; letter-spacing: .24em; text-transform: uppercase; margin: 0; }
  .btn { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 20px; background: var(--azul-senal); color: #fff; font-family: var(--sans); font-weight: 600; font-size: 15px; border: none; border-radius: 3px; cursor: pointer; transition: background .15s ease, transform .15s ease; }
  .btn:hover { background: #4a7cc4; transform: translateY(-1px); }
  .btn svg { flex-shrink: 0; }
  .btn-ghost { background: transparent; color: inherit; border: 1px solid rgba(134,176,225,.4); }
  .btn-ghost:hover { background: transparent; border-color: var(--azul-primera-luz); transform: translateY(-1px); }

  .rv { opacity: 0; transform: translateY(12px); transition: opacity .5s ease-out, transform .5s ease-out; }
  .rv.in { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; transition: none; } }

  /* NAV */
  header.nav { position: sticky; top: 0; z-index: 50; background: var(--indigo-noche); }
  .nav .row { display: flex; align-items: center; justify-content: space-between; height: 92px; }
  .nav-logo svg { height: 62px; width: auto; display: block; }
  .nav-links { display: flex; gap: 30px; }
  .nav-links a { color: rgba(237,241,248,.85); font-size: 15px; transition: color .15s ease; }
  .nav-links a:hover { color: var(--azul-primera-luz); }
  @media (max-width: 860px) { .nav-links { display: none; } }

  section { padding: 54px 0; }
  @media (max-width: 760px) { section { padding: 52px 0; } }
  .dark { background: var(--indigo-noche); color: var(--marfil-frio); }
  .light { background: var(--blanco-frio); color: var(--indigo-noche); }
  h1, h2, h3 { text-wrap: balance; margin: 0; }

  /* HERO */
  .hero { position: relative; overflow: hidden; padding-bottom: 0; }
  .hero .arc { position: absolute; top: -140px; right: -120px; width: 620px; height: 620px; border: 1px solid rgba(134,176,225,.16); border-radius: 50%; pointer-events: none; }
  .hero .arc.a2 { width: 440px; height: 440px; top: -50px; right: -30px; border-color: rgba(134,176,225,.22); animation: breathe 6s ease-in-out infinite; }
  @keyframes breathe { 0%,100%{ transform:scale(1); opacity:.7 } 50%{ transform:scale(1.05); opacity:1 } }
  @media (prefers-reduced-motion: reduce){ .hero .arc.a2{ animation:none } }
  .hero-grid { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 52px; align-items: center; }
  @media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; gap: 40px; } }
  .hero .intro { font-family: var(--sans); font-size: 16px; color: var(--azul-primera-luz); margin: 0 0 22px; display: inline-flex; align-items: center; gap: 11px; }
  .hero .intro::before { content: ""; width: 26px; height: 1px; background: var(--azul-primera-luz); }
  .hero .hero-title { font-family: var(--serif); font-weight: 600; font-size: clamp(40px, 5.6vw, 68px); line-height: 1.03; letter-spacing: -.02em; margin: 0; text-wrap: balance; }
  .hero .hero-title .lit { position: relative; font-style: italic; color: var(--azul-primera-luz); white-space: nowrap; }
  .hero .hero-title .lit::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.06em; height: 3px; background: var(--azul-primera-luz); transform: scaleX(0); transform-origin: left; animation: draw 1s ease-out .5s forwards; }
  @keyframes draw { to { transform: scaleX(1); } }
  @media (prefers-reduced-motion: reduce){ .hero .hero-title .lit::after{ transform:scaleX(1); animation:none } }
  .hero .sub { font-size: clamp(16px, 1.9vw, 19px); line-height: 1.6; color: rgba(237,241,248,.8); max-width: 46ch; margin-top: 24px; }
  .hero .row2 { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 30px; }
  .hero .micro { font-family: var(--mono); font-size: 12px; color: rgba(237,241,248,.7); width: 100%; margin-top: 4px; }
  .giros-bar { margin-top: 44px; padding: 18px 0 28px; border-top: 1px solid rgba(134,176,225,.2); }
  .giros-bar .lbl { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: rgba(237,241,248,.45); margin-bottom: 14px; }
  .marquee { overflow: hidden; }
  .mtrack { display: inline-flex; align-items: center; white-space: nowrap; animation: marq 38s linear infinite; }
  .marquee .g { font-family: var(--serif); font-size: 17px; color: rgba(237,241,248,.85); padding: 0 2px; }
  .marquee .dot { color: var(--azul-primera-luz); padding: 0 14px; }
  @keyframes marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @media (prefers-reduced-motion: reduce) { .mtrack { animation: none; flex-wrap: wrap; white-space: normal; } }

  /* PHONE */
  .phone-wrap { display: flex; justify-content: center; }
  .phone { width: 300px; max-width: 100%; background: #fff; border-radius: 20px; border: 1px solid rgba(134,176,225,.35); box-shadow: 0 18px 50px -24px rgba(0,0,0,.5); overflow: hidden; animation: float 5s ease-in-out infinite; }
  @keyframes float { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-8px) } }
  @media (prefers-reduced-motion: reduce){ .phone{ animation:none } }
  .phone-head { display: flex; align-items: center; gap: 11px; padding: 14px 16px; background: var(--indigo-noche); }
  .phone-head .av { width: 34px; height: 34px; border-radius: 50%; background: var(--azul-senal); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 600; font-size: 14px; }
  .phone-head .nm { color: #fff; font-size: 14px; font-weight: 600; line-height: 1.2; }
  .phone-head .st { color: var(--azul-primera-luz); font-size: 11px; font-family: var(--mono); }
  .chat { background: #EDEFF3; padding: 16px 14px 18px; min-height: 320px; display: flex; flex-direction: column; gap: 10px; }
  .bubble { max-width: 82%; padding: 9px 13px; font-size: 13.5px; line-height: 1.45; border-radius: 14px; opacity: 0; transform: translateY(8px); }
  .bubble.show { opacity: 1; transform: none; transition: opacity .35s ease, transform .35s ease; }
  .bubble.inb { align-self: flex-start; background: #fff; color: #1C2145; border-bottom-left-radius: 4px; }
  .bubble.out { align-self: flex-end; background: var(--azul-senal); color: #fff; border-bottom-right-radius: 4px; }
  .bubble .t { display: block; font-family: var(--mono); font-size: 10px; margin-top: 5px; opacity: .75; }
  .typing { align-self: flex-end; background: var(--azul-senal); border-radius: 14px; border-bottom-right-radius: 4px; padding: 11px 14px; display: none; }
  .typing.show { display: inline-flex; gap: 4px; }
  .typing span { width: 6px; height: 6px; border-radius: 50%; background: #fff; opacity: .6; animation: blink 1s infinite; }
  .typing span:nth-child(2){ animation-delay:.2s } .typing span:nth-child(3){ animation-delay:.4s }
  @keyframes blink { 0%,100%{opacity:.3} 50%{opacity:.9} }
  .chip { align-self: center; margin-top: 4px; display: inline-flex; align-items: center; gap: 8px; background: var(--azul-palido); color: var(--indigo-noche); font-family: var(--mono); font-size: 11px; padding: 7px 13px; border-radius: 30px; opacity: 0; transform: translateY(8px); }
  .chip.show { opacity: 1; transform: none; transition: opacity .35s ease, transform .35s ease; }
  .chip .pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--azul-senal); animation: pulse 1.6s infinite; }
  @keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(62,109,181,.45)} 70%{box-shadow:0 0 0 7px rgba(62,109,181,0)} 100%{box-shadow:0 0 0 0 rgba(62,109,181,0)} }
  @media (prefers-reduced-motion: reduce){ .bubble,.chip{opacity:1;transform:none} .typing{display:none} .typing span,.chip .pulse{animation:none} }

  /* PROBLEMA */
  .prob .eyebrow { color: var(--azul-senal); }
  .prob .prob-lead { font-family: var(--serif); font-size: clamp(21px,2.8vw,28px); line-height: 1.28; max-width: 26ch; margin: 0; color: var(--indigo-noche); }
  .prob .prob-lead b { color: var(--azul-senal); font-weight: 600; font-style: italic; }
  .prob-cols { display: grid; grid-template-columns: repeat(3,1fr); }
  @media (max-width: 760px){ .prob-cols{ grid-template-columns:1fr } }
  .prob-c { padding: 0 26px; border-left: 1px solid var(--azul-palido); }
  .prob-c:first-child{ padding-left:0; border-left:none }
  @media (max-width: 760px){ .prob-c{ padding:22px 0; border-left:none; border-top:1px solid var(--azul-palido) } .prob-c:first-child{ border-top:none; padding-top:0 } }
  .prob-c .t { font-family: var(--serif); font-weight: 600; font-size: 20px; line-height: 1.22; }
  .prob-c .s { font-size: 14.5px; line-height: 1.55; color: var(--gris-azulado); margin-top: 10px; }

  /* TABS */
  .tabs .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .tabs .tabs-reassure { font-size: 16px; line-height: 1.55; color: var(--gris-azulado); margin: 14px 0 0; max-width: 54ch; }
  .tabs .tabs-reassure b { color: var(--indigo-noche); font-weight: 600; }
  .tabs h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; max-width: 20ch; }
  .tabs-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; margin-top: 44px; }
  @media (max-width: 900px){ .tabs-grid{ grid-template-columns:1fr; gap:30px } }
  .tablist { display: flex; flex-direction: column; }
  .tab { display: block; width: 100%; text-align: left; background: none; border: none; border-left: 2px solid var(--azul-palido); padding: 18px 22px; cursor: pointer; font-family: var(--sans); transition: border-color .2s ease; }
  .tab .n { font-family: var(--mono); font-size: 12px; color: var(--gris-azulado); }
  .tab .th { font-family: var(--serif); font-size: 22px; color: var(--indigo-noche); margin-top: 4px; }
  .tab .td { font-size: 14px; color: var(--gris-azulado); margin-top: 6px; max-width: 40ch; display: none; }
  .tab.active { border-left-color: var(--azul-senal); }
  .tab.active .n { color: var(--azul-senal); }
  .tab.active .td { display: block; }
  .panel { display: none; }
  .panel.active { display: block; animation: fadeUp .4s ease-out; }
  @keyframes fadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
  @media (prefers-reduced-motion: reduce){ .panel.active{ animation:none } }
  .mock { background: #fff; border: 1px solid var(--azul-palido); border-radius: 10px; padding: 20px; box-shadow: 0 12px 40px -22px rgba(28,33,69,.4); }
  .mock .mh { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--azul-palido); padding-bottom: 12px; margin-bottom: 14px; }
  .mock .mh .mt { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--gris-azulado); }
  .mock .mh .badge { font-family: var(--mono); font-size: 11px; background: var(--azul-palido); color: var(--indigo-noche); padding: 4px 10px; border-radius: 20px; }
  .mc-row { display: flex; margin-bottom: 8px; }
  .mc-b { max-width: 78%; padding: 8px 12px; font-size: 13px; border-radius: 12px; }
  .mc-in { background: #EDEFF3; color: #1C2145; border-bottom-left-radius: 3px; }
  .mc-out { background: var(--azul-senal); color: #fff; margin-left: auto; border-bottom-right-radius: 3px; }
  .mc-note { font-family: var(--mono); font-size: 11px; color: var(--azul-senal); margin-top: 6px; }
  .ml-row { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--azul-palido); }
  .ml-row:last-child { border-bottom: none; }
  .ml-name { font-size: 14px; color: var(--indigo-noche); font-weight: 500; }
  .ml-src { font-family: var(--mono); font-size: 11px; color: var(--gris-azulado); }
  .pill { font-family: var(--mono); font-size: 11px; padding: 3px 10px; border-radius: 20px; font-weight: 500; }
  .pill.hot { background: var(--azul-senal); color: #fff; }
  .pill.warm { background: var(--azul-palido); color: var(--azul-senal); }
  .pill.cold { background: #EDEFF3; color: var(--gris-azulado); }
  .ml-foot { font-family: var(--mono); font-size: 11px; color: var(--azul-senal); margin-top: 12px; }
  .md-row { display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--azul-palido); }
  .md-row:last-child { border-bottom: none; }
  .md-camp { font-size: 13px; color: var(--indigo-noche); }
  .md-camp span { display:block; font-family: var(--mono); font-size: 10.5px; color: var(--gris-azulado); margin-top:2px; }
  .md-val { font-family: var(--mono); font-size: 13px; color: var(--indigo-noche); font-weight: 600; text-align: right; }
  .md-bar { height: 6px; background: var(--azul-palido); border-radius: 4px; overflow: hidden; grid-column: 1 / -1; }
  .md-bar i { display: block; height: 100%; background: var(--azul-senal); border-radius: 4px; }

  /* CIFRAS */
  .cifras .eyebrow { color: var(--azul-primera-luz); margin-bottom: 40px; }
  .metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
  @media (max-width: 760px){ .metrics{ grid-template-columns:1fr } }
  .metric { border-left: 2px solid var(--azul-primera-luz); padding-left: 24px; }
  .metric .v { font-family: var(--mono); font-weight: 500; font-size: clamp(30px,4.4vw,40px); font-variant-numeric: tabular-nums; color: var(--marfil-frio); }
  .metric .l { font-family: var(--mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: rgba(237,241,248,.6); margin-top: 8px; }
  .testi-line { margin-top: 48px; padding-top: 26px; border-top: 1px solid rgba(134,176,225,.2); }
  .testi-line blockquote { font-family: var(--serif); font-style: italic; font-size: clamp(19px,2.4vw,23px); line-height: 1.4; margin: 0; max-width: 60ch; color: var(--marfil-frio); }
  .testi-line .who { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--azul-primera-luz); margin-top: 14px; }

  /* CASOS */
  .casos { background: var(--azul-palido); }
  .casos .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .casos h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; }
  .casos .note { font-family: var(--mono); font-size: 11px; color: var(--gris-azulado); margin-top: 10px; }
  .caso-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
  .cpill { font-family: var(--sans); font-size: 14px; font-weight: 600; color: var(--gris-azulado); background: #fff; border: 1px solid rgba(134,176,225,.5); border-radius: 30px; padding: 9px 20px; min-height: 42px; cursor: pointer; transition: color .18s ease, background .18s ease, border-color .18s ease; }
  .cpill:hover { border-color: var(--azul-senal); color: var(--indigo-noche); }
  .cpill.active { background: var(--azul-senal); color: #fff; border-color: var(--azul-senal); }
  .caso-stage { margin-top: 24px; }
  .caso-panel { display: none; }
  .caso-panel.active { display: grid; grid-template-columns: 1.1fr .9fr; gap: 34px; align-items: start; animation: fadeUp .4s ease-out; }
  @media (max-width: 820px){ .caso-panel.active{ grid-template-columns:1fr; gap:22px } }
  @media (prefers-reduced-motion: reduce){ .caso-panel.active{ animation:none } }
  .caso-text .giro { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--azul-senal); }
  .caso-text h3 { font-family: var(--serif); font-size: clamp(22px,2.8vw,28px); margin: 10px 0 16px; color: var(--indigo-noche); line-height: 1.18; }
  .caso-text .li { font-size: 15px; line-height: 1.55; color: var(--gris-azulado); margin: 0 0 12px; }
  .caso-text .li b { color: var(--indigo-noche); font-weight: 600; }
  .caso-metrics { background: #fff; border: 1px solid rgba(134,176,225,.5); border-radius: 12px; padding: 22px 24px; }
  .cm-h { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--gris-azulado); margin-bottom: 8px; }
  .cm-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--azul-palido); }
  .cm-l { font-size: 13.5px; color: var(--gris-azulado); }
  .cm-v { font-family: var(--mono); font-size: 14px; color: var(--indigo-noche); white-space: nowrap; text-align: right; }
  .cm-v em { color: var(--gris-azulado); font-style: normal; text-decoration: line-through; opacity: .65; }
  .cm-v b { color: var(--azul-senal); font-weight: 600; }
  .cm-foot { font-family: var(--serif); font-style: italic; font-size: 14px; color: var(--indigo-noche); margin-top: 14px; }
  /* TOOLS ROW */
  .tabs .tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 24px; }
  .tabs .tools-lbl { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--gris-azulado); }
  .tabs .tool { font-family: var(--serif); font-size: 16px; color: var(--indigo-noche); opacity: .8; }
  /* FOUNDER */
  .founder { background: var(--azul-palido); }
  .founder-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 40px; align-items: center; }
  @media (max-width: 820px){ .founder-grid{ grid-template-columns:1fr; gap:24px } }
  .founder-photo { aspect-ratio: 1/1; max-width: 320px; width: 100%; height: auto; object-fit: cover; border-radius: 12px; display: block; background: var(--indigo-noche); }
  .founder .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .founder h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(28px,3.6vw,40px); line-height: 1.1; letter-spacing: -.01em; color: var(--indigo-noche); max-width: 18ch; }
  .founder-txt { font-size: 16px; line-height: 1.6; color: var(--gris-azulado); margin: 16px 0 24px; max-width: 52ch; }
  .founder-txt b { color: var(--indigo-noche); font-weight: 600; }
  .founder .caps { margin-top: 44px; padding-top: 30px; border-top: 1px solid rgba(134,176,225,.5); }
  .founder .caps-lbl { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--azul-senal); margin: 0 0 20px; }
  .caps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
  @media (max-width: 760px){ .caps-grid{ grid-template-columns:1fr; gap:18px } }
  .cap h3 { font-family: var(--serif); font-size: 19px; color: var(--indigo-noche); margin: 0 0 6px; }
  .cap p { font-size: 14px; line-height: 1.55; color: var(--gris-azulado); margin: 0; }
  /* METODO */
  .metodo .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .metodo h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; }
  .metodo .metodo-lead { font-size: 16px; line-height: 1.55; color: var(--gris-azulado); margin: 12px 0 0; max-width: 56ch; }
  .flow { display: flex; align-items: stretch; flex-wrap: wrap; margin-top: 40px; }
  .fnode { flex: 1 1 200px; background: #fff; border: 1px solid var(--azul-palido); border-radius: 12px; padding: 22px 20px; }
  .fn-num { font-family: var(--mono); font-size: 13px; font-weight: 600; color: var(--azul-primera-luz); display: flex; align-items: baseline; gap: 8px; }
  .fn-w { font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--gris-azulado); font-weight: 400; }
  .fn-t { font-family: var(--serif); font-size: 19px; color: var(--indigo-noche); margin: 8px 0; line-height: 1.2; }
  .fn-d { font-size: 13.5px; line-height: 1.5; color: var(--gris-azulado); }
  .farrow { display: flex; align-items: center; justify-content: center; color: var(--azul-senal); font-size: 22px; padding: 0 8px; flex: 0 0 auto; }
  @media (max-width: 820px){ .flow{ flex-direction: column; } .farrow{ transform: rotate(90deg); padding: 8px 0; } }
  /* HERRAMIENTAS */
  .herramientas .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .herramientas h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; }
  .tools-cats { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px 20px; margin-top: 36px; }
  @media (max-width: 820px){ .tools-cats{ grid-template-columns:1fr 1fr } }
  @media (max-width: 520px){ .tools-cats{ grid-template-columns:1fr } }
  .tcat { border-top: 1px solid var(--azul-palido); padding-top: 16px; }
  .tcat-h { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--azul-senal); margin-bottom: 12px; }
  .tchips { display: flex; flex-wrap: wrap; gap: 8px; }
  .tchips span { font-family: var(--sans); font-size: 13.5px; font-weight: 500; color: var(--indigo-noche); background: #fff; border: 1px solid var(--azul-palido); border-radius: 20px; padding: 6px 13px; }

  /* PRECIOS */
  .precios .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .precios h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; max-width: 22ch; }
  .precios .lead { font-size: 16px; color: var(--gris-azulado); margin-top: 12px; }
  .plans { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 40px; }
  @media (max-width: 980px){ .plans{ grid-template-columns:1fr 1fr } }
  @media (max-width: 560px){ .plans{ grid-template-columns:1fr } }
  .plan { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--azul-palido); border-radius: 12px; padding: 24px 22px; transition: transform .18s ease, box-shadow .18s ease; }
  .plan:hover { transform: translateY(-4px); box-shadow: 0 20px 44px -26px rgba(28,33,69,.4); }
  .plan.feat { border-color: var(--azul-senal); }
  .plan.feat::after { content: "Más pedido"; position: absolute; top: -11px; left: 20px; background: var(--azul-senal); color: #fff; font-family: var(--mono); font-size: 10.5px; letter-spacing: .04em; padding: 3px 11px; border-radius: 20px; }
  .plan .pk { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--azul-senal); }
  .plan h3 { font-family: var(--serif); font-size: 20px; margin: 6px 0 2px; }
  .plan .who { font-size: 12.5px; color: var(--gris-azulado); min-height: 34px; }
  .plan .price { font-family: var(--serif); font-weight: 600; font-size: 30px; color: var(--indigo-noche); letter-spacing: -.02em; margin-top: 8px; }
  .plan .price small { font-family: var(--sans); font-size: 13px; font-weight: 400; color: var(--gris-azulado); }
  .plan .roi { font-size: 12.5px; color: var(--azul-senal); font-style: italic; margin: 8px 0 16px; min-height: 34px; }
  .plan ul { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; }
  .plan li { position: relative; padding-left: 20px; font-size: 13.5px; color: var(--gris-azulado); }
  .plan li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--azul-primera-luz); }
  .plan .btn { margin-top: auto; justify-content: center; width: 100%; }
  .plan.feat .btn { }
  .plan:not(.feat) .btn { background: transparent; color: var(--azul-senal); border: 1px solid rgba(62,109,181,.35); }
  .plan:not(.feat) .btn:hover { background: transparent; border-color: var(--azul-senal); }
  .plans-3 { grid-template-columns: repeat(3,1fr); }
  @media (max-width: 900px){ .plans-3{ grid-template-columns:1fr } }
  /* Seguimiento: franja aparte, no una cuarta tarjeta */
  .segui { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 32px; margin-top: 18px; padding: 26px 28px; background: var(--indigo-noche); border-radius: 14px; }
  .segui-txt { flex: 1 1 380px; }
  .segui-k { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--azul-primera-luz); margin: 0 0 8px; }
  .segui h3 { font-family: var(--serif); font-weight: 600; font-size: 24px; color: var(--marfil-frio); margin: 0 0 8px; }
  .segui-d { font-size: 14.5px; line-height: 1.6; color: rgba(237,241,248,.72); margin: 0; max-width: 58ch; }
  .segui-d b { color: var(--marfil-frio); font-weight: 600; }
  .segui-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; flex: 0 0 auto; }
  .segui-p { font-family: var(--serif); font-weight: 600; font-size: 32px; color: var(--marfil-frio); letter-spacing: -.02em; }
  .segui-p small { font-family: var(--sans); font-size: 14px; font-weight: 400; color: rgba(237,241,248,.6); }
  .segui .btn { background: transparent; color: var(--azul-primera-luz); border: 1px solid rgba(134,176,225,.4); }
  .segui .btn:hover { background: transparent; border-color: var(--azul-primera-luz); }
  @media (max-width: 640px){
    .segui { padding: 22px 20px; gap: 18px; }
    .segui-cta { width: 100%; }
    .segui .btn { width: 100%; justify-content: center; }
  }
  .precios .guarantee { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; font-family: var(--mono); font-size: 12.5px; color: var(--indigo-noche); background: var(--azul-palido); padding: 8px 16px; border-radius: 30px; }
  .precios .guarantee b { color: var(--azul-senal); }
  .precios .note { font-family: var(--mono); font-size: 11px; color: var(--gris-azulado); margin-top: 16px; }

  /* PARA QUIEN */
  .pq .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .pq h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; max-width: 22ch; }
  .pq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; margin-top: 40px; }
  @media (max-width: 820px){ .pq-grid{ grid-template-columns:1fr; gap:34px } }
  .rubro { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-top: 1px solid var(--azul-palido); padding: 15px 0; }
  .rubro:last-child { border-bottom: 1px solid var(--azul-palido); }
  .rubro .name { font-family: var(--serif); font-size: 20px; }
  .rubro .line { font-family: var(--mono); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--gris-azulado); }
  .types { display: flex; flex-direction: column; gap: 14px; }
  .type { border: 1px solid var(--azul-palido); border-radius: 8px; padding: 20px; }
  .type .tag { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--azul-senal); }
  .type h3 { font-family: var(--serif); font-size: 18px; margin: 8px 0 6px; }
  .type p { font-size: 14px; line-height: 1.55; color: var(--gris-azulado); margin: 0; }

  /* FAQ */
  .faq .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .faq h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; }
  .faq-list { margin-top: 36px; max-width: 820px; }
  .faq-item { border-top: 1px solid var(--azul-palido); }
  .faq-item:last-child { border-bottom: 1px solid var(--azul-palido); }
  .faq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 44px; padding: 20px 0; background: none; border: none; cursor: pointer; text-align: left; font-family: var(--sans); }
  .faq-q .qt { font-size: 16.5px; font-weight: 600; color: var(--indigo-noche); }
  .faq-q .plus { font-family: var(--mono); font-size: 24px; line-height: 1; color: var(--azul-senal); transition: transform .2s ease; }
  .faq-q[aria-expanded="true"] .plus { transform: rotate(45deg); }
  .faq-a { padding: 0 0 20px; margin-top: -2px; }
  .faq-a p { max-width: 68ch; font-size: 15.5px; line-height: 1.6; color: var(--gris-azulado); margin: 0; }
  .faq-a[hidden] { display: none; }

  /* CTA WA */
  .cta { text-align: center; }
  .cta h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(32px,4.4vw,50px); line-height: 1.08; letter-spacing: -.015em; max-width: 18ch; margin: 0 auto; }
  .cta .txt { font-size: 17px; line-height: 1.6; color: rgba(237,241,248,.8); max-width: 48ch; margin: 18px auto 30px; }
  .cta .btn-wa { min-height: 54px; padding: 0 30px; font-size: 16px; }
  .cta .micro { font-family: var(--mono); font-size: 12px; color: rgba(237,241,248,.6); margin-top: 18px; }

  .btn-wa { background: var(--wa); color: #08331b; }
  .btn-wa:hover { background: #20c15c; }

  /* VALOR: calculadora + comparativa */
  .valor .eyebrow { color: var(--azul-senal); margin-bottom: 14px; }
  .valor h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; }
  .valor-lead { font-size: 16px; line-height: 1.55; color: var(--gris-azulado); margin: 12px 0 0; max-width: 54ch; }
  .calc { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 36px; border: 1px solid var(--azul-palido); border-radius: 14px; overflow: hidden; background: #fff; }
  @media (max-width: 860px){ .calc{ grid-template-columns:1fr } }
  .calc-in { padding: 30px 28px 32px; display: flex; flex-direction: column; gap: 30px; }
  .q-n { font-family: var(--serif); font-size: 19px; line-height: 1.25; color: var(--indigo-noche); margin: 0 0 16px; }
  .q-presets { display: flex; flex-wrap: wrap; gap: 8px; }
  .preset { font-family: var(--mono); font-size: 15px; font-weight: 500; color: var(--gris-azulado); background: var(--blanco-frio); border: 1px solid var(--azul-palido); border-radius: 8px; padding: 12px 18px; min-height: 48px; cursor: pointer; transition: all .15s ease; }
  .preset:hover { border-color: var(--azul-senal); color: var(--indigo-noche); }
  .preset.active { background: var(--azul-senal); border-color: var(--azul-senal); color: #fff; }
  .q-custom { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; font-size: 13.5px; color: var(--gris-azulado); }
  .ci-val { display: inline-flex; align-items: center; gap: 4px; }
  .ci-val > span { font-family: var(--mono); font-size: 15px; color: var(--gris-azulado); }
  .ci-val input { width: 120px; min-height: 48px; text-align: right; font-family: var(--mono); font-size: 16px; font-weight: 500; color: var(--indigo-noche); background: var(--blanco-frio); border: 1px solid var(--azul-palido); border-radius: 8px; padding: 8px 12px; }
  .ci-val input:focus { outline: none; border-color: var(--azul-senal); }
  .stepper { display: inline-flex; align-items: center; gap: 4px; background: var(--blanco-frio); border: 1px solid var(--azul-palido); border-radius: 10px; padding: 5px; }
  .stepper button { width: 52px; height: 52px; font-size: 26px; line-height: 1; color: var(--azul-senal); background: #fff; border: 1px solid var(--azul-palido); border-radius: 7px; cursor: pointer; transition: all .15s ease; }
  .stepper button:hover { background: var(--azul-senal); border-color: var(--azul-senal); color: #fff; }
  .step-v { font-family: var(--mono); font-weight: 600; font-size: 30px; color: var(--indigo-noche); min-width: 64px; text-align: center; font-variant-numeric: tabular-nums; }
  .q-hint { font-size: 13px; color: var(--gris-azulado); margin: 12px 0 0; }
  .calc-out { background: var(--indigo-noche); color: var(--marfil-frio); padding: 28px 28px 30px; display: flex; flex-direction: column; }
  .co-h { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--azul-primera-luz); margin-bottom: 6px; }
  .co-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(134,176,225,.18); font-size: 14px; color: rgba(237,241,248,.75); }
  .co-row b { font-family: var(--mono); font-size: 15px; color: var(--marfil-frio); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .co-row.co-net { border-bottom: none; }
  .co-row.co-net b { color: var(--azul-primera-luz); font-size: 17px; }
  .co-big { padding: 18px 0 14px; border-bottom: 1px solid rgba(134,176,225,.18); }
  .co-lbl { display: block; font-size: 13.5px; color: rgba(237,241,248,.7); }
  .co-num { display: block; font-family: var(--mono); font-weight: 600; font-size: clamp(30px,4.4vw,42px); color: var(--azul-primera-luz); font-variant-numeric: tabular-nums; line-height: 1.1; margin-top: 4px; }
  .co-note { font-family: var(--mono); font-size: 10.5px; line-height: 1.6; color: rgba(237,241,248,.45); margin: 14px 0 0; }
  .calc-out .btn { align-self: flex-start; }
  .comp { margin-top: 34px; }
  .comp-h { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--azul-senal); margin: 0 0 16px; }
  .comp-scroll { overflow-x: auto; }
  .comp-t { border-collapse: collapse; width: 100%; min-width: 640px; font-size: 14px; background: #fff; }
  .comp-t th, .comp-t td { text-align: left; padding: 13px 16px; border-bottom: 1px solid var(--azul-palido); }
  .comp-t thead th { font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--gris-azulado); font-weight: 600; }
  .comp-t td { color: var(--gris-azulado); }
  .comp-t td:first-child { color: var(--indigo-noche); font-weight: 500; }
  .comp-t .hi { background: var(--azul-palido); }
  .comp-t thead .hi { color: var(--azul-senal); font-size: 12.5px; }
  .comp-t td.hi { color: var(--indigo-noche); }
  .comp-t td.hi b { color: var(--azul-senal); }
  .comp-t tbody tr:last-child td { border-bottom: none; }
  /* LANDING MOCK */
  .lp { border: 1px solid var(--azul-palido); border-radius: 8px; overflow: hidden; }
  .lp-bar { display: flex; gap: 5px; padding: 9px 11px; background: var(--blanco-frio); border-bottom: 1px solid var(--azul-palido); }
  .lp-bar span { width: 8px; height: 8px; border-radius: 50%; background: var(--azul-palido); }
  .lp-body { padding: 16px 16px 18px; }
  .lp-h { height: 13px; width: 72%; background: var(--indigo-noche); border-radius: 3px; }
  .lp-h2 { height: 13px; width: 46%; background: var(--azul-senal); border-radius: 3px; margin-top: 7px; }
  .lp-t { height: 7px; width: 92%; background: var(--azul-palido); border-radius: 3px; margin-top: 13px; }
  .lp-t.short { width: 64%; margin-top: 6px; }
  .lp-cta { display: inline-block; margin-top: 15px; background: var(--wa); color: #08331b; font-size: 12px; font-weight: 600; padding: 8px 15px; border-radius: 4px; }
  .lp-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 16px; }
  .lp-cards div { height: 34px; background: var(--blanco-frio); border: 1px solid var(--azul-palido); border-radius: 5px; }
  /* FUGA VISUAL */
  .leak { display: grid; grid-template-columns: repeat(3,1fr); background: #fff; border: 1px solid var(--azul-palido); border-radius: 12px; overflow: hidden; margin-top: 30px; }
  @media (max-width: 700px){ .leak{ grid-template-columns:1fr } }
  .leak-step { padding: 22px 22px 24px; border-left: 1px solid var(--azul-palido); }
  .leak-step:first-child { border-left: none; }
  @media (max-width: 700px){ .leak-step{ border-left:none; border-top:1px solid var(--azul-palido) } .leak-step:first-child{ border-top:none } }
  .leak-n { font-family: var(--mono); font-weight: 600; font-size: clamp(28px,3.6vw,36px); color: var(--indigo-noche); font-variant-numeric: tabular-nums; line-height: 1; }
  .leak-l { font-size: 13.5px; color: var(--gris-azulado); margin-top: 8px; }
  .leak-bar { height: 8px; background: var(--azul-palido); border-radius: 4px; margin-top: 14px; overflow: hidden; }
  .leak-bar i { display: block; height: 100%; width: 0; background: var(--azul-senal); border-radius: 4px; transition: width 1.2s cubic-bezier(.22,1,.36,1); }
  .leak-step.lost .leak-n { color: var(--gris-azulado); }
  .leak-step.lost .leak-bar i { background: #C3CEDC; }
  @media (prefers-reduced-motion: reduce){ .leak-bar i{ transition:none } }
  .leak-cost { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 16px; margin-top: 20px; padding: 16px 20px; background: var(--indigo-noche); border-radius: 10px; }
  .leak-cost .lc-t { font-family: var(--serif); font-size: clamp(17px,2.2vw,21px); color: var(--marfil-frio); }
  .leak-cost .lc-t b { color: var(--azul-primera-luz); font-weight: 600; }
  .leak-cost .lc-s { font-family: var(--mono); font-size: 11.5px; color: rgba(237,241,248,.55); }
  /* METODO interactivo */
  .flow { gap: 10px; }
  .fnode { cursor: pointer; text-align: left; font-family: var(--sans); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
  .fnode:hover { transform: translateY(-2px); border-color: var(--azul-primera-luz); }
  .fnode.active { border-color: var(--azul-senal); background: var(--azul-palido); }
  .fnode.active .fn-num { color: var(--azul-senal); }
  .fdetail { margin-top: 14px; background: #fff; border: 1px solid var(--azul-senal); border-radius: 12px; padding: 26px 26px; }
  .fd-panel { display: none; }
  .fd-panel.active { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; animation: fadeUp .35s ease-out; }
  @media (max-width: 760px){ .fd-panel.active{ grid-template-columns:1fr; gap:20px } }
  @media (prefers-reduced-motion: reduce){ .fd-panel.active{ animation:none } }
  .fd-h { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--azul-senal); margin-bottom: 10px; }
  .fd-p { font-size: 15px; line-height: 1.6; color: var(--gris-azulado); margin: 0 0 12px; }
  .fd-p b { color: var(--indigo-noche); font-weight: 600; }
  .fd-ex { background: var(--blanco-frio); border-left: 2px solid var(--azul-primera-luz); border-radius: 0 8px 8px 0; padding: 16px 18px; }
  .fd-ex .ex-h { font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--gris-azulado); margin-bottom: 10px; }
  .fd-row { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; border-top: 1px solid var(--azul-palido); font-size: 13.5px; }
  .fd-row:first-of-type { border-top: none; }
  .fd-row span:first-child { color: var(--gris-azulado); }
  .fd-row span:last-child { font-family: var(--mono); color: var(--indigo-noche); white-space: nowrap; }
  .fd-row b { color: var(--azul-senal); }
  .capa-l { display: grid; grid-template-columns: 22px 92px 1fr; gap: 10px; align-items: baseline; padding: 7px 0; border-top: 1px solid var(--azul-palido); font-size: 13px; }
  .capa-l:first-of-type { border-top: none; }
  .cl-n { font-family: var(--mono); font-size: 11px; color: #fff; background: var(--azul-senal); border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; }
  .cl-t { font-weight: 600; color: var(--indigo-noche); }
  .cl-q { color: var(--gris-azulado); font-size: 12.5px; }
  @media (max-width: 480px){ .capa-l{ grid-template-columns: 22px 1fr; } .cl-q{ grid-column: 2; margin-top: 2px; } }
  /* HERRAMIENTAS dark */
  .herr { background: var(--indigo-noche); color: var(--marfil-frio); }
  .herr .eyebrow { color: var(--azul-primera-luz); margin-bottom: 14px; }
  .herr h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,3.8vw,44px); line-height: 1.1; letter-spacing: -.01em; color: var(--marfil-frio); }
  .herr .lead { font-size: 16px; line-height: 1.55; color: rgba(237,241,248,.7); margin: 12px 0 0; max-width: 56ch; }
  .hgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 36px; }
  @media (max-width: 900px){ .hgrid{ grid-template-columns:1fr 1fr } }
  @media (max-width: 600px){ .hgrid{ grid-template-columns:1fr } }
  .hcat { border: 1px solid rgba(134,176,225,.25); border-radius: 12px; padding: 22px 20px; transition: border-color .2s ease, transform .2s ease; }
  .hcat:hover { border-color: var(--azul-primera-luz); transform: translateY(-3px); }
  .hcat h3 { font-family: var(--serif); font-size: 19px; color: var(--marfil-frio); margin: 0 0 6px; }
  .hcat .hd { font-size: 13.5px; line-height: 1.5; color: rgba(237,241,248,.65); margin: 0 0 14px; }
  .hchips { display: flex; flex-wrap: wrap; gap: 7px; }
  .hchips span { font-size: 12.5px; font-weight: 500; color: var(--azul-senal); border: 1px solid rgba(134,176,225,.35); border-radius: 20px; padding: 5px 12px; }
  /* CTA form */
  .cta { text-align: left; }
  .cta-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: start; }
  @media (max-width: 820px){ .cta-wrap{ grid-template-columns:1fr; gap:34px } }
  .cta h2 { margin: 0; max-width: 14ch; }
  .cta .or { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(237,241,248,.5); margin: 26px 0 14px; }
  .cform { display: flex; flex-direction: column; gap: 18px; }
  .cf-field label { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--azul-primera-luz); }
  .cf-field input, .cf-field select, .cf-field textarea { width: 100%; min-height: 44px; background: transparent; border: none; border-bottom: 1px solid rgba(134,176,225,.4); padding: 11px 0; font-family: var(--sans); font-size: 15.5px; color: var(--marfil-frio); margin-top: 2px; }
  .cf-field textarea { min-height: 62px; resize: vertical; }
  .cf-field select option { color: var(--indigo-noche); }
  .cf-field input:focus, .cf-field select:focus, .cf-field textarea:focus { border-bottom-color: var(--azul-primera-luz); outline: none; }
  .cf-field input::placeholder, .cf-field textarea::placeholder { color: rgba(237,241,248,.35); }
  .cf-ok { border-left: 2px solid var(--azul-primera-luz); padding-left: 20px; font-family: var(--serif); font-style: italic; font-size: 19px; line-height: 1.45; color: var(--marfil-frio); }
  .cf-err, .me-err { font-size: 14px; line-height: 1.5; color: #E4906F; margin: 4px 0 0; }
  .cf-err a, .me-err a { color: var(--azul-primera-luz); text-decoration: underline; }
  .cf-legal, .me-legal { font-size: 12px; line-height: 1.5; color: rgba(237,241,248,.5); margin: 2px 0 0; }
  .cf-legal a, .me-legal a { color: var(--azul-primera-luz); text-decoration: underline; }

  /* ===== FONDO DE AMANECER =====
     Arcos concéntricos que se elevan sobre el horizonte, ecos del símbolo
     de la marca. Trazo plano y opacidad, sin degradados. Solo se anima
     transform y opacity, que van por GPU y no cuestan rendimiento. */
  .amanecer { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
  .amanecer i {
    position: absolute; left: 50%; bottom: -52%;
    aspect-ratio: 1; border-radius: 50%;
    border: 1px solid var(--arco-color, rgba(134,176,225,.14));
    transform: translateX(-50%) scale(.94);
    animation: elevar 16s ease-in-out infinite;
  }
  .amanecer i:nth-child(1) { width: 620px;  animation-delay: 0s; }
  .amanecer i:nth-child(2) { width: 880px;  animation-delay: -4s; }
  .amanecer i:nth-child(3) { width: 1180px; animation-delay: -8s; }
  .amanecer i:nth-child(4) { width: 1520px; animation-delay: -12s; }
  @keyframes elevar {
    0%, 100% { transform: translateX(-50%) scale(.94); opacity: .55; }
    50%      { transform: translateX(-50%) scale(1);   opacity: 1; }
  }
  /* La línea de horizonte, como en el símbolo */
  .amanecer::after {
    content: ""; position: absolute; left: 8%; right: 8%; bottom: 0; height: 1px;
    background: var(--horizonte-color, rgba(134,176,225,.18));
  }
  @media (prefers-reduced-motion: reduce) {
    .amanecer i { animation: none; opacity: .8; }
  }
  @media (max-width: 760px) {
    .amanecer i:nth-child(4) { display: none; }
  }
  /* El contenido siempre por encima del fondo */
  .hero .wrap, .herr .wrap, .cta .wrap, .mentry .me-top,
  .mentry .me-body, .mentry .me-scroll { position: relative; z-index: 1; }
  .herr, .cta { position: relative; overflow: hidden; }

  /* Trazo del logo al cargar: el arco se dibuja y la luz aparece */
  .nav-logo .dibuja { stroke-dasharray: 200; stroke-dashoffset: 200; animation: trazar 1.1s ease-out .2s forwards; }
  .nav-logo .dibuja.lento { animation-duration: 1.4s; animation-delay: .35s; }
  @keyframes trazar { to { stroke-dashoffset: 0; } }
  @media (prefers-reduced-motion: reduce) {
    .nav-logo .dibuja { stroke-dashoffset: 0; animation: none; }
  }

  /* ===== COMPACTACIÓN MÓVIL ===== */
  .movil-desc { display: none; }
  .comp-toggle { display: none; }
  .hcat-btn { all: unset; display: block; width: 100%; cursor: default; }
  .hcat-btn .mas { display: none; }

  @media (max-width: 760px) {
    /* --- Pestañas horizontales deslizables ---
       Sangran hasta el borde de la pantalla, como en una app: así se ve
       que hay más contenido a la derecha. El padding interno mantiene
       la alineación con el resto del texto. */
    .tablist, .flow, .caso-pills {
      display: flex; flex-direction: row; flex-wrap: nowrap;
      overflow-x: auto; gap: 8px;
      margin-left: -18px; margin-right: -18px;
      padding: 2px 18px 12px;
      scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
      scrollbar-width: none; overscroll-behavior-x: contain;
    }
    .tablist::-webkit-scrollbar, .flow::-webkit-scrollbar,
    .caso-pills::-webkit-scrollbar { display: none; }
    .cpill { flex: 0 0 auto; scroll-snap-align: start; }

    .tab, .fnode {
      flex: 0 0 auto; scroll-snap-align: start;
      border: 1px solid var(--azul-palido); border-left: 1px solid var(--azul-palido);
      border-radius: 30px; padding: 11px 18px; min-height: 46px;
      display: flex; align-items: center; gap: 8px; white-space: nowrap;
      background: #fff; transition: all .18s ease;
    }
    .tab .n, .fnode .fn-num { font-size: 11.5px; color: var(--gris-azulado); order: 0; display: inline; }
    .tab .th, .fnode .fn-t { font-family: var(--sans); font-size: 14.5px; font-weight: 600; color: var(--gris-azulado); margin: 0; }
    .tab .td, .fnode .fn-d, .fnode .fn-w { display: none !important; }
    .tab.active, .fnode.active {
      background: var(--azul-senal); border-color: var(--azul-senal); transform: none;
    }
    .tab.active .n, .tab.active .th,
    .fnode.active .fn-num, .fnode.active .fn-t { color: #fff; }
    .farrow { display: none; }

    /* La descripción del activo pasa aquí, fuera de la pastilla */
    .movil-desc {
      display: block; font-size: 14.5px; line-height: 1.55;
      color: var(--gris-azulado); margin: 4px 0 16px;
    }

    .tabs-grid { display: block; margin-top: 24px; }
    .fdetail { margin-top: 4px; }

    /* --- Herramientas como acordeón --- */
    .hgrid { gap: 0; }
    .hcat {
      border: none; border-top: 1px solid rgba(134,176,225,.22);
      border-radius: 0; padding: 0; transform: none;
    }
    .hcat:last-child { border-bottom: 1px solid rgba(134,176,225,.22); }
    .hcat:hover { transform: none; border-color: rgba(134,176,225,.22); }
    .hcat-btn {
      cursor: pointer; display: flex; align-items: center; justify-content: space-between;
      gap: 16px; padding: 17px 2px; min-height: 46px;
    }
    .hcat-btn h3 { margin: 0; font-size: 17px; }
    .hcat-btn .mas {
      display: block;
      font-family: var(--mono); font-size: 22px; line-height: 1;
      color: var(--azul-primera-luz); transition: transform .2s ease;
    }
    .hcat-btn[aria-expanded="true"] .mas { transform: rotate(45deg); }
    .hcat-cuerpo { padding: 0 2px 18px; }
    .hcat-cuerpo[hidden] { display: none; }
    .hcat .hd { margin: 0 0 12px; }

    /* --- Tablas: que respiren y no desborden --- */
    .tabla-scroll, .comp-scroll { margin-left: -18px; margin-right: -18px; padding: 0 18px; }
    .comp-t td:first-child, .comp-t th:first-child { padding-left: 0; }
    .comp-t td:last-child, .comp-t th:last-child { padding-right: 0; }
    .comp-t .hi { border-radius: 4px; }

    /* --- Comparativa: dos columnas a la vez --- */
    .comp-hint { display: none; }
    .comp-toggle { display: flex; gap: 8px; margin-bottom: 14px; }
    .comp-toggle .ct {
      flex: 1; min-height: 44px; padding: 9px 12px;
      font-family: var(--sans); font-size: 13px; font-weight: 600;
      color: var(--gris-azulado); background: #fff;
      border: 1px solid var(--azul-palido); border-radius: 8px; cursor: pointer;
    }
    .comp-toggle .ct.active {
      background: var(--azul-senal); border-color: var(--azul-senal); color: #fff;
    }
    .comp-scroll { overflow-x: visible; }
    .comp-t { min-width: 0; font-size: 13.5px; }
    .comp-t { min-width: 0; font-size: 13px; }
    .comp-t th, .comp-t td { padding: 11px 8px; }
    .comp-t td:first-child { width: 44%; }
    .comp-t.ver-planta th:nth-child(4), .comp-t.ver-planta td:nth-child(4),
    .comp-t.ver-agencia th:nth-child(3), .comp-t.ver-agencia td:nth-child(3) { display: none; }
  }

  /* ===== PANTALLA DE ENTRADA MÓVIL (estilo app) ===== */
  .mentry { display: none; }
  .appbar { display: none; }
  @media (max-width: 860px) {
    .mentry {
      display: flex; flex-direction: column; justify-content: space-between;
      min-height: 100svh; padding: 0 0 calc(84px + env(safe-area-inset-bottom, 0px));
      background: var(--indigo-noche); color: var(--marfil-frio);
      position: relative; overflow: hidden;
    }
    .hero { display: none; }
    .me-glow { position: absolute; top: -180px; right: -140px; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(62,109,181,.30) 0%, transparent 68%); pointer-events: none; }
    .me-ring { position: absolute; top: -70px; right: -60px; width: 300px; height: 300px; border: 1px solid rgba(134,176,225,.22); border-radius: 50%; pointer-events: none; animation: breathe 6s ease-in-out infinite; }
    @media (prefers-reduced-motion: reduce){ .me-ring{ animation:none } }
    .me-top { position: relative; padding: 22px 20px 0; }
    .me-top svg { height: 52px; width: auto; display: block; }
    .me-body { position: relative; padding: 26px 20px 0; }
    .me-eyebrow {
      display: inline-block; font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em;
      text-transform: uppercase; color: var(--azul-primera-luz);
      border: 1px solid rgba(134,176,225,.3); border-radius: 30px; padding: 5px 12px; margin: 0 0 16px;
    }
    .me-body h1 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px, 8.6vw, 40px); line-height: 1.08; letter-spacing: -.02em; margin: 0; }
    .me-body h1 .lit { font-style: italic; color: var(--azul-primera-luz); }
    .me-sub { font-size: 15.5px; line-height: 1.5; color: rgba(237,241,248,.75); margin: 14px 0 0; }
    .me-form { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
    .me-form input {
      width: 100%; min-height: 52px; background: rgba(255,255,255,.05);
      border: 1px solid rgba(134,176,225,.22); border-radius: 10px; padding: 14px 16px;
      font-family: var(--sans); font-size: 16px; color: var(--marfil-frio);
    }
    .me-form input::placeholder { color: rgba(237,241,248,.4); }
    .me-form input:focus { outline: none; border-color: var(--azul-primera-luz); background: rgba(255,255,255,.08); }
    .me-form button { width: 100%; min-height: 54px; justify-content: center; font-size: 16px; border-radius: 10px; margin-top: 2px; }
    .me-alt { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 14px; font-size: 14.5px; color: var(--azul-primera-luz); min-height: 44px; }
    .me-alt svg { flex-shrink: 0; }
    .me-ok { border-left: 2px solid var(--azul-primera-luz); padding: 4px 0 4px 16px; margin-top: 22px; font-family: var(--serif); font-style: italic; font-size: 18px; line-height: 1.45; }
    .me-scroll { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 18px 20px 6px; font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: rgba(237,241,248,.5); }
    .me-scroll .arw { font-size: 15px; animation: bob 1.8s ease-in-out infinite; }
    @keyframes bob { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(4px) } }
    @media (prefers-reduced-motion: reduce){ .me-scroll .arw{ animation:none } }

    /* Barra inferior tipo app */
    .appbar {
      display: grid; grid-template-columns: repeat(4, 1fr);
      position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
      background: rgba(20,24,51,.94); backdrop-filter: blur(12px);
      border-top: 1px solid rgba(134,176,225,.18);
      padding-bottom: env(safe-area-inset-bottom, 0px);
    }
    .appbar a {
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
      min-height: 62px; font-size: 10.5px; letter-spacing: .02em; color: rgba(237,241,248,.65);
      transition: color .15s ease;
    }
    .appbar a svg { width: 21px; height: 21px; }
    .appbar a:active, .appbar a:hover { color: var(--azul-primera-luz); }
    .appbar a.ab-wa { color: var(--wa); }
    /* Marca en qué sección va el usuario */
    .appbar a.aqui { color: var(--azul-primera-luz); }
    .appbar a.aqui::before {
      content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
      width: 26px; height: 2px; background: var(--azul-primera-luz); border-radius: 0 0 2px 2px;
    }
    .appbar a { position: relative; }
    body { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }
    header.nav { display: none; }
  }

  /* ===== MÓVIL ===== */
  @media (max-width: 640px) {
    .wrap { padding: 0 18px; }
    section { padding: 36px 0; }
    h1, h2 { letter-spacing: -.015em; }
    .hero .hero-title { font-size: clamp(31px, 8.4vw, 40px); line-height: 1.08; }
    .hero .sub { font-size: 16px; margin-top: 18px; }
    .hero .intro { font-size: 14px; margin-bottom: 16px; }
    .hero .arc { width: 380px; height: 380px; top: -110px; right: -140px; }
    .hero .arc.a2 { width: 260px; height: 260px; top: -40px; right: -70px; }
    .hero .row2 { gap: 10px; margin-top: 24px; }
    .hero .row2 .btn { width: 100%; justify-content: center; }
    .giros-bar { margin-top: 32px; padding: 16px 0 22px; }
    .phone { width: 100%; max-width: 320px; }
    .chat { min-height: 268px; }
    /* embudo compacto */
    .leak-step { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 14px; padding: 16px 18px; }
    .leak-n { font-size: 28px; }
    .leak-l { margin-top: 0; font-size: 13px; }
    .leak-bar { grid-column: 1 / -1; margin-top: 8px; }
    .leak-cost { padding: 14px 16px; }
    /* tabs y método */
    .tab { padding: 15px 16px; }
    .tab .th { font-size: 19px; }
    .tab .td { font-size: 13.5px; }
    .mock { padding: 16px; }
    .fnode { padding: 18px 16px; }
    .fdetail { padding: 20px 18px; }
    .fd-p { font-size: 14.5px; }
    .farrow { padding: 4px 0; font-size: 18px; }
    /* casos */
    .cpill { font-size: 13.5px; padding: 9px 16px; }
    .caso-text h3 { font-size: 21px; }
    .caso-text .li { font-size: 14.5px; }
    .caso-metrics { padding: 18px 18px; }
    .cm-row { padding: 10px 0; }
    /* calculadora */
    .calc-in { padding: 24px 20px 26px; gap: 26px; }
    .calc-out { padding: 24px 20px 26px; }
    .q-n { font-size: 17.5px; }
    .preset { flex: 1 1 auto; min-width: 92px; padding: 12px 10px; font-size: 14.5px; }
    .q-custom { font-size: 13px; }
    .ci-val input { width: 108px; }
    .co-num { font-size: 34px; }
    .calc-out .btn { width: 100%; justify-content: center; }
    /* comparativa con aviso de scroll */
    .comp-scroll { position: relative; }
    .comp-hint { display: block; }
    .comp-t { min-width: 560px; font-size: 13px; }
    .comp-t th, .comp-t td { padding: 11px 12px; }
    /* precios */
    .plan { padding: 22px 20px; }
    .plan .who, .plan .roi { min-height: 0; }
    .plan .price { font-size: 28px; }
    .precios .guarantee { align-items: flex-start; font-size: 12px; line-height: 1.5; border-radius: 12px; }
    /* herramientas y fundador */
    .hcat { padding: 20px 18px; }
    .founder-photo { max-width: 260px; aspect-ratio: 1/1; }
    .founder .caps { margin-top: 32px; padding-top: 24px; }
    /* faq y cta */
    .faq-q { padding: 18px 0; }
    .faq-q .qt { font-size: 15.5px; }
    .cta .txt { font-size: 16px; }
    .cta .btn-wa { width: 100%; justify-content: center; }
    .cform button[type=submit] { width: 100%; justify-content: center; }
    .ft-top svg { width: 110px; }
    /* Íconos y bloques que no deben desbordar */
    .mock, .caso-metrics, .fd-ex, .leak, .plan, .type, .hcat { max-width: 100%; }
    .md-val, .cm-v, .fd-row span:last-child { font-size: 12.5px; }
    .giro-row .em { font-size: 20px; line-height: 1; }
    .guarantee svg, .btn svg { flex: 0 0 auto; }
  }
  @media (max-width: 380px) {
    .preset { min-width: 0; font-size: 13.5px; padding: 11px 8px; }
    .stepper button { width: 46px; height: 46px; }
    .step-v { font-size: 26px; min-width: 52px; }
    .co-num { font-size: 30px; }
  }
  .comp-hint { display: none; font-family: var(--mono); font-size: 11px; color: var(--gris-azulado); margin: 0 0 8px; }
  .comp-note { font-family: var(--mono); font-size: 11px; line-height: 1.6; color: var(--gris-azulado); margin: 14px 0 0; }

  footer.ft { background: var(--noche-profunda); color: var(--marfil-frio); padding: 52px 0; }
  .ft-top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 32px; }
  .ft-top svg { width: 150px; height: auto; display: block; }
  .ft-tag { font-family: var(--serif); font-style: italic; font-size: 15px; color: rgba(237,241,248,.7); }
  .ft-about { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; margin-top: 36px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.1); }
  @media (max-width: 760px){ .ft-about{ grid-template-columns:1fr; gap:28px; margin-top:28px } }
  .ft-h { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--azul-primera-luz); margin: 0 0 12px; font-weight: 500; }
  .ft-about p { font-size: 14px; line-height: 1.6; color: rgba(237,241,248,.68); margin: 0 0 10px; max-width: 62ch; }
  .ft-about p strong { color: rgba(237,241,248,.92); font-weight: 600; }
  .ft-nap { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
  .ft-nap li { font-size: 14px; color: rgba(237,241,248,.8); }
  .ft-nap li span { display: block; font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: rgba(237,241,248,.45); margin-bottom: 2px; }
  .ft-nap a { color: var(--azul-primera-luz); }
  .ft-legal { margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-family: var(--mono); font-size: 11px; line-height: 1.7; color: rgba(237,241,248,.5); }
  .ft-legal p { margin: 0; }

  /* ===== Barra de progreso de lectura ===== */
  .progreso { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 200;
              background: linear-gradient(90deg, var(--azul-senal), var(--azul-primera-luz)); transition: width .1s linear; }
  @media (prefers-reduced-motion: reduce){ .progreso{ transition:none } }

  /* ===== El embudo de la Ruta ===== */
  .ruta-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 30px; align-items: start; margin-top: 24px; }
  @media (max-width: 860px){ .ruta-grid{ grid-template-columns: 1fr; gap: 16px } }
  .funnel { display: flex; flex-direction: column; align-items: center; gap: 7px; }
  .fbar { display: flex; align-items: center; justify-content: center; gap: 10px; width: var(--w); min-height: 44px;
          background: #fff; border: 1px solid var(--azul-palido); border-radius: 9px; cursor: pointer;
          font-family: var(--sans); padding: 9px 12px;
          transition: transform .2s ease, background .2s ease, border-color .2s ease; }
  .fbar:hover { border-color: var(--azul-primera-luz); transform: translateY(-2px); }
  .fbar.active { background: var(--indigo-noche); border-color: var(--indigo-noche); }
  .fbar.active .fb-t { color: #fff; }
  .fbar.active .fb-n { background: var(--azul-senal); color: #fff; }
  .fb-n { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--azul-palido); color: var(--azul-senal);
          font-family: var(--mono); font-size: 11.5px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
  .fb-t { font-weight: 600; font-size: 14.5px; color: var(--indigo-noche); white-space: nowrap; }
  .fun-flecha { font-family: var(--mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--gris-azulado); text-align: center; margin: 12px 0 0; }
  .fun-detail { background: #fff; border: 1px solid var(--azul-senal); border-radius: 12px; padding: 24px 26px; position: sticky; top: 86px; }
  .fun-k { font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--azul-senal); margin: 0 0 8px; }
  .fun-q { font-family: var(--serif); font-size: 22px; font-weight: 600; color: var(--indigo-noche); margin: 0; }
  .fun-d { font-size: 14.5px; line-height: 1.6; color: var(--gris-azulado); margin: 10px 0 0; }
  .fun-veredicto { margin: 16px 0 0; padding-top: 14px; border-top: 1px dashed var(--azul-palido); font-size: 13.5px; line-height: 1.55; color: var(--indigo-noche); }
  @media (max-width: 560px){
    .fbar { width: max(var(--w), 72%); }
    .fun-detail { position: static; padding: 20px 18px; }
  }
  .rv.in .fbar { animation: fadeUp .45s ease-out backwards; }
  .rv.in .fbar:nth-child(2){ animation-delay:.05s } .rv.in .fbar:nth-child(3){ animation-delay:.1s }
  .rv.in .fbar:nth-child(4){ animation-delay:.15s } .rv.in .fbar:nth-child(5){ animation-delay:.2s }
  .rv.in .fbar:nth-child(6){ animation-delay:.25s } .rv.in .fbar:nth-child(7){ animation-delay:.3s }
  @media (prefers-reduced-motion: reduce){ .rv.in .fbar{ animation:none } .fbar:hover{ transform:none } }

  /* ===== "Toca aquí" ===== */
  .toca { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: .12em;
          text-transform: uppercase; color: var(--azul-senal); margin: 16px 0 10px; }
  .toca .tf { display: inline-block; animation: nudge 1.6s ease-in-out infinite; }
  @keyframes nudge { 0%,100%{ transform: translateX(0) } 50%{ transform: translateX(5px) } }
  @media (prefers-reduced-motion: reduce){ .toca .tf{ animation:none } }

  /* ===== Vista previa del entregable (pestañas) ===== */
  .info-stage { margin-top: 14px; }
  .info-panel { display: none; }
  .info-panel.active { display: block; max-width: 560px; animation: fadeUp .35s ease-out; }
  @media (prefers-reduced-motion: reduce){ .info-panel.active{ animation:none } }

  /* ===== Entrada escalonada de rejillas (se siente vivo al hacer scroll) ===== */
  .rv.in > .capa-c, .rv.in > .eq-persona, .rv.in > .prob-c, .rv.in > .adm-col { animation: fadeUp .5s ease-out backwards; }
  .rv.in > *:nth-child(2) { animation-delay: .06s }
  .rv.in > *:nth-child(3) { animation-delay: .12s }
  .rv.in > *:nth-child(4) { animation-delay: .18s }
  .rv.in > *:nth-child(5) { animation-delay: .24s }
  .rv.in > *:nth-child(6) { animation-delay: .30s }
  .rv.in > *:nth-child(7) { animation-delay: .36s }
  @media (prefers-reduced-motion: reduce){ .rv.in > * { animation: none !important } }

  /* ===== Equipo (dos personas) · fondo AZUL PÁLIDO, texto oscuro ===== */
  .equipo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 38px; padding-top: 30px; border-top: 1px solid rgba(134,176,225,.5); }
  @media (max-width: 760px){ .equipo{ grid-template-columns:1fr; gap:12px; margin-top:28px; padding-top:24px } }
  .eq-persona { display: flex; gap: 15px; align-items: flex-start; background: #fff; border: 1px solid rgba(134,176,225,.45);
                border-radius: 12px; padding: 20px 20px; transition: transform .2s ease, box-shadow .2s ease; }
  .eq-persona:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(28,33,69,.09); }
  @media (prefers-reduced-motion: reduce){ .eq-persona:hover{ transform:none } }
  .eq-ini { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
            background: var(--indigo-noche); font-family: var(--mono); font-size: 14px; font-weight: 600; letter-spacing: .04em; color: var(--azul-primera-luz); }
  .eq-nom { font-family: var(--serif); font-size: 19px; font-weight: 600; color: var(--indigo-noche); line-height: 1.2; }
  .eq-rol { font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--azul-senal); margin-top: 5px; }
  .eq-d { font-size: 14px; line-height: 1.55; color: var(--gris-azulado); margin: 9px 0 0; }
  .hchips-full { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
  .hchips-full span { font-size: 12.5px; font-weight: 500; color: var(--azul-senal); background: #fff;
                      border: 1px solid rgba(134,176,225,.5); border-radius: 20px; padding: 5px 12px; }

  /* ===== Precio único ===== */
  .precio-uno { display: grid; grid-template-columns: 1.5fr 1fr; gap: 0; margin-top: 26px;
                background: #fff; border: 1px solid var(--azul-palido); border-radius: 14px; overflow: hidden;
                box-shadow: 0 10px 34px rgba(28,33,69,.07); }
  @media (max-width: 860px){ .precio-uno{ grid-template-columns:1fr } }
  .pu-main { padding: 34px 34px 32px; }
  @media (max-width: 560px){ .pu-main{ padding:26px 22px 24px } }
  .pu-main h3 { font-family: var(--serif); font-size: clamp(26px,3.6vw,34px); font-weight: 600; letter-spacing: -.015em; color: var(--indigo-noche); margin: 8px 0 0; }
  .pu-lead { font-size: 15.5px; line-height: 1.62; color: var(--gris-azulado); margin: 12px 0 0; max-width: 46ch; }
  .pu-lista { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 11px; }
  .pu-lista li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.55; color: #3D4560; }
  .pu-lista li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--azul-senal); }
  .pu-lista li:last-child::before { background: var(--azul-primera-luz); }
  .pu-side { background: var(--indigo-noche); color: var(--marfil-frio); padding: 34px 30px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
  @media (max-width: 560px){ .pu-side{ padding:26px 22px } }
  .pu-price { font-family: var(--mono); font-weight: 600; font-size: clamp(38px,6vw,50px); line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
  .pu-nota { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--azul-primera-luz); margin: 10px 0 22px; }
  .pu-side .btn { width: 100%; justify-content: center; }
  .pu-credito { font-size: 13.5px; line-height: 1.55; color: rgba(237,241,248,.7); margin-top: 16px; }
  .pu-credito b { color: var(--azul-primera-luz); }

  /* ===== "¿Y después?" ===== */
  .despues { margin-top: 22px; background: var(--marfil-frio); border: 1px solid var(--azul-palido); border-left: 3px solid var(--azul-senal); border-radius: 10px; padding: 24px 26px; }
  @media (max-width: 560px){ .despues{ padding:20px 18px } }
  .dp-k { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--azul-senal); margin: 0 0 10px; }
  .dp-t { font-size: 15.5px; line-height: 1.65; color: #3D4560; margin: 0; max-width: 76ch; }

  /* ===== Con quién trabajamos ===== */
  .admision { position: relative; overflow: hidden; background: var(--indigo-noche); color: var(--marfil-frio); padding: clamp(58px,8vw,92px) 0; }
  .admision h2 { color: #F3F6FB; }
  .admision .lead { color: rgba(237,241,248,.72); max-width: 62ch; }
  .adm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 34px; }
  @media (max-width: 860px){ .adm-grid{ grid-template-columns:1fr; gap:16px } }
  .adm-col { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 26px 26px 28px; }
  @media (max-width: 560px){ .adm-col{ padding:22px 18px 24px } }
  .adm-k { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 16px; }
  .adm-si { color: var(--azul-primera-luz); }
  .adm-no { color: #E4B77A; }
  .adm-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
  .adm-lista li { font-size: 14.5px; line-height: 1.6; color: rgba(237,241,248,.75); padding-left: 20px; position: relative; }
  .adm-lista li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: rgba(134,176,225,.5); }
  .adm-no ~ .adm-lista li::before { background: rgba(228,183,122,.5); }
  .adm-lista li b { color: #F3F6FB; font-weight: 600; }
  .adm-cupo { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px;
              background: rgba(134,176,225,.1); border: 1px solid rgba(134,176,225,.26); border-radius: 12px; padding: 22px 26px; }
  @media (max-width: 560px){ .adm-cupo{ padding:20px 18px } }
  .adm-cupo p { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(237,241,248,.85); max-width: 54ch; }
  .adm-cupo p b { color: #F3F6FB; }

/* ===========================================================
   PÁGINAS DE ARTÍCULO (agencia, servicios, guías)
   Añadido 25 sep 2026 al crecer a varias páginas.
   =========================================================== */
.art { max-width: 760px; margin: 0 auto; padding: 0 24px; }
@media (max-width: 700px){ .art { padding: 0 18px; } }
.art-top { background: var(--indigo-noche); color: var(--marfil-frio); position: relative; overflow: hidden; padding: clamp(54px,8vw,86px) 0 clamp(38px,6vw,60px); }
.art-top h1 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px,5vw,48px); line-height: 1.08; letter-spacing: -.02em; color: #F3F6FB; margin: 0 0 18px; }
.art-top .art-lead { font-size: clamp(16px,2vw,19px); line-height: 1.6; color: rgba(237,241,248,.78); margin: 0; max-width: 58ch; }
.art-top .eyebrow { color: var(--azul-primera-luz); margin-bottom: 16px; }
.miga { font-family: var(--mono); font-size: 11px; letter-spacing: .06em; color: rgba(237,241,248,.5); margin: 0 0 18px; }
.miga a { color: var(--azul-primera-luz); text-decoration: none; }
.miga a:hover { text-decoration: underline; }
.art-cuerpo { background: var(--blanco-frio); padding: clamp(40px,6vw,64px) 0 clamp(50px,7vw,76px); }
.art-cuerpo h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(23px,3.2vw,31px); line-height: 1.2; color: var(--indigo-noche); margin: 44px 0 14px; letter-spacing: -.01em; }
.art-cuerpo h2:first-child { margin-top: 0; }
.art-cuerpo h3 { font-family: var(--sans); font-weight: 600; font-size: 17px; color: var(--indigo-noche); margin: 26px 0 8px; }
.art-cuerpo p { font-size: 16.5px; line-height: 1.68; color: #3D4560; margin: 0 0 16px; }
.art-cuerpo p b, .art-cuerpo li b { color: var(--indigo-noche); font-weight: 600; }
.art-cuerpo ul { list-style: none; margin: 0 0 18px; padding: 0; }
.art-cuerpo li { position: relative; padding-left: 24px; margin-bottom: 10px; font-size: 16px; line-height: 1.6; color: #3D4560; }
.art-cuerpo li::before { content: ""; position: absolute; left: 3px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--azul-primera-luz); }
.art-cuerpo ol { counter-reset: q; list-style: none; margin: 0 0 18px; padding: 0; }
.art-cuerpo ol li { counter-increment: q; padding-left: 40px; margin-bottom: 16px; }
.art-cuerpo ol li::before { content: counter(q); top: 0; left: 0; width: 27px; height: 27px; border-radius: 50%; background: var(--azul-senal); color: #fff;
  font-family: var(--mono); font-size: 13px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.art-caja { background: #fff; border: 1px solid var(--azul-palido); border-left: 3px solid var(--azul-senal); border-radius: 10px; padding: 22px 24px; margin: 24px 0; }
.art-caja.ojo { border-left-color: #B5841F; background: #FDF8F0; }
.art-caja p:last-child { margin: 0; }
.art-caja .k { font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--azul-senal); margin: 0 0 10px; }
.art-caja.ojo .k { color: #8A6714; }
.art-cita { font-family: var(--serif); font-size: clamp(19px,2.6vw,24px); line-height: 1.35; color: var(--indigo-noche); border-left: 3px solid var(--azul-primera-luz); padding-left: 20px; margin: 28px 0; }
.art-tabla { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 20px 0; background: #fff; }
.art-tabla th { text-align: left; font-family: var(--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--gris-azulado); font-weight: 600; padding: 10px 12px; border-bottom: 1px solid var(--azul-palido); }
.art-tabla td { padding: 12px; border-bottom: 1px solid #EFF2F8; color: #3D4560; vertical-align: top; }
.art-tabla tr:last-child td { border-bottom: none; }
.art-tabla .hi { background: var(--azul-palido); }
.art-tabla td.hi b { color: var(--azul-senal); }
.art-scroll { overflow-x: auto; }
@media (max-width: 620px){ .art-tabla { min-width: 520px; } }
.art-cta { background: var(--indigo-noche); color: var(--marfil-frio); border-radius: 14px; padding: 34px 32px; margin: 40px 0 0; position: relative; overflow: hidden; }
@media (max-width: 560px){ .art-cta { padding: 26px 20px; } }
.art-cta h2 { color: #F3F6FB !important; margin: 0 0 12px !important; }
.art-cta p { color: rgba(237,241,248,.78); max-width: 52ch; }
.art-rel { margin-top: 40px; padding-top: 26px; border-top: 1px solid var(--azul-palido); }
.art-rel .k { font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--azul-senal); margin: 0 0 12px; }
.art-rel a { display: inline-block; margin-right: 18px; color: var(--azul-senal); font-weight: 500; font-size: 15px; }

/* ===========================================================
   QUÉ HACEMOS · el bloque de claridad (28 sep 2026)
   Tres tarjetas en lenguaje llano, justo debajo del hero.
   Sustituye a la sección METODO, que eran 395 palabras.
   =========================================================== */
.hacemos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 30px; }
@media (max-width: 860px){ .hacemos { grid-template-columns: 1fr; gap: 12px; } }
.hac { background: #fff; border: 1px solid var(--azul-palido); border-radius: 12px; padding: 26px 24px 24px;
       display: flex; flex-direction: column; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.hac:hover { transform: translateY(-4px); border-color: var(--azul-primera-luz); box-shadow: 0 12px 30px rgba(28,33,69,.09); }
@media (prefers-reduced-motion: reduce){ .hac:hover { transform: none; } }
.hac-n { font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--azul-senal); margin-bottom: 14px; }
.hac-t { font-family: var(--serif); font-size: clamp(22px,3vw,27px); font-weight: 600; color: var(--indigo-noche); line-height: 1.15; margin: 0 0 10px; letter-spacing: -.01em; }
.hac-d { font-size: 15.5px; line-height: 1.6; color: var(--gris-azulado); margin: 0 0 18px; flex: 1; }
.hac-d b { color: var(--indigo-noche); font-weight: 600; }
.hac-pie { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; color: var(--azul-senal); padding-top: 14px; border-top: 1px solid var(--azul-palido); }
.hac-pie b { font-size: 16px; color: var(--indigo-noche); }
.hac.destacada { border-color: var(--azul-senal); box-shadow: 0 10px 28px rgba(28,33,69,.08); }
.rv.in > .hac { animation: fadeUp .5s ease-out backwards; }
.hacemos-pie { margin-top: 26px; text-align: center; }
.hacemos-pie .mock { max-width: 560px; margin: 16px auto 0; text-align: left; }

/* Primera pantalla móvil: un solo botón, sin formulario (28 sep 2026).
   Pedíamos 3 datos antes de que supieran quiénes somos. */
.me-cta { width: 100%; justify-content: center; margin-top: 22px; }
.me-body .me-alt { display: inline-block; margin-top: 16px; }

/* ===========================================================
   AVISO DE PRIVACIDAD (28 sep 2026)
   Tenía su propia hoja incrustada. Se unificó aquí, aislada bajo .av
   porque usa clases que chocan con el sitio (.wrap, .intro).
   =========================================================== */
body.av{margin:0;background:var(--blanco-frio);color:var(--indigo-noche);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
.av .wrap{max-width:760px;margin:0 auto;padding:0 24px}
.av a{color:var(--azul-senal)}
.av a:focus-visible{outline:2px solid var(--azul-primera-luz);outline-offset:3px}
.av header.top{background:var(--indigo-noche);padding:22px 0}
.av header.top .row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.av header.top svg{height:48px;width:auto;display:block}
.av header.top a.volver{color:var(--azul-primera-luz);font-size:14px;text-decoration:none}
.av header.top a.volver:hover{text-decoration:underline}
.av main{padding:56px 0 72px}
.av h1{font-family:var(--serif);font-weight:600;font-size:clamp(30px,5vw,44px);line-height:1.1;letter-spacing:-.015em;margin:0 0 12px}
.av .actualizado{font-family:var(--mono);font-size:12px;color:var(--gris-azulado);margin:0 0 8px}
.av .intro{font-size:17px;color:var(--gris-azulado);margin:0 0 40px;padding-bottom:28px;border-bottom:1px solid var(--azul-palido)}
.av h2{font-family:var(--serif);font-weight:600;font-size:clamp(21px,2.8vw,26px);line-height:1.2;margin:38px 0 12px}
.av h3{font-size:16px;font-weight:600;margin:22px 0 8px}
.av p{margin:0 0 14px;color:#3f4760}
.av ul{margin:0 0 16px;padding:0;list-style:none}
.av li{position:relative;padding-left:22px;margin-bottom:8px;color:#3f4760}
.av li::before{content:"";position:absolute;left:3px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--azul-primera-luz)}
.av strong{color:var(--indigo-noche);font-weight:600}
.av .dato{background:#fff;border:1px solid var(--azul-palido);border-left:3px solid var(--azul-senal);border-radius:6px;padding:20px 22px;margin:20px 0}
.av .dato p{margin:0 0 6px}
.av .dato p:last-child{margin:0}
.av footer.pie{background:var(--noche-profunda);color:var(--marfil-frio);padding:36px 0;margin-top:60px}
.av footer.pie p{font-family:var(--mono);font-size:11.5px;color:rgba(237,241,248,.55);margin:0 0 5px}
.av footer.pie a{color:var(--azul-primera-luz)}

  @media (max-width:640px){.av main{padding:40px 0 56px}.av header.top svg{height:40px}}

/* La etiqueta 'Paso 1' de precios: su regla era .plan .pk y .plan desaparecio
   al pasar a un solo precio (28 sep 2026). */
.pk { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--azul-senal); }

/* Pie de foto y notas al pie. Su regla dependia de una seccion
   que ya no existe, asi que quedaba sin formato en las guias. */
.note { font-size: 13px; line-height: 1.55; color: var(--gris-azulado); margin: 10px 0 0; }
