/* Layout: secciones amplias con un visual paramétrico vivo por bloque (esfera de memoria, flujos, y un gráfico propio por industria).
   Design system Strail: fondo oscuro, hairlines, Geist + Geist Mono, lima como única traza de acción. */
:root{
  --bg-000:#060709;--bg-100:#0b0d10;--bg-200:#121519;--bg-300:#1a1e24;
  --line-100:#252a32;--line-200:#646d7a;
  --ink:#e9ebee;--ink-muted:#9ba2ad;--ink-faint:#838b96;
  --trace:#c6f36b;--trace-dim:#3a4a1c;--on-trace:#0b0d10;
  --node:#62d6e0;--ember:#ff8a5c;--lilac:#b9a8ff;--sand:#e3cf9e;--danger:#ff6f61;
  --v:var(--trace);
  --font-sans:"Geist","Helvetica Neue",Arial,sans-serif;
  --font-mono:"Geist Mono","SFMono-Regular",Menlo,monospace;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
  --radius-sm:2px;--radius-md:4px;--radius-pill:999px;
  --shadow-focus:0 0 0 1px #0b0d10,0 0 0 3px #c6f36b;
  --shadow-overlay:0 24px 64px rgba(0,0,0,.6);
  --gutter:clamp(16px,4vw,48px);
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--bg-100);color:var(--ink);font:400 15px/24px var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:500;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-md)}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}

/* Tipografía */
.h-hero{font:300 clamp(40px,6.4vw,78px)/1 var(--font-sans);letter-spacing:-.035em}
.h-sec{font:300 clamp(32px,4.4vw,54px)/1.04 var(--font-sans);letter-spacing:-.03em}
.h-sub{font:300 clamp(26px,3vw,38px)/1.1 var(--font-sans);letter-spacing:-.025em}
.h-sec span,.h-hero span,.h-sub span{color:var(--ink-faint)}
.title{font:500 22px/28px var(--font-sans);letter-spacing:-.01em}
.heading{font:500 17px/24px var(--font-sans)}
.body-sm{font:400 13px/20px var(--font-sans)}
.label{font:500 11px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.data{font:400 13px/20px var(--font-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--ink-muted)}
.lede{font-size:18px;line-height:28px;color:var(--ink-muted);max-width:56ch}
.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2)}
.eyebrow::before{content:"";width:6px;height:6px;background:var(--v);border-radius:var(--radius-pill)}

