/* Circuit light follows the GEON palette; the brand itself stays unchanged. */
.circuit-scene{isolation:isolate;position:relative}
[data-circuit]{position:absolute;inset:0;pointer-events:none;z-index:0}
.circuit-field{width:100%;height:100%;display:block;overflow:visible}
.circuit-core{stroke-width:1;stroke-opacity:.3}
.circuit-bus{stroke-width:1;opacity:.15}
.circuit-trace{stroke-width:1.5;opacity:.35}
.circuit-nodes{stroke-width:1.5;opacity:.85}
.circuit-pulse{stroke-width:2.6;stroke-dasharray:14 86;animation:circuit-travel var(--travel) linear var(--phase) infinite;--lead:0px}
.circuit-halo{stroke-width:8;opacity:.65}
.circuit-head{stroke:#bdfff1;stroke-width:3;stroke-dasharray:1.4 98.6;--lead:12.6px;opacity:.95}
.circuit-loop{stroke-width:2;stroke-dasharray:9 91;animation:circuit-circulate 7s linear infinite;opacity:.8}
.circuit-scene:hover .circuit-trace{opacity:.55}
.circuit-scene:hover .circuit-halo{opacity:1}
.circuit-energized .circuit-core{animation:circuit-charge 1.6s ease-out}
@keyframes circuit-travel{from{stroke-dashoffset:calc(100px - var(--lead))}to{stroke-dashoffset:calc(0px - var(--lead))}}
@keyframes circuit-circulate{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes circuit-charge{0%{stroke-opacity:.9;stroke-width:2.5}100%{stroke-opacity:.3;stroke-width:1}}
.home-hero{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);column-gap:18px}
.home-circuit{grid-column:2;grid-row:1/5;align-self:center;width:100%;aspect-ratio:1;min-width:0}
.home-mark{display:block;position:absolute;inset:22%;width:56%;max-width:none;margin:0;padding:0;filter:drop-shadow(0 8px 30px #02bfc92a);z-index:2}
.home-mark:before{display:none}
.home-mark:hover{transform:scale(1.025)}
.home-capabilities{grid-column:1/-1;list-style:none;margin:38px 0 0;padding:22px 0 0;display:flex;flex-wrap:wrap;gap:12px 26px;border-top:1px solid var(--line);max-width:100%}
.home-capabilities li{font:500 var(--fs-base)/1.5 var(--display);letter-spacing:0;color:#b8d0dd;display:flex;align-items:center;gap:10px}
.home-capabilities li:before{content:'';width:5px;height:5px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--green));box-shadow:0 0 10px #00d5b329}
.hero-visual{contain:none;perspective:none;transform-style:flat}
.hero-visual [data-circuit]{inset:26px 0 32px}
.hero-symbol{width:min(48%,214px);left:50%;top:calc(50% - 3px);translate:-50% -50%;transform:none;padding:0}
.floating-tag{font-family:var(--display);font-weight:500;font-size:var(--fs-sm);letter-spacing:0;white-space:nowrap;max-width:calc(100% - 32px)}
.tag-one{top:18px;right:16px}
.tag-three{bottom:38px;right:16px}
.visual-caption{bottom:0}
.visual-caption .hint{font-family:var(--body);font-size:var(--fs-xs);letter-spacing:0;color:#a7c3d0}
.hero-note{font-family:var(--display);font-size:var(--fs-sm);letter-spacing:0;gap:12px}
.hero-note b{font-size:var(--fs-lg);color:var(--green)}
.hero .eyebrow{font-family:var(--display);font-size:var(--fs-sm);letter-spacing:0}
.ticker span{font-family:var(--display);font-size:var(--fs-base);letter-spacing:0}
.gallery-grid{align-items:start}
.gallery-image{height:auto;aspect-ratio:1122/1402;background:#06111e;transition:border-color .25s,box-shadow .25s}
.gallery-image img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;filter:none}
.gallery-grid button:hover img{transform:none}
.gallery-grid button:hover .gallery-image{border-color:#1fb7b2;box-shadow:0 0 24px #00b7b215}
.home-manifest{text-align:center}
.home-manifest .eyebrow{justify-content:center}
.home-manifest p:not(.eyebrow){max-width:650px;margin:26px auto}
@media(min-width:1280px){.home-hero>h1 .gradient-text{white-space:nowrap}}
@media(min-width:1101px){
 .services-grid[data-filter="todos"] .service-card:nth-child(-n+2){min-height:245px}
 .services-grid[data-filter="todos"] .service-card:nth-child(-n+2) .card-meta{margin-bottom:16px}
}
@media(max-width:1100px) and (min-width:901px){.home-hero{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.home-circuit{margin-top:50px}}
@media(max-width:900px){
 .home-hero{grid-template-columns:1fr;min-height:0;padding-bottom:30px}
 .home-circuit{grid-column:1;grid-row:5;width:min(400px,100%);justify-self:center;margin:24px auto 0}
 .home-capabilities{grid-row:6;margin-top:20px}
 .home-hero>p:not(.eyebrow){max-width:580px}
}
@media(max-width:540px){
 .home-circuit{width:min(360px,100%);margin:28px auto 0;flex-shrink:0}
 .home-mark{position:absolute;inset:22%;width:56%;max-width:none;padding:0;margin:0}
 .home-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;width:100%;margin-top:22px;padding-top:22px}
 .home-capabilities li{font-size:var(--fs-sm);gap:8px}
 .home-capabilities li:last-child{grid-column:1/-1}
 .hero-visual{height:370px;margin-top:25px;width:100%}
 .hero-visual [data-circuit]{inset:38px 0 35px}
 .hero-symbol{top:calc(50% + 2px);width:48%;left:50%}
 .tag-one{top:18px;right:14px}
 .tag-three{bottom:35px;right:14px}
 .floating-tag{font-size:var(--fs-sm);padding:8px 10px}
 .hero .eyebrow{font-size:var(--fs-xs);align-items:center}
 .hero-eyebrow-prefix{display:none}
 .hero-note{font-size:var(--fs-sm);gap:9px}
 .gallery-image{height:auto;aspect-ratio:1122/1402}
 .gallery-grid{gap:30px}
 .home-manifest{text-align:left}
 .home-manifest .eyebrow{justify-content:flex-start}
}
/* A quiet but legible circuit remains when animation is disabled. */
.reduced-motion .circuit-pulse,.reduced-motion .circuit-loop{animation:none!important;opacity:0}
.reduced-motion .circuit-core{animation:none!important}
.reduced-motion .circuit-trace{opacity:.5}
@media(prefers-reduced-motion:reduce){.circuit-pulse,.circuit-loop{animation:none!important;opacity:0}.circuit-core{animation:none!important}.circuit-trace{opacity:.5}}
