/* Presentación del mapa. Sin dependencias ni cambios a los datos del portafolio. */
.atlas .map{grid-template-rows:26px minmax(0,1fr) 118px 116px 26px;background-image:radial-gradient(ellipse at 50% 35%,#073a8622,transparent 65%),radial-gradient(#08c8ff0e .7px,transparent .7px)}
.map-label{letter-spacing:1.3px;color:#8aacc5}
.constellation{max-width:1000px}
.core{width:116px;border-color:#1686b9;box-shadow:0 0 0 8px #08c8ff05,0 0 0 9px #08c8ff15,0 0 65px #08c8ff18;background:radial-gradient(circle at 35% 25%,#0c4470,#081726 75%)}
.core strong{font-size:14px;letter-spacing:.2px;margin:7px 0 6px}
.core>span:last-child{font-size:6px}
.macro{width:244px;min-height:66px;border-radius:10px;padding:13px 15px;gap:11px;justify-content:start;border-color:#20445e;background:linear-gradient(120deg,#0d2337ee,#091725f5);box-shadow:0 8px 24px #00000020}
.macro>span:not(.macro-icon):not(.macro-count){min-width:0;flex:1}
.macro b{max-width:none;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:-.15px}
.macro small{font-size:7px;letter-spacing:.7px;margin-top:6px;color:#83a8c0}
.macro-count{border:0;padding:0;margin:0;font-size:10px;color:#7ca0b8;align-self:start}
.macro-icon{display:block;width:30px;height:34px;flex:0 0 30px;position:relative;color:#83b6d2}
.macro-icon::before{content:'';position:absolute;inset:5px;background:currentColor;mask:var(--macro-icon) center/contain no-repeat}
.macro.selected{background:linear-gradient(120deg,#0c3955,#0b2034);box-shadow:0 0 0 1px #08c8ff14,0 8px 30px #08c8ff0c;border-color:#11b9e6}
.macro.selected .macro-icon,.macro.selected .macro-count{color:#43d9ff}
.macro:hover{transform:translate(-50%,-50%);border-color:#5bb2d5;background:#102c42}
.macro-build,.macro-design{left:23%}.macro-ai,.macro-delivery{left:77%}
.macro-build,.macro-ai{top:25%}.macro-design,.macro-delivery{top:75%}
.wires{opacity:.7}.active-wire{stroke-width:1.3;filter:drop-shadow(0 0 3px #08c8ff66)}
.holo-slot{max-width:720px;display:flex;align-items:center;position:relative;padding:6px 0}
.holo-slot:not(:has(.visible))::before{content:'Pasa por un producto para explorar su ficha';display:block;width:100%;text-align:center;color:#7795ac;font-size:12px;letter-spacing:.2px}
.holo-slot .holo-card{margin:0;padding:13px 18px 13px 22px;border-radius:8px;border-color:#256783;background:linear-gradient(110deg,#0d2d43e8,#0a1e31e8);box-shadow:0 0 25px #08c8ff08;border-left:2px solid #30c9f0}
.holo-card::before{opacity:.12}.holo-card strong{font-size:17px;letter-spacing:-.3px;text-shadow:none;margin:5px 0}
.holo-card p{font-size:12px;line-height:1.5;color:#c4dce9;margin:0;padding-right:115px}
.holo-card #holo-kicker{font-size:8px;letter-spacing:1px;color:#74c9e7}
.holo-platform{position:absolute;right:18px;bottom:15px;font-size:8px;color:#7dbbd4;border:1px solid #28536c;border-radius:4px;padding:5px 7px}
.route-lane{max-width:720px;gap:9px;border-top:1px solid #1c426480;position:relative}
.route-heading{min-height:38px}.route-eyebrow{font-size:7px;letter-spacing:1.5px;color:#739bb4;display:block;margin-bottom:4px}
.route-lane #route-label{font:500 15px Arial,Helvetica,sans-serif;letter-spacing:0;color:#def4ff;margin:0}
.route-node{min-height:54px;padding:10px 13px;border-color:#244862;border-radius:7px;background:#0b1e30;gap:12px;box-shadow:none}
.route-node b{font-size:12px;font-weight:500}.route-node small{font-size:8px;color:#8facc0}
.route-node .node-icon{width:23px;height:23px;flex-basis:23px;background:#7cafca}
.route-node.selected{border-color:#377b9a;box-shadow:none;background:#0d2539}
.route-node.previewing,.route-node:hover,.route-node:focus-visible{border-color:#23c6f3;box-shadow:inset 0 0 22px #08c8ff08;background:#0d2a40}
.route-node.previewing .node-icon{background:#35d0fa}
.route-nodes{display:block;overflow:hidden;touch-action:pan-y}.route-node{width:100%;justify-content:flex-start}.route-node.selected{border-color:#23c6f3}.route-node.selected::after{content:'VER PRODUCTO';margin-left:auto;font:7px var(--mono);letter-spacing:1px;color:#72cbe8;padding-left:16px}
.route-pagination button{border-radius:6px;width:34px;height:34px;background:#0b2031}.route-pagination .mono{color:#a8c7db}
.map-bottom{max-width:1000px;color:#80a0b7}.map-bottom strong{color:#80a0b7}
@media(max-width:1000px){.macro{width:218px;padding:11px;gap:8px}.macro b{font-size:12px}.macro small{font-size:6px;display:block}.macro-icon{width:25px;flex-basis:25px}.core{width:98px}.core>span:last-child{display:none}}
@media(max-width:700px){
 .atlas .map{grid-template-rows:20px minmax(0,1fr) 134px 108px 20px}
 .macro{width:136px;min-height:58px;padding:9px 8px;gap:5px;border-radius:7px;text-align:left}
 .macro-icon{width:19px;flex-basis:19px;height:26px}.macro-icon::before{inset:3px 0}
 .macro b{font-size:10px;letter-spacing:0}.macro small{display:none}.macro-count{font-size:7px;align-self:center}
 .macro-build,.macro-design{left:20%}.macro-ai,.macro-delivery{left:80%}
 .core{width:76px}.core strong{font-size:10px;margin:4px 0}
 .holo-slot .holo-card{padding:10px 12px}.holo-card strong{font-size:15px}.holo-card p{padding-right:0;font-size:11px;line-height:1.45}
 .holo-platform{display:none}.holo-card #holo-kicker{font-size:7px}
 .route-lane #route-label{font-size:13px}.route-eyebrow{font-size:6px;margin-bottom:3px}.route-node{padding:8px;gap:7px}.route-node b{font-size:10px}.route-node.selected::after{content:'';padding:0}
 .map-bottom .mono{display:none}.holo-slot:not(:has(.visible))::before{font-size:11px}
}
@media(max-width:360px){.macro{width:114px;min-height:50px;padding:7px 5px;gap:4px}.macro-icon{display:none}.macro b{font-size:9px}.core{width:62px}.core strong{font-size:8px}.route-pagination{gap:2px}.route-pagination .mono{min-width:48px}.route-lane #route-label{font-size:12px}}
@media(max-height:650px){.atlas .map{grid-template-rows:16px minmax(0,1fr) 120px 94px 0}.macro{min-height:44px;padding:7px}.core{width:66px}.core strong{font-size:9px}.core>span:last-child{display:none}.route-node{min-height:44px}.route-heading{min-height:32px}.holo-slot .holo-card{padding:8px 12px}.holo-card strong{font-size:14px}.holo-card p{font-size:11px}.map-bottom{display:none}}
@media(max-height:480px){.atlas .map{grid-template-rows:minmax(0,1fr) 78px 88px}.macro{width:210px;min-height:34px;padding:6px 10px}.macro b{font-size:10px}.macro small{display:none}.macro-icon{height:22px;width:22px;flex-basis:22px}.core{width:60px}.holo-slot{padding:3px 0}.holo-slot .holo-card{padding:6px 12px}.holo-card strong{font-size:12px;margin:3px 0}.holo-card p{font-size:10px;line-height:1.3}.holo-card #holo-kicker{font-size:6px}.holo-platform{font-size:7px;bottom:10px}.route-heading{min-height:30px}.route-eyebrow{display:none}.route-lane #route-label{font-size:12px}.route-node{min-height:40px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.macro,.holo-card,.route-node{transition:none}}
.atlas .map{background-size:100% 100%,22px 22px;background-repeat:no-repeat,repeat}
@media(min-width:1001px) and (min-height:651px){.macro{height:76px}.macro b{font-size:12px}.macro-icon{flex-basis:25px;width:25px}}

/* Tarjetas macro: proporciones consistentes e iconografía semántica. */
.macro{display:grid;grid-template-columns:28px minmax(0,1fr) 22px;align-items:center;column-gap:12px;text-align:left}
.macro-icon{grid-column:1;width:28px;height:28px;align-self:center}
.macro>span:not(.macro-icon):not(.macro-count){grid-column:2;min-width:0}
.macro-count{grid-column:3;justify-self:end;align-self:center;font-size:9px;font-variant-numeric:tabular-nums}
.macro[data-macro=automatizar] .macro-icon{--macro-icon:url('icons/automation-circuit.svg')!important;color:#7ddfff}
.macro[data-macro=automatizar] .macro-icon::before{inset:1px}
@media(max-width:700px){
 .macro{display:grid;grid-template-columns:22px minmax(0,1fr) 18px;column-gap:7px;width:142px;min-height:56px;padding:8px 9px;flex-direction:row;text-align:left}
 .macro-icon{display:block;width:22px;height:22px;grid-column:1}
 .macro-icon::before{inset:1px}
 .macro>span:not(.macro-icon):not(.macro-count){grid-column:2}
 .macro b{font-size:9px;line-height:1.25;text-align:left}
 .macro-count{grid-column:3;font-size:7px;padding:0;margin:0;border:0}
}
@media(max-width:360px){
 .macro{grid-template-columns:18px minmax(0,1fr) 14px;column-gap:5px;width:118px;padding:7px 6px}
 .macro-icon{display:block;width:18px;height:18px}
 .macro b{font-size:8px}
}

/* Iconos construidos y exportados desde proyectos Liora 128 × 128. */
.macro[data-macro=automatizar] .macro-icon{--macro-icon:url('icons/automation-liora.svg')!important}
.macro[data-macro=construir] .macro-icon{--macro-icon:url('icons/connected-workspaces-liora.svg')!important}
.macro[data-macro=entregar] .macro-icon{--macro-icon:url('icons/rocket-liora.svg')!important}
.macro-icon::before{background:#79cce9}
.macro.selected .macro-icon::before{background:#22d1ff}