/* Componentes Strail */
.st-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid transparent;font:500 14px/20px var(--font-sans);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s ease-out,border-color .15s ease-out}
.st-btn--lg{height:48px;padding:0 var(--space-6);font-size:15px}
.st-btn--primary{background:var(--trace);color:var(--on-trace)}
.st-btn--primary:hover{filter:brightness(1.06)}
.arr{display:inline-block;transition:transform .15s ease-out}
.st-btn:hover .arr,.link-go:hover .arr,.card:hover .arr{transform:translateX(3px)}
.st-btn--secondary{background:var(--bg-200);color:var(--ink);border-color:var(--line-200)}
.st-btn--secondary:hover{background:var(--bg-300)}
.st-btn:disabled{opacity:.6;cursor:progress}
.st-btn--ghost{background:transparent;color:var(--ink-muted)}
.st-btn--ghost:hover{background:var(--bg-300);color:var(--ink)}
.st-tag{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--bg-300);border:1px solid var(--line-100);color:var(--ink-muted);font:500 11px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.st-tag__dot{width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor;flex:none}
.st-tag--active{background:var(--trace-dim);border-color:var(--trace);color:var(--ink)}
.st-tag--node .st-tag__dot{background:var(--node)}
.st-tag--ember .st-tag__dot{background:var(--ember)}
.st-tag--lilac .st-tag__dot{background:var(--lilac)}
.st-tag--sand .st-tag__dot{background:var(--sand)}
.st-tag--v .st-tag__dot{background:var(--v)}
.st-fragment{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--bg-200);border:1px solid var(--line-100);border-radius:var(--radius-md)}
.st-fragment[aria-selected="true"]{border-color:var(--trace)}
.st-fragment__meta{display:flex;justify-content:space-between;gap:var(--space-2);font:500 11px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.st-fragment__title{font:500 17px/24px var(--font-sans);color:var(--ink)}
.st-fragment__body{font:400 15px/24px var(--font-sans);color:var(--ink-muted)}
.st-fragment__body mark{background:var(--trace-dim);color:var(--ink);padding:0 2px;border-radius:var(--radius-sm)}
.st-fragment__foot{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;padding-top:var(--space-2);border-top:1px solid var(--line-100)}
.st-fragment__score{font:400 13px/20px var(--font-mono);color:var(--ink-muted);margin-left:auto}
.st-field{display:flex;flex-direction:column;gap:var(--space-1)}
.st-field__label{font:500 11px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.st-input{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);background:var(--bg-300);border:1px solid var(--line-200);border-radius:var(--radius-md);color:var(--ink);font:400 15px/24px var(--font-sans)}
.st-input input,.st-input select,.st-input textarea{all:unset;flex:1;min-width:0;color:var(--ink);font:inherit}
.st-input select{cursor:pointer}
.st-input select option{background:var(--bg-200);color:var(--ink)}
.st-input textarea{padding:var(--space-2) 0;min-height:96px;white-space:pre-wrap}
.st-input input::placeholder,.st-input textarea::placeholder{color:var(--ink-faint)}
.st-input:focus-within{border-color:var(--trace);box-shadow:var(--shadow-focus)}
.st-input svg{flex:none;color:var(--ink-muted)}
.st-field__help{font:400 13px/20px var(--font-sans);color:var(--ink-muted)}
.caret{display:inline-block;width:1px;height:18px;background:var(--trace);margin-left:1px;vertical-align:-3px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* Canvas */
.fx{display:block;width:100%;height:100%}
.fx-box{position:relative;background:transparent;border:0;border-radius:0}
.fx-box > .fx{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.fx-box--fill{position:absolute;inset:0}
.fx-box__head{position:absolute;inset:0 0 auto 0;display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;pointer-events:none;z-index:1}
.fx-box__foot{position:absolute;inset:auto 0 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) 0;z-index:1}
.fx-box__foot span{display:inline-flex;align-items:center;gap:6px;font:500 11px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.fx-box__foot i{width:6px;height:6px;border-radius:var(--radius-pill);display:inline-block}
.fx-bg{position:absolute;inset:0;pointer-events:none}

/* Cabecera */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--bg-100) 84%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-head > .wrap{display:flex;align-items:center;gap:var(--space-6);height:64px}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand svg{display:block;fill:#fff}
.nav{display:flex;align-items:center;gap:2px;margin-left:var(--space-6)}
.nav > a,.nav summary{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink-muted);text-decoration:none;font:500 14px/20px var(--font-sans);cursor:pointer;list-style:none}
.nav summary::-webkit-details-marker{display:none}
.nav > a:hover,.nav summary:hover,.nav details[open] summary{background:var(--bg-300);color:var(--ink)}
.nav a[aria-current="page"],.nav details.is-current summary{color:var(--ink)}
.nav details{position:relative}
.nav summary svg{transition:transform .15s ease-out}
.nav details[open] summary svg{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 10px);left:0;width:min(560px,90vw);padding:var(--space-2);background:var(--bg-200);border:1px solid var(--line-100);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);display:grid;grid-template-columns:1fr 1fr;gap:2px}
.mega--one{grid-template-columns:1fr;width:min(380px,90vw)}
.mega a{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);text-decoration:none}
.mega a:hover{background:var(--bg-300)}
.mega a i{grid-row:span 2;width:8px;height:8px;margin-top:6px;border-radius:var(--radius-pill)}
.mega a b{font:500 14px/20px var(--font-sans);color:var(--ink)}
.mega a span{font:400 13px/18px var(--font-sans);color:var(--ink-muted)}
.mega .all{grid-column:1/-1;display:block;border-top:1px solid var(--line-100);border-radius:0;margin-top:var(--space-1)}
.mega .all b{color:var(--ink-muted)}
.head-right{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}
.menu-btn{display:none;width:40px;height:40px;padding:0;align-items:center;justify-content:center;border:1px solid var(--line-100);border-radius:var(--radius-md);background:var(--bg-200);color:var(--ink);cursor:pointer}
.menu-btn svg{display:block}
.menu-btn line{transition:transform .2s ease-out,opacity .2s ease-out;transform-origin:center;transform-box:fill-box}
.menu-btn[aria-expanded="true"] .l1{transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .l2{opacity:0}
.menu-btn[aria-expanded="true"] .l3{transform:translateY(-5px) rotate(-45deg)}
.mobile-nav{border-top:1px solid var(--line-100);background:var(--bg-100);max-height:calc(100vh - 64px);overflow:auto}
.mobile-nav .wrap{display:grid;gap:var(--space-6);padding-block:var(--space-6)}
.mobile-nav .group{display:grid;gap:2px}
.mobile-nav .group a{text-decoration:none;color:var(--ink);padding:8px 0;font-size:16px}
.mobile-nav .st-btn{width:100%}
@media (max-width:900px){.nav{display:none}.menu-btn{display:inline-flex}.head-cta,.head-login{display:none}}
.mobile-nav .mobile-login{margin-top:calc(var(--space-6)*-1 + var(--space-2))}

/* Secciones */

.sec{position:relative}
.sec > .wrap{position:relative;padding-block:clamp(64px,9vw,120px)}
.sec--tint{background:var(--bg-000)}
.sec-head{display:grid;gap:var(--space-4);max-width:780px;margin-bottom:clamp(32px,5vw,56px)}
.sec-head--center{margin-inline:auto;text-align:center;justify-items:center}
.sec-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--space-6);margin-bottom:clamp(32px,5vw,56px)}
.sec-row .sec-head{margin:0}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero > .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center;padding-block:clamp(48px,7vw,96px)}
.hero--reverse .hero__text{order:2}
.hero--stacked > .wrap{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
.hero--stacked .hero__text{justify-items:center;max-width:880px}
.hero--stacked .hero__visual{width:100%;height:clamp(360px,36vw,460px)}
.hero__text{display:grid;gap:var(--space-6);min-width:0;align-content:center}
.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.hero__visual{position:relative;height:clamp(380px,46vw,560px);min-width:0;width:100%}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line-100)}
.stat b{display:block;font:300 clamp(34px,4vw,48px)/1 var(--font-sans);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:var(--space-2);color:var(--ink-muted);font-size:13px;line-height:19px}
.crumbs{display:flex;gap:var(--space-2);flex-wrap:wrap}
.crumbs a{text-decoration:none;color:var(--ink-faint)}
.crumbs a:hover{color:var(--ink)}
@media (max-width:960px){.hero > .wrap{grid-template-columns:1fr}.hero--reverse .hero__text{order:0}.hero__visual{height:380px}}
@media (max-width:560px){.stats{grid-template-columns:1fr;gap:var(--space-4)}}

