/* SATA - Energía solar: generación, control, almacenamiento y consumo. */
.sata-solar { --solar: #f7c948; --solar-claro: #fff0ad; --volt: #4ff0bb; position: relative; isolation: isolate; overflow: hidden; min-height: 480px; margin: 0 0 1.45rem; border: 1px solid #233f48; border-radius: 20px; background: radial-gradient(circle at 78% 18%, #224d51 0, #112a31 25%, #09191f 66%); color: #f5fbfa; box-shadow: 0 20px 45px -30px rgba(5, 30, 35, .9); }
.sata-solar::before { position: absolute; z-index: -1; inset: 0; content: ""; opacity: .42; background-image: linear-gradient(rgba(112, 203, 186, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(112, 203, 186, .13) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(90deg, #000, transparent 82%); }
.sata-solar__circuito { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.sata-solar__circuito svg { width: 100%; height: 100%; }
.sata-solar__linea { fill: none; stroke: rgba(130, 221, 201, .2); stroke-width: 1.4; }
.sata-solar__linea--dos { stroke: rgba(247, 201, 72, .18); }
.sata-solar__linea--pulso { stroke: var(--volt); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 2 39; animation: sata-solar-corriente 2.6s linear infinite; filter: url(#sata-solar-brillo); }
.sata-solar__linea--pulso-dos { stroke: var(--solar); animation-duration: 3.6s; animation-direction: reverse; }
@keyframes sata-solar-corriente { to { stroke-dashoffset: -205; } }
.sata-solar__destello { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--solar-claro); box-shadow: 0 0 0 4px rgba(247, 201, 72, .15), 0 0 20px 5px rgba(247, 201, 72, .55); animation: sata-solar-brillo 2.2s ease-in-out infinite alternate; }
.sata-solar__destello--uno { top: 19%; right: 25%; }.sata-solar__destello--dos { bottom: 25%; right: 12%; background: var(--volt); box-shadow: 0 0 0 4px rgba(79, 240, 187, .14), 0 0 20px 5px rgba(79, 240, 187, .48); animation-delay: -1.2s; }
@keyframes sata-solar-brillo { to { transform: scale(1.7); opacity: .55; } }
.sata-solar--pausa .sata-solar__linea--pulso, .sata-solar--pausa .sata-solar__destello { animation-play-state: paused; }
.sata-solar__cuerpo { position: relative; box-sizing: border-box; width: min(100%, 615px); padding: clamp(2rem, 5vw, 4.3rem); }
.sata-solar__sobrelinea { margin: 0 0 .75rem; color: var(--solar-claro); font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.sata-solar h1 { margin: 0; max-width: 11ch; color: #fff; font-size: clamp(2.5rem, 5vw, 4.35rem); line-height: .96; letter-spacing: -.065em; }
.sata-solar__texto { max-width: 54ch; margin: 1.3rem 0 0; color: #c6dcd9; font-size: 1rem; line-height: 1.65; }
.sata-solar__acciones { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.65rem; }
.sata-solar__cta, .sata-solar__contacto { display: inline-flex; align-items: center; gap: .6rem; min-height: 45px; padding: .7rem 1.05rem; border-radius: 9px; font-size: .9rem; font-weight: 750; text-decoration: none !important; transition: transform .2s ease, background-color .2s ease, border-color .2s ease; }
.sata-solar__cta { background: var(--solar); color: #17231f !important; }.sata-solar__contacto { border: 1px solid rgba(210, 242, 234, .42); color: #fff !important; }
.sata-solar__cta:hover, .sata-solar__contacto:hover { transform: translateY(-2px); }.sata-solar__cta:hover { background: #ffe17d; }.sata-solar__contacto:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.sata-solar__ruta { position: absolute; right: clamp(1.2rem, 4vw, 3.2rem); bottom: 4rem; display: grid; grid-template-columns: repeat(4, minmax(110px, 1fr)); gap: .55rem; width: min(51%, 530px); margin: 0; padding: 0; list-style: none; }
.sata-solar__nodo { position: relative; display: grid; gap: .3rem; min-width: 0; padding: .85rem; border: 1px solid rgba(166, 232, 218, .2); border-radius: 12px; background: rgba(7, 29, 34, .75); box-shadow: inset 0 1px rgba(255,255,255,.05); }.sata-solar__nodo::after { position: absolute; top: 50%; right: -.57rem; width: .56rem; height: 1px; content: ""; background: linear-gradient(90deg, var(--volt), transparent); }.sata-solar__nodo:last-child::after { display: none; }
.sata-solar__icono { display: grid; place-items: center; width: 26px; height: 26px; color: var(--solar); }.sata-solar__nodo--control .sata-solar__icono, .sata-solar__nodo--uso .sata-solar__icono { color: var(--volt); }.sata-solar__icono svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sata-solar__nodo b { overflow: hidden; color: #f3fbf9; font-size: .78rem; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }.sata-solar__nodo small { overflow: hidden; color: #9bb9b6; font-size: .67rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.sata-solar__contador { position: absolute; right: clamp(1.2rem, 4vw, 3.2rem); bottom: 1.25rem; margin: 0; color: #b4cecb; font-size: .77rem; letter-spacing: .03em; }.sata-solar__contador strong { color: var(--solar-claro); font-size: 1.25rem; }
.sata-solar-ramas { margin: 0 0 2.35rem; padding: 1.35rem; border: 1px solid #d8ebe5; border-radius: 16px; background: linear-gradient(135deg, #f5fbf8, #fff 72%); }.sata-solar-ramas__cabecera { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.sata-solar-ramas__cabecera p { margin: 0 0 .3rem; color: #478678; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.sata-solar-ramas h2 { margin: 0; color: #153934; font-size: 1.45rem; letter-spacing: -.03em; }.sata-solar-ramas__cabecera > span { color: #62827c; font-size: .8rem; }
.sata-solar-ramas__rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }.sata-solar-rama { position: relative; overflow: hidden; display: grid; gap: .35rem; min-height: 94px; padding: 1rem; border: 1px solid #d7e9e4; border-radius: 12px; background: #fff; color: #183e38 !important; text-decoration: none !important; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }.sata-solar-rama:hover { transform: translateY(-2px); border-color: #6dcbb8; box-shadow: 0 10px 22px -18px #1b7465; }.sata-solar-rama strong { position: relative; font-size: .86rem; }.sata-solar-rama em { position: relative; color: #4d8479; font-size: .76rem; font-style: normal; }.sata-solar-rama__pulso { position: absolute; right: -15px; bottom: -15px; width: 70px; height: 70px; border: 1px solid rgba(74, 181, 158, .35); border-radius: 50%; }.sata-solar-rama:hover .sata-solar-rama__pulso { animation: sata-solar-anillo 1.1s ease-out infinite; }@keyframes sata-solar-anillo { to { transform: scale(1.45); opacity: 0; } }.sata-solar__ancla { scroll-margin-top: 1rem; }
@media (max-width: 900px) { .sata-solar { min-height: 575px; }.sata-solar__ruta { right: 1.4rem; bottom: 3.7rem; width: calc(100% - 2.8rem); }.sata-solar__contador { right: 1.4rem; }.sata-solar-ramas__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .sata-solar, .sata-solar-ramas { box-sizing: border-box; width: calc(100vw - 44px); max-width: calc(100vw - 44px); }.sata-solar { min-height: 835px; margin-left: -2px; border-radius: 14px; }.sata-solar__circuito { opacity: .62; }.sata-solar__cuerpo { padding: 2rem 1.3rem; }.sata-solar h1 { font-size: clamp(2.45rem, 12vw, 3.45rem); }.sata-solar__texto { font-size: .92rem; }.sata-solar__acciones { display: grid; width: min(100%, 260px); }.sata-solar__cta, .sata-solar__contacto { justify-content: center; }.sata-solar__ruta { grid-template-columns: repeat(2, minmax(0, 1fr)); right: 1.15rem; bottom: 3.7rem; width: calc(100% - 2.3rem); }.sata-solar__nodo::after { display: none; }.sata-solar__contador { right: 1.15rem; bottom: 1.15rem; }.sata-solar-ramas { padding: 1.1rem; border-radius: 13px; }.sata-solar-ramas__cabecera { align-items: start; flex-direction: column; gap: .45rem; }.sata-solar-ramas__rejilla { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .sata-solar__linea--pulso, .sata-solar__destello, .sata-solar-rama:hover .sata-solar-rama__pulso { animation: none; } }
