:root{--deep:#080b1a;--ink:#f5f7ff;--cyan:#00fafe;--brand:#200084;--soft:#aab3ca;--thin:#dbe2ff22;--normal:'Inter','Inter Display',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--normal);background:var(--deep);-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:not(:disabled){-webkit-tap-highlight-color:transparent}

.site{min-height:100vh;color:var(--ink);background:var(--deep)}.sitehead{height:104px;display:flex;align-items:center;gap:22px;justify-content:space-between;position:relative;z-index:4;border-bottom:1px solid #b8c8fa1e;padding:0 clamp(30px,5vw,82px);background:#080c1add}.brand{width:221px;flex:none;height:90px;display:flex;align-items:center;text-decoration:none;overflow:visible}.brand img{width:222px;max-width:100%;height:96px;object-fit:contain;object-position:left center}.navlinks{display:flex;align-items:center;gap:clamp(18px,2.8vw,46px)}.navlinks button{font-size:12px;background:none;color:#b5bad0;border:0;padding:14px 1px}.navlinks button:hover{color:var(--cyan)}.contact{min-width:151px;padding:14px 19px;border:1px solid #7a82ab88;background:transparent;color:white;font-size:12px;font-weight:600;display:flex;justify-content:space-between;gap:20px;transition:background .2s,border-color .2s}.contact span{color:var(--cyan)}.contact:hover{border-color:var(--cyan);background:#172041}.mobile-trigger,.mobile-nav{display:none}
.hero{position:relative;overflow:hidden;min-height:min(775px,calc(100vh - 104px));background:radial-gradient(ellipse 72% 95% at 83% 50%,#15144c55,transparent 70%),linear-gradient(100deg,#080b1a 20%,#0c1030 100%)}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 4.95%,#c4cdfa08 5%,transparent 5.05%,transparent 50%,#c4cdfa09 50.03%,transparent 50.1%,transparent 94.95%,#c4cdfa08 95%,transparent 95.05%)}.ambient{position:absolute;pointer-events:none;filter:blur(45px);opacity:.17;border-radius:50%}.ambient-one{height:490px;width:480px;left:57%;top:10%;background:#1e1688}.ambient-two{height:280px;width:370px;left:80%;bottom:-120px;background:#00a8a8;opacity:.06}
.hero-inner{max-width:1660px;min-height:650px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:stretch;padding:0 clamp(30px,5.05vw,84px);position:relative}.hero-copy{z-index:2;display:flex;flex-direction:column;align-items:flex-start;padding-top:clamp(84px,9vw,142px);padding-bottom:27px}.eyebrow{font-family:var(--normal);font-size:10px;letter-spacing:.15em;color:#8ed4da;display:flex;gap:13px;align-items:center;font-weight:650}.eyebrow-line{width:29px;height:1px;background:var(--cyan);flex:none}.hero h1{font-size:clamp(56px,5.35vw,87px);font-weight:535;line-height:1.055;letter-spacing:-.035em;max-width:740px;margin:33px -100px 24px 0;color:#f4f6ff}.hero h1>span{color:var(--cyan);white-space:nowrap}.period{color:#f4f6ff}.hero-description{font-size:clamp(15px,1.25vw,18px);font-weight:400;letter-spacing:-.015em;line-height:1.76;color:#b6c0d6;max-width:575px;margin:12px 0 0}.hero-cta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:36px}.button-primary{min-height:51px;min-width:210px;padding:14px 17px;background:var(--cyan);color:#06182b;border:1px solid var(--cyan);display:inline-flex;align-items:center;justify-content:space-between;gap:22px;font-size:12px;font-weight:750;transition:transform .2s,background .2s}.button-primary:hover{background:#b9ffff;transform:translateY(-2px)}.button-quiet{background:transparent;border:0;border-bottom:1px solid #afb9d45a;padding:15px 0;color:#e3e9fa;display:inline-flex;align-items:center;gap:34px;font-size:12px;font-weight:560;min-height:51px}.button-quiet span{color:var(--cyan)}.button-quiet:hover{border-color:var(--cyan)}.method-strip{margin-top:auto;padding-top:58px;width:min(100%,535px);display:grid;grid-template-columns:1fr;gap:16px}.method-sup{font-size:9px;font-weight:600;letter-spacing:.15em;color:#7184a9}.method-content{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.method-content>div{border-top:1px solid #91a3d040;padding-top:13px;display:flex;gap:12px;color:#71b5c0;font:10px 'SFMono-Regular',Consolas,monospace}.method-content b{color:#aebcd4;font:11px var(--normal);font-weight:520}

/* Atlas de relaciones · Visualización original sin indicadores ficticios. */
.hero-visual{
  position:relative;min-width:0;overflow:hidden;height:650px;align-self:center;
  border-left:1px solid rgba(119,142,213,.09);
  background:radial-gradient(ellipse 74% 75% at 49% 51%,rgba(30,40,99,.45),transparent 76%);
  isolation:isolate
}
.hero-visual:before{
  content:"";position:absolute;inset:8.5% 9%;pointer-events:none;border:1px solid rgba(105,137,198,.075);
  border-radius:50%;transform:rotate(-17deg) scaleX(.80)
}
.plot-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(121,144,205,.085) 1px,transparent 1px),linear-gradient(90deg,rgba(121,144,205,.085) 1px,transparent 1px);background-size:51px 51px;opacity:.18;mask-image:radial-gradient(ellipse 78% 75% at 50% 48%,#000 30%,transparent 95%)}
.plot-top{position:absolute;top:31px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:3;color:#9bb3d2;font:9px Consolas,monospace;letter-spacing:.10em}
.plot-top .plot-mode{color:#71b3c4;text-align:right}
#network-canvas{width:100%;height:100%;display:block;position:absolute;inset:0;touch-action:pan-y}
.plot-label{position:absolute;z-index:2;pointer-events:none;font:650 11px var(--normal);letter-spacing:.085em;color:#daedfa;text-shadow:0 0 18px rgba(3,12,32,.8);transition:opacity .38s,color .38s}
.plot-label .plot-index{font:9px Consolas,monospace;color:#65b9c1;display:inline;letter-spacing:.08em;margin-right:5px}
.label-one{top:20.5%;left:8.0%}.label-two{top:29.5%;right:2.7%}.label-three{bottom:23.3%;left:16.1%}
.plot-crosshair{position:absolute;z-index:1;color:#60a1d6;font:15px Consolas,monospace;opacity:.33;pointer-events:none}.crosshair-a{left:16%;top:54%}.crosshair-b{right:17%;bottom:21%}
.plot-bottom{position:absolute;bottom:23px;left:22px;right:22px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:13px}
.network-toggle{display:flex;gap:0;padding:3px;background:rgba(7,16,37,.88);border:1px solid #466077;backdrop-filter:blur(12px);border-radius:2px}
.network-toggle button{border:0;border-radius:1px;background:transparent;color:#a7b9c9;font-size:10px;white-space:nowrap;padding:10px 12px;font-weight:550;transition:background .2s,color .2s}
.network-toggle button.selected{background:#184452;color:#a8ffef;box-shadow:inset 0 0 0 1px #2e6c72}
.network-toggle button:hover:not(.selected){color:#f2ffff;background:#122a3d}
.plot-gesture{font:9px Consolas,monospace;color:#668c9c;letter-spacing:.07em;white-space:nowrap}.plot-gesture span{color:#00fafe}
.hover-label{position:absolute;z-index:4;pointer-events:none;padding:10px 13px;background:#081429ec;border:1px solid rgba(96,186,202,.65);color:#e5fafd;font:11px var(--normal);line-height:1.5;box-shadow:0 10px 32px #0008;white-space:nowrap;transition:opacity .15s}
.hover-label strong{display:block;color:#00fafe;font:9px Consolas,monospace;letter-spacing:.10em;margin-bottom:4px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#network-viz[data-focus="market"] .label-two,#network-viz[data-focus="market"] .label-three,#network-viz[data-focus="institutions"] .label-one,#network-viz[data-focus="institutions"] .label-three,#network-viz[data-focus="territory"] .label-one,#network-viz[data-focus="territory"] .label-two{opacity:.28}
#network-viz[data-focus="market"] .label-one,#network-viz[data-focus="institutions"] .label-two,#network-viz[data-focus="territory"] .label-three{color:#92fff2}
.hero-footer{min-height:77px;margin:0 clamp(30px,5.05vw,84px);border-top:1px solid #6979ab39;display:flex;align-items:center;gap:15px;justify-content:space-between;color:#8798bb;font:9px 'SFMono-Regular',Consolas,monospace;letter-spacing:.09em;position:relative}.hero-footer b{color:var(--cyan)}.tiny-asterisk{color:#00fafe;font-size:31px;line-height:1}
dialog{width:min(420px,calc(100% - 30px));background:#0f1a35;color:#edf5ff;border:1px solid #548c9c;padding:35px;box-shadow:0 25px 80px #000a}dialog::backdrop{background:#010813b7}dialog small{color:var(--cyan);font:10px Consolas,monospace}dialog h2{font-size:30px;letter-spacing:-.05em;margin:24px 0 10px}dialog p{line-height:1.7;color:#b4c6d8;font-size:13px}dialog .button-primary{margin-top:14px}.modal-close{position:absolute;right:15px;top:10px;border:0;background:none;color:white;font-size:28px}
@media(min-width:1500px){.hero-inner{min-height:700px}.hero-visual{height:700px}.hero h1{font-size:89px}.hero-copy{padding-top:145px}}
@media(max-width:1200px){.sitehead{height:87px}.brand{width:178px;height:70px}.brand img{width:188px;height:80px}.navlinks{gap:16px}.navlinks button{font-size:11px}.hero h1{font-size:clamp(56px,5.6vw,76px);margin-right:-120px}.hero-inner{grid-template-columns:1fr 1fr}.hero-visual{height:620px}.hero-copy{padding-top:120px}}
@media(max-width:940px){.navlinks{display:none}.mobile-trigger{display:flex;flex-direction:column;gap:5px;justify-content:center;min-width:38px;height:40px;background:none;border:1px solid #536181;color:white;padding:8px;order:3}.mobile-trigger span{height:1px;background:#e8ecff;width:100%;display:block}.mobile-nav{display:flex;flex-direction:column;gap:2px;background:#101731;border-bottom:1px solid #354868;padding:12px 30px;position:absolute;left:0;right:0;z-index:10}.mobile-nav[hidden]{display:none}.mobile-nav button{background:none;border:0;padding:12px 4px;color:white;text-align:left}.hero-inner{display:block;min-height:0}.hero-copy{padding-top:72px}.hero h1{font-size:clamp(54px,7.5vw,84px);max-width:780px;margin-right:0}.hero-visual{border-left:0;border-top:1px solid #6071b021;max-width:710px;height:570px;margin:30px auto 0}.method-strip{margin-top:35px;padding-top:8px}.hero-footer{min-height:65px}}
@media(max-width:620px){.sitehead{padding:0 18px;height:78px}.brand{width:160px;height:68px}.brand img{width:165px;height:73px}.contact{min-width:0;padding:11px;font-size:10px;gap:7px;margin-left:auto}.hero-inner{padding:0 21px}.hero-copy{padding-top:59px}.eyebrow{font-size:9px;line-height:1.5;max-width:320px;letter-spacing:.10em}.eyebrow-line{width:19px}.hero h1{font-size:clamp(42px,11vw,67px);line-height:1.05;letter-spacing:-.035em;margin:28px 0 23px}.hero-description{font-size:14px;line-height:1.7;margin:0}.hero-cta{gap:16px;margin-top:28px}.button-primary{min-height:45px;min-width:190px;padding:11px 13px;font-size:11px}.button-quiet{min-height:45px;font-size:11px;gap:14px;padding:9px 0}.method-strip{margin-top:26px;gap:11px}.method-content{gap:7px}.method-content>div{gap:5px;flex-direction:column}.hero-visual{height:390px;margin:30px -21px 0}.plot-top{left:18px;right:18px;top:17px;font-size:7px}.plot-label{font-size:9px}.plot-label span{font-size:7px}.label-one{left:15%;top:22%}.label-two{right:6%;top:45%}.label-three{left:16%;bottom:27%}.plot-bottom{left:10px;right:10px;bottom:14px;display:block}.network-toggle{width:100%;justify-content:center}.network-toggle button{font-size:9px;flex:1;padding:10px 5px}.hero-footer{margin:0 20px;min-height:50px;font-size:8px}.hero-footer .tiny-asterisk{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Overrides de comportamiento móvil para la visualización relacional v4. */
@media(max-width:1200px){.plot-gesture{display:none}}
@media(max-width:620px){
 .hero-visual{height:410px;background:radial-gradient(ellipse 95% 80% at 50% 47%,rgba(30,40,99,.5),transparent 80%)}
 .plot-top{left:15px;right:15px;top:20px;font-size:8px}
 .plot-mode{font-size:8px}
 .label-one{left:8%;top:21%}.label-two{right:5%;top:30%}.label-three{left:12%;bottom:27%}
 .plot-bottom{bottom:16px;left:10px;right:10px}
 .network-toggle{width:100%}
 .network-toggle button{flex:1;padding:11px 4px;font-size:10px}
 .hover-label{font-size:10px;padding:8px 10px}
}


/* v5 · sistemas complejos: sin controles, sin etiquetas sectoriales */
.hero-visual{background:radial-gradient(ellipse 84% 76% at 52% 49%,rgba(30,40,99,.38),transparent 76%),radial-gradient(circle at 70% 30%,rgba(0,250,254,.06),transparent 30%);}
.plot-top .plot-mode{color:#7cc6d4}
.poetic-bottom{justify-content:flex-start;bottom:18px;left:22px;right:22px}
.poetic-bottom .plot-gesture{font-size:9px;letter-spacing:.12em;color:#7a97b4;white-space:normal}
@media(max-width:620px){
  .poetic-bottom{left:14px;right:14px;bottom:16px}
  .poetic-bottom .plot-gesture{font-size:8px;line-height:1.6;max-width:270px}
}


/* Portada v6: visualización emergente, SIN controles, etiquetas ni marco de dashboard */
.hero-visual{isolation:isolate;border:0;overflow:visible;background:radial-gradient(ellipse 83% 74% at 50% 49%,rgba(32,0,132,.15),transparent 81%)}
.hero-visual:before{display:none}
.hero-visual .plot-grid,.hero-visual .plot-top,.hero-visual .plot-bottom,.hero-visual .plot-label,.hero-visual .plot-crosshair,.hero-visual .hover-label{display:none!important}
#network-canvas{touch-action:auto;pointer-events:none;filter:drop-shadow(0 0 11px rgba(90,157,245,.15))}
.hero-inner{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)}
@media(max-width:940px){.hero-visual{overflow:hidden;height:570px;margin:28px auto 0}}
@media(max-width:620px){.hero-visual{height:415px;margin:25px -21px 0}}