/* Marquee */
.marquee{overflow:hidden;background:var(--bg-000)}
.marquee__row{display:flex;align-items:center;gap:var(--space-4);padding-block:var(--space-4)}
.marquee__lead{flex:none;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:var(--space-4);border-right:1px solid var(--line-100)}
.marquee__mask{overflow:hidden;flex:1;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:var(--space-8);width:max-content;animation:scroll 40s linear infinite}
.marquee__track span{display:inline-flex;align-items:center;gap:var(--space-2);font:500 13px/20px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}
.marquee__track span::before{content:"";width:5px;height:5px;border-radius:var(--radius-pill);background:var(--line-200)}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (max-width:640px){.marquee__lead{display:none}}

/* Soluciones: acordeón con progreso + escenario */
.sol{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:stretch}
.sol__list{display:grid;align-content:start;border-top:1px solid var(--line-100)}
.sol__item{position:relative;border-bottom:1px solid var(--line-100)}
.sol__btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-6) 0}
.sol__btn:focus-visible{box-shadow:var(--shadow-focus)}
.sol__n{font:500 11px/16px var(--font-mono);letter-spacing:.08em;color:var(--ink-faint)}
.sol__name{font:400 clamp(22px,2.4vw,28px)/1.15 var(--font-sans);letter-spacing:-.02em;color:var(--ink-faint);transition:color .2s ease-out}
.sol__btn:hover .sol__name,.sol__item.is-active .sol__name{color:var(--ink)}
.sol__plus{font:300 22px/1 var(--font-mono);color:var(--ink-faint);transition:transform .2s ease-out}
.sol__item.is-active .sol__plus{transform:rotate(45deg);color:var(--trace)}
.sol__panel{display:grid;gap:var(--space-4);padding:0 0 var(--space-6) calc(var(--space-4) + 2ch)}
.sol__bar{position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--trace)}
.sol.is-auto.in-view .sol__item.is-active .sol__bar{animation:bar 9s linear forwards}
.sol:hover .sol__bar,.sol:focus-within .sol__bar{animation-play-state:paused!important}
@keyframes bar{to{width:100%}}
.sol__stage{position:relative;min-height:520px}
.sol__pane{position:absolute;inset:0}
@media (max-width:960px){.sol{grid-template-columns:1fr}.sol__stage{min-height:420px;order:-1}.sol__panel{padding-left:0}}
.plus{display:grid;gap:var(--space-2)}
.plus li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-2);color:var(--ink-muted)}
.plus li::before{content:"+";font:400 16px/24px var(--font-mono);color:var(--trace)}
.link-go{display:inline-flex;gap:var(--space-2);align-items:center;font:500 14px/20px var(--font-sans);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-200);padding-bottom:2px;justify-self:start}
.link-go:hover{border-color:var(--trace)}

