/* JYM — ambientación de fondo: nunca compite con contenido */
.hero-portal .jym-world-ambient{
  position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;overflow:hidden!important;border-radius:inherit!important;
  opacity:.18!important;filter:saturate(.78) brightness(.88)!important;
  transition:opacity .32s ease,filter .32s ease,transform .4s ease!important;
}
.hero-portal .portal-world>*:not(.jym-world-ambient){position:relative!important;z-index:4!important;}
.hero-portal .portal-tech:hover .jym-world-ambient,
.hero-portal .portal-focus-tech .portal-tech .jym-world-ambient,
.hero-portal .portal-arch:hover .jym-world-ambient,
.hero-portal .portal-focus-arch .portal-arch .jym-world-ambient{
  opacity:.42!important;filter:saturate(1) brightness(1)!important;transform:scale(1.008)!important;
}

/* ===== TECNOLOGÍA ===== */
.jym-world-ambient-tech{background:radial-gradient(circle at 78% 62%,rgba(0,217,255,.09),transparent 32%)!important;}
.jym-tech-grid{
  position:absolute!important;inset:22% 2% 0 42%!important;
  background-image:linear-gradient(rgba(0,217,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,217,255,.04) 1px,transparent 1px)!important;
  background-size:32px 32px!important;
  mask-image:linear-gradient(135deg,transparent 0,#000 34%,#000 86%,transparent 100%)!important;
  transform:perspective(700px) rotateX(67deg) translateY(42%)!important;transform-origin:center bottom!important;
}
.jym-tech-code{
  position:absolute!important;right:5%!important;top:28%!important;width:36%!important;display:grid!important;gap:7px!important;
  text-align:right!important;font:700 .54rem/1.25 ui-monospace,Consolas,monospace!important;color:rgba(117,239,255,.46)!important;letter-spacing:.04em!important;
}
.jym-tech-code span{animation:jymCodeBlink 3.2s ease-in-out infinite!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.jym-tech-code span:nth-child(2){animation-delay:.5s!important}.jym-tech-code span:nth-child(3){animation-delay:1s!important}.jym-tech-code span:nth-child(4){animation-delay:1.5s!important}
@keyframes jymCodeBlink{0%,100%{opacity:.18;transform:translateX(0)}50%{opacity:.72;transform:translateX(-3px)}}
.jym-tech-hud{
  position:absolute!important;right:8%!important;bottom:18%!important;width:92px!important;height:92px!important;
  border:1px solid rgba(0,217,255,.15)!important;border-radius:50%!important;animation:jymHudSpin 16s linear infinite!important;
}
.jym-tech-hud:before,.jym-tech-hud:after{content:""!important;position:absolute!important;border-radius:50%!important;inset:13px!important;border:1px dashed rgba(0,217,255,.18)!important;}
.jym-tech-hud:after{inset:29px!important;border-style:solid!important;border-color:rgba(0,217,255,.22)!important;}
.jym-tech-hud i{position:absolute!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#67edff!important;box-shadow:0 0 10px rgba(0,217,255,.8)!important;}
.jym-tech-hud i:nth-child(1){left:10px!important;top:42px!important}.jym-tech-hud i:nth-child(2){right:18px!important;top:14px!important}.jym-tech-hud i:nth-child(3){right:11px!important;bottom:27px!important}
@keyframes jymHudSpin{to{transform:rotate(360deg)}}
.jym-tech-node{position:absolute!important;width:7px!important;height:7px!important;border:1px solid #67edff!important;border-radius:3px!important;background:rgba(0,217,255,.11)!important;box-shadow:0 0 10px rgba(0,217,255,.4)!important;animation:jymNodePulse 2.5s ease-in-out infinite!important;}
.jym-tech-node.n1{left:58%!important;top:42%!important}.jym-tech-node.n2{left:73%!important;top:54%!important;animation-delay:.45s!important}.jym-tech-node.n3{left:62%!important;top:68%!important;animation-delay:.9s!important}
@keyframes jymNodePulse{50%{transform:scale(1.45);opacity:.9}}
.jym-tech-link{position:absolute!important;height:1px!important;transform-origin:left!important;background:linear-gradient(90deg,rgba(0,217,255,.42),transparent)!important;}
.jym-tech-link.l1{left:58%!important;top:43%!important;width:18%!important;transform:rotate(26deg)!important}.jym-tech-link.l2{left:62%!important;top:68%!important;width:15%!important;transform:rotate(-42deg)!important}

/* ===== ARQUITECTURA ===== */
.jym-world-ambient-arch{background:radial-gradient(circle at 22% 65%,rgba(217,168,61,.1),transparent 32%)!important;}
.jym-arch-grid{
  position:absolute!important;inset:24% 40% 9% 3%!important;
  border:1px solid rgba(226,185,78,.07)!important;
  background-image:linear-gradient(rgba(226,185,78,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(226,185,78,.04) 1px,transparent 1px)!important;
  background-size:34px 34px!important;mask-image:linear-gradient(225deg,transparent 0,#000 34%,#000 88%,transparent 100%)!important;
}
.jym-arch-house{
  position:absolute!important;left:5%!important;bottom:14%!important;width:170px!important;height:122px!important;
  filter:drop-shadow(0 0 10px rgba(217,168,61,.12))!important;
}
.jym-arch-house i{position:absolute!important;display:block!important;border:1px solid rgba(239,196,100,.46)!important;background:rgba(217,168,61,.018)!important;transition:.35s ease!important;}
.jym-arch-house .roof{left:18px!important;top:6px!important;width:126px!important;height:64px!important;transform:skewY(-26deg) rotate(-2deg)!important;border-bottom-color:transparent!important;}
.jym-arch-house .wall.w1{left:20px!important;top:54px!important;width:65px!important;height:54px!important}.jym-arch-house .wall.w2{left:85px!important;top:45px!important;width:60px!important;height:63px!important}.jym-arch-house .floor.f1{left:10px!important;bottom:0!important;width:145px!important;height:6px!important;background:rgba(217,168,61,.1)!important}.jym-arch-house .floor.f2{left:30px!important;bottom:27px!important;width:108px!important;height:2px!important}
.portal-arch:hover .jym-arch-house .wall,.portal-focus-arch .portal-arch .jym-arch-house .wall{background:rgba(217,168,61,.06)!important;box-shadow:inset 0 0 14px rgba(217,168,61,.07)!important;}
.jym-arch-measure{position:absolute!important;color:rgba(242,201,108,.42)!important;font:700 .53rem/1 ui-monospace,Consolas,monospace!important;letter-spacing:.07em!important;}
.jym-arch-measure:before{content:""!important;position:absolute!important;height:1px!important;background:rgba(242,201,108,.2)!important;top:50%!important;}
.jym-arch-measure.m1{left:8%!important;bottom:10%!important}.jym-arch-measure.m1:before{left:45px!important;width:84px!important}.jym-arch-measure.m2{left:29%!important;bottom:32%!important;transform:rotate(-90deg)!important}.jym-arch-measure.m2:before{left:42px!important;width:50px!important}
.jym-arch-material{position:absolute!important;width:44px!important;height:7px!important;border-radius:2px!important;background:linear-gradient(90deg,#5a3214,#a96d30,#6a3917)!important;box-shadow:0 4px 10px rgba(0,0,0,.22)!important;animation:jymMaterialFloat 3.8s ease-in-out infinite alternate!important;}
.jym-arch-material.mat1{left:31%!important;top:52%!important;transform:rotate(-8deg)!important}.jym-arch-material.mat2{left:24%!important;top:61%!important;transform:rotate(5deg)!important;animation-delay:.6s!important}.jym-arch-material.mat3{left:38%!important;top:69%!important;transform:rotate(-2deg)!important;animation-delay:1.2s!important}
@keyframes jymMaterialFloat{to{translate:0 -5px}}

.jym-world-status{
  position:absolute!important;bottom:6%!important;font:800 .52rem/1 ui-monospace,Consolas,monospace!important;letter-spacing:.12em!important;
  border:1px solid currentColor!important;border-radius:999px!important;padding:6px 9px!important;opacity:.72!important;background:rgba(4,7,10,.5)!important;
}
.jym-world-ambient-tech .jym-world-status{right:5%!important;color:#68efff!important;}
.jym-world-ambient-arch .jym-world-status{left:5%!important;color:#efc461!important;}

@media(max-width:1180px){
  .jym-tech-code{display:none!important}.jym-tech-hud{width:76px!important;height:76px!important}.jym-arch-house{transform:scale(.82)!important;transform-origin:left bottom!important}.jym-arch-material{opacity:.35!important}.jym-arch-measure{opacity:.5!important}
}
@media(max-width:900px){
  .hero-portal .jym-world-ambient{opacity:.12!important}.jym-tech-code,.jym-tech-hud,.jym-tech-node,.jym-tech-link,.jym-arch-measure,.jym-arch-material,.jym-world-status{display:none!important}.jym-arch-house{opacity:.28!important;transform:scale(.7)!important}
}
@media(prefers-reduced-motion:reduce){.jym-world-ambient *{animation:none!important;transition:none!important}}
