.em-node{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-node .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-node .s1{stroke-width:1.25}
.em-node .s3{stroke-width:2.75}
.em-node .os{stroke:var(--em-detail)}
.em-node .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-node .d{opacity:.38}
.em-node .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-node .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-node .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-node .ld{fill:var(--em-detail);opacity:.2}
.em-node .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-node .bc{transform-origin:center}
.em-node.m-energize .fl{stroke:var(--em-energy)}
.em-node.m-energize .en{stroke:var(--em-energy)}
.em-node.m-energize .gp{fill:var(--em-energy)}
.em-node.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-node.m-energize .enf{fill:var(--em-energy)}
.em-node.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-node.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-node-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-node.m-build .bb{transform:scale(0);animation:em-node-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-node.m-energize .fl{stroke-dasharray:12 16;animation:em-node-flow 4s linear var(--em-delay,0s) infinite}
.em-node.m-energize .gp{animation:em-node-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-node.m-energize .gh{animation:em-node-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-node.m-energize .ld{animation:em-node-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-node-draw{to{stroke-dashoffset:0}}
@keyframes em-node-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-node-flow{to{stroke-dashoffset:-280}}
@keyframes em-node-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-node-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-node-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}


.spine { position: fixed; z-index: 45; top: calc(var(--nav-h, 72px) + 14px); bottom: 22px; left: max(7px, calc((100vw - var(--max, 1180px)) / 2 - 40px)); width: 49px; margin-left: -24px; pointer-events: none; transform-origin: 50% 0; animation: sp-in 1.6s var(--ease-2) .35s backwards; transition: opacity .5s var(--ease-2); }
@keyframes sp-in { from { opacity: 0; transform: scaleY(.3); } }
body:has(.nav.is-open) .spine { opacity: 0; }
.spine__rail { position: absolute; top: 0; bottom: 0; left: 24px; width: 1px; background: linear-gradient(180deg, rgba(243, 238, 228, 0) 0%, rgba(243, 238, 228, .15) 6%, rgba(243, 238, 228, .09) 50%, rgba(243, 238, 228, .15) 94%, rgba(243, 238, 228, 0) 100%); }
.spine__charge { position: absolute; left: 24px; top: 0; width: 1px; height: 100%; transform-origin: 50% 0; transform: scaleY(.3); will-change: transform;
  background: linear-gradient(180deg, rgba(96, 165, 250, 0) 0%, rgba(96, 165, 250, .28) 45%, rgba(96, 165, 250, .7) 88%, rgba(219, 234, 254, .95) 100%); }
.spine__nodes { position: absolute; top: 0; bottom: 0; left: 24px; width: 1px; }
.spine__node { position: absolute; left: -2px; top: 0; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: #070B1A; box-shadow: inset 0 0 0 1px rgba(243, 238, 228, .34); transition: background .7s var(--ease-2), box-shadow .7s var(--ease-2); }
.spine__node.on { background: #60A5FA; box-shadow: 0 0 0 1px rgba(147, 197, 253, .55), 0 0 10px 1px rgba(96, 165, 250, .75); }
.spine__pulse { position: absolute; left: 23px; top: 0; width: 3px; height: 92px; margin-top: -46px; border-radius: 3px; transform: translate3d(0, 30vh, 0); will-change: transform;
  background: linear-gradient(180deg, rgba(96, 165, 250, 0) 0%, rgba(96, 165, 250, .8) 30%, #fff 50%, rgba(96, 165, 250, .8) 70%, rgba(96, 165, 250, 0) 100%); }
.spine__pulse::before { content: ""; position: absolute; left: 50%; top: 50%; width: 30px; height: 150px; margin: -75px 0 0 -15px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(96, 165, 250, .34) 0%, rgba(96, 165, 250, .12) 50%, rgba(96, 165, 250, 0) 100%); animation: sp-breathe 5.2s var(--ease-2) infinite alternate; }
.spine__pulse::after { content: ""; position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; border-radius: 50%; background: #fff; box-shadow: 0 0 6px 1px #93C5FD, 0 0 14px 3px rgba(96, 165, 250, .55); }
@keyframes sp-breathe { from { opacity: .55; transform: scale(.9); } to { opacity: 1; transform: scale(1.06); } }
@media (max-width: 760px) {
  .spine { left: 6px; top: calc(var(--nav-h, 72px) + 8px); bottom: 14px; }
  .spine__nodes { display: none; }
  .spine__rail { opacity: .75; }
  .spine__pulse { height: 62px; margin-top: -31px; }
  .spine__pulse::before { width: 14px; height: 110px; margin: -55px 0 0 -7px; }
}

.seams { position: absolute; left: 0; top: 0; width: 100%; height: 0; z-index: 1; pointer-events: none; }
.seam { --seam-h: clamp(56px, 8.5vw, 136px); position: absolute; left: 0; right: 0; top: 0; height: var(--seam-h); pointer-events: none; }
.seam__body { position: absolute; inset: 0; background: var(--grain), var(--seam-to, #070B1A);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3ClinearGradient id='f' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='0' y2='120'%3E%3Cstop offset='.5' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cpath d='M0 46C220 46 360 12 600 12S960 54 1180 54S1400 34 1440 30V120H0Z' fill='url(%23f)'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3ClinearGradient id='f' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='0' y2='120'%3E%3Cstop offset='.5' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cpath d='M0 46C220 46 360 12 600 12S960 54 1180 54S1400 34 1440 30V120H0Z' fill='url(%23f)'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.seam__line { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible;
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, #000 14%, #000 86%, rgba(0, 0, 0, 0) 100%); mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, #000 14%, #000 86%, rgba(0, 0, 0, 0) 100%); }
.seam--flip .seam__body, .seam--flip .seam__line { transform: scaleX(-1); }
.seam__halo, .seam__crest, .seam__tail, .seam__head, .seam__glow { fill: none; stroke-linecap: round; }
.seam__halo { stroke: rgba(96, 165, 250, .085); stroke-width: 10; }
.seam__crest { stroke: rgba(147, 197, 253, .5); stroke-width: 1.3; }
.seam__tail { stroke: rgba(96, 165, 250, .85); stroke-width: 1.8; stroke-dasharray: 160 2400; stroke-dashoffset: 160; opacity: 0; }
.seam__glow { stroke: rgba(96, 165, 250, .26); stroke-width: 9; stroke-dasharray: 60 2400; stroke-dashoffset: 48; opacity: 0; }
.seam__head { stroke: #fff; stroke-width: 2.6; stroke-dasharray: 36 2400; stroke-dashoffset: 36; opacity: 0; }
.seam--wait:not(.lit) .seam__crest, .seam--wait:not(.lit) .seam__halo { stroke-dasharray: 1200 1200; stroke-dashoffset: 1200; }
.seam.lit .seam__crest, .seam.lit .seam__halo { animation: sm-draw 2s var(--ease) backwards; }
.seam.lit:not(.live) .seam__tail { animation: sm-tail 2s var(--ease) both; }
.seam.lit:not(.live) .seam__glow { animation: sm-glow 2s var(--ease) both; }
.seam.lit:not(.live) .seam__head { animation: sm-head 2s var(--ease) both; }
.seam.live .seam__tail { animation: sm-tail-loop 14s var(--ease-2) 3.6s infinite; }
.seam.live .seam__glow { animation: sm-glow-loop 14s var(--ease-2) 3.6s infinite; }
.seam.live .seam__head { animation: sm-head-loop 14s var(--ease-2) 3.6s infinite; }
@keyframes sm-draw { from { stroke-dasharray: 1200 1200; stroke-dashoffset: 1200; } to { stroke-dasharray: 1200 1200; stroke-dashoffset: 40; } }
@keyframes sm-tail { 0% { stroke-dashoffset: 160; opacity: 0; } 8%, 80% { opacity: 1; } 100% { stroke-dashoffset: -1000; opacity: 0; } }
@keyframes sm-glow { 0% { stroke-dashoffset: 48; opacity: 0; } 8%, 80% { opacity: 1; } 100% { stroke-dashoffset: -1112; opacity: 0; } }
@keyframes sm-head { 0% { stroke-dashoffset: 36; opacity: 0; } 8%, 80% { opacity: 1; } 100% { stroke-dashoffset: -1124; opacity: 0; } }
@keyframes sm-tail-loop { 0% { stroke-dashoffset: 160; opacity: 0; } 3%, 23% { opacity: .8; } 28%, 100% { stroke-dashoffset: -1000; opacity: 0; } }
@keyframes sm-glow-loop { 0% { stroke-dashoffset: 48; opacity: 0; } 3%, 23% { opacity: .8; } 28%, 100% { stroke-dashoffset: -1112; opacity: 0; } }
@keyframes sm-head-loop { 0% { stroke-dashoffset: 36; opacity: 0; } 3%, 23% { opacity: .9; } 28%, 100% { stroke-dashoffset: -1124; opacity: 0; } }
@media (max-width: 760px) {
  .seam__crest { stroke-width: 2.4; }
  .seam__halo { stroke-width: 16; }
  .seam__tail { stroke-width: 3.4; }
  .seam__glow { stroke-width: 15; }
  .seam__head { stroke-width: 4.6; }
}

.sweep { position: absolute; left: 0; right: 0; top: 0; height: 14px; overflow: hidden; pointer-events: none; z-index: 2; }
.sweep::before { content: ""; position: absolute; left: 0; top: -7px; width: 44%; height: 14px; opacity: 0; transform: translate3d(-105%, 0, 0);
  background:
    linear-gradient(90deg, rgba(96, 165, 250, 0) 0%, rgba(96, 165, 250, .75) 40%, #DBEAFE 50%, rgba(96, 165, 250, .75) 60%, rgba(96, 165, 250, 0) 100%) 0 50% / 100% 1px no-repeat,
    radial-gradient(50% 50% at 50% 50%, rgba(96, 165, 250, .3) 0%, rgba(96, 165, 250, 0) 100%); }
.sweep.lit::before { animation: sm-sweep 1.8s var(--ease) .12s both; }
@keyframes sm-sweep { 0% { transform: translate3d(-105%, 0, 0); opacity: 0; } 10%, 82% { opacity: 1; } 100% { transform: translate3d(232%, 0, 0); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .spine, .spine__pulse::before { animation: none; }
  .spine__nodes, .seam__tail, .seam__head, .seam__glow, .sweep { display: none; }
  .seam .seam__crest, .seam .seam__halo { animation: none; stroke-dasharray: none; }
}
@media print { .spine, .seams, .sweep { display: none; } }

.gb {
  --gb-h: clamp(90px, 12vw, 150px); --gb-fx: .5; --gb-edge: min(12%, 180px);
  position: relative; width: 100%; height: var(--gb-h); overflow: hidden; pointer-events: none; user-select: none; -webkit-user-select: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--gb-edge), #000 calc(100% - var(--gb-edge)), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 var(--gb-edge), #000 calc(100% - var(--gb-edge)), transparent 100%);
}
.gb-svg {
  position: absolute; bottom: 0; left: 50%; display: block; max-width: none; overflow: visible;
  width: calc(var(--gb-h) * 8); height: var(--gb-h); margin-left: calc(var(--gb-h) * -8 * var(--gb-fx));
}
@media (max-width: 640px) { .gb { --gb-fx: .66; --gb-edge: 8%; } }
.gb-far { fill: #0F1730; opacity: .42; }
.gb-sky { fill: #0F1730; opacity: .78; }
.gb-crest { fill: none; stroke: rgba(243, 238, 228, var(--o, .06)); stroke-width: 1; }
.gb-tw { fill: none; stroke: #8C877C; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.gb-br { fill: none; stroke: #8C877C; stroke-width: .75; stroke-opacity: .7; stroke-linecap: round; }
.gb-mast { fill: #8C877C; }
.gb-rotor { fill: #8C877C; }
.gb-hub { fill: #60A5FA; }
.gb-hub-h { fill: #60A5FA; opacity: .16; }
.gb-line { fill: none; stroke: #8C877C; stroke-width: 1.1; stroke-opacity: .85; }
.gb-lead { fill: none; stroke-width: 1.1; stroke-opacity: .85; }
.gb-n { fill: #60A5FA; opacity: .7; transform-box: fill-box; transform-origin: center; }
.gb-p { fill: none; stroke-linecap: round; stroke-dasharray: 24 2000; stroke-dashoffset: -140; opacity: 0; }
.gb-p--h { stroke: #60A5FA; stroke-width: 6.5; stroke-opacity: .3; }
.gb-p--c { stroke: #DBEAFE; stroke-width: 1.8; }

.gb.gb-on .gb-p { animation: gb-run 8s linear infinite both; }
.gb.gb-on .gb-p--b { animation-delay: 4s; }
.gb.gb-on .gb-n { animation: gb-flare 4s cubic-bezier(.22, 1, .36, 1) var(--d, 0s) infinite both; }
.gb:not(.gb-live) .gb-p, .gb:not(.gb-live) .gb-n { animation-play-state: paused; }

@keyframes gb-run {
  0% { stroke-dashoffset: -140; opacity: 0; }
  7% { opacity: 1; }
  48% { opacity: 1; }
  54% { stroke-dashoffset: -880; opacity: 0; }
  100% { stroke-dashoffset: -880; opacity: 0; }
}
@keyframes gb-flare {
  0% { transform: scale(1); opacity: .7; }
  4% { transform: scale(2.3); opacity: 1; }
  26% { transform: scale(1); opacity: .7; }
  100% { transform: scale(1); opacity: .7; }
}
@media (prefers-reduced-motion: reduce) { .gb-flow { display: none; } }

.em-tower{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-tower .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-tower .s1{stroke-width:1.25}
.em-tower .s3{stroke-width:2.75}
.em-tower .os{stroke:var(--em-detail)}
.em-tower .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-tower .d{opacity:.38}
.em-tower .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-tower .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-tower .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-tower .ld{fill:var(--em-detail);opacity:.2}
.em-tower .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-tower .bc{transform-origin:center}
.em-tower.m-energize .fl{stroke:var(--em-energy)}
.em-tower.m-energize .en{stroke:var(--em-energy)}
.em-tower.m-energize .gp{fill:var(--em-energy)}
.em-tower.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-tower.m-energize .enf{fill:var(--em-energy)}
.em-tower.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-tower.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-tower-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-tower.m-build .bb{transform:scale(0);animation:em-tower-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-tower.m-energize .fl{stroke-dasharray:12 16;animation:em-tower-flow 4s linear var(--em-delay,0s) infinite}
.em-tower.m-energize .gp{animation:em-tower-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-tower.m-energize .gh{animation:em-tower-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-tower.m-energize .ld{animation:em-tower-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-tower-draw{to{stroke-dashoffset:0}}
@keyframes em-tower-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-tower-flow{to{stroke-dashoffset:-280}}
@keyframes em-tower-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-tower-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-tower-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

.em-solar{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-solar .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-solar .s1{stroke-width:1.25}
.em-solar .s3{stroke-width:2.75}
.em-solar .os{stroke:var(--em-detail)}
.em-solar .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-solar .d{opacity:.38}
.em-solar .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-solar .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-solar .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-solar .ld{fill:var(--em-detail);opacity:.2}
.em-solar .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-solar .bc{transform-origin:center}
.em-solar.m-energize .fl{stroke:var(--em-energy)}
.em-solar.m-energize .en{stroke:var(--em-energy)}
.em-solar.m-energize .gp{fill:var(--em-energy)}
.em-solar.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-solar.m-energize .enf{fill:var(--em-energy)}
.em-solar.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-solar.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-solar-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-solar.m-build .bb{transform:scale(0);animation:em-solar-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-solar.m-energize .fl{stroke-dasharray:12 16;animation:em-solar-flow 4s linear var(--em-delay,0s) infinite}
.em-solar.m-energize .gp{animation:em-solar-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-solar.m-energize .gh{animation:em-solar-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-solar.m-energize .ld{animation:em-solar-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-solar-draw{to{stroke-dashoffset:0}}
@keyframes em-solar-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-solar-flow{to{stroke-dashoffset:-280}}
@keyframes em-solar-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-solar-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-solar-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

.em-catenary{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-catenary .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-catenary .s1{stroke-width:1.25}
.em-catenary .s3{stroke-width:2.75}
.em-catenary .os{stroke:var(--em-detail)}
.em-catenary .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-catenary .d{opacity:.38}
.em-catenary .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-catenary .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-catenary .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-catenary .ld{fill:var(--em-detail);opacity:.2}
.em-catenary .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-catenary .bc{transform-origin:center}
.em-catenary.m-energize .fl{stroke:var(--em-energy)}
.em-catenary.m-energize .en{stroke:var(--em-energy)}
.em-catenary.m-energize .gp{fill:var(--em-energy)}
.em-catenary.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-catenary.m-energize .enf{fill:var(--em-energy)}
.em-catenary.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-catenary.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-catenary-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-catenary.m-build .bb{transform:scale(0);animation:em-catenary-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-catenary.m-energize .fl{stroke-dasharray:12 16;animation:em-catenary-flow 4s linear var(--em-delay,0s) infinite}
.em-catenary.m-energize .gp{animation:em-catenary-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-catenary.m-energize .gh{animation:em-catenary-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-catenary.m-energize .ld{animation:em-catenary-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-catenary-draw{to{stroke-dashoffset:0}}
@keyframes em-catenary-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-catenary-flow{to{stroke-dashoffset:-280}}
@keyframes em-catenary-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-catenary-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-catenary-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

.em-bess{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-bess .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-bess .s1{stroke-width:1.25}
.em-bess .s3{stroke-width:2.75}
.em-bess .os{stroke:var(--em-detail)}
.em-bess .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-bess .d{opacity:.38}
.em-bess .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-bess .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-bess .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-bess .ld{fill:var(--em-detail);opacity:.2}
.em-bess .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-bess .bc{transform-origin:center}
.em-bess.m-energize .fl{stroke:var(--em-energy)}
.em-bess.m-energize .en{stroke:var(--em-energy)}
.em-bess.m-energize .gp{fill:var(--em-energy)}
.em-bess.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-bess.m-energize .enf{fill:var(--em-energy)}
.em-bess.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-bess.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-bess-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-bess.m-build .bb{transform:scale(0);animation:em-bess-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-bess.m-energize .fl{stroke-dasharray:12 16;animation:em-bess-flow 4s linear var(--em-delay,0s) infinite}
.em-bess.m-energize .gp{animation:em-bess-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-bess.m-energize .gh{animation:em-bess-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-bess.m-energize .ld{animation:em-bess-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-bess-draw{to{stroke-dashoffset:0}}
@keyframes em-bess-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-bess-flow{to{stroke-dashoffset:-280}}
@keyframes em-bess-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-bess-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-bess-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

.em-substation{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-substation .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-substation .s1{stroke-width:1.25}
.em-substation .s3{stroke-width:2.75}
.em-substation .os{stroke:var(--em-detail)}
.em-substation .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-substation .d{opacity:.38}
.em-substation .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-substation .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-substation .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-substation .ld{fill:var(--em-detail);opacity:.2}
.em-substation .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-substation .bc{transform-origin:center}
.em-substation.m-energize .fl{stroke:var(--em-energy)}
.em-substation.m-energize .en{stroke:var(--em-energy)}
.em-substation.m-energize .gp{fill:var(--em-energy)}
.em-substation.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-substation.m-energize .enf{fill:var(--em-energy)}
.em-substation.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-substation.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-substation-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-substation.m-build .bb{transform:scale(0);animation:em-substation-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-substation.m-energize .fl{stroke-dasharray:12 16;animation:em-substation-flow 4s linear var(--em-delay,0s) infinite}
.em-substation.m-energize .gp{animation:em-substation-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-substation.m-energize .gh{animation:em-substation-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-substation.m-energize .ld{animation:em-substation-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-substation-draw{to{stroke-dashoffset:0}}
@keyframes em-substation-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-substation-flow{to{stroke-dashoffset:-280}}
@keyframes em-substation-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-substation-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-substation-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

.em-city{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-city .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-city .s1{stroke-width:1.25}
.em-city .s3{stroke-width:2.75}
.em-city .os{stroke:var(--em-detail)}
.em-city .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-city .d{opacity:.38}
.em-city .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-city .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-city .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-city .ld{fill:var(--em-detail);opacity:.2}
.em-city .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-city .bc{transform-origin:center}
.em-city.m-energize .fl{stroke:var(--em-energy)}
.em-city.m-energize .en{stroke:var(--em-energy)}
.em-city.m-energize .gp{fill:var(--em-energy)}
.em-city.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-city.m-energize .enf{fill:var(--em-energy)}
.em-city.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-city.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-city-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-city.m-build .bb{transform:scale(0);animation:em-city-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-city.m-energize .fl{stroke-dasharray:12 16;animation:em-city-flow 4s linear var(--em-delay,0s) infinite}
.em-city.m-energize .gp{animation:em-city-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-city.m-energize .gh{animation:em-city-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-city.m-energize .ld{animation:em-city-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-city-draw{to{stroke-dashoffset:0}}
@keyframes em-city-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-city-flow{to{stroke-dashoffset:-280}}
@keyframes em-city-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-city-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-city-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

@property --hh-s { syntax: "<number>"; inherits: false; initial-value: 0; }

.hh {
  --hh-gh: clamp(170px, 32vh, 380px);
  --hh-grad: linear-gradient(96deg, #F3EEE4 0%, #DBEAFE 19%, #93C5FD 44%, #60A5FA 68%, #3B82F6 87%, #3B82F6 100%);
  --hh-sheen: linear-gradient(100deg, rgba(255, 255, 255, 0) 43%, rgba(255, 255, 255, .55) 48.5%, #fff 50%, rgba(255, 255, 255, .55) 51.5%, rgba(255, 255, 255, 0) 57%);
  --hh-mh: min(38vw, 62vh);
  --hh-md: clamp(84px, 9.4vw, 156px);
  --hh-mx: 80%; --hh-my: 26%;
  --hh-mdx: -34px; --hh-mdy: 16px;
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 100vh; min-height: 100svh;
  display: grid; align-items: center;
  padding: calc(var(--nav-h) + clamp(28px, 6vh, 60px)) 0 calc(var(--hh-gh) * .56 + 30px);
  background:
    radial-gradient(90% 60% at 74% -6%, rgba(30, 64, 175, .20), transparent 62%),
    radial-gradient(70% 50% at 50% 100%, rgba(59, 130, 246, .10), transparent 70%),
    linear-gradient(180deg, #03061A 0%, #060A1D 36%, #0A1330 74%, #070B1A 100%);
  color: var(--ink);
}
@supports (height: 1svh) { .hh { --hh-mh: min(38vw, 62svh); } }
.hh-sky, .hh-near, .hh-veil, .hh-ground { position: absolute; pointer-events: none; }
.hh-sky, .hh-near { inset: 0; overflow: hidden; contain: layout paint style; }
.hh-sky { z-index: 0; }
.hh-near { z-index: 2; }
.hh-dp { position: absolute; inset: -3% -2%; will-change: transform; }

.hh-aurora { position: absolute; inset: -12%; will-change: transform; }
.hh-bloom { position: absolute; border-radius: 50%; filter: blur(70px); mix-blend-mode: screen; opacity: .5; will-change: transform, opacity; }
.hh-bloom--a {
  width: 52vw; height: 52vw; max-width: 760px; max-height: 760px; left: 6%; top: -16%;
  background: radial-gradient(circle at 42% 40%, rgba(30, 64, 175, .72), rgba(30, 64, 175, .22) 42%, transparent 68%);
  animation: hh-drift-a 20s cubic-bezier(.45, 0, .55, 1) infinite alternate, hh-breathe 11s ease-in-out infinite;
}
.hh-bloom--b {
  width: 44vw; height: 44vw; max-width: 640px; max-height: 640px; right: 3%; top: -8%;
  background: radial-gradient(circle at 50% 45%, rgba(96, 165, 250, .44), rgba(59, 130, 246, .15) 44%, transparent 70%);
  animation: hh-drift-b 19s cubic-bezier(.45, 0, .55, 1) infinite alternate, hh-breathe 14s ease-in-out 2s infinite;
}
.hh-bloom--c {
  width: 76vw; height: 40vw; max-width: 1100px; max-height: 560px; left: 14%; bottom: -12%;
  background: radial-gradient(ellipse at 50% 60%, rgba(147, 197, 253, .28), rgba(30, 64, 175, .16) 50%, transparent 74%);
  animation: hh-drift-c 20s ease-in-out infinite alternate, hh-breathe 17s ease-in-out 4s infinite;
}
@keyframes hh-drift-a { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(7%, 4%, 0) scale(1.12); } }
@keyframes hh-drift-b { from { transform: translate3d(0, 0, 0) scale(1.04); } to { transform: translate3d(-6%, 5%, 0) scale(.94); } }
@keyframes hh-drift-c { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-3%, -6%, 0) scale(1.1); } }
@keyframes hh-breathe { 0%, 100% { opacity: .34; } 50% { opacity: .6; } }

.hh-stars { position: absolute; inset: 0; }
.hh-star {
  position: absolute; left: var(--hh-x); top: var(--hh-y); width: var(--hh-z); height: var(--hh-z);
  border-radius: 50%; background: #DBEAFE; opacity: var(--hh-o);
  box-shadow: 0 0 5px rgba(219, 234, 254, .45);
  animation: hh-twk var(--hh-t) ease-in-out var(--hh-d) infinite;
}
.hh-star--e { background: #93C5FD; box-shadow: 0 0 7px rgba(96, 165, 250, .8), 0 0 2px #60A5FA; }
@keyframes hh-twk { 0%, 100% { opacity: calc(var(--hh-o) * .35); transform: scale(.85); } 50% { opacity: var(--hh-o); transform: scale(1); } }

.hh-rays {
  position: absolute; top: calc(var(--hh-my) - 5.4%); left: calc(var(--hh-mx) - 30vw); width: 60vw; height: 90%; mix-blend-mode: screen; opacity: .62;
  animation: hh-moon-drift 110s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}
.hh-halo {
  position: absolute; left: 50%; top: 5%; width: 340px; height: 340px; margin: -170px 0 0 -170px; border-radius: 50%;
  background: radial-gradient(circle, rgba(219, 234, 254, .30), rgba(96, 165, 250, .10) 46%, transparent 70%);
  filter: blur(8px); animation: hh-breathe 9s ease-in-out infinite;
  display: none;
}
.hh-ray {
  position: absolute; left: 50%; top: 6%; width: var(--hh-w); height: 120%; margin-left: calc(var(--hh-w) / -2);
  transform: rotate(var(--hh-a)); transform-origin: 50% 0; border-radius: 50%; filter: blur(7px); opacity: .7;
  background: linear-gradient(180deg, rgba(219, 234, 254, 0) 4%, rgba(219, 234, 254, .26) 16%, rgba(147, 197, 253, .09) 42%, transparent 80%);
  animation: hh-ray var(--hh-t) ease-in-out var(--hh-d) infinite alternate;
}
@keyframes hh-ray { from { opacity: .4; } to { opacity: .9; } }

.hh-motes { position: absolute; inset: 0; }
.hh-mote {
  position: absolute; left: var(--hh-x); bottom: calc(var(--hh-gh) * .34);
  width: var(--hh-z); height: var(--hh-z); border-radius: 50%;
  background: var(--hh-c); box-shadow: 0 0 8px var(--hh-c);
  opacity: calc(var(--hh-o) * .55);
  transform: translate3d(calc(var(--hh-dx) * var(--hh-k)), calc(var(--hh-rise) * var(--hh-k)), 0);
  animation: hh-rise var(--hh-t) linear var(--hh-d) infinite;
}
@keyframes hh-rise {
  0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.7); }
  12%, 85% { opacity: var(--hh-o); }
  100% { opacity: 0; transform: translate3d(var(--hh-dx), var(--hh-rise), 0) scale(1); }
}

.hh-moon { position: absolute; z-index: 3; left: var(--hh-mx); top: var(--hh-my); width: 0; height: 0; pointer-events: none; }
.hh-moon-drift { position: absolute; inset: 0; animation: hh-moon-drift 110s cubic-bezier(.45, 0, .55, 1) infinite alternate; will-change: translate; }
.hh-moon-in { position: absolute; inset: 0; }
.hh-moon-glow {
  position: absolute; left: 0; top: 0; border-radius: 50%;
  width: calc(var(--hh-md) * 4.6); height: calc(var(--hh-md) * 4.6); margin: calc(var(--hh-md) * -2.3) 0 0 calc(var(--hh-md) * -2.3);
  background: radial-gradient(circle, rgba(219, 234, 254, .5) 0%, rgba(219, 234, 254, .34) 21%, rgba(219, 234, 254, .17) 30%, rgba(147, 197, 253, .08) 43%, rgba(96, 165, 250, .03) 57%, rgba(96, 165, 250, 0) 70%);
  animation: hh-moon-halo 12s ease-in-out infinite;
}
.hh-moon-disc {
  position: absolute; left: 0; top: 0; display: block; overflow: visible; max-width: none;
  width: var(--hh-md); height: var(--hh-md); margin: calc(var(--hh-md) / -2) 0 0 calc(var(--hh-md) / -2);
  filter: drop-shadow(0 0 calc(var(--hh-md) * .1) rgba(219, 234, 254, .55)) drop-shadow(0 0 calc(var(--hh-md) * .36) rgba(147, 197, 253, .3));
}
@keyframes hh-moon-drift { from { translate: 0 0; } to { translate: var(--hh-mdx) var(--hh-mdy); } }
@keyframes hh-moon-halo { 0%, 100% { opacity: .7; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.04); } }

.hh-veil {
  inset: 0; z-index: 3;
  background:
    linear-gradient(90deg, rgba(3, 6, 26, .66) 0%, rgba(3, 6, 26, .42) 24%, rgba(3, 6, 26, .12) 42%, rgba(3, 6, 26, 0) 56%),
    linear-gradient(180deg, rgba(3, 6, 26, .5) 0%, rgba(3, 6, 26, 0) 16%);
}

.hh-ground {
  left: 0; right: 0; bottom: 0; z-index: 4; line-height: 0;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .6) 4%, #000 9%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .6) 4%, #000 9%);
}
.hh .mn { height: var(--hh-mh); -webkit-mask-image: none; mask-image: none; }
.hh .mn-moon { display: none; }
.hh-ground-veil {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, var(--bg) 0, rgba(7, 11, 26, .9) calc(var(--hh-gh) * .07), rgba(7, 11, 26, .55) calc(var(--hh-gh) * .14), rgba(7, 11, 26, .12) calc(var(--hh-gh) * .28), rgba(7, 11, 26, 0) calc(var(--hh-gh) * .42));
}

.hh-in { position: relative; z-index: 6; width: min(var(--max), 100% - 2 * var(--gutter)); margin-inline: auto; }
.hh-copy { max-width: 860px; }
.hh-eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: clamp(18px, 2.6vh, 26px); }
.hh-tick { position: relative; flex: none; width: 28px; height: 1px; background: linear-gradient(90deg, rgba(96, 165, 250, .15), var(--elec)); transform-origin: 0 50%; }
.hh-tick::after { content: ""; position: absolute; right: -2px; top: -2px; width: 5px; height: 5px; border-radius: 50%; background: var(--elec); box-shadow: 0 0 8px rgba(96, 165, 250, .9); }
.hh-title { position: relative; max-width: 9.6em; font-size: clamp(42px, min(6.3vw, 10.6vh), 90px); letter-spacing: -.045em; line-height: .98; }
.hh-vis { display: inline; }
.hh-w { display: inline-block; }
.hh-wi { display: inline-block; transform-origin: 0 100%; }
.hh-wt { display: inline; }
.hh-sr {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; -webkit-user-select: none; user-select: none;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .hh-tail, .hh-g { color: transparent; -webkit-background-clip: text; background-clip: text; -webkit-box-decoration-break: slice; box-decoration-break: slice; }
  .hh-tail { background-image: var(--hh-grad); }
  .hh-g {
    background-image: var(--hh-sheen), var(--hh-grad);
    background-repeat: no-repeat;
    background-size: calc(var(--hh-tw, 7.6em) * 3) 100%, calc(var(--hh-tw, 7.6em) * 1.15) 100%;
    background-position: calc(var(--hh-s) * var(--hh-tw, 7.6em) - var(--hh-off, 0px)) 0, calc(0px - var(--hh-off, 0px)) 0;
  }
  .hh-lit .hh-g { animation: hh-sheen 1.7s cubic-bezier(.3, .12, .3, 1) both; }
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .hh-tail, .hh-g { color: #93C5FD; }
}
@keyframes hh-sheen { from { --hh-s: -1.8; } to { --hh-s: -.2; } }
.hh-lead { margin-top: clamp(22px, 3.2vh, 32px); max-width: 30em; text-shadow: 0 1px 24px rgba(3, 6, 26, .65); }
.hh-em { color: var(--ink); }
.hh-ctas { margin-top: clamp(28px, 4.6vh, 42px); }
.hh-ctas .btn:not(.btn--ghost) { box-shadow: 0 14px 44px -16px rgba(96, 165, 250, .55); }
.hh-ctas .btn--ghost { background: rgba(7, 11, 26, .28); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.hh-ctas .btn--ghost:hover { background: rgba(243, 238, 228, .08); }

.hh-kin .hh-tick { animation: hh-tick 1s var(--ease) .05s both; }
.hh-kin .hh-eyebrow-t { animation: hh-brow .95s var(--ease) .12s both; }
.hh-kin .hh-w { clip-path: inset(-.14em -.18em -.26em -.18em); }
.hh-kin .hh-wi { animation: hh-word .95s var(--ease) both; animation-delay: var(--hh-wd, .3s); }
.hh-kin .hh-lead { animation: hh-up .95s var(--ease-2) 1.02s both; }
.hh-kin .hh-ctas { animation: hh-up .95s var(--ease-2) 1.14s both; }
.hh-kin .hh-moon-in { animation: hh-moon-rise 2.4s var(--ease-2) .15s both; }
.hh-kin .hh-ground { animation: hh-ground 1.7s var(--ease) .2s both; }
.hh-kin .hh-sky, .hh-kin .hh-near { animation: hh-fade 1.4s var(--ease-2) both; }
@keyframes hh-tick { from { transform: scaleX(0); opacity: 0; } }
@keyframes hh-brow { from { opacity: 0; letter-spacing: .62em; } }
@keyframes hh-word { from { opacity: 0; transform: translate3d(0, .9em, 0) rotate(3deg); filter: blur(10px); } 55% { filter: blur(0); } }
@keyframes hh-up { from { opacity: 0; transform: translate3d(0, 18px, 0); filter: blur(6px); } }
@keyframes hh-fade { from { opacity: 0; } }
@keyframes hh-ground { from { opacity: 0; transform: translate3d(0, 22px, 0); } }
@keyframes hh-moon-rise { from { opacity: 0; transform: translate3d(0, 24px, 0) scale(.94); } }

@media (max-width: 860px) {
  .hh {
    min-height: 92vh; min-height: 92svh; align-items: start;
    padding: calc(var(--nav-h) + clamp(28px, 6vh, 56px)) 0 calc(var(--hh-mh) * .9);
    --hh-mh: clamp(240px, 36vh, 360px);
    --hh-md: clamp(34px, 9vw, 64px);
    --hh-mx: calc(100% - var(--gutter) - var(--hh-md) / 2 - 6px);
    --hh-my: calc(var(--nav-h) + 6px + var(--hh-md) / 2);
    --hh-mdx: -10px; --hh-mdy: 5px;
  }
  @supports (height: 1svh) { .hh { --hh-mh: clamp(240px, 36svh, 360px); } }
  .hh-veil { background: linear-gradient(180deg, rgba(3, 6, 26, .56) 0%, rgba(3, 6, 26, .44) 42%, rgba(3, 6, 26, .14) 72%, rgba(3, 6, 26, 0) 100%); }
  .hh-rays { left: calc(var(--hh-mx) - 60vw); width: 120vw; }
  .hh-ray--x { display: none; }
  .hh-halo { width: 220px; height: 220px; margin: -110px 0 0 -110px; }
  .hh-bloom { filter: blur(50px); opacity: .44; }
  .hh-bloom--a { width: 90vw; height: 90vw; left: -14%; }
  .hh-bloom--b { width: 80vw; height: 80vw; right: -16%; }
  .hh-bloom--c { width: 130vw; height: 70vw; left: -15%; }
  .hh-stars--far .hh-star:nth-child(n+18), .hh-stars--mid .hh-star:nth-child(n+18), .hh-stars--near .hh-star:nth-child(n+13), .hh-mote:nth-child(n+10) { display: none; }
}
@media (min-width: 600px) and (max-width: 860px) {
  .hh { --hh-mh: clamp(300px, 50vh, 560px); }
  @supports (height: 1svh) { .hh { --hh-mh: clamp(300px, 50svh, 560px); } }
}
@media (max-width: 520px) {
  .hh-ctas { gap: 12px; }
  .hh-ctas .btn { flex: 1 1 100%; justify-content: center; }
}
@media (min-width: 861px) and (max-height: 820px) {
  .hh { padding-bottom: calc(var(--hh-gh) * .7 + 30px); }
  .hh-title { font-size: clamp(42px, min(6.3vw, 9.4vh), 90px); }
}
.hh.hh-off *, .hh.hh-off *::before, .hh.hh-off *::after { animation-play-state: paused !important; }
html.js-pre .hh:not(.hh-kin):not(.hh-done) :is(.hh-copy, .hh-ground, .hh-moon) { opacity: 0; animation: hh-failsafe 0s 3s forwards; }
@keyframes hh-failsafe { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .hh-bloom, .hh-halo, .hh-star, .hh-ray, .hh-mote, .hh-rays, .hh-moon-drift, .hh-moon-glow { animation: none !important; }
}

.mn{height:clamp(170px,32vh,380px);width:100%;overflow:hidden;container-type:size;pointer-events:none;-webkit-user-select:none;user-select:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%);mask-image:linear-gradient(180deg,transparent 0,#000 12%)}
.mn svg{width:100%;height:100%;display:block}
.mn-stage{transform-box:view-box;transform-origin:720px 620px}
@container (min-aspect-ratio:11/4){.mn-stage{transform:scale(.88)}}
@container (min-aspect-ratio:61/20){.mn-stage{transform:scale(.78)}}
@container (min-aspect-ratio:69/20){.mn-stage{transform:scale(.69)}}
@container (max-aspect-ratio:58/25){.mn-stage{transform:translateX(-40px)}}
@container (max-aspect-ratio:21/10){.mn-stage{transform:translateX(-90px)}}
@container (max-aspect-ratio:19/10){.mn-stage{transform:translateX(-150px)}}
@container (max-aspect-ratio:17/10){.mn-stage{transform:translateX(-210px)}}
@container (max-aspect-ratio:3/2){.mn-stage{transform:translateX(-270px)}}
@container (max-aspect-ratio:27/20){.mn-stage{transform:translateX(-320px)}}
@container (max-aspect-ratio:6/5){.mn-stage{transform:translateX(-360px)}}
@container (max-aspect-ratio:1/1){.mn-stage{transform:translateX(-400px)}}
.mn--nomoon .mn-moon{display:none}
.mn-tw{fill:none;stroke:#B8B2A6;stroke-width:2.6;stroke-linecap:round;color:#60A5FA}
.mn-tw--b{stroke-width:2.3}
.mn-tw--c{stroke-width:1.9}
.mn-tf{fill:none;stroke:rgba(243,238,228,.2);stroke-width:4.4;color:rgba(96,165,250,.5)}
.mn-fw{fill:none;stroke:rgba(243,238,228,.14);stroke-width:.8}
.mn-wr{fill:none;stroke:rgba(243,238,228,.3);stroke-width:1.3}
.mn-wr--n{stroke:rgba(243,238,228,.34);stroke-width:1.7}
.mn-dash{fill:none;stroke:rgba(243,238,228,.3);stroke-width:1.2;stroke-dasharray:3 6}
.mn-ph,.mn-pc,.mn-pi{fill:none;stroke-linecap:round}
.mn-ph{stroke:#60A5FA;stroke-width:8;stroke-opacity:.26}
.mn-pc{stroke:#60A5FA;stroke-width:2.4}
.mn-pi{stroke:#DBEAFE;stroke-width:.9}
.mn-sh,.mn-sc{fill:none;stroke-linecap:round;stroke-dasharray:12 400;stroke-dashoffset:12;opacity:0}
.mn-sh{stroke:#60A5FA;stroke-width:10;stroke-opacity:.32}
.mn-sc{stroke:#DBEAFE;stroke-width:2.6}
.mn-sd{stroke-width:1.7}
.mn-sf{opacity:0;transform-box:fill-box;transform-origin:50% 50%}
.mn-sil{fill:#0F1730}
.mn-rim{fill:none;stroke:rgba(243,238,228,.16);stroke-width:1}
.mn-ant{fill:none;stroke:rgba(243,238,228,.3);stroke-width:1.2}
.mn-wo{fill:rgba(243,238,228,.4)}
.mn-wob{fill:rgba(243,238,228,.82)}
.mn-wi{fill:rgba(219,234,254,.5)}
.mn-wib{fill:rgba(219,234,254,.92)}
.mn-fsk{fill:#0F1730}
.mn-pool{fill:url(#mn-pl)}
.mn-o{fill:#0F1730;stroke:#B8B2A6;stroke-width:1.3}
.mn-s{fill:none;stroke:#B8B2A6;stroke-width:2.2}
.mn-d{fill:none;stroke:#8C877C;stroke-width:1.1}
.mn-dl{opacity:.75}
.mn-cw{fill:#0A1022;stroke:#8C877C;stroke-width:1}
.mn-ch{fill:#60A5FA;transform-box:fill-box;transform-origin:50% 100%}
.mn-e{fill:#60A5FA}
.mn-i{fill:#DBEAFE}
.mn-pf{fill:#0F1730;stroke:#B8B2A6;stroke-width:1.3;stroke-linejoin:round}
.mn-leg{fill:#8C877C}
.mn-mast{fill:#B8B2A6}
.mn-bl{fill:rgba(243,238,228,.72)}
.mn-blb{fill:#0F1730;stroke:#B8B2A6;stroke-width:.9;stroke-linejoin:round}
.mn-hub{fill:#F3EEE4}
.mn-fence{fill:none;stroke:#8C877C;stroke-width:.8;opacity:.55}
.mn-gr{fill:none;stroke:rgba(243,238,228,.12);stroke-width:1}
.mn-fg2{fill:var(--bg,#070B1A);opacity:.55}
.mn-ra,.mn-rb{transform-box:view-box;transform-origin:0 0}
.mn-g0{stop-color:#0F1730}.mn-g1{stop-color:var(--bg,#070B1A)}
.mn-ma{fill:rgba(140,135,124,.24)}
@media (max-width:700px){
  .mn-tw{stroke-width:3.8}.mn-tw--b{stroke-width:3}.mn-tw--c{stroke-width:2.3}.mn-wr{stroke-width:2.1}.mn-wr--n{stroke-width:2.4}.mn-sc{stroke-width:3.4}.mn-sh{stroke-width:13}.mn-pc{stroke-width:3.4}.mn-ph{stroke-width:10}.mn-pi{stroke-width:1.3}
  .mn-o,.mn-pf{stroke-width:1.9}.mn-s{stroke-width:3}.mn-d{stroke-width:1.5}.mn-dash{stroke-width:1.8}
}
.mn.live .mn-f{animation:mn-flow 9s linear infinite}
.mn.live .mn-fq{animation:mn-flowq 10s linear -1.1s infinite}
.mn.live .mn-ft{animation:mn-flowt 9s linear -2.1s infinite}
.mn.live .mn-ra{animation:mn-rot 11s linear infinite}
.mn.live .mn-rb{animation:mn-rot 15s linear infinite}
.mn.live .mn-lb{animation:mn-blink 4.8s steps(1) infinite}
.mn.live .mn-wf{animation:mn-flick 7s steps(1) infinite}
.mn.live .mn-ch{animation:mn-chg 4.8s ease-in-out infinite alternate}
.mn.live .mn-pu{animation:mn-pulse 4s ease-in-out infinite}
.mn.live .mn-bc{animation:mn-pulse 6.4s ease-in-out infinite}
.mn.live .mn-mg{animation:mn-moon 9s ease-in-out infinite}
.mn.live .mn-sh,.mn.live .mn-sc{animation:mn-surge 7.2s linear infinite}
.mn.live .mn-sd{animation-name:mn-surge-d}
.mn.live .mn-sf{animation:mn-sflare 7.2s cubic-bezier(.22,1,.36,1) infinite}
.mn.in .mn-wg{animation:mn-on 1s cubic-bezier(.16,1,.3,1) both}
.mn.in .mn-pg{animation:mn-on 1.4s cubic-bezier(.22,1,.36,1) .25s both}
.mn.mn-hold *{animation-play-state:paused!important}
@keyframes mn-flow{from{stroke-dashoffset:640}to{stroke-dashoffset:0}}
@keyframes mn-flowq{from{stroke-dashoffset:568}to{stroke-dashoffset:0}}
@keyframes mn-flowt{from{stroke-dashoffset:628}to{stroke-dashoffset:0}}
@keyframes mn-rot{to{transform:rotate(360deg)}}
@keyframes mn-blink{0%,100%{opacity:1}50%{opacity:.15}}
@keyframes mn-flick{0%,92%,100%{opacity:1}95%{opacity:.2}}
@keyframes mn-chg{from{transform:scaleY(.25)}to{transform:scaleY(.95)}}
@keyframes mn-pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes mn-moon{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes mn-on{from{opacity:0}}
@keyframes mn-surge{0%{stroke-dashoffset:12;opacity:0}1%{opacity:1}9%{opacity:1}10%{stroke-dashoffset:-100;opacity:0}100%{stroke-dashoffset:-100;opacity:0}}
@keyframes mn-surge-d{0%{stroke-dashoffset:12;opacity:0}1%{opacity:.5}9%{opacity:.5}10%{stroke-dashoffset:-100;opacity:0}100%{stroke-dashoffset:-100;opacity:0}}
@keyframes mn-sflare{0%{opacity:0;transform:scale(.5)}2%{opacity:1;transform:scale(1.3)}13%{opacity:0;transform:scale(.9)}100%{opacity:0;transform:scale(.5)}}

.fz-root { position: relative; isolation: isolate; background: var(--bg); --fz-step: 240ms; }
.fz-root svg.em { --em-structure: #B8B2A6; --em-structure-ink: #F3EEE4; --em-solid: #0F1730; --em-detail: #8C877C; --em-energy: #60A5FA; --em-load: #60A5FA; }
.fz-root svg.em-city { --em-load: #F59E0B; }

.fz-stage { position: relative; display: flex; flex-direction: column; gap: clamp(44px, 6vw, 80px); padding: clamp(84px, 11vw, 150px) 0 clamp(64px, 8vw, 112px); overflow: hidden; }

.fz-body { max-width: 24em; }
@media (min-width: 1100px) {
  .fz-head { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: clamp(48px, 6vw, 104px); align-items: end; }
  .fz-body { justify-self: end; max-width: 24em; padding-bottom: .35em; }
}
@media (max-width: 1099.98px) { .fz-body { margin-top: 22px; max-width: 30em; } }

.fz-creed { margin: 0; font-weight: 800; font-size: clamp(34px, 7vw, 104px); line-height: 1.04; letter-spacing: -.045em; color: var(--ink); }
.fz-line { display: block; }
.fz-line + .fz-line { margin-top: .06em; }
.fz-ink { display: inline-block; padding: .06em .03em .18em; margin: -.06em -.03em -.18em; }

.fz-frieze { position: relative; z-index: 0; flex: none; pointer-events: none; container-type: inline-size; }
.fz-frieze::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: -1; height: clamp(150px, 30vh, 320px); pointer-events: none; background: radial-gradient(56% 100% at 50% 100%, rgba(30, 64, 175, .2), rgba(30, 64, 175, .07) 48%, rgba(30, 64, 175, 0) 100%); }
.fz-row { display: flex; align-items: flex-end; width: min(100% - 2 * var(--gutter), 1560px); margin-inline: auto; --u: calc(min(100vw - 2 * var(--gutter), 1560px) / 3847); }
@supports (width: 1cqw) { .fz-row { --u: calc(min(100cqw - 2 * var(--gutter), 1560px) / 3847); } }
.fz-cell { position: relative; flex: 0 0 auto; width: calc((var(--x1) - var(--x0)) * var(--u)); }
.fz-cell svg.em { display: block; width: calc(400 * var(--u)); max-width: none; height: auto; margin: calc(-24 * var(--u)) 0 calc(-60 * var(--u)) calc(var(--x0) * var(--u) * -1); overflow: visible; pointer-events: none; }
.fz-cell svg.em .gl { display: none; }
.fz-cell svg.em .s { stroke-width: 3; }
.fz-cell svg.em .s1 { stroke-width: 1.9; }
.fz-cell svg.em .s3 { stroke-width: 4; }
.fz-cell svg.em .sf { stroke-width: 2.8; }
.fz-cell svg.em .fl { stroke-width: 3.4; }
@media (min-width: 760px) and (max-width: 1279.98px) {
  .fz-root:not(.fz-grid) .fz-cell svg.em .s { stroke-width: 4.2; }
  .fz-root:not(.fz-grid) .fz-cell svg.em .s1 { stroke-width: 2.6; }
  .fz-root:not(.fz-grid) .fz-cell svg.em .s3 { stroke-width: 5.4; }
  .fz-root:not(.fz-grid) .fz-cell svg.em .sf { stroke-width: 3.9; }
  .fz-root:not(.fz-grid) .fz-cell svg.em .fl { stroke-width: 4.6; }
}

.fz-ground { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; margin-bottom: -.5px; z-index: 3; background: rgba(243, 238, 228, .28); transform-origin: 0 50%; }
.fz-trail { position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, rgba(96, 165, 250, 0), rgba(96, 165, 250, .34) 22%, rgba(96, 165, 250, .7) 70%, #93C5FD); }
.fz-pulse { position: absolute; left: 0; top: 0; width: 0; height: 1px; opacity: 0; transform: translate3d(-240px, 0, 0); transition: opacity .7s var(--ease-2); will-change: transform; }
.fz-pulse::before { content: ""; position: absolute; right: 0; top: -1px; width: clamp(120px, 15vw, 250px); height: 3px; border-radius: 3px; background: linear-gradient(90deg, rgba(96, 165, 250, 0), rgba(96, 165, 250, .55) 64%, #DBEAFE); filter: drop-shadow(0 0 6px rgba(96, 165, 250, .85)); }
.fz-pulse::after { content: ""; position: absolute; left: -5px; top: -4.5px; width: 10px; height: 10px; border-radius: 50%; background: #DBEAFE; box-shadow: 0 0 6px 2px #60A5FA, 0 0 24px 7px rgba(96, 165, 250, .5), 0 0 70px 20px rgba(96, 165, 250, .2); }
.fz-wash { position: absolute; left: -380px; bottom: -200px; width: 760px; height: 400px; z-index: -1; border-radius: 50%; opacity: 0; transform: translate3d(-400px, 0, 0); transition: opacity 1s var(--ease-2); will-change: transform; background: radial-gradient(closest-side, rgba(96, 165, 250, .22), rgba(96, 165, 250, .07) 52%, rgba(96, 165, 250, 0)); -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 50%, rgba(0, 0, 0, 0) 70%); mask-image: linear-gradient(180deg, #000 0%, #000 50%, rgba(0, 0, 0, 0) 70%); }
.fz-run .fz-pulse, .fz-run .fz-wash { opacity: 1; }
.fz-run .fz-pulse::after { animation: fz-breathe 2.8s var(--ease-2) infinite; }

.fz-cell + .fz-cell::before { content: ""; position: absolute; left: 0; bottom: 0; z-index: 4; width: 5px; height: 5px; margin: 0 0 -2.5px -2.5px; border-radius: 50%; background: var(--bg); box-shadow: inset 0 0 0 1px rgba(243, 238, 228, .3); transition: background-color .6s var(--ease-2), box-shadow .6s var(--ease-2); }
.fz-cell.is-on::before, .fz-cell.is-past::before { background-color: #60A5FA; box-shadow: 0 0 0 1px #93C5FD, 0 0 10px 2px rgba(96, 165, 250, .55); }

.fz-haze { position: absolute; left: 44%; bottom: 0; z-index: -1; width: 150%; height: 112%; transform: translate(-50%, 30%); opacity: 0; pointer-events: none; transition: opacity 1.8s var(--ease-2) .35s; background: radial-gradient(closest-side, rgba(245, 158, 11, .26), rgba(245, 158, 11, .09) 48%, rgba(245, 158, 11, 0)); }
.fz-home .fz-haze { opacity: 1; }
.fz-land { position: absolute; left: 6%; bottom: 0; z-index: 4; width: 10px; height: 10px; margin: 0 0 -5px -5px; border-radius: 50%; opacity: 0; pointer-events: none; box-shadow: 0 0 0 1px #93C5FD, 0 0 12px rgba(96, 165, 250, .6); }
.fz-live.fz-home .fz-land { animation: fz-land 1.5s var(--ease-2) both; }

.fz-live .fz-cell svg.em { opacity: .4; transition: opacity 1.1s var(--ease-2); }
.fz-live .fz-cell.is-on svg.em { opacity: 1; transition-duration: .4s; }
.fz-live .fz-cell.is-past svg.em { opacity: .78; }
.fz-live:not(.fz-seen) .fz-cell svg.em { clip-path: inset(85% -25% 15% -25%); }
.fz-live:not(.fz-seen) .fz-cell::before { opacity: 0; }
.fz-live:not(.fz-seen) .fz-ground { transform: scaleX(0); }
.fz-live .fz-ground { transition: transform 1.6s var(--ease-2); }
.fz-live.fz-seen .fz-cell svg.em { animation: fz-rise .95s var(--ease-2) calc(.2s + var(--i) * 80ms) backwards; }
.fz-live.fz-seen .fz-cell + .fz-cell::before { animation: fz-dot .7s var(--ease-2) calc(.6s + var(--i) * 80ms) backwards; }

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .fz-live .fz-ink { color: transparent; -webkit-text-fill-color: transparent; background-image: linear-gradient(90deg, #F3EEE4 0%, #F3EEE4 37%, #DBEAFE 43%, #60A5FA 47.5%, rgba(243, 238, 228, .085) 54%, rgba(243, 238, 228, .085) 100%); background-size: 280% 100%; background-position: 100% 0; background-repeat: repeat-y; -webkit-background-clip: text; background-clip: text; transition: background-position 1.4s var(--ease-2); }
  .fz-live .fz-line.is-lit .fz-ink { background-position: 0 0; animation: fz-glint 1.9s var(--ease-2); }
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .fz-live .fz-line { opacity: .14; transition: opacity 1s var(--ease-2); }
  .fz-live .fz-line.is-lit { opacity: 1; }
}

.fz-pin .fz-track { height: 320vh; }
.fz-pin .fz-stage { position: sticky; top: 0; height: 100vh; height: 100svh; gap: 0; justify-content: space-between; padding: calc(var(--nav-h) + clamp(18px, 4.6vh, 56px)) 0 clamp(26px, 6vh, 72px); }
.fz-pin .fz-mid { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; padding: clamp(16px, 3vh, 40px) 0; }
.fz-pin .fz-head .h2 { font-size: clamp(30px, min(4.8vw, 7.4vh), 62px); }
.fz-pin .fz-creed { font-size: clamp(34px, min(7vw, 10.4vh), 104px); }

.fz-still .fz-pulse, .fz-still .fz-wash { display: none; }
@media (prefers-reduced-motion: reduce) {
  .fz-root .fz-cell svg.em, .fz-root .fz-cell::before, .fz-root .fz-cell::after, .fz-root .fz-ink, .fz-root .fz-land, .fz-root .fz-pulse::after { animation: none !important; }
}

.fz-grid .fz-stage { gap: clamp(44px, 6vw, 64px); }
.fz-grid .fz-frieze { order: 2; }
.fz-grid .fz-mid { order: 3; }
.fz-grid .fz-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: clamp(18px, 4vw, 34px); width: min(100% - 2 * var(--gutter), 720px); }
.fz-grid .fz-cell { width: auto; border-bottom: 1px solid rgba(243, 238, 228, .28); transition: border-color .6s var(--ease-2); }
.fz-grid .fz-cell svg.em { width: 100%; margin: -6% 0 -15%; }
.fz-grid .fz-cell + .fz-cell::before, .fz-grid .fz-ground, .fz-grid .fz-wash, .fz-grid .fz-land { display: none; }
.fz-grid .fz-cell.is-on, .fz-grid .fz-cell.is-past { border-bottom-color: rgba(96, 165, 250, .66); }
.fz-grid .fz-cell::after { content: ""; position: absolute; left: 0; bottom: -1px; z-index: 4; width: 55%; height: 2px; margin-bottom: -.5px; opacity: 0; pointer-events: none; background: linear-gradient(90deg, rgba(96, 165, 250, 0), rgba(147, 197, 253, .85) 75%, #DBEAFE); filter: drop-shadow(0 0 5px rgba(96, 165, 250, .9)); }
.fz-grid .fz-cell.is-on::after { animation: fz-streak var(--fz-step) linear backwards; }
.fz-grid .fz-haze { left: 50%; width: 170%; height: 130%; }

@media (max-width: 759.98px) {
  .fz-root .fz-stage { gap: 44px; }
  .fz-root .fz-frieze { order: 2; }
  .fz-root .fz-mid { order: 3; }
  .fz-root .fz-creed { font-size: clamp(28px, 8.4vw, 46px); line-height: 1.07; }
  .fz-root .fz-line + .fz-line { margin-top: .16em; }
  .fz-root .fz-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: clamp(18px, 6vw, 30px); width: min(100% - 2 * var(--gutter), 460px); }
  .fz-root .fz-cell { width: auto; border-bottom: 1px solid rgba(243, 238, 228, .28); transition: border-color .6s var(--ease-2); }
  .fz-root .fz-cell svg.em { width: 100%; margin: -6% 0 -15%; }
  .fz-root .fz-cell svg.em .s { stroke-width: 3.9; }
  .fz-root .fz-cell svg.em .s1 { stroke-width: 2.4; }
  .fz-root .fz-cell svg.em .s3 { stroke-width: 5.2; }
  .fz-root .fz-cell svg.em .sf { stroke-width: 3.6; }
  .fz-root .fz-cell svg.em .fl { stroke-width: 4.4; }
  .fz-root .fz-cell + .fz-cell::before, .fz-root .fz-ground, .fz-root .fz-wash, .fz-root .fz-land { display: none; }
  .fz-root .fz-cell.is-on, .fz-root .fz-cell.is-past { border-bottom-color: rgba(96, 165, 250, .66); }
  .fz-root .fz-haze { left: 50%; width: 170%; height: 130%; }
}

@keyframes fz-rise { from { clip-path: inset(85% -25% 15% -25%); } to { clip-path: inset(-25% -25% -25% -25%); } }
@keyframes fz-land { 0% { opacity: .95; transform: scale(.4); } 100% { opacity: 0; transform: scale(6); } }
@keyframes fz-dot { from { opacity: 0; transform: scale(0); } }
@keyframes fz-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.35); } }
@keyframes fz-glint { 0% { filter: drop-shadow(0 0 0 rgba(96, 165, 250, 0)); } 30% { filter: drop-shadow(0 0 20px rgba(96, 165, 250, .5)); } 100% { filter: drop-shadow(0 0 0 rgba(96, 165, 250, 0)); } }
@keyframes fz-streak { from { opacity: 1; transform: translateX(-100%); } to { opacity: 1; transform: translateX(82%); } }

.em-dxfmr{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-dxfmr .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-dxfmr .s1{stroke-width:1.25}
.em-dxfmr .s3{stroke-width:2.75}
.em-dxfmr .os{stroke:var(--em-detail)}
.em-dxfmr .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-dxfmr .d{opacity:.38}
.em-dxfmr .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-dxfmr .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-dxfmr .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-dxfmr .ld{fill:var(--em-detail);opacity:.2}
.em-dxfmr .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-dxfmr .bc{transform-origin:center}
.em-dxfmr.m-energize .fl{stroke:var(--em-energy)}
.em-dxfmr.m-energize .en{stroke:var(--em-energy)}
.em-dxfmr.m-energize .gp{fill:var(--em-energy)}
.em-dxfmr.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-dxfmr.m-energize .enf{fill:var(--em-energy)}
.em-dxfmr.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-dxfmr.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-dxfmr-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-dxfmr.m-build .bb{transform:scale(0);animation:em-dxfmr-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-dxfmr.m-energize .fl{stroke-dasharray:12 16;animation:em-dxfmr-flow 4s linear var(--em-delay,0s) infinite}
.em-dxfmr.m-energize .gp{animation:em-dxfmr-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-dxfmr.m-energize .gh{animation:em-dxfmr-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-dxfmr.m-energize .ld{animation:em-dxfmr-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-dxfmr-draw{to{stroke-dashoffset:0}}
@keyframes em-dxfmr-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-dxfmr-flow{to{stroke-dashoffset:-280}}
@keyframes em-dxfmr-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-dxfmr-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-dxfmr-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

.em-gas{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-gas .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-gas .s1{stroke-width:1.25}
.em-gas .s3{stroke-width:2.75}
.em-gas .os{stroke:var(--em-detail)}
.em-gas .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-gas .d{opacity:.38}
.em-gas .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-gas .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-gas .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-gas .ld{fill:var(--em-detail);opacity:.2}
.em-gas .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-gas .bc{transform-origin:center}
.em-gas.m-energize .fl{stroke:var(--em-energy)}
.em-gas.m-energize .en{stroke:var(--em-energy)}
.em-gas.m-energize .gp{fill:var(--em-energy)}
.em-gas.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-gas.m-energize .enf{fill:var(--em-energy)}
.em-gas.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-gas.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-gas-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-gas.m-build .bb{transform:scale(0);animation:em-gas-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-gas.m-energize .fl{stroke-dasharray:12 16;animation:em-gas-flow 4s linear var(--em-delay,0s) infinite}
.em-gas.m-energize .gp{animation:em-gas-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-gas.m-energize .gh{animation:em-gas-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-gas.m-energize .ld{animation:em-gas-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-gas-draw{to{stroke-dashoffset:0}}
@keyframes em-gas-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-gas-flow{to{stroke-dashoffset:-280}}
@keyframes em-gas-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-gas-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-gas-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

.em-wind{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-wind .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-wind .s1{stroke-width:1.25}
.em-wind .s3{stroke-width:2.75}
.em-wind .os{stroke:var(--em-detail)}
.em-wind .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-wind .d{opacity:.38}
.em-wind .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-wind .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-wind .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-wind .ld{fill:var(--em-detail);opacity:.2}
.em-wind .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-wind .bc{transform-origin:center}
.em-wind .rotor{transform-origin:200px 112px}
.em-wind.m-energize .fl{stroke:var(--em-energy)}
.em-wind.m-energize .en{stroke:var(--em-energy)}
.em-wind.m-energize .gp{fill:var(--em-energy)}
.em-wind.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-wind.m-energize .enf{fill:var(--em-energy)}
.em-wind.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-wind.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-wind-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-wind.m-build .bb{transform:scale(0);animation:em-wind-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-wind.m-energize .fl{stroke-dasharray:12 16;animation:em-wind-flow 4s linear var(--em-delay,0s) infinite}
.em-wind.m-energize .gp{animation:em-wind-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-wind.m-energize .gh{animation:em-wind-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-wind.m-energize .ld{animation:em-wind-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-wind.m-idle .rotor,.em-wind.m-energize .rotor{animation:em-wind-spin 18s linear infinite}
}
@keyframes em-wind-draw{to{stroke-dashoffset:0}}
@keyframes em-wind-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-wind-flow{to{stroke-dashoffset:-280}}
@keyframes em-wind-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-wind-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-wind-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}
@keyframes em-wind-spin{to{transform:rotate(360deg)}}

.em-facility{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-facility .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-facility .s1{stroke-width:1.25}
.em-facility .s3{stroke-width:2.75}
.em-facility .os{stroke:var(--em-detail)}
.em-facility .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-facility .d{opacity:.38}
.em-facility .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-facility .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-facility .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-facility .ld{fill:var(--em-detail);opacity:.2}
.em-facility .lit{fill:var(--em-detail);opacity:.22}
.em-facility .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-facility .bc{transform-origin:center}
.em-facility.m-energize .fl{stroke:var(--em-energy)}
.em-facility.m-energize .en{stroke:var(--em-energy)}
.em-facility.m-energize .gp{fill:var(--em-energy)}
.em-facility.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-facility.m-energize .enf{fill:var(--em-energy)}
.em-facility.m-energize .lit{fill:var(--em-energy);opacity:.95}
@media (prefers-reduced-motion:no-preference){
.em-facility.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-facility-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-facility.m-build .bb{transform:scale(0);animation:em-facility-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-facility.m-energize .fl{stroke-dasharray:12 16;animation:em-facility-flow 4s linear var(--em-delay,0s) infinite}
.em-facility.m-energize .gp{animation:em-facility-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-facility.m-energize .gh{animation:em-facility-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-facility.m-energize .lit{animation:em-facility-lit .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-facility-draw{to{stroke-dashoffset:0}}
@keyframes em-facility-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-facility-flow{to{stroke-dashoffset:-280}}
@keyframes em-facility-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-facility-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-facility-lit{0%{fill:var(--em-detail);opacity:.22}100%{fill:var(--em-energy);opacity:.95}}

.em-cooling{--em-structure:#B8B2A6;--em-structure-ink:#F3EEE4;--em-solid:#0F1730;--em-detail:#8C877C;--em-energy:#60a5fa;--em-load:#F59E0B}
.em-cooling .s{fill:none;stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-cooling .s1{stroke-width:1.25}
.em-cooling .s3{stroke-width:2.75}
.em-cooling .os{stroke:var(--em-detail)}
.em-cooling .sf{fill:var(--em-solid);stroke:var(--em-structure);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-cooling .d{opacity:.38}
.em-cooling .fl{fill:none;stroke:var(--em-structure);stroke-width:2.25;stroke-linecap:round}
.em-cooling .gp{fill:var(--em-structure);transform-box:fill-box;transform-origin:center}
.em-cooling .gh{fill:var(--em-energy);opacity:0;transform-box:fill-box;transform-origin:center}
.em-cooling .ld{fill:var(--em-detail);opacity:.2}
.em-cooling .bb{transform-box:fill-box;transform-origin:50% 100%}
.em-cooling .bc{transform-origin:center}
.em-cooling.m-energize .fl{stroke:var(--em-energy)}
.em-cooling.m-energize .en{stroke:var(--em-energy)}
.em-cooling.m-energize .gp{fill:var(--em-energy)}
.em-cooling.m-energize .gh{opacity:.22;filter:blur(5px)}
.em-cooling.m-energize .enf{fill:var(--em-energy)}
.em-cooling.m-energize .ld{fill:var(--em-load);opacity:1}
@media (prefers-reduced-motion:no-preference){
.em-cooling.m-build .dd{stroke-dasharray:var(--em-l);stroke-dashoffset:var(--em-l);animation:em-cooling-draw var(--em-d,.7s) cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-cooling.m-build .bb{transform:scale(0);animation:em-cooling-birth .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) forwards}
.em-cooling.m-energize .fl{stroke-dasharray:12 16;animation:em-cooling-flow 4s linear var(--em-delay,0s) infinite}
.em-cooling.m-energize .gp{animation:em-cooling-pop .6s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-cooling.m-energize .gh{animation:em-cooling-glow 1.5s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
.em-cooling.m-energize .ld{animation:em-cooling-warm .7s cubic-bezier(.22,1,.36,1) var(--em-delay,0s) backwards}
}
@keyframes em-cooling-draw{to{stroke-dashoffset:0}}
@keyframes em-cooling-birth{0%{transform:scale(0);filter:drop-shadow(0 0 8px var(--em-energy))}100%{transform:scale(1)}}
@keyframes em-cooling-flow{to{stroke-dashoffset:-280}}
@keyframes em-cooling-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes em-cooling-glow{0%{opacity:.6;transform:scale(1.6)}100%{opacity:.22;transform:scale(1)}}
@keyframes em-cooling-warm{0%{fill:var(--em-detail);opacity:.2}100%{fill:var(--em-load);opacity:1}}

.qq.sec { padding-bottom: clamp(8px, 2vw, 24px); overflow: hidden; overflow: clip; background: linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 48%, var(--bg) 100%); }
.qq svg.em { --em-structure: #B8B2A6; --em-structure-ink: #F3EEE4; --em-solid: #0F1730; --em-detail: #8C877C; --em-energy: #60A5FA; --em-load: #93C5FD; pointer-events: none; }
.qq-stage svg.em .s { stroke-width: 1.2; }
.qq-stage svg.em .s1 { stroke-width: .8; }
.qq-stage svg.em .s3 { stroke-width: 1.65; }
.qq-stage svg.em .sf { stroke-width: 1.2; }
.qq-stage svg.em .fl { stroke-width: 1.4; }
.qq-stage--pair svg.em .s { stroke-width: 1.55; }
.qq-stage--pair svg.em .s1 { stroke-width: 1; }
.qq-stage--pair svg.em .s3 { stroke-width: 2.1; }
.qq-stage--pair svg.em .sf { stroke-width: 1.55; }
.qq-stage--pair svg.em .fl { stroke-width: 1.8; }

.qq-head { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 24px clamp(32px, 6vw, 96px); align-items: end; margin-bottom: clamp(4px, 1.5vw, 20px); }
.qq-head .h2 { max-width: 12.5em; }
.qq-lead { max-width: 23em; padding-bottom: .3em; }

.qq-beats { position: relative; }
.qq-beat { position: relative; }
.qq-in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 96px); align-items: center; padding: clamp(56px, 8vw, 120px) 0; }
.qq-beat:nth-child(even) .qq-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
.qq-beat:nth-child(even) .qq-copy { order: 2; }

.qq-rule { position: absolute; left: 0; right: 0; top: -4px; height: 9px; overflow: hidden; pointer-events: none; }
.qq-beat:nth-child(even) .qq-rule { transform: scaleX(-1); }
.qq-rule-l, .qq-rule-s { position: absolute; left: 0; right: 0; top: 4px; height: 1px; }
.qq-rule-l { background: linear-gradient(90deg, rgba(243, 238, 228, 0), rgba(243, 238, 228, .15) 12%, rgba(243, 238, 228, .15) 88%, rgba(243, 238, 228, 0)); transform-origin: 0 50%; }
.qq-rule-s { opacity: 0; transform: translateX(-100%); background: linear-gradient(90deg, rgba(96, 165, 250, 0) calc(100% - 260px), rgba(147, 197, 253, .95) calc(100% - 16px), rgba(96, 165, 250, 0)); filter: drop-shadow(0 0 3px rgba(96, 165, 250, .9)); }

.qq-copy { position: relative; isolation: isolate; min-width: 0; }
.qq-ghost { position: absolute; z-index: -1; left: -.05em; top: 50%; margin-top: -.52em; font-family: var(--sans); font-weight: 200; font-size: clamp(150px, 25vw, 360px); line-height: 1; letter-spacing: -.07em; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; pointer-events: none; user-select: none; -webkit-user-select: none; will-change: transform; }
.qq-ghost-n { display: inline-block; color: rgba(243, 238, 228, .05); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .qq-ghost-n { color: transparent; -webkit-text-fill-color: transparent; background-image: linear-gradient(180deg, rgba(243, 238, 228, .11) 6%, rgba(147, 197, 253, .05) 46%, rgba(243, 238, 228, 0) 90%); -webkit-background-clip: text; background-clip: text; }
}
.qq-tag { display: flex; align-items: center; gap: 14px; margin: 0 0 clamp(18px, 2.2vw, 26px); font-family: var(--mono); font-weight: 500; font-size: 11.5px; line-height: 1.5; letter-spacing: var(--mono-ls, .28em); text-transform: uppercase; color: var(--ink-3); }
.qq-tag::before { content: ""; flex: none; width: 32px; height: 1px; background: rgba(96, 165, 250, .65); transform-origin: 0 50%; }
.qq-tag-t { display: inline-block; }
.qq-tag-i { color: var(--elec); }
.qq-h { font-size: clamp(36px, 4.6vw + 10px, 66px); font-weight: 800; letter-spacing: -.045em; line-height: 1; max-width: 10em; }
.qq-w { display: inline-block; vertical-align: top; overflow: hidden; padding: .06em .04em .16em; margin: -.06em -.04em -.16em; }
.qq-w:last-child { padding-right: .4em; margin-right: -.4em; }
.qq-w > span { display: inline-block; }
.qq-dot { color: var(--elec); transition: text-shadow 1.4s var(--ease-2); }
.qq-lit .qq-dot { text-shadow: 0 0 .3em rgba(96, 165, 250, .85); }

.qq-art { position: relative; min-width: 0; }
.qq-frame { position: relative; display: flow-root; width: 100%; max-width: 600px; margin-inline: auto; }
.qq-frame--pair { max-width: 660px; }
.qq-frame::before { content: ""; position: absolute; z-index: 0; left: var(--qq-gx, 50%); top: var(--qq-gy, 55%); width: var(--qq-gs, 96%); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(96, 165, 250, .17), rgba(96, 165, 250, .06) 52%, rgba(96, 165, 250, 0)); opacity: 0; transition: opacity 1.8s var(--ease-2); pointer-events: none; }
.qq-lit .qq-frame::before { opacity: 1; }
.qq-hz { position: absolute; z-index: 0; left: -12%; right: -12%; top: var(--qq-hz, 88%); height: 1px; background: linear-gradient(90deg, rgba(243, 238, 228, 0), rgba(243, 238, 228, .14) 24%, rgba(243, 238, 228, .14) 76%, rgba(243, 238, 228, 0)); }
.qq-stage { position: relative; z-index: 1; width: 100%; aspect-ratio: var(--qq-sr, 1); margin: var(--qq-mt, 0) 0 var(--qq-mb, 0); }
.qq-stage > svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; }
.qq-stage--pair > .em-wind { left: -18.5185%; width: 74.0741%; }
.qq-stage--pair > .em-bess { left: 29.6296%; width: 74.0741%; }
.qq-ov { pointer-events: none; }

.qq-ov .qq-s, .qq-ov .qq-s1 { fill: none; stroke: #B8B2A6; stroke-linecap: round; stroke-linejoin: round; }
.qq-ov .qq-s { stroke-width: 1.2; }
.qq-ov .qq-s1 { stroke-width: .8; }
.qq-ov .qq-dt { stroke: #8C877C; }
.qq-ov .qq-sf { fill: #0F1730; stroke: #B8B2A6; stroke-width: 1.2; stroke-linejoin: round; }
.qq-ov .qq-sf1 { stroke-width: .8; }
.qq-ov .qq-gnd { fill: none; stroke: #B8B2A6; stroke-width: 1; stroke-linecap: round; opacity: .38; }
.qq-born { transform-box: fill-box; transform-origin: 50% 100%; }
.qq-born--top { transform-origin: 50% 0; }
.qq-born--mid { transform-origin: 50% 50%; }
.qq-cr-cable { transform-box: fill-box; transform-origin: 50% 0; }
.qq-cr-led { fill: #8C877C; transition: fill .9s var(--ease-2); }
.qq-lit .qq-cr-led { fill: #60A5FA; }
.qq-cr-ping { fill: none; stroke: #60A5FA; stroke-width: 1.5; opacity: 0; transform-box: fill-box; transform-origin: 50% 50%; }
.qq-sel path { fill: none; stroke: rgba(243, 238, 228, .34); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; transition: stroke 1.2s var(--ease-2); }
.qq-lit .qq-sel path { stroke: rgba(147, 197, 253, .62); }
.qq-sel-g { transform-box: fill-box; transform-origin: 50% 50%; }
.qq-cur { fill: none; stroke: #B8B2A6; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: stroke .8s var(--ease-2); }
.qq-lit .qq-cur { stroke: #60A5FA; }
.qq-lamp { position: absolute; z-index: 2; width: 17%; aspect-ratio: 1; transform: translate(-50%, -50%); pointer-events: none; }
.qq-lamp::before, .qq-lamp::after { content: ""; position: absolute; border-radius: 50%; }
.qq-lamp::before { inset: 0; background: radial-gradient(closest-side, rgba(219, 234, 254, .34), rgba(219, 234, 254, .13) 30%, rgba(147, 197, 253, .05) 60%, rgba(147, 197, 253, 0)); opacity: .8; }
.qq-lamp::after { left: 50%; top: 50%; width: 3px; height: 3px; margin: -1.5px 0 0 -1.5px; background: #DBEAFE; opacity: .72; box-shadow: 0 0 5px 1px rgba(219, 234, 254, .5); }
@media (max-width: 760px) {
  .qq-stage svg.em .s, .qq-stage svg.em .sf { stroke-width: 1.75; }
  .qq-stage svg.em .s1 { stroke-width: 1.15; }
  .qq-stage svg.em .s3 { stroke-width: 2.4; }
  .qq-stage svg.em .fl { stroke-width: 2; }
  .qq-ov .qq-s, .qq-ov .qq-sf { stroke-width: 1.75; }
  .qq-ov .qq-s1, .qq-ov .qq-sf1, .qq-ov .qq-gnd { stroke-width: 1.15; }
  .qq-cur { stroke-width: 2; }
}

@media (min-width: 861px) {
  .qq-in { min-height: clamp(560px, min(84vh, 64vw), 880px); min-height: clamp(560px, min(84svh, 64vw), 880px); }
  .qq-beat:first-child .qq-in { min-height: 0; }
  .qq-h { font-size: clamp(36px, 4vw + 10px, 66px); }
}
.qq-beat:first-child .qq-in { padding-top: clamp(40px, 5vw, 72px); }
@media (max-width: 860px) {
  .qq-head { grid-template-columns: minmax(0, 1fr); margin-bottom: 28px; }
  .qq-in, .qq-beat:nth-child(even) .qq-in { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .qq-beat:nth-child(even) .qq-copy { order: 0; }
  .qq-frame, .qq-frame--pair { max-width: 520px; }
}
@media (max-width: 420px) {
  .qq-tag { font-size: 11px; letter-spacing: var(--mono-ls-tight, .2em); gap: 10px; }
  .qq-tag::before { width: 22px; }
}

@media (prefers-reduced-motion: no-preference) {
  .qq-on .qq-beat:not(.in) .qq-w > span { transform: translate3d(0, 118%, 0); }
  .qq-on .qq-beat.in .qq-w > span { transition: transform .9s var(--ease) calc(.1s + var(--qq-i, 0) * .09s); }
  .qq-on .qq-beat:not(.in) .qq-tag::before { transform: scaleX(0); }
  .qq-on .qq-beat.in .qq-tag::before { transition: transform .6s var(--ease); }
  .qq-on .qq-beat:not(.in) .qq-tag-t { opacity: 0; transform: translate3d(0, 8px, 0); }
  .qq-on .qq-beat.in .qq-tag-t { transition: opacity .6s var(--ease-2) .15s, transform .6s var(--ease) .15s; }
  .qq-on .qq-beat:not(.in) .qq-ghost-n { opacity: 0; transform: translate3d(0, .1em, 0); }
  .qq-on .qq-beat.in .qq-ghost-n { transition: opacity 1.8s var(--ease-2) .1s, transform 1.8s var(--ease) .1s; }
  .qq-on .qq-beat:not(.in) .qq-hz { transform: scaleX(0); }
  .qq-on .qq-beat.in .qq-hz { transition: transform 1.6s var(--ease-2) .2s; }
  .qq-on .qq-beat:not(.in) .qq-rule-l { transform: scaleX(0); }
  .qq-on .qq-beat.in .qq-rule-l { transition: transform 1.6s var(--ease-2); }
  .qq-on .qq-beat.in .qq-rule-s { animation: qq-spark 2.4s var(--ease-2) .2s both; }
  .qq-on .qq-beat:not(.go) .qq-hide { visibility: hidden; }

  .qq-on .go .qq-dd { stroke-dasharray: 1 2; animation: qq-draw var(--qq-t, .8s) var(--ease-2) var(--qq-dl, 0s) both; }
  .qq-on .go .qq-born { animation: qq-born .6s var(--ease-2) var(--qq-dl, 0s) both; }
  .qq-on .go .qq-cr-trol { animation: qq-trav .9s var(--ease) 1.75s both; }
  .qq-on .go .qq-cr-cable { animation: qq-cab-a .5s var(--ease-2) 1.6s both, qq-cab-b 1.45s var(--ease-2) 2.7s forwards; }
  .qq-on .go .qq-cr-load { animation: qq-lower 1.45s var(--ease-2) 2.7s both; }
  .qq-on .go .qq-cr-ping { animation: qq-ping 1.4s var(--ease-2) 3.55s both; }

  .qq-on .go .qq-sel-g { animation: qq-sel 1.2s var(--ease) both; }
  .qq-on .go .qq-sel path { stroke-dasharray: 1 2; animation: qq-draw .9s var(--ease-2) .05s both; }

  .qq-on .qq-beat:not(.go) .qq-cur { stroke-dasharray: 172 344; stroke-dashoffset: 172; }
  .qq-on .go .qq-cur { stroke-dasharray: 172 344; stroke-dashoffset: 0; transition: stroke-dashoffset .9s var(--ease-2), stroke .8s var(--ease-2); }
  .qq-on .qq-lit .qq-cur { stroke-dasharray: 12 16; animation: qq-flow 4s linear infinite; }

  .qq-on .qq-beat--span .em-catenary.m-energize .fl { animation-duration: 9s; }
  .qq-on .qq-beat--span .qq-lamp { opacity: 0; transition: opacity 1.8s var(--ease-2) .3s; }
  .qq-on .qq-beat--span.qq-lit .qq-lamp { opacity: 1; }
  .qq-on .qq-beat--span.qq-lit .qq-lamp::before { animation: qq-lamp 12s cubic-bezier(.45, 0, .55, 1) infinite; }
  .qq-on .qq-beat--span.qq-lit .qq-lamp--r::before { animation-delay: 1.6s; }
}

@media (prefers-reduced-motion: reduce) {
  .qq svg.em .fl { stroke: var(--em-energy); }
  .qq svg.em .gp { fill: var(--em-energy); }
  .qq svg.em .gh { opacity: .22; filter: blur(5px); }
  .qq svg.em .lit { fill: var(--em-energy); opacity: .95; }
  .qq .qq-frame::before { opacity: 1; }
  .qq .qq-cur { stroke: #60A5FA; }
  .qq .qq-cr-led { fill: #60A5FA; }
  .qq .qq-sel path { stroke: rgba(147, 197, 253, .62); }
  .qq .qq-dot { text-shadow: 0 0 .3em rgba(96, 165, 250, .85); }
}

@keyframes qq-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes qq-born { from { transform: scale(0); } to { transform: scale(1); } }
@keyframes qq-trav { from { transform: translateX(-58px); } to { transform: translateX(0); } }
@keyframes qq-lower { from { transform: translateY(-88px); } to { transform: translateY(0); } }
@keyframes qq-cab-a { from { transform: scaleY(0); } to { transform: scaleY(.12); } }
@keyframes qq-cab-b { from { transform: scaleY(.12); } to { transform: scaleY(1); } }
@keyframes qq-ping { 0% { opacity: 0; transform: scale(.4); } 6% { opacity: .9; } 100% { opacity: 0; transform: scale(2.8); } }
@keyframes qq-sel { from { transform: scale(1.18); } to { transform: scale(1); } }
@keyframes qq-flow { to { stroke-dashoffset: -280; } }
@keyframes qq-lamp { 0%, 100% { opacity: .5; transform: scale(.86); } 50% { opacity: 1; transform: scale(1.07); } }
@keyframes qq-spark { 0% { transform: translateX(-100%); opacity: 0; } 10% { opacity: 1; } 76% { opacity: 1; } 100% { transform: translateX(0); opacity: 0; } }

.fx2 { overflow: hidden; isolation: isolate;
  background:
    radial-gradient(62% 56% at 76% 50%, rgba(30, 64, 175, .17), rgba(30, 64, 175, 0) 72%),
    linear-gradient(180deg, var(--bg) 0%, #08112A 50%, var(--bg) 100%); }
.fx2::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, rgba(243, 238, 228, 0), rgba(243, 238, 228, .14) 34%, rgba(96, 165, 250, .4) 74%, rgba(96, 165, 250, 0)); }
.fx2-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.fx2-dots { position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(243, 238, 228, .22) 0.9px, rgba(243, 238, 228, 0) 1.4px);
  background-size: 22px 22px; background-position: right 11px top 11px;
  -webkit-mask-image: radial-gradient(46% 54% at 100% 0%, #000 0%, rgba(0, 0, 0, .5) 40%, rgba(0, 0, 0, 0) 76%);
          mask-image: radial-gradient(46% 54% at 100% 0%, #000 0%, rgba(0, 0, 0, .5) 40%, rgba(0, 0, 0, 0) 76%); }
.fx2-motes { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

.fx2-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: clamp(40px, 6vw, 104px); align-items: center; }
.fx2-copy { max-width: 540px; }
.fx2-h { font-size: clamp(42px, 5.6vw, 80px); font-weight: 820; letter-spacing: -0.045em; line-height: 0.96; }
.fx2-tail { color: #93C5FD; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .fx2-tail { background-image: linear-gradient(100deg, #F3EEE4 0%, #DBEAFE 22%, #93C5FD 46%, #60A5FA 66%, #DBEAFE 84%, #F3EEE4 100%);
    background-size: 240% 100%; background-position: 62% 50%; -webkit-background-clip: text; background-clip: text;
    color: transparent; -webkit-text-fill-color: transparent; animation: fx2-tail 16s ease-in-out infinite alternate; }
}
@keyframes fx2-tail { from { background-position: 6% 50%; } to { background-position: 94% 50%; } }
.fx2-lead { margin-top: 26px; }

.fx2-traits { margin-top: clamp(38px, 4.4vw, 56px); border-bottom: 1px solid var(--line); }
.fx2-trait { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(104px, 22%) minmax(0, 1fr); gap: 6px 22px; align-items: baseline; padding: 21px 0 22px; }
.fx2-trait::before, .fx2-trait::after { content: ""; position: absolute; top: 0; left: 0; height: 1px; pointer-events: none; }
.fx2-trait::before { right: 0; background: var(--line); }
.fx2-trait::after { width: 42%; opacity: 0; transform: translateX(-100%);
  background: linear-gradient(90deg, rgba(96, 165, 250, 0), #60A5FA 62%, #DBEAFE 86%, rgba(219, 234, 254, 0)); }
.fx2-trait.in::after { animation: fx2-sweep 1.5s var(--ease-2) .45s both; }
.fx2-trait:nth-child(2).in::after { animation-delay: .6s; }
.fx2-trait:nth-child(3).in::after { animation-delay: .75s; }
@keyframes fx2-sweep { 0% { opacity: 0; transform: translateX(-100%); } 18% { opacity: 1; } 100% { opacity: 0; transform: translateX(240%); } }
.fx2-tt { font-size: clamp(22px, 2.2vw, 29px); font-weight: 760; letter-spacing: -0.03em; line-height: 1.1; }
.fx2-tb { color: var(--ink-2); font-size: 16.5px; line-height: 1.5; text-wrap: pretty; }
.fx2-coda { margin-top: 30px; color: var(--ink-3); font-size: 16.5px; font-weight: 500; letter-spacing: -0.005em; }

.fx2-art { position: relative; width: 100%; max-width: 660px; justify-self: center; }
.fx2-mind { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; overflow: visible; }
.fx2-listen { fill: none; stroke-width: 1.3; stroke-linecap: round; transform-box: view-box; transform-origin: 320px 320px; animation: fx2-spin 120s linear infinite; }
.fx2-base { fill: none; stroke: rgba(243, 238, 228, .18); stroke-width: 1; }
.fx2-base--e { stroke: #60A5FA; stroke-opacity: .28; stroke-width: 1.1; }
.fx2-march line { fill: none; stroke: rgba(243, 238, 228, .5); stroke-width: 1.1; stroke-linecap: round; stroke-dasharray: 1.5 12.5; animation: fx2-march 7s linear infinite; }
.fx2-march--e line { stroke: #60A5FA; stroke-width: 1.5; stroke-dasharray: 3 11; animation-duration: 4.2s; }
@keyframes fx2-march { to { stroke-dashoffset: -28; } }
.fx2-imp { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.fx2-imp-glow { stroke: #60A5FA; stroke-width: 7; stroke-opacity: .3; stroke-dasharray: 150 2000; stroke-dashoffset: 150; }
.fx2-imp-line { stroke: #DBEAFE; stroke-width: 2; stroke-dasharray: 64 2000; stroke-dashoffset: 64; }
.fx2-wave { fill: none; stroke: #93C5FD; stroke-width: 1.2; vector-effect: non-scaling-stroke; opacity: 0; transform-box: fill-box; transform-origin: center; }
.fx2-nh { transform-box: fill-box; transform-origin: center; animation: fx2-nb 7.5s ease-in-out infinite; }
@keyframes fx2-nb { 0%, 100% { transform: scale(.82); opacity: .62; } 50% { transform: scale(1.2); opacity: 1; } }
.fx2-nr { fill: none; stroke: rgba(219, 234, 254, .22); stroke-width: 1; }
.fx2-nc { fill: #DBEAFE; }
.fx2-nf { fill: none; stroke: #93C5FD; stroke-width: 1.1; vector-effect: non-scaling-stroke; opacity: 0; transform-box: fill-box; transform-origin: center; }
.fx2-aura { transform-box: fill-box; transform-origin: center; animation: fx2-aura 6.5s ease-in-out infinite; }
@keyframes fx2-aura { 0%, 100% { transform: scale(.95); opacity: .78; } 50% { transform: scale(1.06); opacity: 1; } }
.fx2-ring { fill: none; transform-box: fill-box; transform-origin: center; }
.fx2-ring-a { stroke: rgba(243, 238, 228, .42); stroke-width: 1; stroke-dasharray: 4.948 8.796; animation: fx2-spin 70s linear infinite; }
.fx2-ring-b { stroke: rgba(219, 234, 254, .55); stroke-width: 1.8; stroke-linecap: round; stroke-dasharray: 0.01 12.03; animation: fx2-spin 110s linear infinite reverse; }
.fx2-track { fill: none; stroke: rgba(96, 165, 250, .14); stroke-width: 1; }
.fx2-ring-c { transform-box: view-box; transform-origin: 320px 320px; animation: fx2-spin 22s linear infinite; }
.fx2-arc { fill: none; stroke: #60A5FA; stroke-width: 1.6; stroke-linecap: round; stroke-dasharray: 92 259.86; }
.fx2-sat { fill: #DBEAFE; }
.fx2-sat--b { fill: #93C5FD; }
@keyframes fx2-spin { to { transform: rotate(360deg); } }
.fx2-tick { stroke: rgba(243, 238, 228, .34); stroke-width: 1.8; stroke-linecap: round; animation: fx2-tick 9.6s linear infinite; }
.fx2-tick:nth-child(1) { animation-delay: -9.6s; } .fx2-tick:nth-child(2) { animation-delay: -8.8s; } .fx2-tick:nth-child(3) { animation-delay: -8s; }
.fx2-tick:nth-child(4) { animation-delay: -7.2s; } .fx2-tick:nth-child(5) { animation-delay: -6.4s; } .fx2-tick:nth-child(6) { animation-delay: -5.6s; }
.fx2-tick:nth-child(7) { animation-delay: -4.8s; } .fx2-tick:nth-child(8) { animation-delay: -4s; } .fx2-tick:nth-child(9) { animation-delay: -3.2s; }
.fx2-tick:nth-child(10) { animation-delay: -2.4s; } .fx2-tick:nth-child(11) { animation-delay: -1.6s; } .fx2-tick:nth-child(12) { animation-delay: -.8s; }
.fx2-ticks .fx2-tick:nth-child(1) { stroke: #DBEAFE; }
.fx2-ticks .fx2-tick:nth-child(12) { stroke: rgba(147, 197, 253, .78); }
.fx2-ticks .fx2-tick:nth-child(11) { stroke: rgba(147, 197, 253, .5); }
.fx2-ticks .fx2-tick:nth-child(10) { stroke: rgba(147, 197, 253, .34); }
@keyframes fx2-tick { 0% { stroke: #DBEAFE; } 6% { stroke: #93C5FD; } 36%, 100% { stroke: rgba(243, 238, 228, .34); } }
.fx2-flash { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fx2-cf, .fx2-cb { transform-box: fill-box; transform-origin: center; }
.fx2-cb { animation: fx2-breathe 6.5s ease-in-out infinite; }
@keyframes fx2-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.055); } }
.fx2-core { filter: drop-shadow(0 0 16px rgba(96, 165, 250, .65)) drop-shadow(0 0 44px rgba(59, 130, 246, .35)); }
.fx2-rim { fill: none; stroke: rgba(219, 234, 254, .2); stroke-width: 1; }
.fx2-iris { fill: none; stroke: rgba(219, 234, 254, .26); stroke-width: .8; stroke-dasharray: 1.2 3.67; }

.fx2-armed .fx2-e { animation-duration: 1s; animation-timing-function: var(--ease); animation-fill-mode: both; animation-delay: var(--fx2-d, 0ms); animation-play-state: paused; }
.fx2-armed.fx2-play .fx2-e { animation-play-state: running; }
.fx2-armed .fx2-e-fade { animation-name: fx2-in-fade; animation-duration: 1.6s; }
.fx2-armed .fx2-e-pop { animation-name: fx2-in-pop; animation-duration: .8s; transform-box: fill-box; transform-origin: center; }
.fx2-armed .fx2-e-ring { animation-name: fx2-in-ring; animation-duration: 1.3s; transform-box: view-box; transform-origin: 320px 320px; }
.fx2-armed .fx2-e-core { animation-name: fx2-in-core; animation-duration: 1.1s; transform-box: view-box; transform-origin: 320px 320px; }
.fx2-armed .fx2-e-grow { animation-name: fx2-in-grow; animation-duration: 1.15s; transform-box: view-box; }
.fx2-armed .fx2-e-listen { animation-name: fx2-in-listen; animation-duration: 1.8s; transform-box: view-box; transform-origin: 320px 320px; }
.fx2-e-bl { transform-origin: 190px 320px; }
.fx2-e-br { transform-origin: 450px 320px; }
.fx2-e-bc { transform-origin: 320px 320px; }
@keyframes fx2-in-fade { from { opacity: 0; } }
@keyframes fx2-in-pop { from { opacity: 0; transform: scale(.25); } }
@keyframes fx2-in-ring { from { opacity: 0; transform: scale(.8) rotate(-50deg); } }
@keyframes fx2-in-core { from { opacity: 0; transform: scale(.3); } }
@keyframes fx2-in-grow { from { opacity: 0; transform: scaleX(.04); } }
@keyframes fx2-in-listen { from { opacity: 0; transform: scale(.93) rotate(-16deg); } }
.fx2.fx2-idle .fx2-mind *, .fx2.fx2-idle .fx2-tail { animation-play-state: paused !important; }

@media (max-width: 860px) {
  .fx2 { background:
      radial-gradient(90% 44% at 50% 24%, rgba(30, 64, 175, .2), rgba(30, 64, 175, 0) 72%),
      linear-gradient(180deg, var(--bg) 0%, #08112A 38%, var(--bg) 100%); }
  .fx2-grid { grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 6vw, 48px); }
  .fx2-art { order: -1; width: 86vw; max-width: 560px; }
  .fx2-copy { max-width: 620px; }
  .fx2-dots { -webkit-mask-image: radial-gradient(70% 34% at 100% 0%, #000 0%, rgba(0, 0, 0, .45) 40%, rgba(0, 0, 0, 0) 78%);
              mask-image: radial-gradient(70% 34% at 100% 0%, #000 0%, rgba(0, 0, 0, .45) 40%, rgba(0, 0, 0, 0) 78%); }
}
@media (max-width: 600px) {
  .fx2-base { stroke-width: 1.4; }
  .fx2-march line { stroke-width: 1.6; }
  .fx2-march--e line { stroke-width: 2; }
  .fx2-ring-a, .fx2-track, .fx2-nr, .fx2-rim { stroke-width: 1.4; }
  .fx2-listen { stroke-width: 1.7; }
  .fx2-tick { stroke-width: 2.2; }
  .fx2-trait { grid-template-columns: minmax(88px, 29%) minmax(0, 1fr); gap: 4px 14px; padding: 18px 0 19px; }
  .fx2-tb, .fx2-coda { font-size: 16px; }
}


.ft { position: relative; padding: clamp(28px, 4.5vw, 64px) 0 clamp(84px, 11vw, 150px); background: var(--bg); }
.ft-panel {
  position: relative; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; isolation: isolate;
  background: #070B1A;
  box-shadow: 0 70px 140px -70px rgba(0, 0, 0, .95), 0 40px 120px -60px rgba(30, 64, 175, .38);
}
.ft-panel::after {
  content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit; pointer-events: none;
  border: 1px solid rgba(243, 238, 228, .13);
}
.ft-field, .ft-scene { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ft-scene { transition: opacity .9s cubic-bezier(.22, 1, .36, 1); }
.ft-sA { opacity: 0; }
.ft.ft-armed .ft-scene { opacity: 0; }
.ft.ft-armed .ft-scene.on { opacity: 1; }
.ft-js:not(.ft-armed) .ft-scene { opacity: 0; }
.ft-vig {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    radial-gradient(118% 92% at 50% 48%, rgba(3, 5, 12, 0) 54%, rgba(3, 5, 12, .5) 80%, rgba(3, 5, 12, .86) 100%),
    linear-gradient(180deg, rgba(3, 5, 12, .35) 0%, rgba(3, 5, 12, 0) 16%, rgba(3, 5, 12, 0) 84%, rgba(3, 5, 12, .4) 100%);
}


.ft-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 2.4vw, 32px); margin: 20px 0 0; padding: 0; list-style: none; }
.ft-step { display: grid; gap: 12px; font-family: var(--mono); font-weight: 500; font-size: 11.5px; line-height: 1; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-3); transition: color .6s cubic-bezier(.16, 1, .3, 1); }
.ft-bar { position: relative; display: block; height: 1px; background: var(--line); overflow: hidden; }
.ft-bar i { position: absolute; inset: 0; background: linear-gradient(90deg, var(--elec-2), var(--elec)); transform: scaleX(0); transform-origin: 0 50%; }
.ft-step.on { color: var(--ink); }
.ft-step.on .ft-bar i { animation: ft-fill var(--ft-dur, 6.5s) linear both; }
.ft-step.done .ft-bar i { transform: scaleX(1); opacity: .28; }
@keyframes ft-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }


@keyframes ft-fade { from { opacity: 0; } }
@keyframes ft-draw { from { stroke-dashoffset: 101; } }
@keyframes ft-pop { 0% { opacity: 0; transform: scale(.3); } 60% { opacity: 1; transform: scale(1.22); } }
@keyframes ft-ring { 0% { opacity: 0; transform: scale(.4); } 5% { opacity: .95; transform: scale(.45); } 100% { opacity: 0; transform: scale(3.2); } }
@keyframes ft-tip { 0% { stroke-dashoffset: 3; opacity: 1; } 88% { opacity: 1; } 100% { stroke-dashoffset: -97.5; opacity: 0; } }
@keyframes ft-tipg { 0% { stroke-dashoffset: 4.5; opacity: 1; } 88% { opacity: 1; } 100% { stroke-dashoffset: -96; opacity: 0; } }
@keyframes ft-flow { 0% { stroke-dashoffset: 0; opacity: 0; } 6% { opacity: 1; } 94% { opacity: 1; } 100% { stroke-dashoffset: -100; opacity: 0; } }
@keyframes ft-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.ft.ft-off *, .ft.ft-off *::before, .ft.ft-off *::after { animation-play-state: paused !important; }


.ft-ctr { fill: none; stroke: rgba(243, 238, 228, .05); stroke-width: 1; }


.ft-camA { transform-box: view-box; }
.ft-sA.out .ft-camA { transform: scale(1.5); transition: transform 1.15s cubic-bezier(.6, 0, .85, .25); }
.ft-xh { fill: none; stroke: rgba(243, 238, 228, .06); stroke-width: 1; }
.ft-rr { fill: none; stroke: rgba(243, 238, 228, .12); stroke-width: 1; stroke-dasharray: 100 110; }
.ft-bz { fill: none; stroke: rgba(243, 238, 228, .17); stroke-width: 1; }
.ft-bzg, .ft-sw { transform-box: view-box; transform-origin: 800px 450px; }
.ft-hubr { fill: none; stroke: #60A5FA; stroke-width: 1.4; }
.ft-hubc { fill: #DBEAFE; }
.ft-hub { transform-box: fill-box; transform-origin: center; }
.ft-scope { transition: opacity 1.2s cubic-bezier(.22, 1, .36, 1); }
.ft-sA.c .ft-scope { opacity: .32; }
.ft-sA.play .ft-rr { animation: ft-draw 1.7s var(--pd, .1s) cubic-bezier(.22, 1, .36, 1) both; }
.ft-sA.play .ft-bzg { animation: ft-bezel 2s .12s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes ft-bezel { from { opacity: 0; transform: rotate(-16deg) scale(.96); } }
.ft-ping { fill: none; stroke: #60A5FA; stroke-width: 1.2; opacity: 0; transform-box: fill-box; transform-origin: center; }
.ft-sA.play .ft-ping { animation: ft-ping 2.6s var(--pd, .15s) cubic-bezier(.22, 1, .36, 1) both; }
@keyframes ft-ping { 0% { opacity: 0; transform: scale(.04); } 6% { opacity: .75; } 100% { opacity: 0; transform: scale(1); } }
.ft-sA.play .ft-hub { animation: ft-pop .7s .05s cubic-bezier(.16, 1, .3, 1) both; }
.ft-swt path { fill-opacity: .036; }
.ft-swg { fill: none; stroke: #60A5FA; stroke-width: 9; stroke-opacity: .1; }
.ft-swl { fill: none; stroke-width: 1.6; }
.ft-sA.play .ft-sww { animation: ft-fade .8s .3s cubic-bezier(.22, 1, .36, 1) both; }
.ft-sA.play .ft-sw { animation: ft-spin 4.6s .5s linear infinite both; }
.ft-swo { transition: opacity 1s cubic-bezier(.22, 1, .36, 1), visibility 0s linear 1s; }
.ft-sA.c .ft-swo { opacity: 0; visibility: hidden; }
.ft-nd { fill: #F3EEE4; fill-opacity: .6; transform-box: fill-box; transform-origin: center; }
.ft-nd.mj { fill-opacity: .92; }
.ft-nr { fill: none; stroke: rgba(243, 238, 228, .3); stroke-width: 1; }
.ft-ne { fill: none; stroke: #60A5FA; stroke-width: 1.2; opacity: 0; transform-box: fill-box; transform-origin: center; }
.ft-sA.play .ft-nd { animation: ft-blip 1.1s var(--bd) cubic-bezier(.16, 1, .3, 1) both; }
.ft-sA.play .ft-nr { animation: ft-fade .9s var(--bd) ease-out both; }
.ft-sA.play .ft-ne { animation: ft-echo 4.6s var(--bd) linear infinite both; }
.ft-sA.c .ft-ne { animation: none; }
@keyframes ft-blip { 0% { opacity: 0; transform: scale(.2); } 12% { opacity: 1; transform: scale(2.3); fill: #DBEAFE; fill-opacity: 1; } }
@keyframes ft-echo {
  0% { opacity: 0; transform: scale(.3); }
  1% { opacity: .9; transform: scale(.3); animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
  28% { opacity: 0; transform: scale(3.1); }
  100% { opacity: 0; transform: scale(3.1); }
}
.ft-acq { fill: none; stroke: #60A5FA; stroke-opacity: .42; stroke-width: 1; stroke-dasharray: 100 110; transition: opacity .9s ease; }
.ft-lk { fill: none; stroke: #93C5FD; stroke-width: 2.2; stroke-linecap: square; }
.ft-lkg { transform-box: view-box; }
.ft-lkw { transition: opacity .9s ease; }
.ft-lr { fill: none; stroke: #60A5FA; stroke-width: 1.4; transform-box: fill-box; transform-origin: center; }
.ft-lc { fill: #DBEAFE; transform-box: fill-box; transform-origin: center; }
.ft-son { fill: none; stroke: #60A5FA; stroke-width: 1.4; opacity: 0; transform-box: fill-box; transform-origin: center; }
.ft-sA.play .ft-lc { animation: ft-blip 1.1s var(--bd) cubic-bezier(.16, 1, .3, 1) both; }
.ft-sA.play .ft-lr { animation: ft-pop .6s calc(var(--bd) + .06s) cubic-bezier(.16, 1, .3, 1) both; }
.ft-sA.play .ft-lh { animation: ft-fade 1s calc(var(--bd) + .1s) ease-out both; }
.ft-sA.play .ft-acq { animation: ft-draw .55s calc(var(--bd) + .06s) cubic-bezier(.22, 1, .36, 1) both; }
.ft-sA.play .ft-lkg { animation: ft-snap .6s calc(var(--bd) + .14s) cubic-bezier(.16, 1, .3, 1) both; }
.ft-sA.play .ft-son { animation: ft-ring 1.9s var(--pd) cubic-bezier(.22, 1, .36, 1) both; }
@keyframes ft-snap { 0% { opacity: 0; transform: scale(1.9) rotate(-14deg); } 40% { opacity: 1; } }
.ft-sA.c .ft-lkw, .ft-sA.c .ft-acq { opacity: 0; }


.ft-net { opacity: 0; }
.ft-sA.c .ft-net { opacity: 1; }
.ft-cr { fill: none; stroke: #60A5FA; stroke-opacity: .62; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100 110; }
.ft-ct, .ft-trt, .ft-ldt, .ft-ctp { fill: none; stroke: #DBEAFE; stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: 2.5 300; opacity: 0; }
.ft-cg, .ft-trtg, .ft-ctg { fill: none; stroke: #60A5FA; stroke-width: 12; stroke-opacity: .26; stroke-linecap: round; stroke-dasharray: 4 300; opacity: 0; }
.ft-sA.c .ft-cr { animation: ft-draw var(--cl) var(--cd) cubic-bezier(.45, .05, .25, 1) both, ft-warm 1.1s calc(var(--cd) + var(--cl)) ease-out both; }
@keyframes ft-warm { from { stroke: #B8B2A6; stroke-opacity: .5; } }
.ft-sA.c .ft-ct { animation: ft-tip var(--cl) var(--cd) cubic-bezier(.45, .05, .25, 1) both; }
.ft-sA.c .ft-cg { animation: ft-tipg var(--cl) var(--cd) cubic-bezier(.45, .05, .25, 1) both; }
.ft-nj { fill: #60A5FA; transform-box: fill-box; transform-origin: center; }
.ft-jb { fill: none; stroke: #60A5FA; stroke-width: 1.2; opacity: 0; transform-box: fill-box; transform-origin: center; }
.ft-njh { opacity: .85; }
.ft-sA.c .ft-nj { animation: ft-pop .55s var(--jd) cubic-bezier(.16, 1, .3, 1) both; }
.ft-sA.c .ft-jb { animation: ft-ring 1.4s var(--jd) cubic-bezier(.22, 1, .36, 1) both; }
.ft-sA.c .ft-njh { animation: ft-fade .9s var(--jd) ease-out both; }
.ft-pk, .ft-cp { fill: none; stroke: #DBEAFE; stroke-width: 2.6; stroke-linecap: round; opacity: 0; }
.ft-pkg, .ft-cpg { fill: none; stroke: #60A5FA; stroke-width: 10; stroke-opacity: .3; stroke-linecap: round; opacity: 0; }
.ft-sA.c .ft-pk, .ft-sA.c .ft-pkg { animation: ft-flow var(--pp) var(--pd) linear infinite both; }


.ft-ghost { fill: none; stroke: rgba(243, 238, 228, .045); stroke-width: 1.2; stroke-linejoin: round; }
.ft-camB, .ft-bd { transform-box: view-box; transform-origin: 800px 450px; }
.ft-sB.play .ft-camB { animation: ft-fly 2.3s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes ft-fly { 0% { opacity: 0; transform: translate(-162px, 126px) scale(.14); } 30% { opacity: 1; } }
.ft-bf { fill: #0A1022; stroke: rgba(243, 238, 228, .26); stroke-width: 1; }
.ft-bb { fill: #0D1530; }
.ft-sq { fill: #F3EEE4; fill-opacity: .085; }
.ft-bg { fill: none; stroke: rgba(243, 238, 228, .07); stroke-width: 1; }
.ft-bl { fill: none; stroke: rgba(184, 178, 166, .55); stroke-width: 1; }
.ft-btk { fill: none; stroke: rgba(243, 238, 228, .3); stroke-width: 1; }
.ft-sB.play .ft-sq { animation: ft-sq .8s var(--sd) cubic-bezier(.22, 1, .36, 1) both; }
@keyframes ft-sq { 0% { fill-opacity: 0; } 40% { fill-opacity: .3; } }
.ft-kt { fill: #F87171; fill-opacity: .18; }
.ft-ko { fill: none; stroke: #F87171; stroke-width: 1.5; opacity: 0; }
.ft-kx path { stroke: #F87171; stroke-width: 3.2; stroke-linecap: round; stroke-dasharray: 40 44; }
.ft-sB.play .ft-kt { animation: ft-tint .8s var(--pd) cubic-bezier(.22, 1, .36, 1) both; }
.ft-sB.play .ft-ko { animation: ft-flash .7s calc(var(--pd) - .08s) ease-out both; }
.ft-sB.play .ft-kx path { animation: ft-xdraw .42s calc(var(--pd) + .1s) cubic-bezier(.16, 1, .3, 1) both; }
.ft-sB.play .ft-kx path + path { animation-delay: calc(var(--pd) + .24s); }
@keyframes ft-tint { 0% { fill-opacity: 0; } 35% { fill-opacity: .46; } }
@keyframes ft-flash { 0% { opacity: 0; } 30% { opacity: .95; } 100% { opacity: 0; } }
@keyframes ft-xdraw { from { stroke-dashoffset: 41; } }
.ft-st { fill: #60A5FA; fill-opacity: .15; }
.ft-sB.play .ft-st { animation: ft-fade .8s 4.38s ease-out both; }
.ft-ghs { fill: none; stroke: #60A5FA; stroke-opacity: .5; stroke-width: 1.2; stroke-dasharray: 4 5; }
.ft-ghp { opacity: .3; }
.ft-sB.play .ft-gh { animation: ft-fade .7s 3.32s ease-out both; }
.ft-trg { fill: none; stroke: #60A5FA; stroke-width: 10; stroke-opacity: .1; stroke-linecap: round; stroke-linejoin: round; }
.ft-tr { fill: none; stroke: #60A5FA; stroke-opacity: .85; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100 110; }
.ft-sB.play .ft-trg { animation: ft-fade .9s 3s ease-out both; }
.ft-sB.play .ft-tr { animation: ft-draw .75s 2.62s cubic-bezier(.45, .05, .25, 1) both; }
.ft-sB.play .ft-trt { animation: ft-tip .75s 2.62s cubic-bezier(.45, .05, .25, 1) both; }
.ft-sB.play .ft-trtg { animation: ft-tipg .75s 2.62s cubic-bezier(.45, .05, .25, 1) both; }
.ft-lg { opacity: 0; transform-box: fill-box; transform-origin: center; }
.ft-sB.play .ft-lg { animation: ft-glow 1.1s 4.36s ease-out both; }
@keyframes ft-glow { 0% { opacity: 0; transform: scale(.4); } 22% { opacity: 1; } 100% { opacity: 0; transform: scale(2.4); } }
.ft-cf { fill: none; stroke: #93C5FD; stroke-width: 1.8; transform-box: fill-box; transform-origin: center; }
.ft-cf2 { stroke: #60A5FA; stroke-width: 1; stroke-opacity: .6; }
.ft-sB.play .ft-cf { animation: ft-pop .6s var(--pd) cubic-bezier(.16, 1, .3, 1) both; }
.ft-sbk { fill: none; stroke: #93C5FD; stroke-width: 2; stroke-linecap: square; transform-box: view-box; }
.ft-sB.play .ft-sbk { animation: ft-snap .6s 4.9s cubic-bezier(.16, 1, .3, 1) both; }
.ft-pc { fill: none; stroke: #B8B2A6; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ft-pc .ft-pf { fill: #0F1730; }
.ft-pc .ft-pd { stroke: #8C877C; }
.ft-sB.play .ft-pc { animation: ft-rise .7s var(--pd) cubic-bezier(.16, 1, .3, 1) both; }
@keyframes ft-rise { from { opacity: 0; transform: translateY(12px); } }
.ft-hpb { fill: #0F1730; stroke: #60A5FA; stroke-width: 2; stroke-linejoin: round; }
.ft-hpc { fill: none; stroke: #93C5FD; stroke-width: 2; stroke-linecap: round; }
.ft-hpk { fill: #DBEAFE; }
.ft-sB.play .ft-hpop { animation: ft-pop .7s .98s cubic-bezier(.16, 1, .3, 1) both; }
.ft-sB.play .ft-hh { animation: ft-hh .9s 4.36s ease-out both; }
@keyframes ft-hh { from { opacity: .35; } }
.ft-sB.play .ft-hmv { animation: ft-move 1.15s 3.32s linear both; }
@keyframes ft-move{0%{transform:translate(210px,-210px)}5%{transform:translate(210px,-209.8px)}10%{transform:translate(210px,-208.4px)}15%{transform:translate(210px,-204.5px)}20%{transform:translate(210px,-197px)}25%{transform:translate(210px,-184.6px)}30%{transform:translate(210px,-166.1px)}35%{transform:translate(210px,-140.2px)}40%{transform:translate(210px,-105.9px)}45%{transform:translate(210px,-61.7px)}50%{transform:translate(201.3px,-8.7px)}55%{transform:translate(148.3px,0px)}60%{transform:translate(104.1px,0px)}65%{transform:translate(69.8px,0px)}70%{transform:translate(43.9px,0px)}75%{transform:translate(25.4px,0px)}80%{transform:translate(13px,0px)}85%{transform:translate(5.5px,0px)}90%{transform:translate(1.6px,0px)}95%{transform:translate(0.2px,0px)}100%{transform:translate(0px,0px)}}


.ft-e4 { opacity: 0; }
.ft-sB.e .ft-e4 { opacity: 1; }
.ft-tall { display: none; }
@keyframes ft-tiltW{0%{transform:translate(0px,0px) scale(1,1)}6.25%{transform:translate(-84.9px,46.6px) scale(0.944,0.858)}12.5%{transform:translate(-158.2px,86.9px) scale(0.896,0.735)}18.75%{transform:translate(-220.9px,121.4px) scale(0.854,0.63)}25%{transform:translate(-273.8px,150.4px) scale(0.819,0.541)}31.25%{transform:translate(-317.8px,174.6px) scale(0.79,0.468)}37.5%{transform:translate(-353.9px,194.4px) scale(0.767,0.407)}43.75%{transform:translate(-382.8px,210.3px) scale(0.748,0.359)}50%{transform:translate(-405.5px,222.8px) scale(0.733,0.321)}56.25%{transform:translate(-422.7px,232.3px) scale(0.721,0.292)}62.5%{transform:translate(-435.3px,239.2px) scale(0.713,0.271)}68.75%{transform:translate(-444px,244px) scale(0.707,0.256)}75%{transform:translate(-449.6px,247px) scale(0.704,0.247)}81.25%{transform:translate(-452.9px,248.8px) scale(0.701,0.242)}87.5%{transform:translate(-454.4px,249.7px) scale(0.7,0.239)}93.75%{transform:translate(-454.9px,250px) scale(0.7,0.238)}100%{transform:translate(-455px,250px) scale(0.7,0.238)}}@keyframes ft-upW{0%{transform:scaleY(1)}6.25%{transform:scaleY(1.1)}12.5%{transform:scaleY(1.219)}18.75%{transform:scaleY(1.356)}25%{transform:scaleY(1.513)}31.25%{transform:scaleY(1.69)}37.5%{transform:scaleY(1.882)}43.75%{transform:scaleY(2.083)}50%{transform:scaleY(2.283)}56.25%{transform:scaleY(2.469)}62.5%{transform:scaleY(2.631)}68.75%{transform:scaleY(2.758)}75%{transform:scaleY(2.848)}81.25%{transform:scaleY(2.903)}87.5%{transform:scaleY(2.931)}93.75%{transform:scaleY(2.94)}100%{transform:scaleY(2.941)}}@keyframes ft-tiltT{0%{transform:translate(0px,0px) scale(1,1)}6.25%{transform:translate(-34.7px,60.1px) scale(0.914,0.848)}12.5%{transform:translate(-64.7px,112px) scale(0.84,0.716)}18.75%{transform:translate(-90.3px,156.3px) scale(0.777,0.604)}25%{transform:translate(-111.9px,193.8px) scale(0.723,0.509)}31.25%{transform:translate(-129.9px,224.9px) scale(0.679,0.43)}37.5%{transform:translate(-144.7px,250.4px) scale(0.642,0.365)}43.75%{transform:translate(-156.5px,270.9px) scale(0.613,0.313)}50%{transform:translate(-165.8px,287px) scale(0.59,0.272)}56.25%{transform:translate(-172.8px,299.1px) scale(0.573,0.242)}62.5%{transform:translate(-177.9px,308px) scale(0.56,0.219)}68.75%{transform:translate(-181.5px,314.2px) scale(0.551,0.203)}75%{transform:translate(-183.8px,318.2px) scale(0.545,0.193)}81.25%{transform:translate(-185.1px,320.5px) scale(0.542,0.187)}87.5%{transform:translate(-185.8px,321.6px) scale(0.541,0.185)}93.75%{transform:translate(-186px,322px) scale(0.54,0.184)}100%{transform:translate(-186px,322px) scale(0.54,0.184)}}@keyframes ft-upT{0%{transform:scaleY(1)}6.25%{transform:scaleY(1.078)}12.5%{transform:scaleY(1.173)}18.75%{transform:scaleY(1.287)}25%{transform:scaleY(1.422)}31.25%{transform:scaleY(1.579)}37.5%{transform:scaleY(1.759)}43.75%{transform:scaleY(1.958)}50%{transform:scaleY(2.166)}56.25%{transform:scaleY(2.371)}62.5%{transform:scaleY(2.557)}68.75%{transform:scaleY(2.71)}75%{transform:scaleY(2.822)}81.25%{transform:scaleY(2.892)}87.5%{transform:scaleY(2.928)}93.75%{transform:scaleY(2.94)}100%{transform:scaleY(2.941)}}
.ft-sB.e .ft-bd{transform:translate(-455px,250px) scale(0.7,0.238)}.ft-sB.e .ft-up{transform:scaleY(2.941)}
.ft-sB.e .ft-bd { animation: ft-tiltW 1.9s linear both; }
.ft-sB.e .ft-up { animation: ft-upW 1.9s linear both; }
.ft-sB.e .ft-hzn { animation: ft-hzn 1.4s .08s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes ft-hzn { from { opacity: 0; transform: translateY(-140px); } }
.ft-sB.e .ft-mv { animation: ft-slide 1.9s var(--md, 0s) cubic-bezier(.16, 1, .3, 1) both; }
@keyframes ft-slide { 0% { opacity: 0; transform: translate(var(--sx), var(--sy)); } 45% { opacity: 1; } }
.ft-grd { fill: none; stroke: rgba(243, 238, 228, .045); stroke-width: 1; }
.ft-hzl { fill: none; stroke: rgba(243, 238, 228, .2); stroke-width: 1; }
.ft-twl { fill: none; stroke: #B8B2A6; stroke-linecap: round; stroke-linejoin: round; }
.ft-twb { fill: none; stroke: #8C877C; stroke-linecap: round; }
.ft-cn { fill: none; stroke: rgba(243, 238, 228, .3); stroke-width: 1.1; }
.ft-sB.e .ft-cnd { animation: ft-fade .8s 1.55s ease-out both; }
.ft-co { fill: none; stroke: #60A5FA; stroke-width: 1.7; stroke-linecap: round; stroke-dasharray: 100 110; }
.ft-cog { fill: none; stroke: #60A5FA; stroke-width: 7; stroke-opacity: .14; stroke-linecap: round; stroke-dasharray: 100 110; }
.ft-sB.e .ft-co, .ft-sB.e .ft-cog { animation: ft-draw 1.1s var(--pd) cubic-bezier(.45, .05, .25, 1) both; }
.ft-sB.e .ft-ctp { animation: ft-tip 1.1s var(--pd) cubic-bezier(.45, .05, .25, 1) both; }
.ft-sB.e .ft-ctg { animation: ft-tipg 1.1s var(--pd) cubic-bezier(.45, .05, .25, 1) both; }
.ft-sB.e .ft-cp, .ft-sB.e .ft-cpg { animation: ft-flow 3.4s var(--pd) linear infinite both; }
.ft-bld rect { fill: #0F1730; stroke: rgba(184, 178, 166, .42); stroke-width: 1; }
.ft-ant { fill: none; stroke: rgba(184, 178, 166, .5); stroke-width: 1.2; stroke-linecap: round; }
.ft-wn { fill: #F3EEE4; fill-opacity: .92; }
.ft-wn.ic { fill: #DBEAFE; }
.ft-sB.e .ft-wn { animation: ft-win .36s var(--wd) ease-out both; }
.ft-sB.e .ft-wn.fl { animation: ft-winf .7s var(--wd) linear both; }
@keyframes ft-win { 0% { fill-opacity: .06; } 35% { fill-opacity: 1; } }
@keyframes ft-winf { 0% { fill-opacity: .06; } 18% { fill-opacity: .95; } 30% { fill-opacity: .15; } 46% { fill-opacity: .9; } 58% { fill-opacity: .35; } }
.ft-cglow { opacity: .95; }
.ft-sB.e .ft-cglow { animation: ft-fade 1.8s 3.6s ease-out both; }
.ft-gan { fill: none; stroke: #B8B2A6; stroke-width: 1.4; stroke-linecap: round; }
.ft-bus { fill: none; stroke: #60A5FA; stroke-width: 1.6; stroke-linecap: round; stroke-dasharray: 100 110; }
.ft-sB.e .ft-bus { animation: ft-draw .7s 3.55s cubic-bezier(.22, 1, .36, 1) both; }
.ft-eb { fill: none; stroke: #60A5FA; stroke-width: 1.4; opacity: 0; transform-box: fill-box; transform-origin: center; }
.ft-sB.e .ft-eb { animation: ft-ring 1.4s 3.5s cubic-bezier(.22, 1, .36, 1) both; }
.ft-sB.e .ft-eb0 { animation-delay: 2.2s; }
.ft-rsp { fill: none; stroke: #B8B2A6; stroke-width: 1.6; stroke-linecap: round; }
.ft-rso { fill: none; stroke: #60A5FA; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 100 110; }
.ft-sB.e .ft-rsp { animation: ft-fade .6s 1.5s ease-out both; }
.ft-sB.e .ft-rso { animation: ft-draw .3s 2.16s cubic-bezier(.45, .05, .25, 1) both; }
.ft-dep { fill: none; stroke: #60A5FA; stroke-width: 4; opacity: 0; transform-box: fill-box; transform-origin: center; }
.ft-sB.e .ft-dep { animation: ft-ring 1.4s 1.55s cubic-bezier(.22, 1, .36, 1) both; }
.ft-ld { fill: none; stroke: #60A5FA; stroke-width: 8; stroke-linecap: round; stroke-dasharray: 100 110; }
.ft-ldg { fill: none; stroke: #60A5FA; stroke-width: 30; stroke-opacity: .12; stroke-linecap: round; stroke-dasharray: 100 110; }
.ft-ldt { stroke-width: 11; }
.ft-sB.e .ft-ld, .ft-sB.e .ft-ldg { animation: ft-draw .5s 1.72s cubic-bezier(.45, .05, .25, 1) both; }
.ft-sB.e .ft-ldt { animation: ft-tip .5s 1.72s cubic-bezier(.45, .05, .25, 1) both; }

@media (max-width: 680px) and (orientation: portrait) {
  .ft-panel { aspect-ratio: 4 / 5; border-radius: 6px; }
  .ft-wide { display: none; }
  .ft-tall { display: inline; }
  .ft-sB.e .ft-bd{transform:translate(-186px,322px) scale(0.54,0.184);animation-name:ft-tiltT}.ft-sB.e .ft-up{transform:scaleY(2.941);animation-name:ft-upT}
  .ft-step { font-size: 10.5px; letter-spacing: .16em; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .ft .ft-scene { transition: none; }
  .ft .ft-bar i { display: none; }
  .ft-rail { display: none; }
}


.dm svg.em { --em-structure:#B8B2A6; --em-structure-ink:#F3EEE4; --em-solid:#0F1730; --em-detail:#8C877C; --em-energy:#60A5FA; --em-load:#DBEAFE; }
.dm svg.em .fl, .dm svg.em .gp { transition: stroke .7s cubic-bezier(.22,1,.36,1), fill .7s cubic-bezier(.22,1,.36,1); }
svg.em.dm-hold, svg.em.dm-hold * { animation: none !important; }


.dm { overflow: hidden; background: radial-gradient(80% 50% at 50% 70%, rgba(30, 64, 175, .14), transparent 72%), var(--bg); }
.dm-head { display: grid; gap: 22px; }
.dm-title { max-width: 12em; }
.dm-lead { max-width: 24em; }
@media (min-width: 861px) {
  .dm-head { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: end; gap: clamp(32px, 5vw, 80px); }
  .dm-lead { padding-bottom: .35em; }
}

.dm-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: clamp(44px, 6vw, 84px); background: var(--line); border: 1px solid var(--line); }
.dm-tile { position: relative; display: flex; flex-direction: column; min-width: 0; color: var(--ink); background: linear-gradient(180deg, #0A1022 0%, #080D1E 100%); overflow: hidden; isolation: isolate; -webkit-tap-highlight-color: transparent; }
.dm-tile::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity .8s var(--ease);
  background: radial-gradient(70% 58% at 50% 60%, rgba(59, 130, 246, .17), transparent 72%), linear-gradient(180deg, rgba(15, 23, 48, 0) 30%, rgba(15, 23, 48, .85) 100%); }
.dm-tile:focus-visible { outline: 2px solid var(--elec); outline-offset: -2px; border-radius: 0; }

.dm-art { position: relative; aspect-ratio: 16 / 11; }
.dm-art svg.em { position: absolute; top: 0; left: 10%; z-index: 2; width: 80%; height: auto; margin-top: -7.5%; overflow: visible; pointer-events: none; }
.dm-art svg.em-bess { transform: scale(1.22); transform-origin: 50% 85%; }
.dm-glow { position: absolute; inset: 0 0 -46% 0; pointer-events: none; opacity: .55; transition: opacity .9s var(--ease);
  background: radial-gradient(44% 26% at 50% 60%, rgba(96, 165, 250, .16), transparent 100%); }
.dm-hz { position: absolute; left: 0; right: 0; top: 88%; z-index: 1; height: 1px; margin-top: -.5px;
  background: linear-gradient(90deg, rgba(243, 238, 228, .07), rgba(243, 238, 228, .2) 50%, rgba(243, 238, 228, .07)); }
.dm-hz::after { content: ""; position: absolute; left: 12%; right: 12%; top: 0; height: 1px; opacity: 0; transition: opacity .7s var(--ease);
  background: linear-gradient(90deg, transparent, #60A5FA 50%, transparent); box-shadow: 0 0 10px rgba(96, 165, 250, .55); }

.dm-foot { flex: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: clamp(16px, 1.6vw, 20px) clamp(20px, 2.2vw, 28px) clamp(24px, 2.4vw, 30px); }
.dm-name { font-size: clamp(19px, 1.65vw, 23px); font-weight: 700; letter-spacing: -.022em; line-height: 1.16; text-wrap: balance; transition: color .4s var(--ease); }
.dm-go { flex: none; display: grid; place-items: center; width: 36px; height: 36px; margin-top: -4px; border: 1px solid var(--line-2); border-radius: 50%;
  transition: border-color .45s var(--ease), background .45s var(--ease), transform .6s var(--ease); }
.dm-go svg { width: 16px; height: 16px; fill: none; stroke: var(--ink-2); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .45s var(--ease); }

.dm-tile.is-on::before, .dm-tile:hover::before, .dm-tile:focus-visible::before { opacity: 1; }
.dm-tile.is-on .dm-glow, .dm-tile:hover .dm-glow { opacity: 1; }
.dm-tile.is-on .dm-hz::after { opacity: .95; }
.dm-tile.is-on .dm-go, .dm-tile:hover .dm-go, .dm-tile:focus-visible .dm-go { border-color: rgba(96, 165, 250, .8); background: rgba(96, 165, 250, .12); transform: translateX(3px); }
.dm-tile.is-on .dm-go svg, .dm-tile:hover .dm-go svg { stroke: var(--ink); }


.dm-grid.dm-armed:not(.is-in) .dm-foot { opacity: 0; }
.dm-grid.dm-armed.is-in .dm-foot { animation: dm-up .9s var(--ease) both; animation-delay: calc(var(--i, 0) * 110ms + 420ms); }
@keyframes dm-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }


.dm-net { position: absolute; left: -1px; top: -1px; z-index: 3; width: calc(100% + 2px); height: calc(100% + 2px); overflow: visible; pointer-events: none; }
.dm-net line { fill: none; stroke-linecap: round; }
.dm-sc, .dm-ac { stroke: #DBEAFE; stroke-width: 1.25; opacity: 0; transition: opacity .55s var(--ease); }
.dm-sh, .dm-ah { stroke: #60A5FA; stroke-width: 6; stroke-opacity: .26; opacity: 0; transition: opacity .55s var(--ease); }
.dm-sc.is-hot { opacity: 1; stroke: #93C5FD; }
.dm-sh.is-hot { opacity: .85; }
.dm-n circle { transform-box: fill-box; transform-origin: center; }
.dm-nd { fill: rgba(243, 238, 228, .34); transition: fill .5s var(--ease); }
.dm-nr { fill: none; stroke: #60A5FA; stroke-width: 1; opacity: 0; transition: opacity .5s var(--ease); }
.dm-n.is-x .dm-nd, .dm-n.is-hot .dm-nd { fill: #DBEAFE; }
.dm-n.is-x .dm-nr { opacity: .42; }
.dm-n.is-hot .dm-nr { opacity: .7; }
.dm-net.is-live .dm-n.is-x .dm-nr { animation: dm-breathe 7s var(--ease-2) infinite; }
.dm-net.is-live .dm-n.is-x:nth-child(2n) .dm-nr { animation-delay: -3.5s; }
@keyframes dm-breathe { 0%, 100% { transform: scale(1); opacity: .42; } 50% { transform: scale(1.7); opacity: .1; } }

@media (max-width: 960px) { .dm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .dm-grid { grid-template-columns: minmax(0, 1fr); }
  .dm-tile { flex-direction: row; align-items: stretch; }
  .dm-art { flex: 0 0 124px; }
  .dm-hz { right: -100vw; }
  .dm-foot { align-items: center; padding: 0 16px 0 6px; }
  .dm-name { font-size: 18px; }
  .dm-go { width: 32px; height: 32px; margin-top: 0; }
  .dm-hz { display: none; }
  .dm-art svg.em { top: auto; bottom: 0; margin: 0 0 -12%; }
  .dm-art svg.em .s, .dm-art svg.em .sf { stroke-width: 4.4; }
  .dm-art svg.em .s1 { stroke-width: 2.8; }
  .dm-art svg.em .s3 { stroke-width: 6; }
  .dm-art svg.em .fl { stroke-width: 5; }
}
@media (min-width: 601px) {
  .dm-art svg.em-bess .s1 { stroke-width: 1.02; }
  .dm-art svg.em-bess .sf { stroke-width: 1.64; }
  .dm-art svg.em-bess .fl { stroke-width: 1.85; }
}

@media (prefers-reduced-motion: reduce) {
  .dm-net.is-live .dm-n.is-x .dm-nr { animation: none; }
}

.cl-co { background: var(--bg); padding-bottom: clamp(72px, 9vw, 128px); }
.cl-co-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(26px, 6vw, 96px); align-items: end; }
.cl-co-h .h2 { max-width: 9em; }
.cl-co-b { padding-bottom: .35em; }
.cl-co-b .lead { max-width: 24em; }
.cl-co-go { margin-top: 26px; }
.cl-co-go .link { position: relative; }
.cl-co-go .link::before { content: ""; position: absolute; inset: -11px -10px; }
@media (max-width: 860px) { .cl-co-in { grid-template-columns: minmax(0, 1fr); } .cl-co-b { padding-bottom: 0; } }
@media (min-width: 861px) {
  .cl-co { padding-bottom: calc(clamp(72px, 9vw, 128px) + 52px); }
  .cl-co-b { position: relative; }
  .cl-co-go { position: absolute; left: 0; top: 100%; margin-top: 22px; }
}

.cl-fin {
  --cl-band: linear-gradient(100deg, rgba(96, 165, 250, 0) 0%, rgba(96, 165, 250, .85) 38%, #DBEAFE 50%, rgba(96, 165, 250, .85) 62%, rgba(96, 165, 250, 0) 100%);
  --cl-band-t: linear-gradient(100deg, rgba(219, 234, 254, 0) 0%, rgba(219, 234, 254, .9) 42%, #F3EEE4 50%, rgba(219, 234, 254, .9) 58%, rgba(219, 234, 254, 0) 100%);
  --cl-bw: 2.6em;
  position: relative; isolation: isolate; overflow: hidden; text-align: center;
  padding: clamp(104px, 13vw, 196px) 0 clamp(96px, 11vw, 168px);
  background:
    radial-gradient(54% 40% at 50% 34%, rgba(30, 64, 175, .24), rgba(30, 64, 175, 0) 72%),
    radial-gradient(26% 18% at 50% 38%, rgba(96, 165, 250, .07), rgba(96, 165, 250, 0) 70%),
    radial-gradient(80% 30% at 50% 100%, rgba(243, 238, 228, .026), rgba(243, 238, 228, 0) 72%),
    linear-gradient(180deg, var(--bg) 0%, #0F1219 20%, var(--char) 44%, var(--char) 100%);
}
.cl-fin::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: var(--grain);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 34%); mask-image: linear-gradient(180deg, transparent 0%, #000 34%);
}
.cl-fin-in { position: relative; width: min(1320px, 100% - 2 * var(--gutter)); margin-inline: auto; }

.cl-giant {
  margin: 0 auto; max-width: 11.2em;
  font-size: clamp(44px, 9vw, 150px); font-weight: 850; letter-spacing: -0.04em; line-height: .9;
  text-transform: uppercase; color: var(--ink); text-wrap: balance;
}
.cl-w { display: inline-block; }
.cl-wt { display: inline; padding: 0 .04em; margin: 0 -.04em; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .cl-wt {
    color: transparent; -webkit-text-fill-color: transparent;
    background-image: var(--cl-band), linear-gradient(var(--ink), var(--ink));
    background-repeat: no-repeat; background-size: var(--cl-bw) 100%, 100% 100%;
    background-position: calc(0px - var(--cl-bw)) 0, 0 0;
    -webkit-background-clip: text; background-clip: text;
    -webkit-box-decoration-break: clone; box-decoration-break: clone;
  }
  .cl-wt--a { background-image: var(--cl-band-t), linear-gradient(96deg, #F3EEE4 0%, #DBEAFE 58%, #93C5FD 100%); }
  .cl-wt--b { background-image: var(--cl-band-t), linear-gradient(96deg, #93C5FD 0%, #60A5FA 78%, #60A5FA 100%); }
  .cl-w--t { filter: drop-shadow(0 0 .2em rgba(96, 165, 250, .2)); }
}

.cl-rule { position: relative; width: min(440px, 72%); height: 9px; margin: clamp(40px, 5.4vw, 72px) auto clamp(34px, 4.4vw, 56px); }
.cl-rule::before {
  content: ""; position: absolute; left: 0; right: 0; top: 4px; height: 1px;
  background: linear-gradient(90deg, rgba(96, 165, 250, 0), rgba(96, 165, 250, .5) 30%, rgba(219, 234, 254, .85) 50%, rgba(96, 165, 250, .5) 70%, rgba(96, 165, 250, 0));
}
.cl-rule::after {
  content: ""; position: absolute; left: 50%; top: 1px; width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%;
  background: #60A5FA; box-shadow: 0 0 10px rgba(96, 165, 250, .9), 0 0 0 4px rgba(96, 165, 250, .1);
}
.cl-h { max-width: 12.5em; margin-inline: auto; }
.cl-b { margin: 20px auto 0; max-width: 26em; }
.cl-ctas { justify-content: center; margin-top: 34px; }
.cl-ctas .btn { box-shadow: 0 16px 48px -18px rgba(96, 165, 250, .55); }

.cl-arm .cl-w { transition: opacity .9s var(--ease-2), transform .95s var(--ease), filter 1s var(--ease-2); transition-delay: calc(var(--i, 0) * 80ms); }
.cl-arm:not(.cl-in) .cl-w { opacity: 0; transform: translate3d(0, .32em, 0); filter: blur(10px); }
.cl-arm:not(.cl-in) .cl-w--t { filter: blur(10px) drop-shadow(0 0 .2em rgba(96, 165, 250, 0)); }
.cl-arm .cl-w--t { filter: blur(0) drop-shadow(0 0 .2em rgba(96, 165, 250, .2)); }
.cl-arm.cl-in:not(.cl-now) .cl-wt { animation: cl-sweep 1.05s cubic-bezier(.45, .05, .3, 1) calc(.62s + var(--i, 0) * 80ms) both; }
.cl-arm .cl-rule::before { transition: transform 1.3s var(--ease-2) 1.3s; }
.cl-arm .cl-rule::after { transition: transform .8s var(--ease) 1.22s, opacity .5s var(--ease-2) 1.22s; }
.cl-arm:not(.cl-in) .cl-rule::before { transform: scaleX(0); }
.cl-arm:not(.cl-in) .cl-rule::after { transform: scale(0); opacity: 0; }
.cl-arm.cl-now .cl-w, .cl-arm.cl-now .cl-rule::before, .cl-arm.cl-now .cl-rule::after { transition-duration: 0s !important; transition-delay: 0s !important; }
.cl-arm.cl-done .cl-w { transition: filter .6s var(--ease-2); transition-delay: 0s; }
@media (hover: hover) {
  .cl-w:hover { filter: drop-shadow(0 0 .16em rgba(96, 165, 250, .55)); }
  .cl-arm .cl-w--t:hover, .cl-w--t:hover { filter: blur(0) drop-shadow(0 0 .2em rgba(96, 165, 250, .62)); }
}
@keyframes cl-sweep {
  from { background-position: calc(0px - var(--cl-bw)) 0, 0 0; }
  to { background-position: calc(100% + var(--cl-bw)) 0, 0 0; }
}
@media (forced-colors: active) {
  .cl-wt { color: CanvasText; -webkit-text-fill-color: CanvasText; background: none; }
  .cl-w, .cl-w--t { filter: none !important; }
}
@media (prefers-reduced-motion: reduce) { .cl-wt { animation: none !important; } }