/* Filas de módulo (página Soluciones) */
.rowf{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.rowf + .rowf{margin-top:clamp(64px,9vw,120px)}
.rowf--rev .rowf__copy{order:2}
.rowf__copy{display:grid;gap:var(--space-4);min-width:0}
.rowf__visual{position:relative;height:clamp(360px,38vw,480px);min-width:0}
.rowf__big{font:300 clamp(64px,8vw,110px)/.9 var(--font-sans);letter-spacing:-.05em;color:var(--line-200)}
@media (max-width:960px){.rowf{grid-template-columns:1fr}.rowf--rev .rowf__copy{order:0}}

/* Overlays */
.float{position:absolute;z-index:2;max-width:min(340px,82%)}
.float--br{right:var(--space-4);bottom:56px}
.float .st-fragment,.float .panel{box-shadow:var(--shadow-overlay)}

/* Chat */
.chat{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr;background:var(--bg-000);border:1px solid var(--line-100);border-radius:var(--radius-md);overflow:hidden}
.chat__head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-100);background:var(--bg-200)}
.chat__av{width:28px;height:28px;border-radius:var(--radius-pill);border:1px solid var(--trace);display:grid;place-items:center;flex:none}
.chat__av i{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--trace)}
.chat__body{display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4);overflow:hidden}
.msg{max-width:84%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font:400 14px/21px var(--font-sans);transition:opacity .3s ease-out,transform .3s ease-out}
.msg--in{align-self:flex-start;background:var(--bg-300);color:var(--ink)}
.msg--out{align-self:flex-end;background:var(--bg-200);border:1px solid var(--line-100);color:var(--ink)}
.msg__src{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-2)}
.msg__src .st-tag{height:20px;font-size:10px}
.msg.is-hidden{opacity:0;transform:translateY(6px)}
.typing{align-self:flex-end;display:inline-flex;gap:4px;padding:var(--space-2) var(--space-3);border:1px solid var(--line-100);border-radius:var(--radius-md)}
.typing i{width:5px;height:5px;border-radius:var(--radius-pill);background:var(--ink-faint);animation:tp 1.2s infinite ease-in-out}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}

/* Proceso */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.step{display:grid;gap:var(--space-4);padding:var(--space-4) 0 0;border-top:1px solid var(--line-200);min-width:0;align-content:start}
.step:first-child{border-top-color:var(--trace)}
.step__n{display:flex;justify-content:space-between;align-items:baseline}
.step__n b{font:300 40px/1 var(--font-sans);letter-spacing:-.03em}
.step .fx-box{height:200px}
@media (max-width:900px){.steps{grid-template-columns:1fr}}

