/* =================================================================
   BridgeLeads Business Systems — sistema de diseño
   Concepto: "La empresa conectada" · dark premium + azul eléctrico
   ================================================================= */

:root{
  --bg:#0B0F1A;
  --bg-soft:#0F1524;
  --surface:#121A2B;
  --surface-2:#0E1422;
  --blue:#2D7BFF;
  --cyan:#00D4FF;
  --text:#FFFFFF;
  --muted:#A0AEC0;
  --border:#2D3748;
  --danger:#FF5C72;
  --radius:16px;
  --radius-sm:10px;
  --maxw:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
  --glow:0 0 0 1px rgba(45,123,255,.35), 0 12px 40px -12px rgba(45,123,255,.45);
  --grad:linear-gradient(110deg,var(--blue),var(--cyan));
  --font:"Poppins","Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{line-height:1.15;font-weight:700;letter-spacing:-.02em}
::selection{background:var(--blue);color:#fff}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}

/* ---------- Circuito de fondo ---------- */
#circuit-bg{
  position:fixed;inset:0;width:100%;height:100%;
  z-index:0;opacity:.5;pointer-events:none;
}
.site-header,main,.footer{position:relative;z-index:1}

/* ---------- Botones ---------- */
.btn{
  --pad:14px 26px;
  display:inline-flex;align-items:center;gap:10px;
  padding:var(--pad);border-radius:999px;
  font-weight:600;font-size:.98rem;cursor:pointer;border:none;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease);
  will-change:transform;
}
.btn .arrow{width:18px;height:18px;display:inline-block;
  -webkit-mask:var(--ic-arrow) center/contain no-repeat;mask:var(--ic-arrow) center/contain no-repeat;
  background:currentColor;transition:transform .35s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.btn--primary{background:var(--grad);color:#061022;box-shadow:0 10px 30px -10px rgba(45,123,255,.6)}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 18px 44px -12px rgba(0,212,255,.7)}
.btn--ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1.5px var(--border)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--blue);color:var(--cyan);transform:translateY(-3px)}
.btn--block{width:100%;justify-content:center}
.btn--lg{--pad:18px 38px;font-size:1.08rem}

/* ---------- Header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease);
  padding:18px 0;
}
.site-header.is-stuck{
  background:rgba(11,15,26,.82);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--border);padding:12px 0;
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-size:1.15rem}
.brand__mark{display:grid;place-items:center;filter:drop-shadow(0 0 8px rgba(0,212,255,.5))}
.brand__text{font-weight:600;letter-spacing:-.02em}
.brand__text strong{font-weight:800}
.brand__text em{font-style:normal;font-weight:500;color:var(--cyan);margin-left:4px;font-size:.7em;vertical-align:super}
.nav{display:flex;align-items:center;gap:30px}
.nav a{color:var(--muted);font-weight:500;font-size:.95rem;transition:color .25s}
.nav a:hover{color:var(--text)}
.nav__cta{color:var(--text)!important;background:rgba(45,123,255,.12);padding:10px 18px;border-radius:999px;
  box-shadow:inset 0 0 0 1px var(--border);transition:box-shadow .3s,background .3s!important}
.nav__cta:hover{box-shadow:inset 0 0 0 1px var(--blue);background:rgba(45,123,255,.2)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:24px;height:2px;background:var(--text);border-radius:2px;transition:.3s var(--ease)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{min-height:100svh;display:flex;align-items:center;padding:140px 0 80px;position:relative}
.hero__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.85rem;font-weight:500;color:var(--cyan);
  padding:7px 16px;border-radius:999px;background:rgba(0,212,255,.08);box-shadow:inset 0 0 0 1px var(--border)}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.hero__title{font-size:clamp(2.1rem,4.6vw,3.6rem);margin:22px 0;font-weight:800}
.hero__title .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sub{color:var(--muted);font-size:1.1rem;max-width:560px;margin-bottom:34px}
.hero__sub strong{color:var(--text);font-weight:600}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}
.hero__trust{display:flex;gap:34px;margin-top:46px;flex-wrap:wrap}
.hero__trust li{display:flex;flex-direction:column}
.hero__trust strong{font-size:1.5rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.hero__trust span{font-size:.82rem;color:var(--muted)}

/* Grafo del hero */
.hero__graph{position:relative}
.graph{width:100%;max-width:460px;margin-inline:auto;overflow:visible}
.graph__links line{stroke:var(--border);stroke-width:1.5;stroke-dasharray:6 8;animation:dash 18s linear infinite}
@keyframes dash{to{stroke-dashoffset:-200}}
.graph__nodes .n{fill:var(--surface);stroke:var(--blue);stroke-width:1.5;
  filter:drop-shadow(0 0 6px rgba(45,123,255,.6));animation:float 6s var(--ease) infinite;animation-delay:var(--d)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.graph__nodes .n-core{fill:url(#)} /* fallback */
.n-core{fill:var(--blue);filter:drop-shadow(0 0 24px rgba(0,212,255,.8));animation:corePulse 4s var(--ease) infinite}
@keyframes corePulse{0%,100%{r:34;opacity:1}50%{r:38;opacity:.85}}
.graph__label{fill:#fff;font-weight:800;font-size:22px;font-family:var(--font)}

.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.scroll-hint span{width:22px;height:36px;border:2px solid var(--border);border-radius:12px;position:relative}
.scroll-hint span::after{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);
  width:4px;height:7px;background:var(--cyan);border-radius:2px;animation:scrollDot 1.8s var(--ease) infinite}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,12px)}}

