/* ============================================================
   RevGuru -- hoja de estilos unificada del sitio institucional
   Generada a partir de los <style> inline de las 5 paginas.

   POLITICA DE SEGURIDAD DE ESTA GENERACION:
   Cada selector que no forma parte del reset/base compartido se
   emite SIEMPRE con scope :where(.page-X) por archivo de origen,
   respetando el orden relativo original de ESE archivo. Esto evita
   fugas de cascada entre paginas incluso cuando dos paginas tienen
   el mismo selector con el mismo cuerpo pero distinto orden relativo
   frente a otro selector de igual especificidad (caso real detectado:
   .brandline vs .camino-note, cuyo ganador difiere por pagina).
   ============================================================ */

/* ---- Tipografia: @font-face ---- */
@font-face{ font-family:'Disp'; src:url('assets/outfit-light.ttf') format('truetype'); font-weight:300; }
@font-face{ font-family:'Disp'; src:url('assets/outfit-regular.ttf') format('truetype'); font-weight:400; }
@font-face{ font-family:'Disp'; src:url('assets/outfit-medium.ttf') format('truetype'); font-weight:500; }
@font-face{ font-family:'Disp'; src:url('assets/outfit-semibold.ttf') format('truetype'); font-weight:600; }
@font-face{ font-family:'Disp'; src:url('assets/outfit-bold.ttf') format('truetype'); font-weight:700; }
@font-face{ font-family:'Body'; src:url('assets/hanken-regular.ttf') format('truetype'); font-weight:400; }
@font-face{ font-family:'Body'; src:url('assets/hanken-bold.ttf') format('truetype'); font-weight:700; }
@font-face{ font-family:'Body'; src:url('assets/hanken-italic.ttf') format('truetype'); font-weight:400; font-style:italic; }

/* ---- Reset y base (identico en todas las paginas) ---- */
*{ box-sizing:border-box; }
*{ scrollbar-color: var(--teal-light) var(--paper-tint); scrollbar-width: thin; }
:root{ --ink:#052A4C;
  --ink-soft:#445F79;
  --teal:#078F9C;
  --teal-600:#057985;
  --teal-light:#45ABB5;
  --paper-tint:#DAEEF0;
  --paper:#FDFEFE;
  --lime:#C7E54A;
  --terracotta:#A94455;
  --body-ink:#171C22;

  --container:1200px;
  --gutter:clamp(24px, 5vw, 64px);
  --radius-s:10px;
  --radius-m:16px;
  --radius-l:28px;
  --ease: cubic-bezier(.16,.8,.24,1); }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--paper); color:var(--body-ink);
  font-family:'Body',-apple-system,sans-serif; font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4{ font-family:'Disp',sans-serif; color:var(--ink); margin:0; letter-spacing:-0.02em; }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; }
::selection{ background:var(--lime); color:var(--ink); }
:focus-visible{ outline:2.5px solid var(--teal-600); outline-offset:3px; border-radius:4px; }
::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-track{ background:var(--paper-tint); }
::-webkit-scrollbar-thumb{ background:var(--teal-light); border-radius:8px; border:2.5px solid var(--paper-tint); }
::placeholder{ color:var(--ink-soft); opacity:1; }

/* ---- Keyframes ---- */
@keyframes bubbleIn{ from{ opacity:0; transform:translateY(8px) scale(.98);} to{ opacity:1; transform:none; } }