.ask{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
.ask__demo{display:grid;gap:var(--space-4);min-width:0}
@media (max-width:900px){.ask{grid-template-columns:1fr}}

/* Comparación */
.versus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.versus__col{display:grid;align-content:start;border-top:1px solid transparent}
.versus__col--us{border-top:2px solid var(--trace)}
.versus__col .fx-box{height:340px}
.versus dl{display:grid;margin:0}
.versus dl div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--line-100)}

.versus dt{font:500 11px/22px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.versus dd{margin:0;color:var(--ink-muted)}
.versus__col--us dd{color:var(--ink)}
@media (max-width:860px){.versus{grid-template-columns:1fr}}

/* Tarjetas */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{position:relative;display:grid;gap:var(--space-3);align-content:start;padding:var(--space-6);background:var(--bg-200);border:1px solid transparent;border-radius:var(--radius-md);text-decoration:none;min-width:0;overflow:hidden;transition:border-color .15s ease-out,background .15s ease-out}
a.card:hover{border-color:var(--line-200);background:var(--bg-300)}
.card__ico{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-200);border-radius:var(--radius-md);color:var(--ink)}
.card__go{font:500 14px/20px var(--font-sans);color:var(--ink-muted);padding-top:var(--space-2)}
a.card:hover .card__go{color:var(--ink)}
.card--visual{padding:0}
.card--visual .fx-box{border:0;border-bottom:1px solid var(--line-100);border-radius:0;height:220px}
.card--visual .card__body{display:grid;gap:var(--space-3);padding:var(--space-6)}
@media (max-width:1000px){.cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.cards,.cards--2{grid-template-columns:1fr}}
@media (max-width:560px){.cards--4{grid-template-columns:1fr}}
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-4)}
.bento .card{grid-column:span 2}
.bento .card.wide{grid-column:span 4}
@media (max-width:960px){.bento{grid-template-columns:1fr}.bento .card,.bento .card.wide{grid-column:auto}}

/* Selector de industrias */
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}
.chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border:1px solid var(--line-100);border-radius:var(--radius-md);font:500 14px/20px var(--font-sans);color:var(--ink-muted);transition:border-color .15s ease-out,color .15s ease-out,background .15s ease-out}
.chip i{width:6px;height:6px;border-radius:var(--radius-pill)}
.chip:hover{color:var(--ink);border-color:var(--line-200)}
.chip[aria-selected="true"]{color:var(--ink);border-color:var(--line-200);background:var(--bg-300)}
.chip:focus-visible{box-shadow:var(--shadow-focus)}
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:var(--bg-200);border:1px solid var(--line-100);border-radius:var(--radius-md);overflow:hidden}
.story__copy{display:grid;gap:var(--space-4);align-content:start;padding:clamp(24px,4vw,40px);min-width:0}
.story__visual{position:relative;min-height:440px;border-left:1px solid var(--line-100);min-width:0}
.story__visual .fx-box{border:0;border-radius:0}
@media (max-width:960px){.story{grid-template-columns:1fr}.story__visual{border-left:0;border-top:1px solid var(--line-100);min-height:360px}}