/* ---------- Secciones genéricas ---------- */
.section{padding:100px 0;position:relative}
.section__head{max-width:720px;margin:0 auto 60px;text-align:center}
.kicker{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:14px}
.section__title{font-size:clamp(1.7rem,3.4vw,2.6rem)}
.section__lead{color:var(--muted);margin-top:16px;font-size:1.08rem}

/* ---------- Tarjetas de servicios ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.card{
  position:relative;background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);border-radius:var(--radius);padding:30px;
  transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);
  overflow:hidden;
}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s}
.card:hover,.card:focus-visible{transform:translateY(-6px);border-color:transparent;box-shadow:var(--glow);outline:none}
.card:hover::before,.card:focus-visible::before{opacity:1}
.card__icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
  background:rgba(45,123,255,.12);box-shadow:inset 0 0 0 1px var(--border);margin-bottom:20px}
.card__icon .ic{width:26px;height:26px;background:var(--cyan)}
.card h3{font-size:1.25rem;margin-bottom:8px}
.card>p{color:var(--muted);font-size:.95rem;margin-bottom:18px}
.card__list{display:flex;flex-wrap:wrap;gap:8px}
.card__list li{font-size:.8rem;color:var(--muted);padding:5px 11px;border-radius:8px;
  background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--border)}
.card--future{background:linear-gradient(180deg,rgba(45,123,255,.08),var(--surface-2))}
.card__badge{position:absolute;top:18px;right:18px;font-size:.7rem;font-weight:600;color:var(--cyan);
  padding:5px 11px;border-radius:999px;background:rgba(0,212,255,.1);box-shadow:inset 0 0 0 1px var(--border)}

/* ---------- Problemas → Soluciones ---------- */
.section--connect{background:
  radial-gradient(900px 500px at 50% 0%,rgba(45,123,255,.06),transparent 70%)}
.connect{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 120px;align-items:center}
.connect__col{display:flex;flex-direction:column;gap:14px}
.connect__wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.prob,.sol{position:relative;z-index:1;display:flex;align-items:center;gap:14px;
  padding:16px 18px;border-radius:var(--radius-sm);background:var(--surface);
  border:1px solid var(--border);transition:.35s var(--ease);cursor:default}
.prob{cursor:pointer}
.prob .ic{width:20px;height:20px;background:var(--danger);flex-shrink:0;transition:background .35s}
.prob.is-active{border-color:var(--blue);box-shadow:var(--glow);transform:translateX(6px)}
.prob.is-active .ic{background:var(--cyan)}
.sol{gap:16px}
.sol .ic{width:24px;height:24px;background:var(--muted);flex-shrink:0;transition:background .35s}
.sol span{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted)}
.sol span strong{color:var(--text);font-size:1rem;font-weight:600}
.sol.is-active{border-color:var(--blue);box-shadow:var(--glow)}
.sol.is-active .ic{background:var(--cyan)}
.connect__wires path{fill:none;stroke:var(--border);stroke-width:2;
  stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset .6s var(--ease),stroke .35s}
