.intro{position:relative;height:auto;min-height:0;padding:0;background:#101111;isolation:isolate}
.idea-stage{position:relative;min-height:440px;display:grid;grid-template-columns:30% 40% 30%;align-items:center;padding:90px 5.5%;isolation:isolate;overflow:hidden}
.intro h2{grid-column:1;position:relative;z-index:2;font-size:clamp(32px,3.4vw,58px);line-height:1.09;max-width:100%;white-space:pre-line}
.intro-bottom{grid-column:3;position:relative;z-index:2;margin:0;display:block}
.intro-bottom p{font-size:clamp(15px,1.35vw,21px);line-height:1.7;max-width:360px;color:#cececa}
.intro .mini-label{display:block;text-align:left;font-size:8px;line-height:1.9;margin-top:24px;color:#777;letter-spacing:.1em}
.idea-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.idea-grid{position:absolute;inset:0;background-image:radial-gradient(#ffffff18 .7px,transparent .8px);background-size:32px 32px;mask-image:radial-gradient(ellipse at center,#000,transparent 68%);opacity:.22}
.idea-diagram{position:absolute;width:64%;height:110%;left:18%;top:-5%;overflow:visible;color:#e8e8e2}
.idea-orbit{opacity:.08}
.idea-wire{fill:none;stroke:currentColor;stroke-width:.7;opacity:.1}
.idea-route{fill:none;stroke:#eee;stroke-width:1;opacity:.2}
.idea-frame{fill:#ffffff03;stroke:#ddd;stroke-width:.8;opacity:.28}
.idea-node{fill:white;opacity:.35}
.idea-bulb{fill:#ffffff02;stroke:#fff;stroke-width:1.5;opacity:.9;filter:drop-shadow(0 0 7px #ffffff70);animation:lampStatic 11.6s steps(1,end) infinite}
.idea-glow{opacity:.75;animation:lampGlow 11.6s steps(1,end) infinite}
.idea-caption{display:none}
@keyframes lampStatic{0%,14%,19%,42%,48%,76%,82%,100%{opacity:.9;filter:drop-shadow(0 0 7px #ffffff70)}16%,44%,79%{opacity:.16;filter:none}18%,47%,81%{opacity:.48;filter:drop-shadow(0 0 2px #ffffff35)}61%,67%{opacity:.7;filter:drop-shadow(0 0 4px #ffffff50)}}
@keyframes lampGlow{0%,14%,19%,42%,48%,76%,82%,100%{opacity:.75}16%,44%,79%{opacity:.02}18%,47%,81%{opacity:.24}61%,67%{opacity:.48}}
.intro.motion-paused .idea-bulb,.intro.motion-paused .idea-glow{animation:none}
@media(max-width:700px){
.idea-stage{min-height:0;padding:48px 7%;grid-template-columns:1fr;grid-template-rows:auto 210px auto}
.intro h2{grid-column:1;grid-row:1;font-size:30px;max-width:95%}
.intro-bottom{grid-column:1;grid-row:3;width:90%;justify-self:end}
.intro-bottom p{font-size:14px;line-height:1.6}
.intro .mini-label{font-size:7px;margin-top:16px}
.idea-diagram{width:100%;left:0;height:240px;top:145px}
}
@media(prefers-reduced-motion:reduce){.idea-bulb,.idea-glow{animation:none}}
/* Clear background, drifting type and independent electrical flickers. */
.idea-glow,.idea-grid{display:none}.idea-bulb{filter:none;animation:lampFlicker 9.8s steps(1,end) infinite}
.idea-icon{animation:iconFlicker 13s steps(1,end) infinite}.idea-icon:nth-child(2){animation-delay:-3.7s}.idea-icon:nth-child(3){animation-delay:-7.2s}.idea-icon:nth-child(4){animation-delay:-10.4s}
@keyframes lampFlicker{0%,10%,17%,34%,41%,59%,67%,83%,91%,100%{opacity:.9}12%,36%,61%,85%{opacity:.12}15%,39%,64%,89%{opacity:.5}23%,73%{opacity:.72}}
@keyframes iconFlicker{0%,21%,29%,66%,74%,100%{opacity:1}23%,69%{opacity:.13}26%,72%{opacity:.5}}
.intro h2,.intro-bottom{animation:ideaDrift 7.8s ease-in-out infinite}.intro-bottom{animation-duration:9.3s;animation-delay:-3s}
@keyframes ideaDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.idea-loose-word{display:inline-block;white-space:nowrap}.idea-letter{display:inline-block;animation:letterDrift 8s ease-in-out var(--delay) infinite;will-change:transform}
@keyframes letterDrift{0%,18%,100%{transform:translate(0,0) rotate(0)}52%,68%{transform:translate(var(--dx),var(--dy)) rotate(var(--tilt))}}
.intro-bottom .idea-letter{--dx:0px!important;animation-duration:10s}
.intro .mini-label{display:none}.idea-stage{padding-bottom:90px}
.idea-marquee{position:absolute;bottom:25px;left:5.5%;right:5.5%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);font-size:9px;letter-spacing:.16em;color:#969691}
.idea-marquee-track{display:flex;width:max-content;animation:ideaMarquee 30s linear infinite}.idea-marquee-track span{white-space:nowrap;padding-right:30px}
@keyframes ideaMarquee{to{transform:translateX(-25%)}}
.intro.motion-paused *{animation-play-state:paused!important}
@media(max-width:700px){.idea-stage{padding-bottom:65px}.idea-marquee{bottom:22px;font-size:8px}.idea-letter{will-change:auto}}
@media(prefers-reduced-motion:reduce){.intro *{animation:none!important}.idea-marquee-track{width:auto;flex-wrap:wrap}.idea-marquee-track span:not(:first-child){display:none}}