/* Bloques de industria */
.qwall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.q{display:grid;gap:var(--space-3);align-content:space-between;padding:var(--space-4);background:var(--bg-200);border:1px solid var(--line-100);border-radius:var(--radius-md);min-height:132px}
.q:nth-child(3n+2){transform:translateY(24px)}
.q p{font:400 18px/26px var(--font-sans);letter-spacing:-.01em}
.q p::before{content:"“";color:var(--v)}
.q p::after{content:"”";color:var(--v)}
.q__src{display:flex;align-items:center;gap:var(--space-2)}
.q__src i{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--v)}
@media (max-width:860px){.qwall{grid-template-columns:1fr}.q:nth-child(3n+2){transform:none}}
.journey{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}
.journey::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line-200)}
.journey li{position:relative;display:grid;gap:var(--space-3);padding-top:var(--space-8);min-width:0;align-content:start}
.journey li::before{content:"";position:absolute;top:0;left:0;width:15px;height:15px;border-radius:var(--radius-pill);background:var(--bg-100);border:1.5px solid var(--v)}
.journey li:last-child::before{background:var(--v)}
@media (max-width:860px){.journey{grid-template-columns:1fr}.journey::before{left:7px;right:auto;top:0;bottom:0;width:1px;height:auto}.journey li{padding-top:0;padding-left:var(--space-8)}}
.big-pains{display:grid}
.big-pains li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-6);align-items:baseline;padding:var(--space-6) 0;border-top:1px solid var(--line-100)}
.big-pains li:last-child{border-bottom:1px solid var(--line-100)}
.big-pains b{font:300 56px/1 var(--font-sans);letter-spacing:-.04em;color:var(--v)}
.big-pains p{font:300 clamp(22px,2.6vw,30px)/1.25 var(--font-sans);letter-spacing:-.02em}
@media (max-width:640px){.big-pains li{grid-template-columns:1fr;gap:var(--space-2)}}
.mockrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
@media (max-width:900px){.mockrow{grid-template-columns:1fr}}
.prop{display:grid;background:var(--bg-200);border:1px solid var(--line-100);border-radius:var(--radius-md);overflow:hidden}
.prop__img{height:180px;border-bottom:1px solid var(--line-100);background:var(--bg-000)}
.prop__body{display:grid;gap:var(--space-3);padding:var(--space-4)}
.prop dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:var(--line-100);border:1px solid var(--line-100)}
.prop dl div{display:grid;gap:2px;padding:var(--space-3);background:var(--bg-200)}
.prop dd{margin:0}
.agenda{display:grid;background:var(--bg-200);border:1px solid var(--line-100);border-radius:var(--radius-md)}
.agenda__row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--line-100)}
@media (max-width:560px){.agenda__row{grid-template-columns:52px minmax(0,1fr)}.agenda__row .st-tag{grid-column:2;justify-self:start}}

/* FAQ */
.faq{display:grid;border-top:1px solid var(--line-100)}
.faq details{border-bottom:1px solid var(--line-100)}
.faq summary{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) 0;cursor:pointer;list-style:none;font:400 20px/28px var(--font-sans);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 24px/28px var(--font-mono);color:var(--ink-faint);transition:transform .2s ease-out}
.faq details[open] summary::after{transform:rotate(45deg);color:var(--trace)}
.faq details p{padding:0 0 var(--space-6);color:var(--ink-muted);max-width:68ch}
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,64px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}

/* CTA */
.cta{position:relative;overflow:hidden;background-color:var(--bg-000);background-image:radial-gradient(var(--line-100) 1px,transparent 1.4px);background-size:20px 20px}
.cta .wrap{position:relative;display:grid;justify-items:center;text-align:center;gap:var(--space-6);padding-block:clamp(88px,13vw,168px)}
.cta .h-sec{max-width:20ch}

/* Panel / formularios */
.panel{background:var(--bg-200);border:1px solid var(--line-100);border-radius:var(--radius-md)}
.panel__head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-100)}
.panel__body{display:grid;gap:var(--space-4);padding:var(--space-4)}
.kv{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--space-2) var(--space-4);align-items:baseline}
.tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.form-grid .full{grid-column:1/-1}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}.kv{grid-template-columns:1fr}}
.chk{display:inline-flex}
.chk input{position:absolute;opacity:0;pointer-events:none}
.chk span{cursor:pointer;height:32px}
.chk input:checked + span{background:var(--trace-dim);border-color:var(--trace);color:var(--ink)}
.chk input:focus-visible + span{box-shadow:var(--shadow-focus)}
.notice{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border:1px solid var(--trace);border-radius:var(--radius-md)}

/* Footer */
.site-foot{background:var(--bg-000)}
.site-foot .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:var(--space-8);padding-block:var(--space-12)}
.site-foot h4{margin-bottom:var(--space-3)}
.site-foot ul{display:grid;gap:var(--space-2)}
.site-foot a{text-decoration:none;color:var(--ink-muted);font-size:14px}
.site-foot a:hover{color:var(--ink)}
.foot-base{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-6);border-top:1px solid var(--line-100)}
@media (max-width:900px){.site-foot .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}


