/* Base compartida de las landings. GENERADO — no editar a mano.
 * Lo produce scripts/extraer-css-base.mjs, que documenta las tres condiciones que debe
 * cumplir una regla para acabar aquí. Carga ANTES del <style> de cada página, que es donde
 * estaban estas reglas, para que el orden de cascada no cambie.
 */

*{box-sizing:border-box;margin:0;padding:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(72rem,calc(100% - 2.5rem));margin-inline:auto}
.h2 em{font-style:normal;color:var(--accent)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.8rem}
.nav img{width:8.25rem;height:auto;filter:brightness(0)}
.hero h1 em{font-style:normal;color:var(--accent)}
.chip i{display:inline-block;width:.45rem;height:.45rem;border-radius:999px;background:var(--accent);margin-right:.45rem;vertical-align:.02rem}
.tape-track{display:flex;gap:2.6rem;width:max-content;animation:tape 26s linear infinite}
.tape span{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.tape b{color:var(--accent);font-weight:400}
.vs-col.sp h3{color:var(--accent)}
.faq summary::-webkit-details-marker{display:none}
/* ===== UI-UPGRADE ===== */
::selection{background:var(--accent);color:var(--accent-ink)}
.grain{position:fixed;inset:-50%;z-index:80;pointer-events:none;opacity:.038;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
.mmenu.open{clip-path:circle(150% at calc(100% - 2.9rem) 2.4rem);pointer-events:auto;visibility:visible}
.mmenu a:hover,.mmenu a[aria-current]{color:var(--accent)}
.mmenu.open a{opacity:1;transform:none}
.mmenu .mm-mail{font-family:var(--font-mono);font-size:.85rem;font-weight:400;letter-spacing:.06em;color:#b9b4a9;margin-top:1.6rem}
.mmenu-close{position:fixed;top:1.35rem;right:1.6rem;z-index:91;width:2.6rem;height:2.6rem;border-radius:999px;border:1px solid rgba(255,255,255,.3);
  background:transparent;color:#fff;font-size:1.2rem;cursor:pointer;display:none}
.mmenu.open~.mmenu-close,.mmenu.open+.mmenu-close{display:block}
.bf-brand{display:grid;gap:1.1rem;align-content:start}
/* Placeholders de logo (mismo hueco exacto que la imagen original 1871x460) */
.logo-ph{display:inline-flex;align-items:center;justify-content:center;width:8.25rem;aspect-ratio:1871/460;
  border:1px dashed rgba(23,23,22,.35);border-radius:.3rem;background:rgba(23,23,22,.045);
  font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(23,23,22,.5);user-select:none;flex:none}
.logo-ph::before{content:"Logo"}
.logo-ph--dark{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.05);color:rgba(255,255,255,.55)}
.logo-ph--lg{width:8.5rem}
/* Franja de criterio */
.proof{display:grid;grid-template-columns:1fr auto;gap:clamp(1.4rem,3.4vw,3rem);align-items:center;
  padding:clamp(1.5rem,3vw,2.1rem) clamp(1.4rem,3vw,2.3rem);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-soft)}
.proof p{max-width:34rem;font-size:.97rem;color:var(--ink-2);text-wrap:pretty}
.proof-stats{display:flex;gap:clamp(1.3rem,3vw,2.6rem)}
.proof-stat{display:grid;gap:.25rem;position:relative;padding-left:1rem}
.proof-stat::before{content:"";position:absolute;left:0;top:.2rem;bottom:.2rem;width:2px;border-radius:2px;background:var(--accent)}
.proof-stat b{font-family:var(--font-mono);font-weight:500;font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:-.03em;line-height:1}
.proof-stat span{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.step:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(20,18,16,.1);border-color:rgba(250,154,99,.4)}
/* Precio: una sola auditoría */
.offer{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:.92fr 1.08fr;
  gap:clamp(1.8rem,4vw,3.6rem);border-radius:var(--r-lg);padding:clamp(2rem,4vw,3rem);
  background:var(--dark);color:#fff;border:1px solid rgba(250,154,99,.4);box-shadow:0 34px 80px rgba(9,9,9,.3)}
.offer::before{content:"";position:absolute;inset:0;opacity:.4;z-index:-1;
  background-image:linear-gradient(rgba(250,154,99,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(250,154,99,.08) 1px,transparent 1px);
  background-size:38px 38px;mask-image:radial-gradient(120% 100% at 100% 0,#000 20%,transparent 75%)}
.offer-main{display:grid;gap:1rem;align-content:start}
.offer h3{font-size:clamp(1.35rem,2.4vw,1.65rem);font-weight:700;letter-spacing:-.03em}
.offer-note{font-size:.88rem;color:#a8a396;max-width:24rem;text-wrap:pretty}
.offer-list{display:grid;gap:.9rem;align-content:start}
.offer-list b{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500}
.offer-list ul{list-style:none;display:grid;gap:.62rem}
.offer-list li{display:grid;grid-template-columns:1.15rem 1fr;gap:.7rem;font-size:.95rem;color:#dcd8ce;text-wrap:pretty}
.offer-list li svg{margin-top:.3rem}
/* Asesoría frente a gestión integral */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.1rem}
/* Fila flexible para el párrafo: así las dos tarjetas alinean su última línea aunque
   el texto no ocupe lo mismo, en vez de dejar un hueco distinto en cada una. */
.cmp{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem;padding:1.5rem 1.4rem;
  border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-soft)}
.cmp.pick{border-color:rgba(250,154,99,.45);background:#fff}
.cmp-h{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.cmp h3{font-size:1.02rem;font-weight:650;letter-spacing:-.015em}
.cmp .amt{font-family:var(--font-mono);font-size:.92rem;color:var(--accent);white-space:nowrap}
.cmp p{font-size:.92rem;color:var(--muted);text-wrap:pretty}
.cmp-foot{align-self:end;margin-top:.5rem;font-size:.88rem;font-weight:600;color:var(--ink-2);width:fit-content}
a.cmp-foot{color:var(--ink);border-bottom:1px solid rgba(250,154,99,.6);transition:color .2s var(--sp-motion-ease)}
a.cmp-foot:hover{color:var(--accent)}
/* Cross-sell */
.xsell{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.xcard:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(20,18,16,.1);border-color:rgba(250,154,99,.4)}
.xcard:hover::before{opacity:1}
.xcard h3{font-size:1.2rem;font-weight:650;letter-spacing:-.02em}
.xcard p{font-size:.92rem;color:var(--muted)}
.final::before{content:"";position:absolute;inset:0;opacity:.45;
  background-image:linear-gradient(rgba(250,154,99,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(250,154,99,.08) 1px,transparent 1px);
  background-size:42px 42px;mask-image:radial-gradient(90% 100% at 50% 100%,#000 20%,transparent 75%)}
.final>*{position:relative}
/* La miga en el naranja de marca daba 1,85:1 sobre el fondo claro: es texto y le toca 4,5:1.
   El separador pasa al gris de apoyo (4,82:1) y el hover, a la tinta. */
.crumbs a:hover{color:var(--ink)}
.crumbs .sep{color:var(--muted)}

/* Plan 4 · bloque 0 (15/09/2026): cuerpo a 16 px en móvil en la oferta, la comparativa y las tarjetas cruzadas. */
@media (max-width:600px){.offer-note,.cmp p,.xcard p{font-size:1rem}}