.connect__wires path.is-active{stroke:url(#wireGrad);stroke-dashoffset:0}

/* ---------- Proceso ---------- */
.process{position:relative;max-width:780px;margin-inline:auto;display:flex;flex-direction:column;gap:8px}
.process::before{content:"";position:absolute;left:27px;top:20px;bottom:20px;width:2px;background:var(--border)}
.process::after{content:"";position:absolute;left:27px;top:20px;width:2px;height:var(--fill,0%);
  background:var(--grad);transition:height .2s linear;box-shadow:0 0 12px var(--blue)}
.step{position:relative;z-index:1;display:flex;gap:22px;align-items:flex-start;padding:18px 0}
.step__num{flex-shrink:0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  font-weight:800;font-size:1.3rem;background:var(--surface);border:2px solid var(--border);
  color:var(--muted);transition:.4s var(--ease)}
.step.is-on .step__num{border-color:transparent;background:var(--grad);color:#061022;box-shadow:0 0 24px -4px var(--blue)}
.step h3{font-size:1.2rem;margin-bottom:4px}
.step p{color:var(--muted);font-size:.95rem}

/* ---------- Industrias ---------- */
.industries{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.ind{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:28px;
  transition:.4s var(--ease)}
.ind:hover{transform:translateY(-5px);border-color:var(--blue);box-shadow:var(--glow)}
.ind .ic{width:34px;height:34px;background:var(--cyan);margin-bottom:16px}
.ind h3{font-size:1.2rem;margin-bottom:8px}
.ind p{color:var(--muted);font-size:.92rem}

/* ---------- Diferenciales ---------- */
.section--diff{background:var(--bg-soft)}
.diffs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:980px;margin-inline:auto}
.diffs li{display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:var(--radius-sm);
  background:var(--surface);border:1px solid var(--border);font-weight:500}
.diffs .ic{width:22px;height:22px;background:var(--cyan);flex-shrink:0}

/* ---------- Formulario ---------- */
.form__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}
.form__intro{position:sticky;top:120px}
.form__agenda{margin-top:30px;padding:22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}
.form__agenda p{color:var(--muted);margin-bottom:14px}
.form{background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--border);
  border-radius:var(--radius);padding:34px;display:flex;flex-direction:column;gap:16px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:flex;flex-direction:column;gap:8px;font-size:.85rem;font-weight:500;color:var(--muted)}
.form input,.form select,.form textarea{
  font-family:inherit;font-size:.95rem;color:var(--text);background:var(--surface-2);
  border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px;transition:.3s;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(45,123,255,.18)}
.form textarea{resize:vertical}
.form select{appearance:none;cursor:pointer}
.form__note{font-size:.8rem;color:var(--muted);text-align:center}
.form__status{font-size:.92rem;text-align:center;font-weight:500;min-height:1.2em}
.form__status.ok{color:var(--cyan)}
.form__status.err{color:var(--danger)}

/* ---------- CTA final ---------- */
.cta{padding:90px 0}
.cta__inner{text-align:center;max-width:900px;margin-inline:auto;
  background:linear-gradient(120deg,rgba(45,123,255,.14),rgba(0,212,255,.06));
  border:1px solid var(--border);border-radius:28px;padding:64px 40px;position:relative;overflow:hidden}
.cta__inner::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:.5}
.cta h2{font-size:clamp(1.5rem,3vw,2.3rem);margin-bottom:30px}

/* ---------- Footer ---------- */
.footer{border-top:1px solid var(--border);padding:64px 0 30px;background:var(--bg-soft)}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;padding-bottom:40px}
.footer__brand p{color:var(--muted);margin-top:16px;max-width:280px;font-size:.95rem}
.footer__col h4{font-size:.95rem;margin-bottom:16px}
.footer__col a{display:block;color:var(--muted);font-size:.9rem;padding:5px 0;transition:color .25s}
.footer__col a:hover{color:var(--cyan)}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding-top:26px;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem;flex-wrap:wrap}
.footer__social{display:flex;gap:12px}
.footer__social a{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:var(--surface);border:1px solid var(--border);transition:.3s}
.footer__social a:hover{border-color:var(--blue);box-shadow:var(--glow)}
.footer__social .ic{width:18px;height:18px;background:var(--muted);transition:background .3s}
.footer__social a:hover .ic{background:var(--cyan)}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:var(--grad);box-shadow:0 10px 30px -6px rgba(0,212,255,.6);
  transition:transform .35s var(--ease)}