/* Relato por capítulos (páginas de solución) */
.storyx{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:start}
.storyx__stage{position:sticky;top:calc(88px + env(safe-area-inset-top,0px));height:min(600px,calc(100vh - 120px));min-width:0}
.storyx__stage .fx-box{position:absolute;inset:0}
.storyx__dots{display:flex;gap:6px}
.storyx__dots i{width:16px;height:2px;background:var(--line-200);transition:background .2s ease-out}
.storyx__dots i.on{background:var(--trace)}
.chaps{display:grid}
.chap{position:relative;min-height:72vh;display:grid;align-content:center;gap:var(--space-4);padding-left:var(--space-8);opacity:.38;transition:opacity .35s ease-out}
.chap:first-child{min-height:56vh;align-content:start;padding-top:8vh}
.chap.is-on{opacity:1}
.chap::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line-100)}
.chap.is-on::before{width:2px;background:var(--trace)}
.chap__n{font:500 11px/16px var(--font-mono);letter-spacing:.08em;color:var(--ink-faint)}
.chap.is-on .chap__n{color:var(--trace)}
.chap h3{font:300 clamp(26px,2.8vw,36px)/1.12 var(--font-sans);letter-spacing:-.025em}
.chap p{color:var(--ink);opacity:.82;font-size:17px;line-height:27px;max-width:46ch}
@media (max-width:960px){
  .storyx{grid-template-columns:1fr;gap:0}
  .storyx__stage{top:calc(64px + env(safe-area-inset-top,0px));height:300px;z-index:3;background:var(--bg-100);padding-block:var(--space-3)}
  .storyx__stage .fx-box{inset:var(--space-3) 0}
  .chap,.chap:first-child{min-height:64vh;padding-top:var(--space-8);align-content:start}
}
@media (prefers-reduced-motion:reduce){.chap{opacity:1}}
.statements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-100)}
.statements li{padding:var(--space-8) var(--space-6) var(--space-8) 0;font:300 clamp(20px,2.2vw,26px)/1.3 var(--font-sans);letter-spacing:-.015em}
.statements li + li{padding-left:var(--space-6);border-left:1px solid var(--line-100)}
.statements li::before{content:"+";display:block;font:300 24px/1 var(--font-mono);color:var(--trace);margin-bottom:var(--space-4)}
@media (max-width:860px){.statements{grid-template-columns:1fr}.statements li,.statements li + li{padding:var(--space-6) 0;border-left:0;border-bottom:1px solid var(--line-100)}}
.mission{display:grid;gap:var(--space-6);padding:clamp(24px,4vw,48px);border:1px solid var(--line-100);border-left:2px solid var(--trace);border-radius:var(--radius-md);background:var(--bg-200)}
.next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-6);align-items:end;padding:var(--space-8) 0;border-top:1px solid var(--line-100);border-bottom:1px solid var(--line-100);text-decoration:none}
.next .h-sec{transition:color .2s ease-out}
.next:hover .h-sec{color:var(--trace)}
.next .arr{font:300 48px/1 var(--font-sans);color:var(--ink-faint)}
.next:hover .arr{color:var(--trace);transform:translateX(6px)}

/* Directorio de integraciones */
.integ{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.integ__group{display:grid;gap:var(--space-3);align-content:start;padding:var(--space-6);background:var(--bg-200);border:1px solid var(--line-100);border-radius:var(--radius-md)}
.integ__list{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.ichip{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3) 0 4px;border:1px solid var(--line-100);border-radius:var(--radius-md);background:var(--bg-100);font:500 14px/20px var(--font-sans);color:var(--ink)}
.ichip b{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-sm);background:var(--bg-300);font:500 10px/1 var(--font-mono);letter-spacing:.04em;color:var(--ink-muted)}
@media (max-width:960px){.integ{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.integ{grid-template-columns:1fr}}

/* Página Soluciones: tres partes */
.parts{display:grid}
.part{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--line-100)}
.part:last-child{border-bottom:1px solid var(--line-100)}
.part__n{position:relative;font:300 56px/1 var(--font-sans);letter-spacing:-.04em;color:var(--line-200)}
.part__copy{display:grid;gap:var(--space-4);min-width:0}
.part__vig{min-width:0}
.part__link{font:500 11px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
@media (max-width:960px){.part{grid-template-columns:1fr}.part__n{font-size:40px}}

/* Panel del selector de industrias */
.story__panel{display:grid;align-content:start;background:var(--bg-100)}
.story__panel .kv{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line-100);grid-template-columns:120px minmax(0,1fr)}
.story__panel .kv:last-child{border-bottom:0}
@media (max-width:640px){.story__panel .kv{grid-template-columns:1fr}}
.vcard{display:grid;gap:var(--space-4);align-content:start;padding:var(--space-6);background:var(--bg-200);border:1px solid var(--line-100);border-top:2px solid var(--v);border-radius:var(--radius-md);text-decoration:none;min-width:0;transition:background .15s ease-out}
.vcard:hover{background:var(--bg-300)}
.vcard__q{padding:var(--space-3);background:var(--bg-100);border:1px solid var(--line-100);border-radius:var(--radius-md);font-size:15px;line-height:22px}
.vcard__q::before{content:"“";color:var(--v)}.vcard__q::after{content:"”";color:var(--v)}
.plan{display:block;width:100%;height:100%}

