@charset "UTF-8";
:root{color-scheme:dark;--bg:#07111f;--panel:#0b1a30;--text:#edf7ff;--muted:#9ab1c6;--line:#1c4264;--accent:#08c8ff;--blue:#073a86;--cyan:#08c8ff;--mono:"Cascadia Code",Consolas,monospace}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font:14px Arial,Helvetica,sans-serif}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}p{line-height:1.6}.mono{font:10px var(--mono);letter-spacing:1px}.accent{color:var(--accent)}
.shell{height:100vh;height:100dvh;max-width:1600px;margin:auto;padding:0 clamp(16px,3vw,48px);display:grid;grid-template-rows:56px minmax(0,1fr) 48px;gap:0}.skip{position:fixed;top:-80px;padding:12px;background:var(--accent);color:var(--bg);z-index:9}.skip:focus{top:5px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);min-width:0}.monogram{font-size:28px;font-weight:800;letter-spacing:-3px}.monogram span{color:var(--accent)}.top-caption{font:9px var(--mono);letter-spacing:1.4px;color:var(--muted)}.contact-top{font-size:12px}.contact-top span{color:var(--accent);margin-left:12px}
main{min-height:0;display:grid;grid-template-rows:100px 44px minmax(0,1fr)}.identity{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0}.identity-meta{display:flex;justify-content:space-between;color:var(--muted)}.identity-meta .mono,.location{font:9px var(--mono);letter-spacing:1px}.location i,.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:8px}.name-row{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:32px;font-weight:600;letter-spacing:-1px;line-height:1.1;white-space:nowrap;margin:0}h1>span:first-child{color:var(--accent);margin-left:.2em}.asterisk{font-size:14px;vertical-align:top;color:var(--accent);margin-left:9px}.identity-note{font-size:11px}.identity-note p{margin:0;line-height:1.5}.identity-note p+p{color:var(--muted)}.workspace-bar{display:flex;justify-content:space-between;align-items:stretch;border-block:1px solid var(--line);gap:12px;min-width:0}.view-nav{display:flex;gap:24px}.view-nav button{font-size:12px;color:var(--muted);padding:0;border-bottom:2px solid transparent}.view-nav button span{font:9px var(--mono);margin-right:8px}.view-nav button[aria-selected=true]{color:var(--text);border-color:var(--accent)}.workspace-hint{align-self:center;font-size:8px;color:var(--muted)}
#ecosistema{min-height:0;display:flex;flex-direction:column}.compact-switch{display:none}.atlas{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(285px,1fr);flex:1;min-height:0;border-bottom:1px solid var(--line)}.map{display:grid;grid-template-rows:24px minmax(0,1fr) 38px;min-height:0;min-width:0;padding:16px 24px 12px 0;background-image:radial-gradient(#ffffff0b .7px,transparent .7px);background-size:19px 19px}.map-label{font-size:9px;color:var(--muted)}.constellation{position:relative;min-height:0}.wires{position:absolute;width:100%;height:100%;inset:0}.core{position:absolute;left:49.4%;top:51.25%;transform:translate(-50%,-50%);width:clamp(85px,9vw,132px);aspect-ratio:1;border:1px solid #6e6a89;border-radius:50%;box-shadow:0 0 0 10px #ffffff02;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 30% 20%,#393648,#15161c 80%)}.core-symbol{font-size:30px;font-weight:bold;color:var(--accent);letter-spacing:-9px;margin-left:-8px;line-height:1}.core-symbol>span{position:relative;top:5px}.core strong{font-size:12px;margin:12px 0 6px}.core>span:last-child{font:6px var(--mono);letter-spacing:.6px;color:var(--muted)}.node{position:absolute;display:flex;align-items:center;gap:8px;transform:translate(-50%,-50%);background:var(--bg);padding:10px;text-align:left;border:1px solid #3b3c46;border-radius:4px;white-space:nowrap;min-height:44px}.node:hover{border-color:#92909f;background:#1b1c23}.node.selected{border-color:var(--accent);background:#252332}.node-icon{font-size:23px;color:var(--accent);width:25px;text-align:center}.node b{display:block;font-size:11px;font-weight:500}.node small{display:block;font:7px var(--mono);letter-spacing:.5px;color:var(--muted);margin-top:5px}.node-rw{left:20.5%;top:24.5%}.node-ai{left:50.6%;top:15.5%}.node-liora{left:79.4%;top:27.5%}.node-hosting{left:80.8%;top:73.5%}.node-cs{left:49.4%;top:87.25%}.node-sdf{left:19.75%;top:71.75%}.map-bottom{display:flex;justify-content:space-between;align-items:end;color:var(--muted);font-size:11px;line-height:1.5}.map-bottom strong{font-weight:400;color:var(--text)}.map-bottom .mono{font-size:8px}.project-detail{min-width:0;min-height:0;padding:20px 24px;display:flex;flex-direction:column;border-left:1px solid var(--line);background:linear-gradient(145deg,#1c1c25,#14151a)}.detail-top{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.category{font:9px var(--mono);letter-spacing:1px;color:var(--accent);margin:20px 0 12px}h2{font-size:clamp(25px,2.7vw,38px);font-weight:500;line-height:1.1;letter-spacing:-1px;margin:0 0 12px}.copy-nav{display:flex;gap:18px;border-bottom:1px solid var(--line);flex-shrink:0}.copy-nav button{font-size:11px;padding:10px 0;color:var(--muted);border-bottom:1px solid transparent}.copy-nav button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}#project-copy{min-height:0}#project-copy p{font-size:14px;line-height:1.6;color:#c2c1ce;margin:16px 0}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{border:1px solid #454451;padding:5px 7px;font:10px var(--mono);color:#c7c3d6}.detail-bottom,.pager{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;flex-shrink:0}.detail-bottom .mono,.pager .mono{font-size:9px;color:var(--muted)}.detail-bottom button,.pager button{border:1px solid #555261;min-width:36px;height:36px;margin-left:8px}.detail-bottom button:hover,.pager button:hover{background:var(--accent);color:var(--bg)}.research{display:flex;justify-content:space-between;align-items:center;gap:10px;height:36px;flex-shrink:0;font-size:10px;color:var(--muted)}.research .mono{font-size:8px;color:var(--accent)}.research i{color:#626270}
.paged-view{min-height:0;display:flex;flex-direction:column;padding:22px 0 12px}.sheets{flex:1;min-height:0;display:flex;align-items:center}.sheet{width:100%;max-width:1000px}.sheet>.category{margin-top:0}.sheet p{font-size:15px;color:#babac6;max-width:670px}.sheet h2{font-size:clamp(28px,3vw,42px);margin-bottom:20px}.profile-sheet{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:center;gap:40px;height:100%;max-width:none}.portrait{height:100%;min-height:0;margin:0;display:flex;flex-direction:column}.portrait img{width:100%;flex:1;min-height:0;object-fit:cover;object-position:50% 45%;filter:grayscale(1)}.portrait figcaption{font-size:8px;color:var(--muted);padding-top:10px}.profile-sheet .category{margin-top:0}.underlink{font-size:12px;color:var(--accent);display:inline-block;margin-top:10px}.pager{height:44px;padding:8px 0 0;border-top:1px solid var(--line);margin-top:14px}.tool-list{margin:0;display:grid;gap:18px}.tool-list dt{font:10px var(--mono);color:var(--accent)}.tool-list dd{margin:6px 0 0;line-height:1.5;font-size:14px;color:var(--muted)}.job-role{font-size:20px!important}
footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0}.footer-intro>.mono,.footer-note{display:none}.footer-intro>a{font-size:12px}.footer-intro>a>span{color:var(--accent);margin-left:6px}.footer-links{display:flex;gap:18px;font-size:11px}.footer-links a:hover{color:var(--accent)}.no-script{font-size:12px;margin:0}
@media(max-width:1100px){.workspace-hint,.top-caption{display:none}.map{padding-right:12px}.node{padding:7px;gap:4px}.node-icon{font-size:19px;width:20px}.node b{font-size:10px}.node small{font-size:6px}.map-bottom .mono{display:none}.project-detail{padding:16px}.research{font-size:9px}.research i{display:none}}
@media(max-height:750px){.shell{grid-template-rows:46px minmax(0,1fr) 40px}main{grid-template-rows:80px 40px minmax(0,1fr)}.identity{gap:7px}.identity-note p+p{display:none}.category{margin-top:14px}.project-detail{padding:14px 18px}.research{display:none}.map{grid-template-rows:18px minmax(0,1fr) 28px;padding-top:12px;padding-bottom:8px}.map-bottom{font-size:10px}.core{width:92px}.core-symbol{font-size:25px}.core strong{margin:8px 0 5px}.sheet p{font-size:14px}.sheet h2{font-size:30px}.paged-view{padding-top:15px}}
/* In compact layouts map and detail are separate, reachable views. */
@media(max-width:700px),(max-height:480px){.compact-switch{display:flex;height:40px;flex-shrink:0;gap:20px;border-bottom:1px solid var(--line);align-items:stretch}.compact-switch button{font-size:11px;color:var(--muted);padding:0;border-bottom:1px solid transparent}.compact-switch button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.atlas{display:flex}.atlas[data-mode=map] .project-detail,.atlas[data-mode=detail] .map{display:none}.map,.project-detail{width:100%}.project-detail{border-left:0}.map{padding:16px 0 8px}.node{padding:10px;gap:7px}.node b{font-size:11px}.node small{font-size:7px}.core{width:100px}.workspace-hint{display:none}.research{display:none}}
@media(max-width:700px){.shell{grid-template-rows:46px minmax(0,1fr) 42px}.top-caption{display:none}.contact-top{font-size:11px}.identity-meta .mono{display:none}.identity-meta{justify-content:flex-end}.identity-meta .location{font-size:8px}.name-row{gap:10px}.identity-note p+p{display:none}.identity-note{font-size:10px;max-width:110px}h1{font-size:25px}.asterisk{font-size:10px;margin-left:6px}main{grid-template-rows:75px 42px minmax(0,1fr)}.view-nav{justify-content:space-between;width:100%;gap:10px}.view-nav button{font-size:11px}.view-nav button span{font-size:8px;margin-right:5px}.map-label{font-size:8px}.node{flex-direction:column;text-align:center;padding:8px 6px;gap:3px}.node b{font-size:10px}.node small{font-size:6px}.node-icon{height:24px;width:24px}.node-sdf{left:20%}.node-rw{left:20%}.project-detail{padding:20px}.project-detail h2{font-size:30px}.category{font-size:9px}.project-detail .category{margin:20px 0 12px}.copy-nav button{font-size:12px}.detail-bottom button,.pager button{height:38px;width:42px}.profile-sheet{grid-template-columns:1fr;gap:0}.portrait{display:none}.sheet h2{font-size:30px}.sheet p{font-size:14px}.tool-list{gap:16px}.footer-intro{display:none}.footer-links{width:100%;justify-content:space-between;gap:8px;font-size:10px}.core>span:last-child{font-size:5px}}
@media(max-height:560px){.shell{grid-template-rows:38px minmax(0,1fr) 32px}main{grid-template-rows:48px 36px minmax(0,1fr)}.identity-meta{display:none}.identity{gap:0}h1{font-size:24px}.topbar .contact-top{font-size:10px}.node{padding:6px}.node small{display:none}.node-icon{font-size:17px;height:18px}.node b{font-size:10px}.core{width:65px}.core-symbol{font-size:20px}.core strong{font-size:9px;margin:5px 0 0}.core>span:last-child{display:none}.map{grid-template-rows:16px minmax(0,1fr) 0;padding-top:8px}.map-bottom{display:none}.project-detail{padding:10px 16px}.project-detail .category{margin:10px 0 8px;font-size:8px}.project-detail h2{font-size:24px;margin-bottom:4px}.copy-nav button{padding:7px 0}.detail-top{font-size:8px}#project-copy p{font-size:12px;line-height:1.45;margin:10px 0}.detail-bottom{padding-top:6px}.tags span{font-size:9px;padding:3px 5px}.sheet h2{font-size:25px;margin-bottom:12px}.sheet p{font-size:12px;line-height:1.5}.tool-list{gap:9px}.tool-list dd{font-size:12px}.tool-list dt{font-size:9px}.paged-view{padding:12px 0 8px}.pager{margin-top:8px;height:36px}.pager button,.detail-bottom button{height:30px;width:34px}.underlink{font-size:11px}.profile-sheet{grid-template-columns:1fr}.portrait{display:none}}
@media(max-height:480px){.shell{grid-template-rows:32px minmax(0,1fr) 28px}main{grid-template-rows:0 32px minmax(0,1fr)}.identity{display:none}.compact-switch{height:30px}.map-label{display:none}.map{grid-template-rows:0 minmax(0,1fr) 0;padding:6px 0}.project-detail{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);grid-template-rows:16px auto 1fr 32px;gap:4px 18px}.detail-top{grid-column:1}.project-detail .category{grid-column:1;margin:4px 0}.project-detail h2{grid-column:1;grid-row:3;font-size:24px;align-self:start}.copy-nav{grid-column:2;grid-row:1/3}.copy-nav button{padding:4px 0}#project-copy{grid-column:2;grid-row:3}.detail-bottom{grid-column:1/-1;grid-row:4;padding-top:0}.detail-bottom .mono{font-size:8px}.node{flex-direction:row;min-height:34px}.core{width:56px}.core strong{font-size:8px}.core-symbol{font-size:16px}.node-cs{top:85%}.node-ai{top:15%}.sheet h2{font-size:24px}.sheet p{max-width:850px}.sheets{align-items:center}.profile-sheet{display:block}.sheet .category{margin-bottom:8px}.tool-list{grid-template-columns:repeat(3,1fr);gap:15px}.footer-links{justify-content:flex-end}.contact-top{font-size:10px}}
@media(max-width:420px) and (max-height:560px){.project-detail{display:flex}.detail-top{display:none}.project-detail .category{display:none}.project-detail h2{font-size:22px;margin:0}.copy-nav{flex-shrink:0}.detail-bottom{margin-top:auto}.tags{gap:4px}.tags span{font-size:8px}.tool-list{display:grid;grid-template-columns:1fr;gap:6px}.sheet h2{font-size:22px}.sheet p{font-size:12px}.underlink{margin-top:0}.sheet .category{margin:0 0 6px;font-size:8px}}
@media(max-width:700px) and (max-height:650px){.shell{grid-template-rows:38px minmax(0,1fr) 32px}main{grid-template-rows:50px 36px minmax(0,1fr)}.identity-meta{display:none}.compact-switch{height:32px}.project-detail{padding:12px 16px}.project-detail .category{display:none}.project-detail h2{font-size:24px;margin:10px 0 6px}.copy-nav button{padding:8px 0}#project-copy p{font-size:13px;line-height:1.5;margin:12px 0}.tags span{font-size:9px}.detail-bottom{padding-top:6px}.detail-bottom button{height:32px}}
@media(max-height:480px){main{grid-template-rows:32px minmax(0,1fr)}.project-detail{grid-template-rows:16px 24px minmax(0,1fr) 32px}.detail-top{align-self:start}.detail-bottom{margin-top:0}.project-detail .category{display:block}}
@media(max-width:420px){.core{width:78px}.core strong{font-size:10px}.core-symbol{font-size:24px}.core>span:last-child{display:none}}
@media(max-height:480px){.map{grid-template-rows:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Paleta derivada del logo oficial: azul profundo como base y cian como señal de acción. */
.map{background-image:radial-gradient(#08c8ff14 .7px,transparent .7px)}
.core{border-color:#1475b7;box-shadow:0 0 0 10px #08c8ff0a,0 0 38px #08c8ff12;background:radial-gradient(circle at 30% 20%,#0e4c94,#07111f 78%)}
.node{background:#091727;border-color:#245274;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}
.node:hover{border-color:#08c8ff;background:#0a2239;transform:translate(-50%,-50%) translateY(-2px)}
.node.selected{border-color:var(--cyan);background:linear-gradient(135deg,#063a70,#09233e);box-shadow:0 0 24px #08c8ff2c}
.node-icon{width:25px;height:25px;display:block;background:var(--cyan);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.node-rw .node-icon{-webkit-mask-image:url('icons/upload.png');mask-image:url('icons/upload.png')}
.node-ai .node-icon{-webkit-mask-image:url('icons/nodes.png');mask-image:url('icons/nodes.png')}
.node-liora .node-icon{background:#8fb3ff;-webkit-mask-image:url('icons/pen.png');mask-image:url('icons/pen.png')}
.node-hosting .node-icon{-webkit-mask-image:url('icons/rectangle.png');mask-image:url('icons/rectangle.png')}
.node-cs .node-icon{background:#6ce7ce;-webkit-mask-image:url('icons/select.png');mask-image:url('icons/select.png')}
.node-sdf .node-icon{background:#70d8ff;-webkit-mask-image:url('icons/download.png');mask-image:url('icons/download.png')}
.project-detail{background:linear-gradient(145deg,#0b1d33,#07111f)}
.tags span{border-color:#245274;color:#b7eaff}.detail-bottom button,.pager button{border-color:#2a6e98}

/* Perfil: información útil al frente; retrato secundario y contenido con densidad equilibrada. */
.profile-sheet{grid-template-columns:minmax(220px,320px) minmax(0,760px);gap:clamp(28px,5vw,72px);justify-content:start}
.portrait{height:min(52vh,430px);align-self:center}.portrait img{border:1px solid #245274;object-position:50% 38%}
.profile-intro{max-width:760px}.profile-intro h2{margin-bottom:14px}.profile-intro>p:not(.category){max-width:720px;margin:0 0 18px}
.profile-signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid #1d496a;background:#1d496a;max-width:670px}
.profile-signals>div{background:#081729;padding:10px 12px;min-width:0}.profile-signals span{display:block;font:8px var(--mono);letter-spacing:.8px;color:var(--cyan);margin-bottom:5px}.profile-signals b{display:block;font-size:12px;font-weight:500;color:#d9efff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-actions{display:flex;gap:18px;flex-wrap:wrap}.profile-actions .underlink{margin-top:14px}
@media(max-width:700px){.profile-sheet{display:block}.portrait{display:none}.profile-signals{grid-template-columns:1fr 1fr}.profile-intro>p:not(.category){margin-bottom:14px}.profile-signals>div{padding:8px 9px}.profile-signals b{font-size:11px}.profile-actions{gap:13px}}
@media(max-height:560px){.portrait{height:min(47vh,310px)}.profile-signals>div{padding:7px 9px}.profile-signals span{font-size:7px;margin-bottom:3px}.profile-signals b{font-size:10px}.profile-actions .underlink{margin-top:8px}}

/* Retrato holográfico: la imagen permanece intacta bajo una señal visual no invasiva. */
.portrait{position:relative;isolation:isolate;overflow:hidden;background:#07111f;box-shadow:0 0 0 1px #08c8ff44,0 0 26px #08c8ff20}
.portrait::before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#08c8ff13 0 1px,transparent 1px 5px),linear-gradient(105deg,transparent 32%,#08c8ff2b 48%,transparent 64%);background-size:auto auto,250% 100%;mix-blend-mode:screen;animation:holo-scan 6s linear infinite}
.portrait::after{content:"// IDENTIDAD / EN LÍNEA";position:absolute;z-index:3;right:9px;top:9px;color:#c9f7ff;font:7px var(--mono);letter-spacing:.8px;padding:5px 6px;border:1px solid #08c8ff66;background:#07111fbf;box-shadow:0 0 13px #08c8ff22;animation:holo-label 3.8s ease-in-out infinite}
.portrait img{position:relative;z-index:1;filter:grayscale(1) contrast(1.06) brightness(.95);animation:holo-presence 7s ease-in-out infinite}
@keyframes holo-scan{0%{background-position:0 0,130% 0}100%{background-position:0 0,-130% 0}}
@keyframes holo-label{0%,100%{opacity:.58}52%{opacity:1;text-shadow:0 0 9px #08c8ff}}
@keyframes holo-presence{0%,100%{transform:scale(1.002);opacity:.96}50%{transform:scale(1.012);opacity:1}}
.carousel-control{gap:14px}.carousel-dots{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.carousel-dot{width:30px;height:5px;padding:0;background:#1c4969;border:0;transition:width .25s ease,background .25s ease,box-shadow .25s ease}.carousel-dot:hover,.carousel-dot:focus-visible{background:#71e4ff}.carousel-dot[aria-selected=true]{width:56px;background:#08c8ff;box-shadow:0 0 12px #08c8ff80}.carousel-hint{font-size:8px;color:var(--muted)}
@media(max-width:700px){.carousel-hint{display:none}.carousel-control{gap:9px}.carousel-dots{justify-content:flex-end}.carousel-dot{width:20px}.carousel-dot[aria-selected=true]{width:36px}}
@media(prefers-reduced-motion:reduce){.portrait::before,.portrait::after,.portrait img{animation:none}.carousel-dot{transition:none}}

/* Mapa de capacidades: una idea macro abre sus rutas de producto. */
.macro{min-width:156px;justify-content:center;padding:12px 14px}.macro b{font-size:11px}.macro small{color:#79b8dc}.macro-build{left:18%;top:25%}.macro-ai{left:50%;top:14%}.macro-design{left:80%;top:27%}.macro-delivery{left:80%;top:73%}
.route-lane{position:absolute;z-index:4;left:50%;bottom:2%;transform:translateX(-50%);display:grid;justify-items:center;gap:8px;min-width:310px}.route-lane p{margin:0;color:#79b8dc;font-size:8px}.route-nodes{display:flex;gap:10px;align-items:stretch}.route-node{display:flex;align-items:center;gap:8px;background:#071a2d;border:1px solid #2b6690;color:var(--text);padding:9px 11px;min-width:145px;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.route-node:hover,.route-node:focus-visible,.route-node.selected{border-color:#08c8ff;box-shadow:0 0 20px #08c8ff35;transform:translateY(-3px)}.route-node b{display:block;font-size:10px;font-weight:600}.route-node small{display:block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:6px var(--mono);letter-spacing:.45px;color:#8bbbd4;margin-top:4px}.route-node .node-icon{flex:0 0 22px}.node-bm .node-icon{background:#70d8ff;-webkit-mask-image:url('icons/save.png');mask-image:url('icons/save.png')}
.holo-card{position:absolute;z-index:6;right:5%;top:43%;width:min(250px,32%);padding:13px 15px;border:1px solid #08c8ff;background:linear-gradient(135deg,#0d4876fa,#071b30fa);box-shadow:0 0 0 1px #8beaff42,0 0 34px #08c8ff55;opacity:0;pointer-events:none;transform:translateY(8px) scale(.98);transition:opacity .16s ease,transform .16s ease;overflow:hidden}.holo-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#c2f7ff1c 0 1px,transparent 1px 5px);pointer-events:none}.holo-card.visible{opacity:1;transform:translateY(0) scale(1)}.holo-card>*{position:relative;z-index:1}.holo-card strong{display:block;margin:6px 0;font-size:15px;color:#f0fcff;text-shadow:0 0 10px #08c8ff}.holo-card p{margin:0;color:#e0f6ff;font-size:11px;line-height:1.45}.holo-read{display:block;margin-top:11px;color:#57dcff;font-size:7px}
@media(max-width:700px){.macro{min-width:112px;padding:8px}.macro b{font-size:9px}.macro small{font-size:5px}.route-lane{min-width:0;width:100%;bottom:2%;gap:5px}.route-lane p{font-size:6px}.route-nodes{gap:6px}.route-node{min-width:0;width:132px;padding:7px}.route-node b{font-size:9px}.holo-card{width:80%;max-width:285px;right:10%;top:38%}}
@media(max-height:560px){.macro{min-width:110px;padding:7px}.macro small{display:none}.route-lane{bottom:1%;gap:4px}.route-node{min-width:120px;padding:6px}.route-node small{display:none}.holo-card{top:32%;padding:9px 11px}.holo-card p{font-size:10px}}

/* Rutas paginadas: el inventario crece sin ocupar el área de las capacidades. */
.map{grid-template-rows:24px minmax(0,1fr) 98px 30px}
.route-lane{position:relative;inset:auto;transform:none;width:100%;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px;border-top:1px solid #1c426480}
.route-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.route-lane p{font-size:8px;line-height:1.3}.route-pagination{display:flex;align-items:center;gap:8px;flex-shrink:0}
.route-pagination button{width:32px;height:32px;border:1px solid #245274;color:var(--cyan)}
.route-pagination button:hover{background:#0c3554}.route-pagination .mono{font-size:9px;min-width:58px;text-align:center;color:var(--muted)}
.route-nodes{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.route-node{width:auto;min-width:0;min-height:48px;padding:8px 12px;border-radius:4px}
.route-node>span:last-child{min-width:0}.route-node b{font-size:11px;line-height:1.25;overflow-wrap:anywhere}.route-node small{max-width:none;font-size:8px;margin-top:4px}.route-node .node-icon{height:22px}
.macro-count{font:9px var(--mono);color:var(--cyan);border-left:1px solid #245274;padding-left:8px;margin-left:2px}
.macro{min-width:0}.macro-build{left:20%;top:27%}.macro-ai{left:50.6%;top:15.5%}.macro-design{left:80.25%;top:29%}.macro-delivery{left:80.75%;top:73.5%}
.macro b{max-width:150px;white-space:normal;line-height:1.3}.macro small{font-size:6px}.active-wire{stroke-dasharray:9 5;animation:route-signal 3s linear infinite}
@keyframes route-signal{to{stroke-dashoffset:-56}}
.holo-card{top:auto;bottom:3%;right:3%;width:min(300px,44%);max-width:none;pointer-events:none}.holo-card.visible{pointer-events:auto}.holo-card .mono{font-size:8px;line-height:1.5}
.core img{max-width:48%;max-height:48%}.map-bottom{font-size:10px}.map-bottom strong{color:var(--muted)}
.carousel-control .carousel-dot{position:relative;width:28px;min-width:24px;height:32px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.carousel-control .carousel-dot::before{content:'';position:absolute;left:0;right:0;top:14px;height:4px;background:#1c4969;transition:background .2s,box-shadow .2s}
.carousel-control .carousel-dot[aria-selected=true]{width:46px;background:transparent}.carousel-dot[aria-selected=true]::before{background:var(--cyan);box-shadow:0 0 12px #08c8ff80}.carousel-dot:hover::before{background:#71e4ff}
.sheets{touch-action:pan-y}.project-detail h2{overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:1100px){.atlas{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}.macro{padding:8px;max-width:145px}.macro b{font-size:10px}.macro small{display:none}.macro-ai{top:12%}.macro-count{font-size:8px;padding-left:5px}.route-node{padding:8px}.route-node b{font-size:10px}}
@media(max-width:700px){.map{grid-template-rows:18px minmax(0,1fr) 106px 22px;padding:10px 0 5px}.macro{flex-direction:row;padding:8px 6px;max-width:130px;gap:4px}.macro b{font-size:10px}.macro small{display:none}.macro-build{left:20%;top:34%}.macro-ai{left:50.6%;top:12%}.macro-design{left:80%;top:34%}.macro-delivery{left:80%;top:78%}.macro-count{padding-left:4px;font-size:8px}.route-heading{gap:4px}.route-lane p{font-size:7px;max-width:160px}.route-node{padding:8px;min-height:52px}.route-node b{font-size:10px}.route-node small{font-size:7px}.route-pagination{gap:4px}.holo-card{width:86%;right:7%;bottom:2%}.map-bottom .mono{display:none}.map-bottom{font-size:9px}.core{width:86px}.core strong{margin:5px 0}.core>span:last-child{display:none}}
@media(max-height:650px){.map{grid-template-rows:16px minmax(0,1fr) 86px 0;padding-top:6px}.map-bottom{display:none}.route-lane{gap:4px}.route-node{min-height:44px;padding:6px 8px}.route-node small{display:none}.route-lane p{font-size:7px}.macro{padding:7px;min-height:40px}.core{width:66px}.core strong{font-size:9px}.core>span:last-child{display:none}}
@media(max-height:480px){.map{grid-template-rows:minmax(0,1fr) 82px;padding:6px 0}.map-label{display:none}.macro{max-width:180px}.macro-build{left:20%;top:28%}.macro-ai{left:20%;top:76%}.macro-design{left:80%;top:28%}.macro-delivery{left:80%;top:76%}.wires{opacity:.4}.core{width:64px}.route-lane{max-width:720px;margin:auto}.project-detail .category{font-size:7px}.holo-card{bottom:0;max-width:300px}.profile-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.profile-intro .category{grid-column:1/-1}.profile-intro h2{grid-column:1;font-size:23px}.profile-intro>p:not(.category){grid-column:1;margin:0;font-size:11px;line-height:1.4}.profile-signals{grid-column:2;grid-row:2/4;align-self:start}.profile-actions{grid-column:2;grid-row:4}.profile-actions .underlink{margin-top:4px}.paged-view{padding:8px 0 4px}.pager{margin-top:5px;flex-shrink:0}}
@media(max-width:360px){.macro{max-width:110px}.macro b{font-size:9px}.macro-count{font-size:7px}.route-node .node-icon{display:none}.profile-intro h2{font-size:26px}.profile-signals b{font-size:10px}.carousel-dots{gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.monogram{line-height:1}
@media(min-width:701px) and (max-width:1100px){.macro{width:140px}.core>span:last-child{display:none}}
@media(max-width:700px){.macro{width:130px}.macro>span:first-child{flex:1}}
@media(max-width:360px){.macro{width:110px}}
@media(max-height:480px){.macro{width:180px}}

/* Mapa único: la información contextual vive en la ficha holográfica. */
.atlas{display:flex}.atlas .map{width:100%;padding-right:0}
.route-lane{width:100%;max-width:850px;justify-self:center}
.holo-card{width:min(320px,44%)}
@media(max-width:700px){.holo-card{width:86%}}

/* Composición centrada: cuatro capacidades equilibradas y sus rutas próximas. */
.atlas .map{grid-template-rows:24px minmax(0,1fr) auto 98px 30px}
.constellation{width:100%;max-width:880px;justify-self:center}
.macro{width:198px;max-width:none;padding:12px;min-height:52px;justify-content:space-between}
.macro b{font-size:12px}.macro small{font-size:7px}.macro-count{font-size:10px}
.macro-build{left:22%;top:25%}.macro-ai{left:78%;top:25%}
.macro-design{left:22%;top:75%}.macro-delivery{left:78%;top:75%}
.core{left:50%;top:50%}
.route-lane{max-width:640px;border-top-color:#245274}
.route-node{min-height:48px}.route-node b{font-size:12px}
.route-node:hover,.route-node:focus-visible,.route-node.selected{transform:none}
.holo-slot{width:100%;max-width:640px;justify-self:center;min-height:0}
.holo-slot .holo-card{position:relative;inset:auto;width:100%;max-width:none;margin:0 0 10px;padding:12px 16px;transform:none;box-shadow:0 0 22px #08c8ff20;border-color:#1489b0;border-radius:4px;background:linear-gradient(115deg,#0b3049f5,#071b30f5)}
.holo-card:not(.visible){display:none}.holo-card::before{opacity:.35}
.holo-card strong{font-size:15px;margin:4px 0}.holo-card p{font-size:12px;line-height:1.45}
.map-bottom{width:100%;max-width:880px;justify-self:center}
@media(max-width:1000px){.macro{width:178px}.macro b{font-size:11px}}
@media(max-width:700px){
 .atlas .map{grid-template-rows:18px minmax(0,1fr) auto 98px 22px}
 .macro{width:130px;min-height:44px;padding:8px 6px;justify-content:center}
 .macro b{font-size:10px}.macro-count{font-size:8px}.macro small{display:none}
 .macro-build,.macro-design{left:20%}.macro-ai,.macro-delivery{left:80%}
 .holo-slot .holo-card{margin-bottom:6px;padding:10px 12px}
 .holo-card .mono{font-size:7px}.holo-card p{font-size:11px}.route-node b{font-size:10px}
}
@media(max-width:360px){.macro{width:110px}.macro b{font-size:9px}}
@media(max-height:650px){.atlas .map{grid-template-rows:16px minmax(0,1fr) auto 86px 0}.macro{min-height:40px;padding:7px}.holo-slot .holo-card{padding:8px 12px;margin-bottom:4px}.holo-card p{font-size:11px}.holo-card strong{font-size:13px}}
@media(max-height:480px){.atlas .map{grid-template-rows:minmax(0,1fr) auto 82px}.macro{min-height:34px;width:180px}.macro b{font-size:10px}.holo-slot .holo-card{padding:6px 12px}.holo-card .mono{font-size:7px}.holo-card strong{font-size:12px}.holo-card p{font-size:10px;line-height:1.3}}
/* Retrato compacto junto a la presentación, sin ocultarlo por el ancho. */
@media(max-width:700px) and (min-height:481px){
 .profile-sheet{display:grid;grid-template-columns:minmax(0,1fr) 88px;grid-template-rows:auto auto auto auto auto;gap:10px 14px;height:auto;align-items:center}
 .profile-sheet .portrait{display:flex;grid-column:2;grid-row:1/3;width:88px;height:104px;align-self:center;border-radius:6px}
 .profile-sheet .portrait img{object-position:61% 37%}
 .profile-sheet .portrait figcaption,.profile-sheet .portrait::after{display:none}
 .profile-intro{display:contents}
 .profile-intro>.category{grid-column:1;grid-row:1;margin:0;font-size:8px}
 .profile-intro>h2{grid-column:1;grid-row:2;margin:0;font-size:clamp(22px,5vw,30px)}
 .profile-intro>p:not(.category){grid-column:1/-1;grid-row:3;margin:0;font-size:13px;line-height:1.5}
 .profile-signals{grid-column:1/-1;grid-row:4;width:100%}
 .profile-actions{grid-column:1/-1;grid-row:5}
 .profile-actions .underlink{margin-top:0}
}

/* Adelantos navegables de las siguientes láminas de trayectoria. */
#trayectoria .sheets{position:relative}
.trajectory-previews{position:absolute;z-index:3;left:clamp(180px,28vw,430px);right:clamp(40px,9vw,150px);top:43%;display:grid;gap:18px;pointer-events:none;perspective:850px;transform-style:preserve-3d}
.trajectory-preview{pointer-events:auto;display:grid;gap:6px;width:100%;min-height:78px;padding:10px 14px;text-align:left;border:0;border-left:2px solid #08c8ff66;background:transparent;opacity:.5;transition:opacity .2s ease,transform .2s ease,border-color .2s ease;transform-origin:center top}
.trajectory-preview[data-depth="2"]{margin-left:9%;width:91%;opacity:.5}
.trajectory-preview:hover,.trajectory-preview:focus-visible{opacity:1;transform:translateX(5px);border-color:var(--accent)}
.trajectory-preview .mono{font-size:8px;color:#72cbe8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trajectory-preview strong{font-size:clamp(21px,2.4vw,30px);font-weight:500;color:var(--accent);letter-spacing:-.7px}.trajectory-preview small{font-size:15px;color:#b7d8e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.trajectory-previews{left:8%;right:7%;top:auto;bottom:8%;gap:14px}.trajectory-preview{min-height:82px;padding:9px 12px}.trajectory-preview[data-depth="2"]{margin-left:14%;width:86%}.trajectory-preview strong{font-size:21px}.trajectory-preview small{font-size:13px}}
@media(max-width:700px){.trajectory-previews.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;bottom:8%}.trajectory-previews.compact .trajectory-preview,.trajectory-previews.compact .trajectory-preview[data-depth="2"]{width:100%;min-height:64px;margin-left:0;padding:8px}.trajectory-previews.compact .trajectory-preview .mono{font-size:6px}.trajectory-previews.compact .trajectory-preview strong{font-size:15px;line-height:1.1}.trajectory-previews.compact .trajectory-preview small{display:none}}

/* Controles mínimos: solo los puntos del carrusel. */
.pager{border-top:0;justify-content:center}
.pager>[data-page-label]{display:none}
.pager>.carousel-hint{display:none}
.pager .carousel-dots{flex:0 0 auto;width:auto;justify-content:center!important}

/* Los paneles del perfil proyectan la información como una señal holográfica. */
#perfil .profile-intro{position:relative;isolation:isolate}
#perfil .profile-signals,#perfil .profile-stats{position:relative;z-index:2;overflow:visible}
#perfil .profile-signals::before,#perfil .profile-signals::after,#perfil .profile-stats::before{display:none!important;content:none!important}
#perfil .profile-intro>h2,#perfil .profile-intro>p:not(.category){position:relative;z-index:1;text-shadow:0 0 8px #08c8ff20;animation:profile-hologram-copy 4.6s linear infinite}
#perfil .pager,#perfil .carousel-dots,#perfil .carousel-dot{overflow:visible}
#perfil .pager{position:relative;z-index:3}
#perfil .carousel-dot{transition:none}
#perfil .carousel-dot[aria-selected=true]::after{content:"";position:absolute;left:calc(50% + var(--profile-beam-offset,0px));bottom:18px;width:var(--profile-beam-width,min(92vw,760px));height:var(--profile-beam-height,150px);pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 6px,#08c8ff0c 6px 7px),linear-gradient(90deg,transparent,#08c8ff12 14%,#08c8ff2b 50%,#08c8ff12 86%,transparent);clip-path:polygon(var(--profile-beam-apex-left,47%) 100%,var(--profile-beam-apex-right,53%) 100%,var(--profile-beam-top-right,100%) 0,var(--profile-beam-top-left,0%) 0);mix-blend-mode:screen;transform:translateX(-50%);animation:profile-dot-beam 4.6s ease-in-out infinite}
#perfil.is-projecting .carousel-dot[aria-selected=true]::after{animation:profile-beam-deploy .68s cubic-bezier(.18,.72,.2,1) both,profile-dot-beam 4.6s .68s ease-in-out infinite}
@keyframes profile-beam-deploy{0%{opacity:0;clip-path:polygon(var(--profile-beam-apex-left,47%) 100%,var(--profile-beam-apex-right,53%) 100%,var(--profile-beam-apex-right,53%) 100%,var(--profile-beam-apex-left,47%) 100%)}35%{opacity:.72}100%{opacity:.52;clip-path:polygon(var(--profile-beam-apex-left,47%) 100%,var(--profile-beam-apex-right,53%) 100%,var(--profile-beam-top-right,100%) 0,var(--profile-beam-top-left,0%) 0)}}
@keyframes profile-dot-beam{0%,100%{opacity:.38}48%{opacity:.68}52%{opacity:.5}54%{opacity:.7}}
@keyframes profile-hologram-copy{0%,47%,51%,100%{opacity:1;filter:brightness(1)}48%{opacity:.86;filter:brightness(1.18)}49%{opacity:.97}50%{opacity:.9;filter:brightness(1.12)}}
@media(prefers-reduced-motion:reduce){#perfil .carousel-dot[aria-selected=true]::after,#perfil .profile-intro>h2,#perfil .profile-intro>p:not(.category){animation:none!important}}

/* El ecosistema inicia abierto; los detalles aparecen al elegir una capacidad. */
#ecosistema .constellation{perspective:900px;transform-style:preserve-3d;transition:max-width .48s ease,transform .48s ease}
#ecosistema .macro{will-change:left,top,transform,opacity;backface-visibility:hidden;box-shadow:0 12px 30px #0005,0 0 18px #08c8ff0b}
#ecosistema .macro:hover,#ecosistema .macro:focus-visible{opacity:1!important;z-index:9!important;filter:brightness(1.28);border-color:var(--accent);box-shadow:0 14px 34px #0008,0 0 24px #08c8ff42}
#ecosistema .holo-slot,#ecosistema .route-lane,#ecosistema .map-bottom{transition:opacity .28s ease,visibility .28s ease;overflow:hidden;min-height:0}
#ecosistema .atlas:not(.is-expanded) .map{grid-template-rows:24px minmax(0,1fr) 0 0 0}
#ecosistema .atlas:not(.is-expanded) .constellation{max-width:1100px}
#ecosistema .atlas:not(.is-expanded) .holo-slot,#ecosistema .atlas:not(.is-expanded) .route-lane,#ecosistema .atlas:not(.is-expanded) .map-bottom{opacity:0;visibility:hidden;pointer-events:none}
#ecosistema .atlas:not(.is-expanded) .active-wire{opacity:0}
#ecosistema .atlas.is-expanded .constellation{animation:ecosystem-contract .52s cubic-bezier(.2,.75,.25,1)}
@keyframes ecosystem-contract{from{transform:scale(1.08)}to{transform:scale(1)}}
@media(max-width:700px){#ecosistema .atlas:not(.is-expanded) .map{grid-template-rows:18px minmax(0,1fr) 0 0 0}}
@media(min-width:701px) and (max-height:560px){
 .profile-sheet{display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;height:auto}
 .profile-sheet .portrait{display:flex;width:96px;height:132px;align-self:center;border-radius:6px}
 .profile-sheet .portrait figcaption,.profile-sheet .portrait::after{display:none}
}

/* Perfil editorial compacto: retrato protagonista y contenido alineado. */
@media (max-width:700px) and (min-height:481px){
 #perfil{padding-top:0}
 #perfil .sheets{align-items:stretch}
 #perfil .profile-sheet{display:grid;grid-template-columns:minmax(0,1fr) 132px;grid-template-rows:auto auto auto auto;gap:12px 18px;height:100%;align-content:center;padding:10px 0}
 #perfil .profile-sheet .portrait{display:flex;grid-column:2;grid-row:1/3;width:132px;height:166px;margin:0;align-self:center;border-radius:2px;box-shadow:0 0 0 1px #08c8ff55,0 14px 34px #0008,0 0 26px #08c8ff18}
 #perfil .profile-sheet .portrait img{object-position:57% 38%;filter:grayscale(.8) contrast(1.08) brightness(.93)}
 #perfil .profile-sheet .portrait::after{display:block;content:'// JOHAN SEAS';top:auto;right:7px;bottom:7px;font-size:6px;padding:4px 5px}
 #perfil .profile-sheet .portrait figcaption{display:none}
 #perfil .profile-intro{display:contents}
 #perfil .profile-intro>.category{grid-column:1;grid-row:1;align-self:end;margin:0 0 4px;font-size:8px;line-height:1.5}
 #perfil .profile-intro>h2{grid-column:1;grid-row:2;align-self:start;margin:0;font-size:clamp(24px,6vw,31px);line-height:1.05}
 #perfil .profile-intro>p:not(.category){grid-column:1/-1;grid-row:3;margin:2px 0 0;font-size:13px;line-height:1.5;max-width:none}
 #perfil .profile-signals{grid-column:1/-1;grid-row:4;width:100%;margin:0}
 #perfil .profile-actions{grid-column:1/-1;grid-row:5;margin-top:-2px}
 #perfil .profile-actions .underlink{margin-top:0}
}
@media (max-width:420px) and (min-height:481px){
 #perfil .profile-sheet{grid-template-columns:minmax(0,1fr) 108px;gap:10px 12px;padding:6px 0}
 #perfil .profile-sheet .portrait{width:108px;height:138px}
 #perfil .profile-intro>h2{font-size:24px}
 #perfil .profile-intro>p:not(.category){font-size:12px;line-height:1.42}
 #perfil .profile-signals>div{padding:7px 8px}
 #perfil .profile-actions{gap:11px}
}
@media (max-width:340px) and (min-height:481px){
 #perfil .profile-sheet{grid-template-columns:minmax(0,1fr) 92px;gap:8px 10px}
 #perfil .profile-sheet .portrait{width:92px;height:122px}
 #perfil .profile-intro>h2{font-size:21px}
 #perfil .profile-intro>p:not(.category){font-size:11px}
}

/* Trayectoria: composición de línea temporal que aprovecha el lienzo. */
#trayectoria .sheets{align-items:stretch;position:relative}
#trayectoria .sheet{position:relative;max-width:none;height:100%;padding:clamp(54px,10vh,105px) clamp(120px,14vw,210px) 40px 4px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}
#trayectoria .sheet::before{content:'';position:absolute;right:clamp(28px,7vw,100px);top:12%;bottom:12%;width:1px;background:linear-gradient(180deg,transparent,#1f668d 18%,#1f668d 82%,transparent)}
#trayectoria .sheet::after{position:absolute;right:clamp(44px,8.3vw,120px);top:50%;transform:translateY(-50%);font:700 clamp(70px,11vw,155px)/1 var(--mono);letter-spacing:-10px;color:#0b2135;text-shadow:0 0 28px #08c8ff0b;z-index:-1}
#trayectoria .sheet:nth-child(1)::after{content:'01'}
#trayectoria .sheet:nth-child(2)::after{content:'02'}
#trayectoria .sheet:nth-child(3)::after{content:'03'}
#trayectoria .sheet:nth-child(4)::after{content:'04'}
#trayectoria .sheet:nth-child(5)::after{content:'05'}
#trayectoria .sheet:nth-child(6)::after{content:'06'}
#trayectoria .category{margin:0 0 18px;max-width:720px;color:#9ec5db;font-size:10px}
#trayectoria h2{font-size:clamp(38px,5vw,64px);margin:0 0 18px;max-width:800px}
#trayectoria .job-role{font-size:22px!important;color:#a8c9db;margin:0}
#trayectoria .sheet>p:not(.category):not(.job-role){max-width:720px;font-size:16px;line-height:1.7}
#trayectoria .sheet::selection{background:var(--accent)}
@media(max-width:700px){
 #trayectoria{padding-top:0}
 #trayectoria .sheet{padding:clamp(46px,8vh,72px) 58px 24px 0}
 #trayectoria .sheet::before{right:18px;top:8%;bottom:8%}
 #trayectoria .sheet::after{right:30px;top:auto;bottom:22px;transform:none;font-size:72px;letter-spacing:-7px;color:#0b2032}
 #trayectoria .category{font-size:9px;line-height:1.45;margin-bottom:12px}
 #trayectoria h2{font-size:clamp(30px,8vw,40px);margin-bottom:12px}
 #trayectoria .job-role{font-size:18px!important}
 #trayectoria .sheet>p:not(.category):not(.job-role){font-size:14px;line-height:1.6}
}
@media(max-width:360px){
 #trayectoria .sheet{padding-right:34px;padding-top:36px}
 #trayectoria .sheet::before{right:10px}
 #trayectoria .sheet::after{right:19px;font-size:58px}
 #trayectoria h2{font-size:28px}
}
@media(max-height:560px){
 #trayectoria .sheet{padding-top:22px;padding-bottom:12px}
 #trayectoria .category{margin-bottom:8px}
 #trayectoria h2{font-size:30px;margin-bottom:8px}
 #trayectoria .sheet>p:not(.category):not(.job-role){font-size:12px;line-height:1.45;margin:5px 0}
}

/* Fichas secundarias del perfil: estructura editorial y numeración visual. */
#perfil .sheet:not(.profile-sheet){position:relative;max-width:none;height:100%;padding:clamp(52px,10vh,105px) clamp(145px,18vw,250px) 36px 4px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}
#perfil .sheet:not(.profile-sheet)::before{content:'';position:absolute;right:clamp(30px,8vw,110px);top:12%;bottom:12%;width:1px;background:linear-gradient(180deg,transparent,#1f668d 18%,#1f668d 82%,transparent)}
#perfil .sheet:not(.profile-sheet)::after{position:absolute;right:clamp(48px,9.5vw,135px);top:50%;transform:translateY(-50%);font:700 clamp(70px,11vw,150px)/1 var(--mono);letter-spacing:-10px;color:#0b2135;z-index:-1}
#perfil .sheet:nth-child(2)::after{content:'02'}
#perfil .sheet:nth-child(3)::after{content:'03'}
#perfil .sheet:nth-child(4)::after{content:'04'}
#perfil .sheet:not(.profile-sheet)>.category{margin:0 0 16px;font-size:10px;color:#9ec5db}
#perfil .sheet:not(.profile-sheet)>h2{font-size:clamp(38px,5vw,60px);max-width:760px;margin-bottom:22px}
#perfil .sheet:not(.profile-sheet)>p{max-width:780px;font-size:16px;line-height:1.7;margin:5px 0 14px}
#perfil .sheet:not(.profile-sheet) .tool-list{max-width:820px;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#1d496a;border:1px solid #1d496a}
#perfil .sheet:not(.profile-sheet) .tool-list>div{background:#081729;padding:16px}
@media(max-width:700px){
 #perfil .sheet:not(.profile-sheet){padding:clamp(44px,8vh,70px) 48px 20px 0}
 #perfil .sheet:not(.profile-sheet)::before{right:16px;top:8%;bottom:8%}
 #perfil .sheet:not(.profile-sheet)::after{right:27px;top:auto;bottom:20px;transform:none;font-size:68px;letter-spacing:-7px}
 #perfil .sheet:not(.profile-sheet)>.category{font-size:9px;margin-bottom:12px}
 #perfil .sheet:not(.profile-sheet)>h2{font-size:clamp(29px,8vw,38px);margin-bottom:14px}
 #perfil .sheet:not(.profile-sheet)>p{font-size:14px;line-height:1.55;margin:3px 0 12px}
 #perfil .sheet:not(.profile-sheet) .tool-list{grid-template-columns:1fr;gap:1px}
 #perfil .sheet:not(.profile-sheet) .tool-list>div{padding:10px 12px}
}
@media(max-height:560px){
 #perfil .sheet:not(.profile-sheet){padding-top:20px;padding-bottom:8px}
 #perfil .sheet:not(.profile-sheet)>h2{font-size:29px;margin-bottom:9px}
 #perfil .sheet:not(.profile-sheet)>p{font-size:12px;line-height:1.45;margin:2px 0 7px}
 #perfil .sheet:not(.profile-sheet) .tool-list{grid-template-columns:repeat(3,minmax(0,1fr))}
 #perfil .sheet:not(.profile-sheet) .tool-list>div{padding:8px}
}

@media(max-width:360px) and (max-height:650px){
 #perfil .sheet:not(.profile-sheet){padding-top:22px;padding-right:30px}
 #perfil .sheet:not(.profile-sheet)>.category{font-size:8px;margin-bottom:7px}
 #perfil .sheet:not(.profile-sheet)>h2{font-size:24px;line-height:1.05;margin-bottom:8px}
 #perfil .sheet:not(.profile-sheet)>p{font-size:11px;line-height:1.38;margin:2px 0 6px}
 #perfil .sheet:not(.profile-sheet)::after{font-size:50px;right:16px}
 #perfil .sheet:not(.profile-sheet)::before{right:8px}
 #perfil .sheet:not(.profile-sheet) .tool-list>div{padding:6px 8px}
 #perfil .sheet:not(.profile-sheet) .tool-list dt{font-size:7px}
 #perfil .sheet:not(.profile-sheet) .tool-list dd{font-size:10px;line-height:1.3;margin-top:3px}
}

/* Retrato circular: conserva el recorte y la presencia en cualquier tamaño. */
#perfil .portrait{aspect-ratio:1;height:auto;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px #08c8ff66,0 16px 38px #000a,0 0 28px #08c8ff22}
#perfil .portrait img{width:100%;height:100%;flex:none;border:0;border-radius:50%;object-fit:cover;object-position:55% 40%}
#perfil .portrait::before{border-radius:50%}
#perfil .portrait::after,#perfil .portrait figcaption{display:none!important}
@media(max-width:700px) and (min-height:481px){#perfil .profile-sheet .portrait{height:auto;border-radius:50%}}
@media(min-width:701px) and (max-height:560px){#perfil .profile-sheet .portrait{height:auto;border-radius:50%}}

@media(max-width:360px) and (max-height:650px){
 #trayectoria .sheet{padding-top:20px;padding-right:28px}
 #trayectoria .category{font-size:7px;line-height:1.35;margin-bottom:6px}
 #trayectoria h2{font-size:23px;line-height:1.05;margin-bottom:6px}
 #trayectoria .job-role{font-size:15px!important}
 #trayectoria .sheet>p:not(.category):not(.job-role){font-size:10px;line-height:1.35;margin:2px 0 5px}
 #trayectoria .sheet::before{right:8px}
 #trayectoria .sheet::after{right:15px;font-size:48px}
}

/* Navegación principal sin pie fijo; redes viven en su propia sección. */
.shell{grid-template-rows:56px minmax(0,1fr)}
.social-view{min-height:0;height:100%;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(28px,6vw,90px);padding:24px 0}
.social-intro h2{font-size:clamp(34px,5vw,64px);margin:0 0 18px}.social-intro>p:last-child{max-width:430px;color:var(--muted);font-size:15px;line-height:1.6}
.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.social-card{min-width:0;min-height:112px;display:grid;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:14px;padding:18px;border:1px solid #28506b;border-radius:8px;background:linear-gradient(145deg,#0b2135,#081729);transition:border-color .2s,transform .2s,background .2s}
.social-card:hover,.social-card:focus-visible{border-color:var(--accent);background:#0d2b42;transform:translateY(-3px)}
.social-card>i:first-child{font-size:25px;color:#52d7ff;text-align:center}.social-card>i:last-child{font-size:10px;color:#739bb4}.social-card b,.social-card small{display:block}.social-card b{font-size:15px}.social-card small{margin-top:7px;color:#8facc0;font:8px var(--mono);overflow-wrap:anywhere}

/* Font Awesome: un mismo peso y escala para mapa, productos y controles. */
.macro-icon::before{display:none!important}.macro .macro-icon{display:grid!important;place-items:center;background:none!important;color:#79cce9;font-size:22px}.macro.selected .macro-icon{color:#22d1ff}
.route-node .node-icon{display:grid;place-items:center;background:none!important;-webkit-mask:none!important;mask:none!important;color:#79cce9;font-size:19px}.route-node.previewing .node-icon,.route-node.selected .node-icon{color:#22d1ff}
.route-pagination i{font-size:12px}.workspace-hint i,.map-bottom i{font-size:8px;margin-left:4px}
.contact-top i,.underlink i{font-size:.72em;margin-left:5px;color:var(--accent)}
.view-nav .nav-extra{font:inherit;letter-spacing:0;margin:0}

/* Retrato a la derecha en escritorio, arriba en móvil. */
@media(min-width:701px){#perfil .profile-sheet{grid-template-columns:minmax(0,1fr) clamp(240px,28vw,360px);gap:clamp(30px,5vw,80px)}#perfil .profile-sheet .portrait{grid-column:2;grid-row:1;width:100%;height:auto}#perfil .profile-intro{grid-column:1;grid-row:1}}
@media(max-width:700px){
 .shell{grid-template-rows:46px minmax(0,1fr)}
 .view-nav{gap:5px}.view-nav button{font-size:10px}.view-nav button span{margin-right:3px}.view-nav .nav-extra{display:none}
 #perfil .profile-sheet{display:flex!important;flex-direction:column;justify-content:center;align-items:stretch;gap:9px;height:100%;padding:4px 0}
 #perfil .profile-sheet .portrait{display:flex;order:0;width:clamp(120px,34vw,176px);height:auto;margin:0 auto;flex:0 0 auto}
 #perfil .profile-intro{display:block;order:1}.profile-intro>.category{margin:0 0 4px;font-size:7px}.profile-intro>h2{font-size:24px!important;line-height:1.02;margin-bottom:6px}.profile-intro>p:not(.category){font-size:11px!important;line-height:1.38;margin:0 0 6px}.profile-signals>div{padding:5px 7px!important}.profile-signals span{font-size:6px}.profile-signals b{font-size:9px!important}.profile-actions{margin-top:2px;gap:10px}.profile-actions .underlink{font-size:10px;margin-top:4px}
 .social-view{grid-template-columns:1fr;align-content:center;gap:18px;padding:10px 0}.social-intro h2{font-size:32px;margin-bottom:8px}.social-intro>p:last-child{font-size:12px;margin:0}.social-intro .category{margin:0 0 8px}
 .social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.social-card{min-height:72px;grid-template-columns:26px minmax(0,1fr) 10px;gap:8px;padding:10px}.social-card>i:first-child{font-size:18px}.social-card b{font-size:12px}.social-card small{font-size:6px;margin-top:4px}
}
@media(max-width:360px){.view-nav button{font-size:9px}.view-nav button span{display:none}#perfil .profile-sheet .portrait{width:112px}.social-view{gap:10px}.social-intro h2{font-size:26px}.social-grid{gap:6px}.social-card{min-height:62px;padding:8px}}

/* Holograma del retrato siempre presente. */
#perfil .portrait img{animation:none!important;opacity:1!important;transform:none!important;filter:grayscale(.78) contrast(1.09) brightness(.92) sepia(.08) hue-rotate(150deg)}
#perfil .portrait::before{opacity:.78!important;background:repeating-linear-gradient(0deg,#08c8ff20 0 1px,transparent 1px 5px),radial-gradient(circle at 68% 34%,#08c8ff24,transparent 42%),linear-gradient(105deg,transparent 35%,#73e8ff45 50%,transparent 65%);background-size:100% 8px,100% 100%,220% 100%;background-position:0 0,center,160% 0;animation:portrait-hologram-flow 4.8s linear infinite!important;mix-blend-mode:screen;will-change:background-position}
@keyframes portrait-hologram-flow{from{background-position:0 0,center,160% 0}to{background-position:0 40px,center,-160% 0}}
#perfil .portrait{box-shadow:0 0 0 1px #08c8ff88,0 16px 38px #000a,0 0 34px #08c8ff2b!important}
@media(prefers-reduced-motion:reduce){#perfil .portrait::before{animation:none!important}}

/* La diapositiva activa es la única que participa en el layout. */
#perfil .sheet[hidden],#trayectoria .sheet[hidden],main>section[hidden]{display:none!important}

/* Retrato persistente: el carrusel reemplaza únicamente la información. */
#perfil .profile-stage{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,28vw,360px);align-items:center;gap:clamp(30px,5vw,80px)}
#perfil .profile-stage>.portrait{display:flex!important;grid-column:2;grid-row:1;width:100%;height:auto;margin:0;align-self:center}
#perfil .profile-stage>.sheets{grid-column:1;grid-row:1;width:100%;height:100%;min-height:0;display:flex;align-items:center}
#perfil .profile-stage .sheet{max-width:none}
#perfil .profile-stage .profile-sheet{display:block!important;height:auto;padding:0}
#perfil .profile-stage .profile-sheet[hidden],#perfil .profile-stage .sheet[hidden]{display:none!important}
#perfil .profile-stage .profile-intro{display:block}
@media(max-width:700px){
 #perfil .profile-stage{display:flex;flex-direction:column;justify-content:center;gap:16px}
 #perfil .profile-stage>.portrait{display:flex;order:0;width:clamp(120px,34vw,176px);height:auto;margin:0 auto;align-self:center;flex:0 0 auto}
 #perfil .profile-stage>.sheets{order:1;width:100%;height:auto;min-height:0;flex:0 1 auto;align-items:center;justify-content:center}
 #perfil .profile-stage>.sheets>.sheet{width:100%;margin:0 auto}
 #perfil .profile-stage .profile-sheet{display:block!important;height:auto;padding:0}
 #perfil .profile-stage .profile-sheet[hidden],#perfil .profile-stage .sheet[hidden]{display:none!important}
}
@media(max-width:360px){#perfil .profile-stage>.portrait{width:112px}}
@media(min-width:701px) and (max-height:560px){#perfil .profile-stage{grid-template-columns:minmax(0,1fr) 150px;gap:24px}#perfil .profile-stage>.portrait{display:flex!important;width:150px}}

/* Pie legal fijo. */
.shell{grid-template-rows:56px minmax(0,1fr) 28px}
.legal-footer{position:relative;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--line);color:#7897ad;font:7px var(--mono);letter-spacing:.8px;text-align:center}.legal-footer i{margin-right:4px;color:#79cce9}.visit-counter{position:absolute;right:0;text-transform:uppercase}.visit-counter b{font-weight:600;color:#9dddf2;font-variant-numeric:tabular-nums}
@media(max-width:700px){.shell{grid-template-rows:46px minmax(0,1fr) 24px}.legal-footer{justify-content:center;font-size:6px}.visit-counter{position:static;white-space:nowrap}}

/* Contador de visitas en lugar del antiguo monograma. */
.top-visit-counter{display:flex;align-items:center;gap:8px;color:#9dddf2;min-width:74px}.top-visit-counter>i{font-size:15px;color:var(--accent)}.top-visit-counter>span{display:flex;flex-direction:column;line-height:1}.top-visit-counter b{font:700 15px var(--mono);font-variant-numeric:tabular-nums}.top-visit-counter small{margin-top:3px;color:#7897ad;font:6px var(--mono);letter-spacing:1px}
@media(max-width:700px){.top-visit-counter{min-width:62px;gap:6px}.top-visit-counter>i{font-size:13px}.top-visit-counter b{font-size:12px}.top-visit-counter small{font-size:5px}}

@media(max-width:700px){#perfil .profile-stage>.portrait img{object-position:62% 40%}}

/* Navegación circular móvil. */
.view-nav-set{display:flex;align-items:stretch;gap:24px}.nav-clone-set{display:none}
@media(max-width:700px){
 .workspace-bar{overflow:hidden;margin-inline:0}
 .view-nav{width:max-content;min-width:max-content;justify-content:flex-start;gap:0;animation:mobile-nav-loop 18s linear infinite;will-change:transform}
 .view-nav-set{display:flex;flex:0 0 auto;gap:28px;padding-right:28px}
 .view-nav button{white-space:nowrap;min-height:42px}
 .view-nav .nav-extra{display:inline!important;margin:0;font:inherit;letter-spacing:0}
 .nav-clone-set{display:flex}
 .nav-clone-set button{color:var(--muted);border-bottom:2px solid transparent}
 .nav-clone-set button[aria-current=true]{color:var(--text);border-color:var(--accent)}
 @keyframes mobile-nav-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.view-nav{width:100%;min-width:0;overflow-x:auto;animation:none;scrollbar-width:none}.nav-clone-set{display:none}.view-nav-set{gap:20px;padding-right:0}}

/* Chat directo. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.chat-dialog{width:min(460px,calc(100vw - 28px));height:min(650px,calc(100dvh - 28px));padding:0;border:1px solid #2d7698;border-radius:10px;background:#071525;color:var(--text);box-shadow:0 28px 90px #000d,0 0 42px #08c8ff1f}
.chat-dialog::backdrop{background:#020812d9;backdrop-filter:blur(5px)}
.chat-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;padding:18px}
.chat-shell>header{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px}.chat-shell>header span{font-size:7px;color:#65c9e8}.chat-shell h2{font-size:28px;margin:5px 0 0}.chat-shell>header button{width:34px;height:34px;border:1px solid #28536c;border-radius:6px;color:#83cce8}
.chat-messages{min-height:0;overflow-y:auto;padding:18px 3px;display:flex;flex-direction:column;gap:13px;scrollbar-width:thin;scrollbar-color:#236080 transparent}
.chat-message{max-width:86%;padding:11px 13px;border:1px solid #28536c;border-radius:8px;background:#0b2031}.chat-message.user{align-self:flex-end;border-color:#08c8ff;background:#0b2a3d}.chat-message.assistant{align-self:flex-start}.chat-message span{display:block;color:#6dcce9;font:7px var(--mono);letter-spacing:1px;margin-bottom:6px}.chat-message p{font-size:12px;line-height:1.5;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
#chat-form{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;border-top:1px solid var(--line);padding-top:12px}#chat-input{resize:none;min-height:48px;max-height:110px;padding:10px 11px;border:1px solid #28536c;border-radius:6px;background:#081b2c;color:var(--text);font:12px Arial,Helvetica,sans-serif;outline:0}#chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #08c8ff1c}#chat-form button{border:1px solid #08c8ff;border-radius:6px;background:#0b2b40;color:#32d8ff}#chat-form button:disabled{opacity:.45;cursor:wait}.chat-status{min-height:18px;margin:7px 0 0;color:#6f92a8;font-size:6px;line-height:1.4}.chat-status.error{color:#ff9c9c}
body:has(.chat-dialog[open]){overflow:hidden}
@media(max-width:700px){.chat-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none}.chat-shell{padding:14px}.chat-shell h2{font-size:24px}.chat-messages{padding-block:14px}}

/* Indicadores verificables del perfil. */
.topbar{display:grid;grid-template-columns:1fr auto 1fr}.topbar-spacer{min-width:0}.topbar .contact-top{justify-self:end}
.profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0 0;border-block:1px solid #28506b}
.profile-stats>div{padding:10px 12px;border-right:1px solid #28506b}.profile-stats>div:last-child{border-right:0}.profile-stats dt{color:#85a7ba;font-size:10px}.profile-stats dd{margin:4px 0 0;color:#d8effa;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:700px){.profile-stats{margin-top:6px}.profile-stats>div{padding:5px 6px}.profile-stats dt{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-stats dd{font-size:13px;margin-top:2px}}

/* Las cuatro páginas del perfil comparten una sola jerarquía visual. */
#perfil .profile-stage .sheet{padding:0!important;align-content:center}
#perfil .profile-stage .sheet:not(.profile-sheet){justify-content:center}
#perfil .profile-stage .sheet::before,#perfil .profile-stage .sheet::after{display:none!important;content:none!important}
#perfil .profile-stage .sheet>.category,#perfil .profile-stage .profile-intro>.category{margin:0 0 12px!important;color:#9ec5db;font-size:10px;line-height:1.4}
#perfil .profile-stage .sheet>h2,#perfil .profile-stage .profile-intro>h2{max-width:720px;font-size:clamp(34px,4vw,46px);line-height:1.08;margin:0 0 16px!important}
#perfil .profile-stage .sheet>p,#perfil .profile-stage .profile-intro>p:not(.category){max-width:720px;color:#b9c9d5;font-size:15px;line-height:1.6;margin:0 0 14px!important}
#perfil .profile-stage .sheet .tool-list{max-width:720px;width:100%;grid-template-columns:1fr;gap:1px;margin:0;background:#1d496a;border:1px solid #1d496a}
#perfil .profile-stage .sheet .tool-list>div{background:#081729;padding:11px 13px}
@media(max-width:700px){
 #perfil .profile-stage .sheet>.category,#perfil .profile-stage .profile-intro>.category{font-size:7px;margin-bottom:4px!important}
 #perfil .profile-stage .sheet>h2,#perfil .profile-stage .profile-intro>h2{font-size:24px!important;line-height:1.02;margin-bottom:6px!important}
 #perfil .profile-stage .sheet>p,#perfil .profile-stage .profile-intro>p:not(.category){font-size:11px!important;line-height:1.38;margin-bottom:6px!important}
 #perfil .profile-stage .sheet .tool-list>div{padding:6px 8px}
 #perfil .profile-stage .sheet .tool-list dt{font-size:7px}
 #perfil .profile-stage .sheet .tool-list dd{font-size:10px;line-height:1.3;margin-top:3px}
}
@media(max-width:700px){
 #perfil .profile-stage .sheet:has(.tool-list)>.category{margin-bottom:3px!important}
 #perfil .profile-stage .sheet:has(.tool-list)>h2{font-size:22px!important;margin-bottom:4px!important}
 #perfil .profile-stage .sheet .tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 #perfil .profile-stage .sheet .tool-list>div{padding:5px 7px}
 #perfil .profile-stage .sheet .tool-list>div:last-child:nth-child(odd){grid-column:1/-1}
 #perfil .profile-stage .sheet .tool-list dt{font-size:6px;line-height:1.1}
 #perfil .profile-stage .sheet .tool-list dd{font-size:8.5px;line-height:1.2;margin-top:2px}
}

/* En móvil, retrato e información se centran dentro de áreas independientes. */
@media(max-width:700px) and (min-height:481px){
 #perfil .profile-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vh,38px);justify-content:stretch;align-items:stretch}
 #perfil .profile-stage>.portrait{grid-column:1;grid-row:1;align-self:center;justify-self:center;margin:auto}
 #perfil .profile-stage>.sheets{grid-column:1;grid-row:2;height:100%;align-items:center;justify-content:center}
 #perfil .profile-stage>.sheets>.sheet{align-self:center}
}