.wa-float:hover{transform:scale(1.08) translateY(-2px)}
.wa-float .ic{width:30px;height:30px;background:#061022}

/* ---------- Reveal (animación de entrada) ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* =================================================================
   Iconos — máscaras SVG inline (sin requests externos)
   ================================================================= */
.ic{display:inline-block;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
:root{
  --ic-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
.ic-web{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18 14 14 0 0 1 0-18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18 14 14 0 0 1 0-18'/%3E%3C/svg%3E")}
.ic-mail{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
.ic-chat{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.5 8.5 0 0 1-12 7.7L3 21l1.8-6A8.5 8.5 0 1 1 21 11.5Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.5 8.5 0 0 1-12 7.7L3 21l1.8-6A8.5 8.5 0 1 1 21 11.5Z'/%3E%3C/svg%3E")}
.ic-voice{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='3' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='3' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3'/%3E%3C/svg%3E")}
.ic-flow{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='6' height='6' rx='1'/%3E%3Crect x='15' y='15' width='6' height='6' rx='1'/%3E%3Cpath d='M9 6h6a3 3 0 0 1 3 3v6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='6' height='6' rx='1'/%3E%3Crect x='15' y='15' width='6' height='6' rx='1'/%3E%3Cpath d='M9 6h6a3 3 0 0 1 3 3v6'/%3E%3C/svg%3E")}
.ic-dash{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='8' height='8' rx='1'/%3E%3Crect x='13' y='3' width='8' height='5' rx='1'/%3E%3Crect x='13' y='11' width='8' height='10' rx='1'/%3E%3Crect x='3' y='14' width='8' height='7' rx='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='8' height='8' rx='1'/%3E%3Crect x='13' y='3' width='8' height='5' rx='1'/%3E%3Crect x='13' y='11' width='8' height='10' rx='1'/%3E%3Crect x='3' y='14' width='8' height='7' rx='1'/%3E%3C/svg%3E")}
.ic-bulb{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.3 1 2.5h6c0-1.2.3-1.8 1-2.5A6 6 0 0 0 12 3Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.3 1 2.5h6c0-1.2.3-1.8 1-2.5A6 6 0 0 0 12 3Z'/%3E%3C/svg%3E")}
.ic-rocket{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 15c-1 1-1.5 4-1.5 4s3-.5 4-1.5M9 15l-3-3a11 11 0 0 1 8-9 11 11 0 0 1 1 9 11 11 0 0 1-9 8l-3-3'/%3E%3Ccircle cx='14' cy='10' r='1.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 15c-1 1-1.5 4-1.5 4s3-.5 4-1.5M9 15l-3-3a11 11 0 0 1 8-9 11 11 0 0 1 1 9 11 11 0 0 1-9 8l-3-3'/%3E%3Ccircle cx='14' cy='10' r='1.5'/%3E%3C/svg%3E")}
.ic-warn{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20L12 3Z'/%3E%3Cpath d='M12 10v4M12 17v.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20L12 3Z'/%3E%3Cpath d='M12 10v4M12 17v.5'/%3E%3C/svg%3E")}
.ic-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5 9 17l11-11'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5 9 17l11-11'/%3E%3C/svg%3E")}
.ic-tooth{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3C4 3 3 6 4 11c.5 2.5 1 9 2.5 9S8 15 9 15h6c1 0 1 5 2.5 5S19 13.5 20 11c1-5 0-8-3-8-1.5 0-3 1-5 1S8.5 3 7 3Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3C4 3 3 6 4 11c.5 2.5 1 9 2.5 9S8 15 9 15h6c1 0 1 5 2.5 5S19 13.5 20 11c1-5 0-8-3-8-1.5 0-3 1-5 1S8.5 3 7 3Z'/%3E%3C/svg%3E")}
.ic-spark{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M18 6l-2.5 2.5M8.5 15.5 6 18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M18 6l-2.5 2.5M8.5 15.5 6 18'/%3E%3C/svg%3E")}
.ic-fork{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v7a2 2 0 0 0 4 0V3M8 12v9M16 3c-1.5 0-2 2-2 5s.5 4 2 4 2-1 2-4-.5-5-2-5ZM16 12v9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v7a2 2 0 0 0 4 0V3M8 12v9M16 3c-1.5 0-2 2-2 5s.5 4 2 4 2-1 2-4-.5-5-2-5ZM16 12v9'/%3E%3C/svg%3E")}
.ic-bed{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8v11M3 16h18v3M21 16v-3a3 3 0 0 0-3-3H9v6M7 10.5a1.5 1.5 0 1 0 0-.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8v11M3 16h18v3M21 16v-3a3 3 0 0 0-3-3H9v6M7 10.5a1.5 1.5 0 1 0 0-.01'/%3E%3C/svg%3E")}
.ic-dumbbell{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9v6M6 7v10M18 7v10M21 9v6M6 12h12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9v6M6 7v10M18 7v10M21 9v6M6 12h12'/%3E%3C/svg%3E")}
.ic-home{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7M5 10v10h14V10M9 20v-6h6v6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7M5 10v10h14V10M9 20v-6h6v6'/%3E%3C/svg%3E")}
.ic-law{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M7 21h10M5 7h14M9 7 6 13a3 3 0 0 0 6 0L9 7ZM15 7l-3 6a3 3 0 0 0 6 0l-3-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M7 21h10M5 7h14M9 7 6 13a3 3 0 0 0 6 0L9 7ZM15 7l-3 6a3 3 0 0 0 6 0l-3-6'/%3E%3C/svg%3E")}
.ic-calc{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7h6M9 11h.01M12 11h.01M15 11h.01M9 15h.01M12 15h.01M15 15v3M9 18h3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7h6M9 11h.01M12 11h.01M15 11h.01M9 15h.01M12 15h.01M15 15v3M9 18h3'/%3E%3C/svg%3E")}
.ic-wa{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1 0 12 2Zm5.6 14c-.2.6-1.2 1.2-1.7 1.2-.5.1-1 .2-3.2-.7-2.7-1.1-4.4-3.8-4.5-4-.1-.2-1.1-1.4-1.1-2.7s.7-1.9 1-2.2c.2-.2.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .5l-.4.6c-.2.2-.3.4-.1.7.2.3.8 1.3 1.7 2.1 1.2 1 2 1.3 2.3 1.5.2.1.4 0 .6-.1l.7-.9c.2-.2.4-.2.6-.1l1.9.9c.2.1.4.2.4.3.1.2.1.6 0 1.2Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1 0 12 2Zm5.6 14c-.2.6-1.2 1.2-1.7 1.2-.5.1-1 .2-3.2-.7-2.7-1.1-4.4-3.8-4.5-4-.1-.2-1.1-1.4-1.1-2.7s.7-1.9 1-2.2c.2-.2.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .5l-.4.6c-.2.2-.3.4-.1.7.2.3.8 1.3 1.7 2.1 1.2 1 2 1.3 2.3 1.5.2.1.4 0 .6-.1l.7-.9c.2-.2.4-.2.6-.1l1.9.9c.2.1.4.2.4.3.1.2.1.6 0 1.2Z'/%3E%3C/svg%3E")}
.ic-in{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M4.98 3.5A2.5 2.5 0 1 0 5 8.5a2.5 2.5 0 0 0 0-5ZM3 9h4v12H3V9Zm6 0h3.8v1.7h.05c.53-1 1.82-2.05 3.75-2.05C20.4 8.65 21 11 21 14.3V21h-4v-6c0-1.43 0-3.27-2-3.27s-2.3 1.56-2.3 3.17V21H9V9Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M4.98 3.5A2.5 2.5 0 1 0 5 8.5a2.5 2.5 0 0 0 0-5ZM3 9h4v12H3V9Zm6 0h3.8v1.7h.05c.53-1 1.82-2.05 3.75-2.05C20.4 8.65 21 11 21 14.3V21h-4v-6c0-1.43 0-3.27-2-3.27s-2.3 1.56-2.3 3.17V21H9V9Z'/%3E%3C/svg%3E")}
.ic-ig{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1'/%3E%3C/svg%3E")}

/* =================================================================
   Responsive
   ================================================================= */
@media (max-width:960px){
  .hero__inner{grid-template-columns:1fr;text-align:center}
  .hero__copy{order:2}
  .hero__graph{order:1;max-width:340px;margin-inline:auto}
  .hero__actions,.hero__trust{justify-content:center}
  .eyebrow{margin-inline:auto}
  .form__grid{grid-template-columns:1fr;gap:34px}
  .form__intro{position:static}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .nav{position:fixed;inset:0 0 0 auto;width:min(78vw,320px);flex-direction:column;justify-content:center;
    gap:22px;background:rgba(11,15,26,.97);backdrop-filter:blur(16px);padding:40px;
    transform:translateX(100%);transition:transform .4s var(--ease);box-shadow:-20px 0 60px rgba(0,0,0,.5)}
  .nav.is-open{transform:translateX(0)}
  .nav a{font-size:1.1rem}
  .nav-toggle{display:flex;z-index:60}
  .section{padding:72px 0}
  .connect{grid-template-columns:1fr;gap:14px}
  .connect__wires{display:none}
  .connect__col--solutions{margin-top:8px}
  .footer__grid{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;text-align:center}
  .cta__inner{padding:44px 24px}
}
@media (max-width:480px){
  .container{padding-inline:18px}
  .form__row{grid-template-columns:1fr}
  .hero__trust{gap:22px}
}

/* Accesibilidad: respeta reduce-motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