@media (prefers-reduced-motion:reduce){.marquee__track,.caret,.typing i{animation:none}}
html{scroll-padding-top:80px}
body{margin:0}
.brand img{display:block}
.sec > .wrap.sec-row--integ{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center;gap:var(--space-8);margin:0 auto;padding-block:clamp(48px,6vw,72px)}
.sec-row--integ .integ__list{justify-content:flex-end}
@media (max-width:960px){.sec > .wrap.sec-row--integ{grid-template-columns:minmax(0,1fr)}.sec-row--integ .integ__list{justify-content:flex-start}}
.cta--live{background-image:none}
.cta__dots{position:absolute;inset:0;pointer-events:none}
.legal-hero > .wrap{padding-block:clamp(48px,7vw,88px) clamp(24px,3vw,40px)}
.legal-hero .h-hero{font-size:clamp(36px,5vw,56px)}
.sec.legal-sec{border-top:1px solid var(--line-100)}
.sec > .wrap.legal{display:grid;grid-template-columns:240px minmax(0,720px);gap:clamp(32px,6vw,96px);justify-content:start;padding-block:clamp(48px,6vw,80px) clamp(72px,9vw,120px)}
.legal--single{grid-template-columns:minmax(0,720px)!important}
.legal__toc{position:sticky;top:96px;align-self:start;display:grid;gap:var(--space-4)}
.legal__toc ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2);counter-reset:t}
.legal__toc li{counter-increment:t;display:flex;gap:10px;font-size:14px;line-height:20px}
.legal__toc li::before{content:counter(t,decimal-leading-zero);font-family:'Geist Mono',monospace;font-size:11px;color:var(--ink-faint);padding-top:2px}
.legal__toc a{color:var(--ink-muted);text-decoration:none}
.legal__toc a:hover{color:var(--ink)}
.legal__body{color:var(--ink-muted);font-size:16px;line-height:28px;min-width:0;overflow-wrap:anywhere}
.legal__body > *{margin:0 0 var(--space-4)}
.legal__body h2{color:var(--ink);font-size:24px;line-height:32px;font-weight:500;letter-spacing:-.01em;margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--line-100);scroll-margin-top:88px}
.legal__body h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal__body h3{color:var(--ink);font-size:17px;line-height:26px;font-weight:500;margin-top:var(--space-8)}
.legal__body strong{color:var(--ink);font-weight:500}
.legal__body a{color:var(--trace);text-underline-offset:3px}
.legal__body ul,.legal__body ol{padding-left:1.2em;list-style:disc}
.legal__body ol{list-style:decimal}
.legal__body li{margin-bottom:var(--space-2)}
.legal__body li::marker{color:var(--ink-faint)}
.legal__body img{max-width:100%;height:auto;border-radius:var(--radius-md)}
.legal__skeleton{display:grid;gap:14px}
.legal__skeleton i{display:block;height:14px;border-radius:4px;background:linear-gradient(90deg,var(--bg-200),var(--bg-300),var(--bg-200));background-size:200% 100%;animation:sk 1.4s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.legal__skeleton i{animation:none}}
@media (max-width:900px){.sec > .wrap.legal{grid-template-columns:minmax(0,1fr)}.legal__toc{position:static;padding:var(--space-6);border:1px solid var(--line-100);border-radius:var(--radius-md)}}