/* ---- Reglas por pagina, cada una en el orden original de su archivo ---- */
/* == index.html == */
:where(.page-home) .container{ max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
:where(.page-home) .section{ padding:clamp(72px,11vw,132px) 0;
  background:
    radial-gradient(78% 56% at 50% -10%, rgba(199,229,239,.95), transparent 68%),
    var(--paper); }
:where(.page-home) .section--tint{ background:
    radial-gradient(95% 68% at 50% -22%, rgba(255,255,255,.95), transparent 64%),
    var(--paper-tint); }
:where(.page-home) .section--ink{ background:
    radial-gradient(95% 70% at 16% -18%, rgba(69,171,181,.34), transparent 62%),
    radial-gradient(70% 55% at 94% 112%, rgba(69,171,181,.18), transparent 66%),
    var(--ink);
  color:var(--paper-tint); }
:where(.page-home) .section--ink h1, :where(.page-home) .section--ink h2, :where(.page-home) .section--ink h3{ color:#fff; }
:where(.page-home) .section--slate{ background:
    radial-gradient(90% 65% at 15% -16%, rgba(255,255,255,.18), transparent 62%),
    radial-gradient(70% 55% at 96% 112%, rgba(69,171,181,.26), transparent 64%),
    var(--ink-soft);
  color:rgba(255,255,255,.86); }
:where(.page-home) .section--slate h1, :where(.page-home) .section--slate h2, :where(.page-home) .section--slate h3{ color:#fff; }
:where(.page-home) .section--slate .lede{ color:rgba(255,255,255,.82); }
:where(.page-home) .section--slate .thread-copy p{ color:rgba(255,255,255,.75); }
:where(.page-home) .beat-accent{ display:block; width:56px; height:3px; background:var(--terracotta); border-radius:2px; margin:0 auto; }
:where(.page-home) .eyebrow-visual{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:where(.page-home) .h-display{ font-weight:600; line-height:1.08; letter-spacing:-0.018em; }
:where(.page-home) .h1-scale{ font-size:clamp(2.3rem, 3.2vw + 1.1rem, 3.8rem); }
:where(.page-home) .h2-scale{ font-size:clamp(1.7rem, 1.6vw + 1.1rem, 2.5rem); }
:where(.page-home) .h3-scale{ font-size:clamp(1.15rem, 0.5vw + 1rem, 1.4rem); }
:where(.page-home) .lede{ font-size:clamp(1.05rem, 0.3vw + 1rem, 1.2rem); line-height:1.55; color:var(--ink-soft); max-width:62ch; }
:where(.page-home) .section--ink .lede{ color:var(--paper-tint); }
:where(.page-home) .btn{ display:inline-flex; align-items:center; gap:8px; justify-content:center;
  font-family:'Body',sans-serif; font-weight:700; font-size:0.98rem; letter-spacing:-0.005em;
  padding:14px 26px; border-radius:999px; cursor:pointer; white-space:nowrap;
  transition:background-color 220ms var(--ease), color 220ms var(--ease), border-color 220ms var(--ease), transform 160ms var(--ease), box-shadow 220ms var(--ease);
  border:1.5px solid transparent; }
:where(.page-home) .btn:active{ transform:translateY(1px); }
:where(.page-home) .btn--primary{ background:var(--teal-600); color:#fff; box-shadow:0 1px 2px rgba(5,42,76,.14); }
:where(.page-home) .btn--primary:hover{ background:var(--ink); box-shadow:0 6px 20px -6px rgba(0,0,0,.4); }
:where(.page-home) .btn--ghost{ background:transparent; color:var(--ink); border-color:rgba(5,42,76,.28); }
:where(.page-home) .btn--ghost:hover{ border-color:var(--ink); background:rgba(5,42,76,.045); }
:where(.page-home) .btn--ghost-onink{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
:where(.page-home) .btn--ghost-onink:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
:where(.page-home) .btn--teal{ background:transparent; color:#fff; border-color:rgba(7,143,156,.85); }
:where(.page-home) .btn--teal:hover{ background:var(--teal-600); border-color:var(--teal-600); }
:where(.page-home) .btn--text{ padding:10px 4px; border-radius:4px; color:var(--teal-600); font-weight:700; }
:where(.page-home) .btn--text:hover{ color:var(--ink); }
:where(.page-home) .btn--text svg{ transition:transform 220ms var(--ease); }
:where(.page-home) .btn--text:hover svg{ transform:translateX(3px); }
:where(.page-home) .btn--lg{ padding:17px 34px; font-size:1.05rem; }
:where(.page-home) .tag-mark{ color:var(--ink); background:var(--lime); padding:.04em .14em; border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
:where(.page-home) .site-header{ position:sticky; top:0; z-index:60; background:rgba(253,254,254,.86);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent; transition:border-color 260ms var(--ease), box-shadow 260ms var(--ease); }
:where(.page-home) .site-header.is-scrolled{ border-color:rgba(5,42,76,.1); box-shadow:0 8px 24px -18px rgba(5,42,76,.35); }
:where(.page-home) .nav-row{ display:flex; align-items:center; justify-content:space-between; height:78px; gap:24px; }
:where(.page-home) .brand img{ height:35px; width:auto; }
:where(.page-home) .nav-links{ display:flex; align-items:center; gap:clamp(20px,2vw,36px); list-style:none; margin:0; padding:0; }
:where(.page-home) .nav-links a{ font-weight:600; font-size:1.05rem; color:var(--ink); padding:8px 2px; position:relative; }
:where(.page-home) .nav-links a::after{ content:''; position:absolute; left:2px; right:2px; bottom:2px; height:2px; background:var(--teal-600);
  transform:scaleX(0); transform-origin:left; transition:transform 220ms var(--ease); }
:where(.page-home) .nav-links a:hover::after{ transform:scaleX(1); }
:where(.page-home) .nav-actions{ display:flex; align-items:center; gap:14px; }
:where(.page-home) .nav-cta{ display:inline-flex; }
:where(.page-home) .menu-toggle{ display:none; width:44px; height:44px; border-radius:10px; border:1.5px solid rgba(5,42,76,.18);
  background:transparent; align-items:center; justify-content:center; cursor:pointer; }
:where(.page-home) .menu-toggle span, :where(.page-home) .menu-toggle::before, :where(.page-home) .menu-toggle::after{ display:none; }
:where(.page-home) .menu-toggle svg{ width:20px; height:20px; }
:where(.page-home) .menu-toggle .icon-close{ display:none; }
:where(.page-home) .menu-toggle[aria-expanded="true"] .icon-open{ display:none; }
:where(.page-home) .menu-toggle[aria-expanded="true"] .icon-close{ display:block; }
:where(.page-home) .mobile-panel{ display:none; position:fixed; inset:78px 0 0 0; background:var(--paper); z-index:55;
  padding:28px var(--gutter) 40px; overflow-y:auto; }
:where(.page-home) .mobile-panel.is-open{ display:block; }
:where(.page-home) .mobile-panel ul{ list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:4px; }
:where(.page-home) .mobile-panel a{ display:block; padding:16px 4px; font-size:1.2rem; font-weight:600; color:var(--ink); border-bottom:1px solid rgba(5,42,76,.1); }
:where(.page-home) .rail{ position:fixed; right:26px; top:50%; transform:translateY(-50%); z-index:50;
  display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
:where(.page-home) .rail-item{ display:flex; align-items:center; gap:10px; cursor:pointer; }
:where(.page-home) .rail-label{ font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink);
  background:var(--paper); padding:5px 10px; border-radius:6px; box-shadow:0 4px 14px -6px rgba(5,42,76,.28);
  opacity:0; transform:translateX(6px); transition:opacity 200ms var(--ease), transform 200ms var(--ease);
  white-space:nowrap; pointer-events:none; }
:where(.page-home) .rail-item:hover .rail-label, :where(.page-home) .rail-item.is-active .rail-label{ opacity:1; transform:translateX(0); }
:where(.page-home) .rail-dot{ width:9px; height:9px; border-radius:50%; background:rgba(5,42,76,.22); transition:background 220ms var(--ease), transform 220ms var(--ease); flex:none; }
:where(.page-home) .rail-item.is-active .rail-dot{ background:var(--teal-600); transform:scale(1.35); }
:where(.page-home) .rail-track{ position:absolute; right:4px; top:0; bottom:0; width:2px; background:rgba(5,42,76,.12); z-index:-1; border-radius:2px; }
:where(.page-home) .hero{ padding-top:clamp(56px,8vw,96px); padding-bottom:clamp(64px,9vw,112px); overflow:hidden; }
:where(.page-home) .hero-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr); gap:clamp(40px,6vw,80px); align-items:center; }
:where(.page-home) .hero-copy h1{ margin-top:14px; }
:where(.page-home) .hero-copy .lede{ margin-top:22px; }
:where(.page-home) .hero-copy .lede + .lede{ margin-top:14px; }
:where(.page-home) .hero-copy .lede strong{ color:#fff; font-weight:700; }
:where(.page-home) .hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
:where(.page-home) .phone-wrap{ position:relative; display:flex; justify-content:center; }
:where(.page-home) .chat-card{ width:100%; max-width:380px; background:#fff; border-radius:22px; overflow:hidden;
  box-shadow:0 30px 60px -24px rgba(0,0,0,.4), 0 4px 14px -6px rgba(0,0,0,.2);
  border:1px solid rgba(5,42,76,.06); }
:where(.page-home) .chat-head{ background:var(--ink); color:#fff; padding:16px 18px; display:flex; align-items:center; gap:12px; }
:where(.page-home) .chat-avatar{ width:38px; height:38px; border-radius:50%; background:var(--teal-600); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; flex:none; }
:where(.page-home) .chat-head-meta strong{ display:block; font-size:.92rem; font-weight:700; }
:where(.page-home) .chat-head-meta span{ display:block; font-size:.75rem; color:var(--paper-tint); margin-top:2px; }
:where(.page-home) .chat-body{ background:#EAF3F1; padding:20px 16px; display:flex; flex-direction:column; gap:10px; min-height:300px; }
:where(.page-home) .bubble{ max-width:82%; padding:10px 13px; border-radius:14px; font-size:.87rem; line-height:1.42; position:relative; animation:bubbleIn 640ms var(--ease) both; }
:where(.page-home) .bubble .meta{ display:block; font-size:.65rem; margin-top:4px; opacity:.62; font-weight:600; }
:where(.page-home) .bubble--in{ background:#fff; color:var(--body-ink); align-self:flex-start; border-bottom-left-radius:4px; }
:where(.page-home) .bubble--out{ background:var(--teal-600); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
:where(.page-home) .bubble--out .meta{ text-align:right; }
:where(.page-home) .bubble--card{ background:#fff; align-self:flex-end; border-bottom-right-radius:4px; padding:0; overflow:hidden; width:82%; }
:where(.page-home) .bubble--card .card-top{ background:var(--paper-tint); padding:10px 13px; font-size:.72rem; font-weight:700; color:var(--ink); text-transform:uppercase; letter-spacing:.05em; }
:where(.page-home) .bubble--card .card-body{ padding:12px 13px; }
:where(.page-home) .bubble--card .card-body strong{ display:block; font-size:.95rem; color:var(--ink); }
:where(.page-home) .bubble--card .card-body span{ display:block; font-size:.78rem; color:var(--ink-soft); margin-top:3px; }
:where(.page-home) .bubble--card .card-price{ margin-top:8px; font-size:1.05rem; font-weight:700; color:var(--teal-600); }
:where(.page-home) .chat-figcap{ text-align:center; font-size:.78rem; color:rgba(255,255,255,.58); margin-top:14px; font-style:italic; }
:where(.page-home) .mecanismo-head{ max-width:760px; margin:0 auto; text-align:center; }
:where(.page-home) .mecanismo-head .lede{ margin:20px auto 0; }
:where(.page-home) .mecanismo-head .lede + .lede{ margin-top:14px; }
:where(.page-home) .expression{ margin:clamp(56px,8vw,96px) 0 clamp(48px,7vw,84px);
  text-align:center; font-weight:600; letter-spacing:-0.03em; color:var(--ink);
  font-size:clamp(2.1rem, 5.4vw, 4.6rem); line-height:1.06; }
:where(.page-home) .expr-term{ transition:color 420ms var(--ease); }
:where(.page-home) .expr-term.is-active{ color:var(--teal-600); }
:where(.page-home) .expr-sep{ color:rgba(5,42,76,.28); }
:where(.page-home) .capabilities{ --cap-gap:clamp(28px,3vw,44px); display:grid; grid-template-columns:repeat(3,1fr); gap:var(--cap-gap); }
:where(.page-home) .capability{ position:relative; }
:where(.page-home) .capability:not(:last-child)::after{ content:''; position:absolute; top:15px; left:100%; width:var(--cap-gap); height:2px;
  background:var(--teal-light); opacity:.55; z-index:1; }
:where(.page-home) .cap-num{ display:flex; align-items:center; justify-content:center; position:relative; z-index:2;
  width:32px; height:32px; border-radius:50%; margin-bottom:16px;
  background:var(--paper); border:2px solid var(--teal-light); color:var(--teal-light);
  font-family:'Disp',sans-serif; font-weight:600; font-size:.85rem; font-variant-numeric:tabular-nums;
  transition:background-color 420ms var(--ease), border-color 420ms var(--ease), color 420ms var(--ease); }
:where(.page-home) .capability.is-active .cap-num{ background:var(--teal-600); border-color:var(--teal-600); color:#fff; }
:where(.page-home) .capability .cap-head{ display:flex; align-items:flex-start; gap:11px; margin-bottom:10px; }
:where(.page-home) .capability .cap-icon{ flex:none; width:19px; height:19px; margin-top:3px; stroke:var(--ink-soft); }
:where(.page-home) .capability h3{ font-size:1.03rem; font-weight:700; color:var(--ink); line-height:1.32; }
:where(.page-home) .capability p{ font-size:.92rem; color:var(--ink-soft); line-height:1.5; }
:where(.page-home) .mecanismo-ctas{ display:flex; justify-content:center; flex-wrap:wrap; gap:16px; margin-top:26px; }
:where(.page-home) .split{ display:grid; grid-template-columns:1fr; gap:clamp(16px,2vw,28px); max-width:760px; }
:where(.page-home) .equipo-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(32px,4vw,56px); margin-top:clamp(48px,6vw,72px); align-items:start; }
:where(.page-home) .equipo-col h3{ font-size:1.15rem; font-weight:700; margin-bottom:12px; }
:where(.page-home) .equipo-col p{ color:var(--ink-soft); font-size:.98rem; }
:where(.page-home) .equipo-text{ display:flex; flex-direction:column; gap:clamp(28px,3.4vw,40px); }
:where(.page-home) .equipo-media{ display:flex; flex-direction:column; }
:where(.page-home) .crm-card{ background:var(--paper); border:1px solid rgba(5,42,76,.1); border-radius:var(--radius-m); overflow:hidden; box-shadow:0 24px 48px -30px rgba(5,42,76,.32); }
:where(.page-home) .crm-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; background:rgba(69,171,181,.12); border-bottom:1px solid rgba(5,42,76,.08); }
:where(.page-home) .crm-head strong{ font-size:.85rem; color:var(--ink); }
:where(.page-home) .crm-head span{ font-size:.72rem; color:var(--ink-soft); font-weight:600; }
:where(.page-home) .crm-rows{ display:flex; flex-direction:column; }
:where(.page-home) .crm-row{ display:flex; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid rgba(5,42,76,.06); font-size:.85rem; }
:where(.page-home) .crm-row:last-child{ border-bottom:none; }
:where(.page-home) .crm-avatar{ width:28px; height:28px; border-radius:50%; background:var(--paper-tint); color:var(--ink); font-size:.68rem; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; }
:where(.page-home) .crm-row .who{ font-weight:700; color:var(--ink); flex:1; min-width:0; }
:where(.page-home) .crm-row .who span{ display:block; font-weight:400; color:var(--ink-soft); font-size:.76rem; margin-top:1px; }
:where(.page-home) .crm-status{ font-size:.68rem; font-weight:700; letter-spacing:.03em; padding:5px 10px; border-radius:999px; white-space:nowrap; }
:where(.page-home) .crm-status--new{ background:rgba(199,229,74,.35); color:var(--ink); }
:where(.page-home) .crm-status--follow{ background:rgba(7,143,156,.14); color:var(--teal-600); }
:where(.page-home) .crm-status--won{ background:var(--ink); color:#fff; }
:where(.page-home) .crm-figcap{ text-align:center; font-size:.78rem; color:var(--ink-soft); margin-top:14px; font-style:italic; }
:where(.page-home) .thread-list{ margin-top:clamp(48px,6vw,72px); position:relative; max-width:740px; margin-left:auto; margin-right:auto; }
:where(.page-home) .thread-list::before{ content:''; position:absolute; left:27px; top:6px; bottom:6px; width:2px;
  background:linear-gradient(var(--teal-light), var(--teal-600)); z-index:1; }
:where(.page-home) .thread-item{ position:relative; display:flex; gap:24px; padding-bottom:clamp(38px,5vw,54px); }
:where(.page-home) .thread-item:last-child{ padding-bottom:0; }
:where(.page-home) .thread-node{ flex:none; width:56px; height:56px; border-radius:50%; background:var(--paper);
  border:2px solid var(--teal-light); display:flex; align-items:center; justify-content:center;
  position:relative; z-index:2; box-shadow:0 10px 22px -12px rgba(0,0,0,.3); }
:where(.page-home) .thread-node svg{ width:23px; height:23px; stroke:var(--teal-600); }
:where(.page-home) .thread-copy{ padding-top:9px; }
:where(.page-home) .thread-copy h3{ font-size:1.1rem; font-weight:700; margin-bottom:8px; }
:where(.page-home) .thread-copy p{ color:var(--ink-soft); font-size:.96rem; max-width:56ch; }
:where(.page-home) .closer-callout{ margin-top:clamp(56px,7vw,84px); background:var(--ink); border-radius:var(--radius-l);
  padding:clamp(36px,5vw,56px) clamp(28px,5vw,64px); max-width:820px; margin-left:auto; margin-right:auto; text-align:center; }
:where(.page-home) .closer-callout .beat-accent{ margin-bottom:24px; }
:where(.page-home) .closer-callout-text{ font-family:'Disp',sans-serif; font-weight:600; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.3; color:#fff; }
:where(.page-home) .stepper{ margin-top:clamp(48px,6vw,72px); display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
:where(.page-home) .step{ position:relative; padding:0 20px 0 0; }
:where(.page-home) .step-num{ width:46px; height:46px; border-radius:50%; background:var(--teal-light); border:none;
  color:var(--ink); font-family:'Disp',sans-serif; font-weight:600; font-size:1.05rem;
  display:flex; align-items:center; justify-content:center; font-variant-numeric:tabular-nums; margin-bottom:20px; position:relative; z-index:2; }
:where(.page-home) .step::after{ content:''; position:absolute; top:23px; left:46px; right:-20px; height:2px; background:rgba(69,171,181,.5); z-index:1; }
:where(.page-home) .step:last-child::after{ display:none; }
:where(.page-home) .step h3{ font-size:1.02rem; font-weight:700; margin-bottom:8px; }
:where(.page-home) .step p{ color:var(--ink-soft); font-size:.9rem; }
:where(.page-home) .implementacion-cta{ margin-top:clamp(48px,6vw,72px); text-align:center; }
:where(.page-home) .demo-inner{ max-width:680px; margin:0 auto; text-align:center; }
:where(.page-home) .demo-inner .lede{ margin:22px auto 0; color:var(--paper-tint); }
:where(.page-home) .demo-inner .lede + .lede{ margin-top:14px; }
:where(.page-home) .demo-inner .beat-accent{ margin:32px auto 0; }
:where(.page-home) .demo-inner .btn{ margin-top:38px; }
:where(.page-home) .brandline{ margin-top:56px; font-family:'Body',sans-serif; font-style:italic; font-size:1.5rem; color:rgba(255,255,255,.72); font-weight:400 !important; }
:where(.page-home) .site-footer{ background:var(--ink); color:var(--paper-tint); padding:56px 0 34px; }
:where(.page-home) .footer-top{ display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:28px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.14); }
:where(.page-home) .footer-brand-group{ display:flex; align-items:center; flex-wrap:wrap; gap:28px; }
:where(.page-home) .footer-nav{ display:flex; flex-wrap:wrap; gap:28px; list-style:none; margin:0; padding:0; }
:where(.page-home) .footer-nav a{ font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-home) .footer-nav a:hover{ color:#fff; }
:where(.page-home) .footer-cta{ padding:10px 22px; font-size:.85rem; }
:where(.page-home) .footer-contact{ display:flex; flex-wrap:wrap; gap:24px; list-style:none; margin:0; padding:0; }
:where(.page-home) .footer-contact a{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-home) .footer-contact a:hover{ color:#fff; }
:where(.page-home) .footer-contact svg{ width:16px; height:16px; flex:none; }
:where(.page-home) .footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:22px; font-size:.78rem; color:rgba(255,255,255,.58); }
:where(.page-home) .footer-heart .heart-icon{ color:var(--terracotta); }
/* == producto.html == */
:where(.page-producto) .container{ max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
:where(.page-producto) .section{ padding:clamp(72px,11vw,132px) 0;
  background:
    radial-gradient(78% 56% at 50% -10%, rgba(199,229,239,.95), transparent 68%),
    var(--paper); }
:where(.page-producto) .section--tint{ background:
    radial-gradient(95% 68% at 50% -22%, rgba(255,255,255,.95), transparent 64%),
    var(--paper-tint); }
:where(.page-producto) .section--ink{ background:
    radial-gradient(95% 70% at 16% -18%, rgba(69,171,181,.34), transparent 62%),
    radial-gradient(70% 55% at 94% 112%, rgba(69,171,181,.18), transparent 66%),
    var(--ink);
  color:var(--paper-tint); }
:where(.page-producto) .section--ink h1, :where(.page-producto) .section--ink h2, :where(.page-producto) .section--ink h3{ color:#fff; }
:where(.page-producto) .section--slate{ background:
    radial-gradient(90% 65% at 15% -16%, rgba(255,255,255,.18), transparent 62%),
    radial-gradient(70% 55% at 96% 112%, rgba(69,171,181,.26), transparent 64%),
    var(--ink-soft);
  color:rgba(255,255,255,.86); }
:where(.page-producto) .section--slate h1, :where(.page-producto) .section--slate h2, :where(.page-producto) .section--slate h3{ color:#fff; }
:where(.page-producto) .section--slate .lede{ color:rgba(255,255,255,.82); }
:where(.page-producto) .beat-accent{ display:block; width:56px; height:3px; background:#C7E54A; border-radius:2px; margin:80px auto 0 auto; }
:where(.page-producto) .eyebrow-visual{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:where(.page-producto) .h-display{ font-weight:600; line-height:1.08; letter-spacing:-0.018em; }
:where(.page-producto) .h1-scale{ font-size:clamp(2.3rem, 1.9vw + 1.25rem, 3.65rem); }
:where(.page-producto) .h2-scale{ font-size:clamp(1.9rem, 1.8vw + 1.2rem, 2.75rem); }
:where(.page-producto) .h3-scale{ font-size:clamp(1.25rem, 0.6vw + 1.05rem, 1.5rem); }
:where(.page-producto) .lede{ font-size:clamp(1.05rem, 0.3vw + 1rem, 1.2rem); line-height:1.55; color:var(--ink-soft); max-width:62ch; }
:where(.page-producto) .section--ink .lede{ color:var(--paper-tint); }
:where(.page-producto) .btn{ display:inline-flex; align-items:center; gap:8px; justify-content:center;
  font-family:'Body',sans-serif; font-weight:700; font-size:1.15rem; letter-spacing:-0.005em;
  padding:14px 26px; border-radius:999px; cursor:pointer; white-space:nowrap;
  transition:background-color 220ms var(--ease), color 220ms var(--ease), border-color 220ms var(--ease), transform 160ms var(--ease), box-shadow 220ms var(--ease);
  border:1.5px solid transparent; }
:where(.page-producto) .btn:active{ transform:translateY(1px); }
:where(.page-producto) .btn--primary{ background:var(--teal-600); color:#fff; box-shadow:0 1px 2px rgba(5,42,76,.14); }
:where(.page-producto) .btn--primary:hover{ background:var(--lime); color:var(--ink); box-shadow:0 6px 20px -6px rgba(0,0,0,.4); }
:where(.page-producto) .btn--ghost{ background:transparent; color:var(--ink); border-color:rgba(5,42,76,.28); }
:where(.page-producto) .btn--ghost:hover{ border-color:var(--ink); background:rgba(5,42,76,.045); }
:where(.page-producto) .btn--ghost-onink{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
:where(.page-producto) .btn--ghost-onink:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
:where(.page-producto) .btn--teal{ background:transparent; color:#fff; border-color:rgba(7,143,156,.85); }
:where(.page-producto) .btn--teal:hover{ background:var(--teal-600); border-color:var(--teal-600); }
:where(.page-producto) .btn--text{ padding:10px 4px; border-radius:4px; color:var(--teal-600); font-weight:700; }
:where(.page-producto) .btn--text:hover{ color:var(--ink); }
:where(.page-producto) .btn--text svg{ transition:transform 220ms var(--ease); }
:where(.page-producto) .btn--text:hover svg{ transform:translateX(3px); }
:where(.page-producto) .btn--lg{ padding:17px 34px; font-size:1.25rem; }
:where(.page-producto) .tag-mark{ color:var(--ink); background:var(--lime); padding:.04em .14em; border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
:where(.page-producto) .site-header{ position:sticky; top:0; z-index:60; background:rgba(253,254,254,.86);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent; transition:border-color 260ms var(--ease), box-shadow 260ms var(--ease); }
:where(.page-producto) .site-header.is-scrolled{ border-color:rgba(5,42,76,.1); box-shadow:0 8px 24px -18px rgba(5,42,76,.35); }
:where(.page-producto) .nav-row{ display:flex; align-items:center; justify-content:space-between; height:78px; gap:24px; }
:where(.page-producto) .brand img{ height:35px; width:auto; }
:where(.page-producto) .nav-links{ display:flex; align-items:center; gap:clamp(20px,2vw,36px); list-style:none; margin:0; padding:0; }
:where(.page-producto) .nav-links a{ font-weight:600; font-size:1.05rem; color:var(--ink); padding:8px 2px; position:relative; }
:where(.page-producto) .nav-links a[aria-current="page"]{ color:var(--teal-600); }
:where(.page-producto) .nav-links a::after{ content:''; position:absolute; left:2px; right:2px; bottom:2px; height:2px; background:var(--teal-600);
  transform:scaleX(0); transform-origin:left; transition:transform 220ms var(--ease); }
:where(.page-producto) .nav-links a[aria-current="page"]::after{ transform:scaleX(1); }
:where(.page-producto) .nav-links a:hover::after{ transform:scaleX(1); }
:where(.page-producto) .nav-actions{ display:flex; align-items:center; gap:14px; }
:where(.page-producto) .nav-cta{ display:inline-flex; }
:where(.page-producto) .menu-toggle{ display:none; width:44px; height:44px; border-radius:10px; border:1.5px solid rgba(5,42,76,.18);
  background:transparent; align-items:center; justify-content:center; cursor:pointer; }
:where(.page-producto) .menu-toggle span, :where(.page-producto) .menu-toggle::before, :where(.page-producto) .menu-toggle::after{ display:none; }
:where(.page-producto) .menu-toggle svg{ width:20px; height:20px; }
:where(.page-producto) .menu-toggle .icon-close{ display:none; }
:where(.page-producto) .menu-toggle[aria-expanded="true"] .icon-open{ display:none; }
:where(.page-producto) .menu-toggle[aria-expanded="true"] .icon-close{ display:block; }
:where(.page-producto) .mobile-panel{ display:none; position:fixed; inset:78px 0 0 0; background:var(--paper); z-index:55;
  padding:28px var(--gutter) 40px; overflow-y:auto; }
:where(.page-producto) .mobile-panel.is-open{ display:block; }
:where(.page-producto) .mobile-panel ul{ list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:4px; }
:where(.page-producto) .mobile-panel a{ display:block; padding:16px 4px; font-size:1.2rem; font-weight:600; color:var(--ink); border-bottom:1px solid rgba(5,42,76,.1); }
:where(.page-producto) .mobile-panel a[aria-current="page"]{ color:var(--teal-600); }
:where(.page-producto) .rail{ position:fixed; right:26px; top:50%; transform:translateY(-50%); z-index:50;
  display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
:where(.page-producto) .rail-item{ display:flex; align-items:center; gap:10px; cursor:pointer; }
:where(.page-producto) .rail-label{ font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink);
  background:var(--paper); padding:5px 10px; border-radius:6px; box-shadow:0 4px 14px -6px rgba(5,42,76,.28);
  opacity:0; transform:translateX(6px); transition:opacity 200ms var(--ease), transform 200ms var(--ease);
  white-space:nowrap; pointer-events:none; }
:where(.page-producto) .rail-item:hover .rail-label, :where(.page-producto) .rail-item.show-label .rail-label{ opacity:1; transform:translateX(0); }
:where(.page-producto) .rail-dot{ width:9px; height:9px; border-radius:50%; background:rgba(5,42,76,.22); transition:background 220ms var(--ease), transform 220ms var(--ease); flex:none; }
:where(.page-producto) .rail-item.is-active .rail-dot{ background:var(--teal-600); transform:scale(1.35); }
:where(.page-producto) .rail-track{ position:absolute; right:4px; top:0; bottom:0; width:2px; background:rgba(5,42,76,.12); z-index:-1; border-radius:2px; }
:where(.page-producto) .hero{ padding-top:clamp(56px,8vw,96px); padding-bottom:clamp(64px,9vw,112px); overflow:hidden; }
:where(.page-producto) .hero-grid{ display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,0.82fr); gap:clamp(40px,6vw,80px); align-items:center; }
:where(.page-producto) .hero-copy h1{ margin-top:14px; }
:where(.page-producto) .hero-copy .lede{ margin-top:22px; }
:where(.page-producto) .hero-points{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
:where(.page-producto) .hero-points li{ display:flex; align-items:flex-start; gap:10px; font-size:1.05rem; color:var(--paper-tint); }
:where(.page-producto) .hero-points svg{ flex:none; width:18px; height:18px; margin-top:2px; stroke:var(--lime); }
:where(.page-producto) .hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
:where(.page-producto) .hero-composition{ position:relative; max-width:400px; margin:0 auto; padding:10px 0 20px; }
:where(.page-producto) .comp-frag{ border-radius:var(--radius-m); box-shadow:0 22px 44px -22px rgba(0,0,0,.4); position:relative; }
:where(.page-producto) .comp-chat{ background:#fff; width:82%; padding:14px 16px; display:flex; flex-direction:column; gap:8px; z-index:3; }
:where(.page-producto) .comp-chat .bubble{ font-size:.82rem; padding:9px 12px; border-radius:12px; line-height:1.4; max-width:88%; }
:where(.page-producto) .comp-chat .bubble--in{ background:#EAF3F1; color:var(--body-ink); align-self:flex-start; border-bottom-left-radius:4px; }
:where(.page-producto) .comp-chat .bubble--out{ background:var(--teal-600); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
:where(.page-producto) .comp-quote{ background:#fff; width:78%; margin:16px 0 0 auto; overflow:hidden; z-index:2; }
:where(.page-producto) .comp-quote .card-top{ background:var(--paper-tint); padding:9px 13px; font-size:.66rem; font-weight:700; color:var(--ink); text-transform:uppercase; letter-spacing:.05em; }
:where(.page-producto) .comp-quote .card-body{ padding:12px 13px; }
:where(.page-producto) .comp-quote .card-body strong{ display:block; font-size:.9rem; color:var(--ink); }
:where(.page-producto) .comp-quote .card-body span{ display:block; font-size:.74rem; color:var(--ink-soft); margin-top:3px; }
:where(.page-producto) .comp-quote .card-price{ margin-top:6px; font-size:.98rem; font-weight:700; color:var(--teal-600); }
:where(.page-producto) .comp-crm{ background:#fff; width:68%; margin:16px 0 0 8%; overflow:hidden; z-index:1; }
:where(.page-producto) .comp-crm .crm-row{ padding:11px 14px; font-size:.78rem; border-bottom:none; }
:where(.page-producto) .comp-crm .crm-avatar{ width:24px; height:24px; font-size:.6rem; }
:where(.page-producto) .hero-figcap{ text-align:center; font-size:.78rem; color:rgba(255,255,255,.58); margin-top:20px; font-style:italic; }
:where(.page-producto) .crm-avatar{ width:38px; height:38px; border-radius:50%; background:var(--paper-tint); color:var(--ink); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; flex:none; }
:where(.page-producto) .crm-row{ display:flex; align-items:center; gap:12px; }
:where(.page-producto) .crm-row .who{ font-weight:700; color:var(--ink); flex:1; min-width:0; font-size:.85rem; }
:where(.page-producto) .crm-row .who span{ display:block; font-weight:400; color:var(--ink-soft); font-size:.76rem; margin-top:1px; }
:where(.page-producto) .crm-status{ font-size:.64rem; font-weight:700; letter-spacing:.03em; padding:4px 9px; border-radius:999px; white-space:nowrap; }
:where(.page-producto) .crm-status--new{ background:rgba(199,229,74,.35); color:var(--ink); }
:where(.page-producto) .crm-status--follow{ background:rgba(7,143,156,.14); color:var(--teal-600); }
:where(.page-producto) .crm-status--won{ background:var(--ink); color:#fff; }
:where(.page-producto) .mecanismo-head{ max-width:760px; margin:0 auto; text-align:center; }
:where(.page-producto) .mecanismo-head .lede{ margin:20px auto 0; }
:where(.page-producto) .camino{ margin-top:clamp(48px,6vw,72px);
  display:grid;
  grid-template-columns:1fr 52px 1fr 52px 1fr;
  grid-template-rows:auto 64px auto;
  align-items:center; }
:where(.page-producto) .path-card{ background:var(--paper); border:1.5px solid rgba(5,42,76,.14); border-radius:var(--radius-m);
  padding:22px 22px 24px; position:relative; z-index:2; }
:where(.page-producto) .path-card .path-icon{ width:19px; height:19px; stroke:var(--teal-600); margin-bottom:12px; }
:where(.page-producto) .path-card h3{ font-size:1.08rem; font-weight:700; margin-bottom:8px; }
:where(.page-producto) .path-card p{ font-size:1.05rem; color:var(--ink-soft); line-height:1.6; }
:where(.page-producto) .path-card--reserva{ background:var(--ink); border-color:var(--ink); }
:where(.page-producto) .path-card--reserva .path-icon{ stroke:var(--lime); }
:where(.page-producto) .path-card--reserva h3{ color:#fff; }
:where(.page-producto) .path-card--reserva p{ color:rgba(255,255,255,.82); }
:where(.page-producto) .path-arrow{ display:flex; align-items:center; justify-content:center; color:var(--teal-light); z-index:1; }
:where(.page-producto) .path-arrow svg{ width:26px; height:26px; }
:where(.page-producto) #p-consulta{ grid-column:1; grid-row:1; }
:where(.page-producto) .arrow-a{ grid-column:2; grid-row:1; }
:where(.page-producto) #p-cotizacion{ grid-column:3; grid-row:1; }
:where(.page-producto) .arrow-b{ grid-column:4; grid-row:1; }
:where(.page-producto) #p-oportunidad{ grid-column:5; grid-row:1; }
:where(.page-producto) .arrow-c{ display:none; }
:where(.page-producto) #p-decision{ grid-column:1; grid-row:3; }
:where(.page-producto) .arrow-d{ grid-column:2; grid-row:3; }
:where(.page-producto) #p-reserva{ grid-column:3; grid-row:3; }
:where(.page-producto) .camino-note{ margin:clamp(32px,4vw,20px) auto 0; max-width:720px; text-align:center; font-weight:700; font-size:1.8rem; line-height:1.3; }
:where(.page-producto) .capacidad-head{ max-width:760px; margin:0 auto; text-align:center; }
:where(.page-producto) .capacidad-head .lede{ margin:20px auto 0; }
:where(.page-producto) .scenes-wrap{ position:relative; margin-top:clamp(56px,7vw,88px); display:grid; grid-template-columns:40px 1fr; gap:clamp(24px,4vw,52px); }
:where(.page-producto) .scene-rail{ position:sticky; top:140px; align-self:start; display:flex; flex-direction:column; align-items:center; gap:clamp(90px,15vw,240px); height:fit-content; }
:where(.page-producto) .scene-rail::before{ content:''; position:absolute; top:16px; bottom:16px; left:50%; width:2px; background:rgba(255,255,255,.18); transform:translateX(-50%); z-index:0; }
:where(.page-producto) .scene-node{ position:relative; z-index:1; width:32px; height:32px; border-radius:50%; background:transparent;
  border:2px solid rgba(255,255,255,.35); color:rgba(255,255,255,.65); display:flex; align-items:center; justify-content:center;
  font-family:'Disp',sans-serif; font-size:.78rem; font-weight:600;
  transition:background-color 380ms var(--ease), border-color 380ms var(--ease), color 380ms var(--ease); }
:where(.page-producto) .scene-node.is-active{ background:var(--teal-600); border-color:var(--teal-600); color:#fff; }
:where(.page-producto) .scenes{ display:flex; flex-direction:column; gap:clamp(64px,9vw,120px); }
:where(.page-producto) .scene{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,48px); align-items:center; opacity:.55; transition:opacity 420ms var(--ease); }
:where(.page-producto) .scene.is-active{ opacity:1; }
:where(.page-producto) .scene--r{ grid-template-columns:1fr 1fr; }
:where(.page-producto) .scene--r .scene-visual{ order:-1; }
:where(.page-producto) .scene h3{ font-size:1.3rem; font-weight:700; color:#fff; margin-bottom:12px; }
:where(.page-producto) .scene p{ color:#eff9fa; font-size:1.05rem; line-height:1.6; margin-bottom:12px; }
:where(.page-producto) .scene p:last-child{ margin-bottom:0; }
:where(.page-producto) .scene p strong{ color:#fff; font-weight:700; }
:where(.page-producto) .scene-visual{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-m); padding:22px; min-height:170px; }
:where(.page-producto) .scene-chat{ display:flex; flex-direction:column; gap:8px; }
:where(.page-producto) .scene-chat .bubble{ font-size:.86rem; padding:10px 13px; border-radius:12px; line-height:1.42; max-width:88%; }
:where(.page-producto) .scene-chat .bubble--in{ background:#fff; color:var(--body-ink); align-self:flex-start; border-bottom-left-radius:4px; }
:where(.page-producto) .scene-chat .bubble--out{ background:var(--teal-600); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; border:1px solid var(--teal); }
:where(.page-producto) .pill-row{ display:flex; flex-wrap:wrap; gap:8px; }
:where(.page-producto) .pill-chip{ font-size:.78rem; font-weight:600; padding:7px 13px; border-radius:999px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.18); }
:where(.page-producto) .pill-chip--changed{ background:var(--teal-600); color:#fff; border:1px solid var(--teal); }
:where(.page-producto) .pill-arrow{ display:flex; align-items:center; justify-content:center; margin:12px 0; }
:where(.page-producto) .pill-arrow svg{ width:18px; height:18px; stroke:var(--teal-light); }
:where(.page-producto) .action-list{ display:flex; flex-direction:column; gap:12px; }
:where(.page-producto) .action-item{ display:flex; align-items:center; gap:10px; font-size:.9rem; color:#fff; }
:where(.page-producto) .action-item svg{ flex:none; width:18px; height:18px; stroke:var(--lime); }
:where(.page-producto) .split{ display:grid; grid-template-columns:1fr; gap:clamp(16px,2vw,28px); max-width:760px; }
:where(.page-producto) .tools-grid-wrap{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(32px,4vw,56px); margin-top:clamp(48px,6vw,72px); align-items:start; }
:where(.page-producto) .tools-col-media{ display:flex; flex-direction:column; }
:where(.page-producto) .tools-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3vw,32px); }
:where(.page-producto) .tool-item .cap-head{ display:flex; align-items:flex-start; gap:11px; margin-bottom:8px; }
:where(.page-producto) .tool-item .cap-icon{ flex:none; width:19px; height:19px; margin-top:3px; stroke:var(--ink-soft); }
:where(.page-producto) .tool-item h3{ font-size:1.08rem; font-weight:700; color:var(--ink); line-height:1.32; }
:where(.page-producto) .tool-item p{ font-size:1rem; color:var(--ink-soft); line-height:1.6; }
:where(.page-producto) .crm-card{ background:var(--paper); border:1px solid rgba(5,42,76,.1); border-radius:var(--radius-m); overflow:hidden; box-shadow:0 24px 48px -30px rgba(5,42,76,.32); }
:where(.page-producto) .crm-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; background:rgba(69,171,181,.12); border-bottom:1px solid rgba(5,42,76,.08); }
:where(.page-producto) .crm-head strong{ font-size:.85rem; color:var(--ink); }
:where(.page-producto) .crm-head span{ font-size:.72rem; color:var(--ink-soft); font-weight:600; }
:where(.page-producto) .crm-rows{ display:flex; flex-direction:column; }
:where(.page-producto) .crm-rows .crm-row{ padding:12px 18px; border-bottom:1px solid rgba(5,42,76,.06); }
:where(.page-producto) .crm-rows .crm-row:last-child{ border-bottom:none; }
:where(.page-producto) .crm-figcap{ text-align:center; font-size:.78rem; color:var(--ink-soft); margin-top:14px; font-style:italic; }
:where(.page-producto) .source-map{ margin-top:clamp(56px,7vw,88px); position:relative; max-width:820px; margin-left:auto; margin-right:auto;
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:clamp(36px,5vw,56px); }
:where(.page-producto) .source-hub{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:138px; height:138px; border-radius:50%;
  background:var(--ink); display:flex; align-items:center; justify-content:center;
  z-index:4; box-shadow:0 20px 42px -20px rgba(5,42,76,.42); padding:24px;
  transition:box-shadow 320ms var(--ease); }
:where(.page-producto) .source-hub-logo{ width:100%; height:auto; }
:where(.page-producto) .source-hub.is-lit{ box-shadow:0 20px 42px -20px rgba(5,42,76,.42), 0 0 0 10px rgba(69,171,181,.32); }
:where(.page-producto) .source-card{ background:var(--paper); border:1.5px solid rgba(5,42,76,.14); border-radius:var(--radius-m); padding:22px; position:relative; z-index:2;
  transition:box-shadow 320ms var(--ease); }
:where(.page-producto) .source-card.is-lit{ box-shadow:0 0 0 10px rgba(69,171,181,.32), 0 16px 32px -20px rgba(5,42,76,.35); }
:where(.page-producto) .source-card svg{ width:18px; height:18px; stroke:var(--teal-600); margin-bottom:10px; }
:where(.page-producto) .source-card h3{ font-size:1.08rem; font-weight:700; margin-bottom:6px; }
:where(.page-producto) .source-card p{ font-size:.98rem; color:var(--ink-soft); line-height:1.6; }
:where(.page-producto) .source-card p strong{ color:var(--ink); font-weight:700; }
:where(.page-producto) .autonomia-inner{ max-width:900px; margin:0 auto; text-align:center; }
:where(.page-producto) .autonomia-inner .lede{ margin:20px auto 0; }
:where(.page-producto) .autonomia-inner .lede + .lede{ margin-top:14px; }
:where(.page-producto) .demo-inner{ max-width:680px; margin:0 auto; text-align:center; }
:where(.page-producto) .demo-inner .lede{ margin:22px auto 0; color:var(--paper-tint); }
:where(.page-producto) .demo-inner .lede + .lede{ margin-top:14px; }
:where(.page-producto) .demo-inner .beat-accent{ margin:32px auto 0; }
:where(.page-producto) .demo-inner .btn{ margin-top:38px; }
:where(.page-producto) .brandline{ margin-top:56px; font-family:'Body',sans-serif; font-style:italic; font-size:1.5rem; color:rgba(255,255,255,.72); font-weight:400 !important; }
:where(.page-producto) .site-footer{ background:var(--ink); color:var(--paper-tint); padding:56px 0 34px; }
:where(.page-producto) .footer-top{ display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:28px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.14); }
:where(.page-producto) .footer-brand-group{ display:flex; align-items:center; flex-wrap:wrap; gap:28px; }
:where(.page-producto) .footer-nav{ display:flex; flex-wrap:wrap; gap:28px; list-style:none; margin:0; padding:0; }
:where(.page-producto) .footer-nav a{ font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-producto) .footer-nav a:hover{ color:#fff; }
:where(.page-producto) .footer-cta{ padding:10px 22px; font-size:.85rem; }
:where(.page-producto) .footer-contact{ display:flex; flex-wrap:wrap; gap:24px; list-style:none; margin:0; padding:0; }
:where(.page-producto) .footer-contact a{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-producto) .footer-contact a:hover{ color:#fff; }
:where(.page-producto) .footer-contact svg{ width:16px; height:16px; flex:none; }
:where(.page-producto) .footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:22px; font-size:.78rem; color:rgba(255,255,255,.58); }
:where(.page-producto) .footer-heart .heart-icon{ color:var(--terracotta); }
/* == soluciones.html == */
:where(.page-soluciones) .container{ max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
:where(.page-soluciones) .section{ padding:clamp(72px,11vw,132px) 0;
  background:
    radial-gradient(78% 56% at 50% -10%, rgba(199,229,239,.95), transparent 68%),
    var(--paper); }
:where(.page-soluciones) .section--ink{ background:
    radial-gradient(95% 70% at 16% -18%, rgba(69,171,181,.34), transparent 62%),
    radial-gradient(70% 55% at 94% 112%, rgba(69,171,181,.18), transparent 66%),
    var(--ink);
  color:var(--paper-tint); }
:where(.page-soluciones) .section--ink h1, :where(.page-soluciones) .section--ink h2, :where(.page-soluciones) .section--ink h3{ color:#fff; }
:where(.page-soluciones) .beat-accent{ display:block; width:56px; height:3px; background:#C7E54A; border-radius:2px; margin:80px auto 0 auto; }
:where(.page-soluciones) .eyebrow-visual{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:where(.page-soluciones) .h-display{ font-weight:600; line-height:1.08; letter-spacing:-0.018em; }
:where(.page-soluciones) .h1-scale{ font-size:clamp(2.3rem, 1.9vw + 1.25rem, 3.65rem); }
:where(.page-soluciones) .h2-scale{ font-size:clamp(1.9rem, 1.8vw + 1.2rem, 2.75rem); }
:where(.page-soluciones) .h3-scale{ font-size:clamp(1.25rem, 0.6vw + 1.05rem, 1.5rem); }
:where(.page-soluciones) .lede{ font-size:clamp(1.05rem, 0.3vw + 1rem, 1.2rem); line-height:1.55; color:var(--ink-soft); max-width:62ch; }
:where(.page-soluciones) .section--ink .lede{ color:var(--paper-tint); }
:where(.page-soluciones) .btn{ display:inline-flex; align-items:center; gap:8px; justify-content:center;
  font-family:'Body',sans-serif; font-weight:700; font-size:1.15rem; letter-spacing:-0.005em;
  padding:14px 26px; border-radius:999px; cursor:pointer; white-space:nowrap;
  transition:background-color 220ms var(--ease), color 220ms var(--ease), border-color 220ms var(--ease), transform 160ms var(--ease), box-shadow 220ms var(--ease);
  border:1.5px solid transparent; }
:where(.page-soluciones) .btn:active{ transform:translateY(1px); }
:where(.page-soluciones) .btn--primary{ background:var(--teal-600); color:#fff; box-shadow:0 1px 2px rgba(5,42,76,.14); }
:where(.page-soluciones) .btn--primary:hover{ background:var(--lime); color:var(--ink); box-shadow:0 6px 20px -6px rgba(0,0,0,.4); }
:where(.page-soluciones) .btn--lg{ padding:17px 34px; font-size:1.25rem; }
:where(.page-soluciones) .tag-mark{ color:var(--ink); background:var(--lime); padding:.04em .14em; border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
:where(.page-soluciones) .site-header{ position:sticky; top:0; z-index:60; background:rgba(253,254,254,.86);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent; transition:border-color 260ms var(--ease), box-shadow 260ms var(--ease); }
:where(.page-soluciones) .site-header.is-scrolled{ border-color:rgba(5,42,76,.1); box-shadow:0 8px 24px -18px rgba(5,42,76,.35); }
:where(.page-soluciones) .nav-row{ display:flex; align-items:center; justify-content:space-between; height:78px; gap:24px; }
:where(.page-soluciones) .brand img{ height:35px; width:auto; }
:where(.page-soluciones) .nav-links{ display:flex; align-items:center; gap:clamp(20px,2vw,36px); list-style:none; margin:0; padding:0; }
:where(.page-soluciones) .nav-links a{ font-weight:600; font-size:1.05rem; color:var(--ink); padding:8px 2px; position:relative; }
:where(.page-soluciones) .nav-links a[aria-current="page"]{ color:var(--teal-600); }
:where(.page-soluciones) .nav-links a::after{ content:''; position:absolute; left:2px; right:2px; bottom:2px; height:2px; background:var(--teal-600);
  transform:scaleX(0); transform-origin:left; transition:transform 220ms var(--ease); }
:where(.page-soluciones) .nav-links a[aria-current="page"]::after{ transform:scaleX(1); }
:where(.page-soluciones) .nav-links a:hover::after{ transform:scaleX(1); }
:where(.page-soluciones) .nav-actions{ display:flex; align-items:center; gap:14px; }
:where(.page-soluciones) .nav-cta{ display:inline-flex; }
:where(.page-soluciones) .menu-toggle{ display:none; width:44px; height:44px; border-radius:10px; border:1.5px solid rgba(5,42,76,.18);
  background:transparent; align-items:center; justify-content:center; cursor:pointer; }
:where(.page-soluciones) .menu-toggle span, :where(.page-soluciones) .menu-toggle::before, :where(.page-soluciones) .menu-toggle::after{ display:none; }
:where(.page-soluciones) .menu-toggle svg{ width:20px; height:20px; }
:where(.page-soluciones) .menu-toggle .icon-close{ display:none; }
:where(.page-soluciones) .menu-toggle[aria-expanded="true"] .icon-open{ display:none; }
:where(.page-soluciones) .menu-toggle[aria-expanded="true"] .icon-close{ display:block; }
:where(.page-soluciones) .mobile-panel{ display:none; position:fixed; inset:78px 0 0 0; background:var(--paper); z-index:55;
  padding:28px var(--gutter) 40px; overflow-y:auto; }
:where(.page-soluciones) .mobile-panel.is-open{ display:block; }
:where(.page-soluciones) .mobile-panel ul{ list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:4px; }
:where(.page-soluciones) .mobile-panel a{ display:block; padding:16px 4px; font-size:1.2rem; font-weight:600; color:var(--ink); border-bottom:1px solid rgba(5,42,76,.1); }
:where(.page-soluciones) .mobile-panel a[aria-current="page"]{ color:var(--teal-600); }
:where(.page-soluciones) .rail{ position:fixed; right:26px; top:50%; transform:translateY(-50%); z-index:50;
  display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
:where(.page-soluciones) .rail-item{ display:flex; align-items:center; gap:10px; cursor:pointer; }
:where(.page-soluciones) .rail-label{ font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink);
  background:var(--paper); padding:5px 10px; border-radius:6px; box-shadow:0 4px 14px -6px rgba(5,42,76,.28);
  opacity:0; transform:translateX(6px); transition:opacity 200ms var(--ease), transform 200ms var(--ease);
  white-space:nowrap; pointer-events:none; }
:where(.page-soluciones) .rail-item:hover .rail-label, :where(.page-soluciones) .rail-item.show-label .rail-label{ opacity:1; transform:translateX(0); }
:where(.page-soluciones) .rail-dot{ width:9px; height:9px; border-radius:50%; background:rgba(5,42,76,.22); transition:background 220ms var(--ease), transform 220ms var(--ease); flex:none; }
:where(.page-soluciones) .rail-item.is-active .rail-dot{ background:var(--teal-600); transform:scale(1.35); }
:where(.page-soluciones) .rail-track{ position:absolute; right:4px; top:0; bottom:0; width:2px; background:rgba(5,42,76,.12); z-index:-1; border-radius:2px; }
:where(.page-soluciones) .hero{ padding-top:clamp(56px,8vw,96px); padding-bottom:clamp(64px,9vw,112px); overflow:hidden; }
:where(.page-soluciones) .hero-grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr); gap:clamp(40px,6vw,80px); align-items:center; }
:where(.page-soluciones) .hero-copy{ max-width:680px; }
:where(.page-soluciones) .hero-copy h1{ margin-top:14px; }
:where(.page-soluciones) .hero-copy .lede{ margin-top:22px; }
:where(.page-soluciones) .hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
:where(.page-soluciones) .hero-composition{ position:relative; max-width:400px; margin:0 auto; padding:10px 0 20px; }
:where(.page-soluciones) .comp-frag{ border-radius:var(--radius-m); box-shadow:0 22px 44px -22px rgba(0,0,0,.4); position:relative; }
:where(.page-soluciones) .comp-chat{ background:#fff; width:82%; padding:14px 16px; display:flex; flex-direction:column; gap:8px; z-index:3; }
:where(.page-soluciones) .comp-chat .bubble{ font-size:.82rem; padding:9px 12px; border-radius:12px; line-height:1.4; max-width:88%; }
:where(.page-soluciones) .comp-chat .bubble--in{ background:#EAF3F1; color:var(--body-ink); align-self:flex-start; border-bottom-left-radius:4px; }
:where(.page-soluciones) .comp-chat .bubble--out{ background:var(--teal-600); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
:where(.page-soluciones) .comp-opp{ background:#fff; width:78%; margin:16px 0 0 auto; overflow:hidden; z-index:2; }
:where(.page-soluciones) .comp-opp .card-top{ background:var(--paper-tint); padding:9px 13px; font-size:.66rem; font-weight:700; color:var(--ink); text-transform:uppercase; letter-spacing:.05em; }
:where(.page-soluciones) .comp-opp .card-body{ padding:12px 13px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
:where(.page-soluciones) .comp-opp .card-body strong{ display:block; font-size:.9rem; color:var(--ink); }
:where(.page-soluciones) .comp-opp .card-body span{ display:block; font-size:.74rem; color:var(--ink-soft); margin-top:3px; }
:where(.page-soluciones) .comp-team{ background:#fff; width:68%; margin:16px 0 0 8%; overflow:hidden; z-index:1; }
:where(.page-soluciones) .comp-team .crm-row{ padding:11px 14px; font-size:.78rem; border-bottom:none; }
:where(.page-soluciones) .comp-team .crm-avatar{ width:24px; height:24px; font-size:.6rem; }
:where(.page-soluciones) .crm-avatar{ width:38px; height:38px; border-radius:50%; background:var(--paper-tint); color:var(--ink); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; flex:none; }
:where(.page-soluciones) .crm-row{ display:flex; align-items:center; gap:12px; }
:where(.page-soluciones) .crm-row .who{ font-weight:700; color:var(--ink); flex:1; min-width:0; font-size:.85rem; }
:where(.page-soluciones) .crm-row .who span{ display:block; font-weight:400; color:var(--ink-soft); font-size:.76rem; margin-top:1px; }
:where(.page-soluciones) .crm-status{ font-size:.64rem; font-weight:700; letter-spacing:.03em; padding:4px 9px; border-radius:999px; white-space:nowrap; flex:none; }
:where(.page-soluciones) .crm-status--follow{ background:rgba(7,143,156,.14); color:var(--teal-600); }
:where(.page-soluciones) .crm-status--won{ background:var(--ink); color:#fff; }
:where(.page-soluciones) .hero-figcap{ text-align:center; font-size:.78rem; color:rgba(255,255,255,.58); margin-top:20px; font-style:italic; }
:where(.page-soluciones) .cap-blocks{ padding:clamp(56px,7vw,88px) 0 clamp(24px,4vw,40px); }
:where(.page-soluciones) .cap-blocks .container{ display:flex; flex-direction:column; gap:clamp(24px,3vw,32px); }
:where(.page-soluciones) .cap-card{ position:relative; overflow:hidden; border-radius:var(--radius-l);
  padding:clamp(40px,5vw,64px) clamp(32px,5vw,64px); }
:where(.page-soluciones) .cap-card--paper{ background:var(--paper); border:1.5px solid rgba(5,42,76,.12); }
:where(.page-soluciones) .cap-card--tint{ background:var(--paper-tint); }
:where(.page-soluciones) .cap-card--slate{ background:
    radial-gradient(90% 65% at 15% -16%, rgba(255,255,255,.18), transparent 62%),
    radial-gradient(70% 55% at 96% 112%, rgba(69,171,181,.26), transparent 64%),
    var(--ink-soft);
  color:rgba(255,255,255,.86); }
:where(.page-soluciones) .cap-card--slate h2{ color:#fff; }
:where(.page-soluciones) .cap-card--slate .lede{ color:rgba(255,255,255,.82); }
:where(.page-soluciones) .cap-card--slate .cap-num{ color:var(--teal-light); }
:where(.page-soluciones) .cap-card--slate .cap-item .cap-icon{ stroke:var(--lime); }
:where(.page-soluciones) .cap-card--slate .cap-item h3{ color:#fff; }
:where(.page-soluciones) .cap-card--slate .cap-item p{ color:rgba(255,255,255,.75); }
:where(.page-soluciones) .cap-card--slate .cap-motif{ color:rgba(199,229,74,.5); }
:where(.page-soluciones) .cap-motif{ position:absolute; top:-10%; right:-6%; width:clamp(220px,26vw,340px); height:clamp(220px,26vw,340px);
  color:rgba(5,42,76,.07); pointer-events:none; z-index:0; }
:where(.page-soluciones) .cap-motif svg{ width:100%; height:100%; stroke:currentColor; fill:none; }
:where(.page-soluciones) .cap-num{ position:relative; z-index:1; display:block; font-family:'Disp',sans-serif; font-weight:600; font-size:.85rem; letter-spacing:.05em; color:var(--teal-600); margin-bottom:14px; }
:where(.page-soluciones) .cap-card h2{ position:relative; z-index:1; font-size:1.9rem; line-height:1.15; max-width:640px; }
:where(.page-soluciones) .cap-card .lede{ position:relative; z-index:1; margin:16px 0 0; max-width:560px; }
:where(.page-soluciones) .cap-items{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,32px); margin-top:clamp(32px,4vw,44px); }
:where(.page-soluciones) .cap-item .cap-head{ display:flex; align-items:flex-start; gap:11px; margin-bottom:8px; }
:where(.page-soluciones) .cap-item .cap-icon{ flex:none; width:19px; height:19px; margin-top:3px; stroke:var(--teal-600); }
:where(.page-soluciones) .cap-item h3{ font-size:1.2rem; font-weight:700; color:var(--ink); line-height:1.32; }
:where(.page-soluciones) .cap-item p{ font-size:1rem; color:var(--ink-soft); line-height:1.58; }
:where(.page-soluciones) .demo-inner{ max-width:680px; margin:0 auto; text-align:center; }
:where(.page-soluciones) .demo-inner .lede{ margin:22px auto 0; color:var(--paper-tint); }
:where(.page-soluciones) .demo-inner .lede + .lede{ margin-top:14px; }
:where(.page-soluciones) .demo-inner .beat-accent{ margin:32px auto 0; }
:where(.page-soluciones) .demo-inner .btn{ margin-top:38px; }
:where(.page-soluciones) .brandline{ margin-top:56px; font-family:'Body',sans-serif; font-style:italic; font-size:1.5rem; color:rgba(255,255,255,.72); font-weight:400 !important; }
:where(.page-soluciones) .camino-note{ margin:clamp(32px,4vw,20px) auto 0; max-width:720px; text-align:center; font-weight:700; font-size:1.8rem; line-height:1.3; }
:where(.page-soluciones) .site-footer{ background:var(--ink); color:var(--paper-tint); padding:56px 0 34px; }
:where(.page-soluciones) .footer-top{ display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:28px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.14); }
:where(.page-soluciones) .footer-brand-group{ display:flex; align-items:center; flex-wrap:wrap; gap:28px; }
:where(.page-soluciones) .footer-nav{ display:flex; flex-wrap:wrap; gap:28px; list-style:none; margin:0; padding:0; }
:where(.page-soluciones) .footer-nav a{ font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-soluciones) .footer-nav a:hover{ color:#fff; }
:where(.page-soluciones) .footer-cta{ padding:10px 22px; font-size:.85rem; }
:where(.page-soluciones) .footer-contact{ display:flex; flex-wrap:wrap; gap:24px; list-style:none; margin:0; padding:0; }
:where(.page-soluciones) .footer-contact a{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-soluciones) .footer-contact a:hover{ color:#fff; }
:where(.page-soluciones) .footer-contact svg{ width:16px; height:16px; flex:none; }
:where(.page-soluciones) .footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:22px; font-size:.78rem; color:rgba(255,255,255,.58); }
:where(.page-soluciones) .footer-heart .heart-icon{ color:var(--terracotta); }
/* == implementacion.html == */
:where(.page-implementacion) .container{ max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
:where(.page-implementacion) .section{ padding:clamp(72px,11vw,132px) 0;
  background:
    radial-gradient(78% 56% at 50% -10%, rgba(199,229,239,.95), transparent 68%),
    var(--paper); }
:where(.page-implementacion) .section--ink{ background:
    radial-gradient(95% 70% at 16% -18%, rgba(69,171,181,.34), transparent 62%),
    radial-gradient(70% 55% at 94% 112%, rgba(69,171,181,.18), transparent 66%),
    var(--ink);
  color:var(--paper-tint); }
:where(.page-implementacion) .section--ink h1, :where(.page-implementacion) .section--ink h2, :where(.page-implementacion) .section--ink h3{ color:#fff; }
:where(.page-implementacion) .beat-accent{ display:block; width:56px; height:3px; background:#C7E54A; border-radius:2px; margin:80px auto 0 auto; }
:where(.page-implementacion) .eyebrow-visual{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:where(.page-implementacion) .h-display{ font-weight:600; line-height:1.08; letter-spacing:-0.018em; }
:where(.page-implementacion) .h1-scale{ font-size:clamp(2.3rem, 1.9vw + 1.25rem, 3.65rem); }
:where(.page-implementacion) .h2-scale{ font-size:clamp(1.9rem, 1.8vw + 1.2rem, 2.75rem); }
:where(.page-implementacion) .h3-scale{ font-size:clamp(1.25rem, 0.6vw + 1.05rem, 1.5rem); }
:where(.page-implementacion) .lede{ font-size:clamp(1.05rem, 0.3vw + 1rem, 1.2rem); line-height:1.55; color:var(--ink-soft); max-width:62ch; }
:where(.page-implementacion) .section--ink .lede{ color:var(--paper-tint); }
:where(.page-implementacion) .btn{ display:inline-flex; align-items:center; gap:8px; justify-content:center;
  font-family:'Body',sans-serif; font-weight:700; font-size:1.15rem; letter-spacing:-0.005em;
  padding:14px 26px; border-radius:999px; cursor:pointer; white-space:nowrap;
  transition:background-color 220ms var(--ease), color 220ms var(--ease), border-color 220ms var(--ease), transform 160ms var(--ease), box-shadow 220ms var(--ease);
  border:1.5px solid transparent; }
:where(.page-implementacion) .btn:active{ transform:translateY(1px); }
:where(.page-implementacion) .btn--primary{ background:var(--teal-600); color:#fff; box-shadow:0 1px 2px rgba(5,42,76,.14); }
:where(.page-implementacion) .btn--primary:hover{ background:var(--lime); color:var(--ink); box-shadow:0 6px 20px -6px rgba(0,0,0,.4); }
:where(.page-implementacion) .btn--lg{ padding:17px 34px; font-size:1.25rem; }
:where(.page-implementacion) .tag-mark{ color:var(--ink); background:var(--lime); padding:.04em .14em; border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
:where(.page-implementacion) .site-header{ position:sticky; top:0; z-index:60; background:rgba(253,254,254,.86);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent; transition:border-color 260ms var(--ease), box-shadow 260ms var(--ease); }
:where(.page-implementacion) .site-header.is-scrolled{ border-color:rgba(5,42,76,.1); box-shadow:0 8px 24px -18px rgba(5,42,76,.35); }
:where(.page-implementacion) .nav-row{ display:flex; align-items:center; justify-content:space-between; height:78px; gap:24px; }
:where(.page-implementacion) .brand img{ height:35px; width:auto; }
:where(.page-implementacion) .nav-links{ display:flex; align-items:center; gap:clamp(20px,2vw,36px); list-style:none; margin:0; padding:0; }
:where(.page-implementacion) .nav-links a{ font-weight:600; font-size:1.05rem; color:var(--ink); padding:8px 2px; position:relative; }
:where(.page-implementacion) .nav-links a[aria-current="page"]{ color:var(--teal-600); }
:where(.page-implementacion) .nav-links a::after{ content:''; position:absolute; left:2px; right:2px; bottom:2px; height:2px; background:var(--teal-600);
  transform:scaleX(0); transform-origin:left; transition:transform 220ms var(--ease); }
:where(.page-implementacion) .nav-links a[aria-current="page"]::after{ transform:scaleX(1); }
:where(.page-implementacion) .nav-links a:hover::after{ transform:scaleX(1); }
:where(.page-implementacion) .nav-actions{ display:flex; align-items:center; gap:14px; }
:where(.page-implementacion) .nav-cta{ display:inline-flex; }
:where(.page-implementacion) .menu-toggle{ display:none; width:44px; height:44px; border-radius:10px; border:1.5px solid rgba(5,42,76,.18);
  background:transparent; align-items:center; justify-content:center; cursor:pointer; }
:where(.page-implementacion) .menu-toggle span, :where(.page-implementacion) .menu-toggle::before, :where(.page-implementacion) .menu-toggle::after{ display:none; }
:where(.page-implementacion) .menu-toggle svg{ width:20px; height:20px; }
:where(.page-implementacion) .menu-toggle .icon-close{ display:none; }
:where(.page-implementacion) .menu-toggle[aria-expanded="true"] .icon-open{ display:none; }
:where(.page-implementacion) .menu-toggle[aria-expanded="true"] .icon-close{ display:block; }
:where(.page-implementacion) .mobile-panel{ display:none; position:fixed; inset:78px 0 0 0; background:var(--paper); z-index:55;
  padding:28px var(--gutter) 40px; overflow-y:auto; }
:where(.page-implementacion) .mobile-panel.is-open{ display:block; }
:where(.page-implementacion) .mobile-panel ul{ list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:4px; }
:where(.page-implementacion) .mobile-panel a{ display:block; padding:16px 4px; font-size:1.2rem; font-weight:600; color:var(--ink); border-bottom:1px solid rgba(5,42,76,.1); }
:where(.page-implementacion) .mobile-panel a[aria-current="page"]{ color:var(--teal-600); }
:where(.page-implementacion) .rail{ position:fixed; right:26px; top:50%; transform:translateY(-50%); z-index:50;
  display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
:where(.page-implementacion) .rail-item{ display:flex; align-items:center; gap:10px; cursor:pointer; }
:where(.page-implementacion) .rail-label{ font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink);
  background:var(--paper); padding:5px 10px; border-radius:6px; box-shadow:0 4px 14px -6px rgba(5,42,76,.28);
  opacity:0; transform:translateX(6px); transition:opacity 200ms var(--ease), transform 200ms var(--ease);
  white-space:nowrap; pointer-events:none; }
:where(.page-implementacion) .rail-item:hover .rail-label, :where(.page-implementacion) .rail-item.show-label .rail-label{ opacity:1; transform:translateX(0); }
:where(.page-implementacion) .rail-dot{ width:9px; height:9px; border-radius:50%; background:rgba(5,42,76,.22); transition:background 220ms var(--ease), transform 220ms var(--ease); flex:none; }
:where(.page-implementacion) .rail-item.is-active .rail-dot{ background:var(--teal-600); transform:scale(1.35); }
:where(.page-implementacion) .rail-track{ position:absolute; right:4px; top:0; bottom:0; width:2px; background:rgba(5,42,76,.12); z-index:-1; border-radius:2px; }
:where(.page-implementacion) .hero{ padding-top:clamp(56px,8vw,96px); padding-bottom:clamp(64px,9vw,112px); overflow:hidden; }
:where(.page-implementacion) .hero-grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr); gap:clamp(40px,6vw,80px); align-items:center; }
:where(.page-implementacion) .hero-copy{ max-width:680px; }
:where(.page-implementacion) .hero-copy h1{ margin-top:14px; }
:where(.page-implementacion) .hero-copy .lede{ margin-top:22px; }
:where(.page-implementacion) .hero-copy .lede + .lede{ margin-top:14px; }
:where(.page-implementacion) .hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
:where(.page-implementacion) .hero-composition{ position:relative; max-width:400px; margin:0 auto; padding:10px 0 20px; }
:where(.page-implementacion) .comp-frag{ border-radius:var(--radius-m); box-shadow:0 22px 44px -22px rgba(0,0,0,.4); position:relative; background:#fff; }
:where(.page-implementacion) .comp-setup{ width:82%; padding:14px 16px; z-index:3; }
:where(.page-implementacion) .comp-setup .card-top{ font-size:.66rem; font-weight:700; color:var(--ink); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; }
:where(.page-implementacion) .setup-row{ display:flex; align-items:center; gap:9px; font-size:.82rem; color:var(--body-ink); padding:6px 0; }
:where(.page-implementacion) .setup-row svg{ width:16px; height:16px; flex:none; stroke:var(--teal-600); }
:where(.page-implementacion) .setup-row.is-pending{ color:var(--ink-soft); }
:where(.page-implementacion) .setup-row.is-pending svg{ stroke:var(--ink-soft); stroke-dasharray:3 3; }
:where(.page-implementacion) .comp-team{ width:78%; margin:16px 0 0 auto; overflow:hidden; z-index:2; }
:where(.page-implementacion) .comp-team .crm-row{ padding:11px 14px; font-size:.78rem; border-bottom:none; }
:where(.page-implementacion) .comp-team .crm-avatar{ width:24px; height:24px; font-size:.6rem; }
:where(.page-implementacion) .comp-chat{ width:68%; margin:16px 0 0 8%; padding:14px 16px; display:flex; flex-direction:column; gap:8px; z-index:1; }
:where(.page-implementacion) .comp-chat .bubble{ font-size:.82rem; padding:9px 12px; border-radius:12px; line-height:1.4; max-width:88%; }
:where(.page-implementacion) .comp-chat .bubble--in{ background:#EAF3F1; color:var(--body-ink); align-self:flex-start; border-bottom-left-radius:4px; }
:where(.page-implementacion) .comp-chat .bubble--out{ background:var(--teal-600); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
:where(.page-implementacion) .crm-avatar{ width:38px; height:38px; border-radius:50%; background:var(--paper-tint); color:var(--ink); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; flex:none; }
:where(.page-implementacion) .crm-row{ display:flex; align-items:center; gap:12px; }
:where(.page-implementacion) .crm-row .who{ font-weight:700; color:var(--ink); flex:1; min-width:0; font-size:.85rem; }
:where(.page-implementacion) .crm-row .who span{ display:block; font-weight:400; color:var(--ink-soft); font-size:.76rem; margin-top:1px; }
:where(.page-implementacion) .crm-status{ font-size:.64rem; font-weight:700; letter-spacing:.03em; padding:4px 9px; border-radius:999px; white-space:nowrap; flex:none; }
:where(.page-implementacion) .crm-status--won{ background:var(--ink); color:#fff; }
:where(.page-implementacion) .hero-figcap{ text-align:center; font-size:.78rem; color:rgba(255,255,255,.58); margin-top:20px; font-style:italic; }
:where(.page-implementacion) .timeline-section{ padding:clamp(72px,10vw,120px) 0; }
:where(.page-implementacion) .timeline{ position:relative; max-width:760px; margin:0 auto; }
:where(.page-implementacion) .timeline::before{ content:''; position:absolute; left:29px; top:8px; bottom:8px; width:2px; background:rgba(5,42,76,.14); }
:where(.page-implementacion) .step{ position:relative; padding-left:96px; margin-bottom:clamp(44px,6vw,64px); }
:where(.page-implementacion) .step:last-child{ margin-bottom:0; }
:where(.page-implementacion) .step-num{ position:absolute; left:0; top:0; width:60px; height:60px; border-radius:50%;
  background:var(--teal-light); color:var(--ink); display:flex; align-items:center; justify-content:center;
  font-family:'Disp',sans-serif; font-weight:700; font-size:1.3rem;
  transition:background-color 380ms var(--ease), color 380ms var(--ease), transform 380ms var(--ease); }
:where(.page-implementacion) .step.is-active .step-num{ background:var(--teal-600); color:#fff; transform:scale(1.08); }
:where(.page-implementacion) .step h2{ font-size:clamp(1.35rem,1vw+1.1rem,1.7rem); line-height:1.25; margin-bottom:12px; max-width:520px; }
:where(.page-implementacion) .step p{ font-size:1.05rem; color:var(--ink-soft); line-height:1.6; max-width:560px; }
:where(.page-implementacion) .step p + p{ margin-top:14px; }
:where(.page-implementacion) .step p strong{ color:var(--ink); }
:where(.page-implementacion) .demo-inner{ max-width:680px; margin:0 auto; text-align:center; }
:where(.page-implementacion) .demo-inner .lede{ margin:22px auto 0; color:var(--paper-tint); }
:where(.page-implementacion) .demo-inner .lede + .lede{ margin-top:14px; }
:where(.page-implementacion) .demo-inner .beat-accent{ margin:32px auto 0; }
:where(.page-implementacion) .demo-inner .btn{ margin-top:38px; }
:where(.page-implementacion) .brandline{ margin-top:56px; font-family:'Body',sans-serif; font-style:italic; font-size:1.5rem; color:rgba(255,255,255,.72); font-weight:400 !important; }
:where(.page-implementacion) .camino-note{ margin:clamp(32px,4vw,20px) auto 0; max-width:720px; text-align:center; font-weight:700; font-size:1.8rem; line-height:1.3; }
:where(.page-implementacion) .site-footer{ background:var(--ink); color:var(--paper-tint); padding:56px 0 34px; }
:where(.page-implementacion) .footer-top{ display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:28px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.14); }
:where(.page-implementacion) .footer-brand-group{ display:flex; align-items:center; flex-wrap:wrap; gap:28px; }
:where(.page-implementacion) .footer-nav{ display:flex; flex-wrap:wrap; gap:28px; list-style:none; margin:0; padding:0; }
:where(.page-implementacion) .footer-nav a{ font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-implementacion) .footer-nav a:hover{ color:#fff; }
:where(.page-implementacion) .footer-cta{ padding:10px 22px; font-size:.85rem; }
:where(.page-implementacion) .footer-contact{ display:flex; flex-wrap:wrap; gap:24px; list-style:none; margin:0; padding:0; }
:where(.page-implementacion) .footer-contact a{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-implementacion) .footer-contact a:hover{ color:#fff; }
:where(.page-implementacion) .footer-contact svg{ width:16px; height:16px; flex:none; }
:where(.page-implementacion) .footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:22px; font-size:.78rem; color:rgba(255,255,255,.58); }
:where(.page-implementacion) .footer-heart .heart-icon{ color:var(--terracotta); }
/* == solicitud-demo.html == */
:where(.page-solicitud-demo) .container{ max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
:where(.page-solicitud-demo) .section{ padding:clamp(72px,11vw,132px) 0;
  background:
    radial-gradient(78% 56% at 50% -10%, rgba(199,229,239,.95), transparent 68%),
    var(--paper); }
:where(.page-solicitud-demo) .section--ink{ background:
    radial-gradient(95% 70% at 16% -18%, rgba(69,171,181,.34), transparent 62%),
    radial-gradient(70% 55% at 94% 112%, rgba(69,171,181,.18), transparent 66%),
    var(--ink);
  color:var(--paper-tint); }
:where(.page-solicitud-demo) .section--ink h1, :where(.page-solicitud-demo) .section--ink h2, :where(.page-solicitud-demo) .section--ink h3{ color:#fff; }
:where(.page-solicitud-demo) .beat-accent{ display:block; width:56px; height:3px; background:#C7E54A; border-radius:2px; margin:80px auto 0 auto; }
:where(.page-solicitud-demo) .eyebrow-visual{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:where(.page-solicitud-demo) .h-display{ font-weight:600; line-height:1.08; letter-spacing:-0.018em; }
:where(.page-solicitud-demo) .h1-scale{ font-size:clamp(2.3rem, 1.9vw + 1.25rem, 3.65rem); }
:where(.page-solicitud-demo) .h2-scale{ font-size:clamp(1.9rem, 1.8vw + 1.2rem, 2.75rem); }
:where(.page-solicitud-demo) .lede{ font-size:clamp(1.05rem, 0.3vw + 1rem, 1.2rem); line-height:1.55; color:var(--ink-soft); max-width:62ch; }
:where(.page-solicitud-demo) .section--ink .lede{ color:var(--paper-tint); }
:where(.page-solicitud-demo) .btn{ display:inline-flex; align-items:center; gap:8px; justify-content:center;
  font-family:'Body',sans-serif; font-weight:700; font-size:1.15rem; letter-spacing:-0.005em;
  padding:14px 26px; border-radius:999px; cursor:pointer; white-space:nowrap;
  transition:background-color 220ms var(--ease), color 220ms var(--ease), border-color 220ms var(--ease), transform 160ms var(--ease), box-shadow 220ms var(--ease);
  border:1.5px solid transparent; }
:where(.page-solicitud-demo) .btn:active{ transform:translateY(1px); }
:where(.page-solicitud-demo) .btn--primary{ background:var(--teal-600); color:#fff; box-shadow:0 1px 2px rgba(5,42,76,.14); }
:where(.page-solicitud-demo) .btn--primary:hover{ background:var(--lime); color:var(--ink); box-shadow:0 6px 20px -6px rgba(0,0,0,.4); }
:where(.page-solicitud-demo) .btn--lg{ padding:17px 34px; font-size:1.25rem; }
:where(.page-solicitud-demo) .btn--full{ width:100%; }
:where(.page-solicitud-demo) .btn[disabled]{ opacity:.6; cursor:not-allowed; }
:where(.page-solicitud-demo) .tag-mark{ color:var(--ink); background:var(--lime); padding:.04em .14em; border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
:where(.page-solicitud-demo) .section--ink .tag-mark{ color:var(--ink); }
:where(.page-solicitud-demo) .site-header{ position:sticky; top:0; z-index:60; background:rgba(253,254,254,.86);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent; transition:border-color 260ms var(--ease), box-shadow 260ms var(--ease); }
:where(.page-solicitud-demo) .site-header.is-scrolled{ border-color:rgba(5,42,76,.1); box-shadow:0 8px 24px -18px rgba(5,42,76,.35); }
:where(.page-solicitud-demo) .nav-row{ display:flex; align-items:center; justify-content:space-between; height:78px; gap:24px; }
:where(.page-solicitud-demo) .brand img{ height:35px; width:auto; }
:where(.page-solicitud-demo) .nav-links{ display:flex; align-items:center; gap:clamp(20px,2vw,36px); list-style:none; margin:0; padding:0; }
:where(.page-solicitud-demo) .nav-links a{ font-weight:600; font-size:1.05rem; color:var(--ink); padding:8px 2px; position:relative; }
:where(.page-solicitud-demo) .nav-links a::after{ content:''; position:absolute; left:2px; right:2px; bottom:2px; height:2px; background:var(--teal-600);
  transform:scaleX(0); transform-origin:left; transition:transform 220ms var(--ease); }
:where(.page-solicitud-demo) .nav-links a:hover::after{ transform:scaleX(1); }
:where(.page-solicitud-demo) .nav-actions{ display:flex; align-items:center; gap:14px; }
:where(.page-solicitud-demo) .nav-cta{ display:inline-flex; }
:where(.page-solicitud-demo) .menu-toggle{ display:none; width:44px; height:44px; border-radius:10px; border:1.5px solid rgba(5,42,76,.18);
  background:transparent; align-items:center; justify-content:center; cursor:pointer; }
:where(.page-solicitud-demo) .menu-toggle span, :where(.page-solicitud-demo) .menu-toggle::before, :where(.page-solicitud-demo) .menu-toggle::after{ display:none; }
:where(.page-solicitud-demo) .menu-toggle svg{ width:20px; height:20px; }
:where(.page-solicitud-demo) .menu-toggle .icon-close{ display:none; }
:where(.page-solicitud-demo) .menu-toggle[aria-expanded="true"] .icon-open{ display:none; }
:where(.page-solicitud-demo) .menu-toggle[aria-expanded="true"] .icon-close{ display:block; }
:where(.page-solicitud-demo) .mobile-panel{ display:none; position:fixed; inset:78px 0 0 0; background:var(--paper); z-index:55;
  padding:28px var(--gutter) 40px; overflow-y:auto; }
:where(.page-solicitud-demo) .mobile-panel.is-open{ display:block; }
:where(.page-solicitud-demo) .mobile-panel ul{ list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:4px; }
:where(.page-solicitud-demo) .mobile-panel a{ display:block; padding:16px 4px; font-size:1.2rem; font-weight:600; color:var(--ink); border-bottom:1px solid rgba(5,42,76,.1); }
:where(.page-solicitud-demo) .hero{ padding-top:clamp(56px,8vw,96px); padding-bottom:clamp(64px,9vw,112px); }
:where(.page-solicitud-demo) .hero-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,0.94fr); gap:clamp(40px,6vw,72px); align-items:start; }
:where(.page-solicitud-demo) .hero-copy{ max-width:620px; padding-top:12px; }
:where(.page-solicitud-demo) .hero-copy h1{ margin-top:14px; }
:where(.page-solicitud-demo) .hero-copy .lede{ margin-top:22px; }
:where(.page-solicitud-demo) .reassure{ display:flex; align-items:center; gap:10px; margin-top:32px; font-size:.92rem; color:rgba(255,255,255,.76); }
:where(.page-solicitud-demo) .reassure svg{ width:19px; height:19px; stroke:var(--teal-light); flex:none; }
:where(.page-solicitud-demo) .form-card{ background:#fff; color:var(--body-ink);
  border-radius:var(--radius-l); box-shadow:0 30px 60px -24px rgba(0,0,0,.45);
  padding:clamp(28px,3vw,38px); max-width:460px; margin:0 auto; }
:where(.page-solicitud-demo) .form-card h2{ font-size:1.2rem; margin-bottom:6px; color:var(--ink); }
:where(.page-solicitud-demo) .form-sub{ font-size:.88rem; color:var(--ink-soft); margin-bottom:24px; }
:where(.page-solicitud-demo) .f-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
:where(.page-solicitud-demo) .f-field{ margin-bottom:14px; }
:where(.page-solicitud-demo) .f-field label{ display:flex; align-items:center; gap:6px; font-size:.78rem; font-weight:700; color:var(--ink); margin-bottom:6px; }
:where(.page-solicitud-demo) .f-field label .opt{ font-weight:400; color:var(--ink-soft); }
:where(.page-solicitud-demo) .f-field label .req{ color:var(--terracotta); }
:where(.page-solicitud-demo) .f-field input[type="text"], :where(.page-solicitud-demo) .f-field textarea{ width:100%; border:1.5px solid rgba(5,42,76,.16); border-radius:var(--radius-s); padding:11px 13px;
  font-family:'Body',sans-serif; font-size:.92rem; color:var(--body-ink); background:var(--paper);
  transition:border-color 180ms var(--ease), box-shadow 180ms var(--ease); }
:where(.page-solicitud-demo) .f-field input[type="text"]:focus, :where(.page-solicitud-demo) .f-field textarea:focus{ outline:none; border-color:var(--teal-600); box-shadow:0 0 0 3px rgba(7,143,156,.16); }
:where(.page-solicitud-demo) .f-field textarea{ resize:vertical; min-height:64px; }
:where(.page-solicitud-demo) .f-optional-divider{ font-size:.7rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-soft);
  margin:6px 0 14px; padding-top:14px; border-top:1px solid rgba(5,42,76,.1); }
:where(.page-solicitud-demo) .help-tip{ position:relative; display:inline-flex; }
:where(.page-solicitud-demo) .help-tip-icon{ cursor:pointer; width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center;
  background:var(--paper-tint); color:var(--ink); font-size:.68rem; font-weight:700; border-radius:50%; flex:none; }
:where(.page-solicitud-demo) .help-tip-bubble{ display:none; position:absolute; left:20px; top:-6px; z-index:10; background:var(--ink); color:#fff;
  padding:8px 11px; border-radius:8px; font-size:.75rem; line-height:1.4; max-width:220px;
  box-shadow:0 10px 24px -8px rgba(0,0,0,.4); }
:where(.page-solicitud-demo) .form-actions{ margin-top:6px; }
:where(.page-solicitud-demo) .demo-close-inner{ max-width:680px; margin:0 auto; text-align:center; }
:where(.page-solicitud-demo) .site-footer{ background:var(--ink); color:var(--paper-tint); padding:56px 0 34px; }
:where(.page-solicitud-demo) .footer-top{ display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:28px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.14); }
:where(.page-solicitud-demo) .footer-brand-group{ display:flex; align-items:center; flex-wrap:wrap; gap:28px; }
:where(.page-solicitud-demo) .footer-nav{ display:flex; flex-wrap:wrap; gap:28px; list-style:none; margin:0; padding:0; }
:where(.page-solicitud-demo) .footer-nav a{ font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-solicitud-demo) .footer-nav a:hover{ color:#fff; }
:where(.page-solicitud-demo) .footer-cta{ padding:10px 22px; font-size:.85rem; }
:where(.page-solicitud-demo) .footer-contact{ display:flex; flex-wrap:wrap; gap:24px; list-style:none; margin:0; padding:0; }
:where(.page-solicitud-demo) .footer-contact a{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:rgba(255,255,255,.86); }
:where(.page-solicitud-demo) .footer-contact a:hover{ color:#fff; }
:where(.page-solicitud-demo) .footer-contact svg{ width:16px; height:16px; flex:none; }
:where(.page-solicitud-demo) .footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:22px; font-size:.78rem; color:rgba(255,255,255,.58); }
:where(.page-solicitud-demo) .footer-heart .heart-icon{ color:var(--terracotta); }

/* ---- Responsive (por pagina, dentro de cada media query) ---- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}
@media (max-width:1080px){
  :where(.page-home) .rail{ display:none; }
  :where(.page-producto) .rail{ display:none; }
  :where(.page-soluciones) .rail{ display:none; }
  :where(.page-implementacion) .rail{ display:none; }
}
@media (max-width:920px){
  :where(.page-home) .hero-grid{ grid-template-columns:1fr; }
  :where(.page-home) .phone-wrap{ max-width:340px; margin:32px auto 0; }
  :where(.page-home) .capabilities, :where(.page-home) .equipo-grid{ grid-template-columns:1fr; }
  :where(.page-home) .capability:not(:last-child)::after{ display:none; }
  :where(.page-home) .stepper{ grid-template-columns:1fr; gap:28px; }
  :where(.page-home) .step::after{ display:none; }
  :where(.page-home) .nav-links, :where(.page-home) .nav-actions .nav-cta{ display:none; }
  :where(.page-home) .menu-toggle{ display:flex; }
  :where(.page-producto) .scenes-wrap{ grid-template-columns:1fr; }
  :where(.page-producto) .scene-rail{ display:none; }
  :where(.page-producto) .scene, :where(.page-producto) .scene--r{ grid-template-columns:1fr; }
  :where(.page-producto) .scene--r .scene-visual{ order:0; }
  :where(.page-producto) .scene{ opacity:1; }
  :where(.page-producto) .tools-grid-wrap{ grid-template-columns:1fr; }
  :where(.page-producto) .source-map{ grid-template-columns:1fr; }
  :where(.page-producto) .source-hub{ position:static; transform:none; margin:0 auto clamp(24px,4vw,32px); }
  :where(.page-producto) .hero-grid{ grid-template-columns:1fr; }
  :where(.page-producto) .hero-composition{ max-width:340px; margin:32px auto 0; }
  :where(.page-producto) .camino, :where(.page-producto) .camino > *{ grid-column:auto !important; grid-row:auto !important; }
  :where(.page-producto) .camino{ display:flex; flex-direction:column; align-items:stretch; gap:0; }
  :where(.page-producto) .camino .path-arrow{ margin:2px 0; }
  :where(.page-producto) .camino .path-arrow svg{ transform:rotate(90deg) !important; }
  :where(.page-producto) .arrow-c{ display:flex; }
  :where(.page-producto) .nav-links, :where(.page-producto) .nav-actions .nav-cta{ display:none; }
  :where(.page-producto) .menu-toggle{ display:flex; }
  :where(.page-soluciones) .cap-items{ grid-template-columns:1fr; }
  :where(.page-soluciones) .cap-motif{ width:180px; height:180px; top:-8%; right:-10%; }
  :where(.page-soluciones) .hero-grid{ grid-template-columns:1fr; }
  :where(.page-soluciones) .nav-links, :where(.page-soluciones) .nav-actions .nav-cta{ display:none; }
  :where(.page-soluciones) .menu-toggle{ display:flex; }
  :where(.page-implementacion) .hero-grid{ grid-template-columns:1fr; }
  :where(.page-implementacion) .nav-links, :where(.page-implementacion) .nav-actions .nav-cta{ display:none; }
  :where(.page-implementacion) .menu-toggle{ display:flex; }
  :where(.page-solicitud-demo) .nav-links, :where(.page-solicitud-demo) .nav-actions .nav-cta{ display:none; }
  :where(.page-solicitud-demo) .menu-toggle{ display:flex; }
  :where(.page-solicitud-demo) .hero-grid{ grid-template-columns:1fr; }
  :where(.page-solicitud-demo) .form-card{ margin:0; max-width:100%; }
}
@media (max-width:560px){
  :where(.page-home) .hero-actions{ flex-direction:column; align-items:stretch; }
  :where(.page-home) .hero-actions .btn{ width:100%; }
  :where(.page-home) .mecanismo-ctas{ flex-direction:column; align-items:center; }
  :where(.page-home) .mecanismo-ctas .btn{ width:100%; }
  :where(.page-home) .implementacion-cta .btn, :where(.page-home) .demo-inner .btn{ width:100%; }
  :where(.page-home) .thread-node{ width:46px; height:46px; }
  :where(.page-home) .thread-node svg{ width:19px; height:19px; }
  :where(.page-home) .thread-list::before{ left:22px; }
  :where(.page-home) .thread-item{ gap:18px; }
  :where(.page-home) .footer-bottom{ flex-direction:column; }
  :where(.page-producto) .tools-grid{ grid-template-columns:1fr; }
  :where(.page-producto) .hero-actions{ flex-direction:column; align-items:stretch; }
  :where(.page-producto) .hero-actions .btn{ width:100%; }
  :where(.page-producto) .demo-inner .btn{ width:100%; }
  :where(.page-producto) .footer-bottom{ flex-direction:column; }
  :where(.page-soluciones) .hero-actions{ flex-direction:column; align-items:stretch; }
  :where(.page-soluciones) .hero-actions .btn{ width:100%; }
  :where(.page-soluciones) .demo-inner .btn{ width:100%; }
  :where(.page-soluciones) .footer-bottom{ flex-direction:column; }
  :where(.page-implementacion) .hero-actions{ flex-direction:column; align-items:stretch; }
  :where(.page-implementacion) .hero-actions .btn{ width:100%; }
  :where(.page-implementacion) .demo-inner .btn{ width:100%; }
  :where(.page-implementacion) .footer-bottom{ flex-direction:column; }
  :where(.page-solicitud-demo) .f-row{ grid-template-columns:1fr; }
  :where(.page-solicitud-demo) .footer-bottom{ flex-direction:column; }
}
@media (max-width:640px){
  :where(.page-implementacion) .step{ padding-left:76px; }
  :where(.page-implementacion) .step-num{ width:48px; height:48px; font-size:1.1rem; }
  :where(.page-implementacion) .timeline::before{ left:23px; }
}
