.nf-page{--cream:var(--bg);--cream-2:var(--bg-2);--ink:var(--fg);--ink-2:var(--fg-dim);--nf-muted:var(--muted);--nf-line:var(--line);--nf-line-2:var(--line-strong);--orange:var(--accent);--orange-2:var(--accent-2);--orange-soft:#f2c794;--green:#2e5d3a;--nf-primary-button-bg:#14130f;--nf-primary-button-fg:#fffaf0;--nf-primary-button-hover-bg:#d97a1f;--nf-primary-button-hover-fg:#fffaf0;--nf-ghost-button-fg:#14130f;--nf-ghost-button-hover-bg:#14130f;--nf-ghost-button-hover-fg:#fffaf0;--nf-shadow:0 1px 0 #14130f0a, 0 20px 40px -24px #14130f2e;background:var(--cream);min-height:100vh;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;flex-direction:column;font-size:16px;line-height:1.55;display:flex;overflow-x:hidden}html.dark .nf-page{--orange-soft:#f4a85b;--green:#3aa974;--nf-primary-button-bg:#fffaf0;--nf-primary-button-fg:#070a0d;--nf-primary-button-hover-bg:#e08728;--nf-primary-button-hover-fg:#070a0d;--nf-ghost-button-fg:#fffaf0;--nf-ghost-button-hover-bg:#fffaf0;--nf-ghost-button-hover-fg:#070a0d;--nf-shadow:0 1px 0 #fffaf00d, 0 22px 44px -28px #000000b8}.nf-page a{color:inherit;text-decoration:none}.nf-mono{font-family:var(--mono);letter-spacing:.04em}.nf-nav-spacer{height:80px}.nf-wrap{flex:1;grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;width:100%;max-width:1320px;margin:0 auto;padding:56px 40px 24px;display:grid}.nf-eyebrow{color:var(--orange-2);text-transform:uppercase;align-items:center;gap:10px;font-size:12px;display:inline-flex}.nf-eyebrow .nf-dot{background:var(--orange);border-radius:50%;width:6px;height:6px;animation:2.4s ease-out infinite nfPulse}.nf-eyebrow .nf-err{color:var(--ink)}.nf-digits{font-family:var(--display);letter-spacing:-.06em;color:var(--ink);-webkit-user-select:none;user-select:none;align-items:stretch;gap:.02em;margin:28px 0 0;font-size:clamp(140px,22vw,320px);font-weight:800;line-height:.82;display:flex}.nf-digits .nf-d{animation:1s cubic-bezier(.2,.8,.2,1) forwards nfRise;display:inline-block;transform:translateY(110%)}.nf-digits .nf-d.nf-d1{animation-delay:0s}.nf-digits .nf-d.nf-d3{animation-delay:.24s}.nf-socket-zero{background:var(--ink);width:.78em;height:.78em;box-shadow:inset 0 0 0 .06em var(--cream), inset 0 0 0 .07em var(--ink);cursor:pointer;border-radius:50%;align-self:end;margin:0 .02em;transition:transform .36s cubic-bezier(.2,.8,.2,1);animation:1s cubic-bezier(.2,.8,.2,1) .12s forwards nfRise;position:relative;transform:translateY(110%)}.nf-socket-zero:hover{transform:rotate(8deg)scale(1.04)}.nf-socket-zero:before,.nf-socket-zero:after{content:"";background:var(--cream);border-radius:6px;transition:background .26s,transform .36s cubic-bezier(.2,.8,.2,1);position:absolute}.nf-socket-zero:before{width:.07em;height:.18em;top:38%;left:28%}.nf-socket-zero:after{width:.07em;height:.18em;top:38%;right:28%}.nf-socket-zero .nf-ground{background:var(--cream);border-radius:4px;width:.12em;height:.06em;transition:background .26s;position:absolute;bottom:24%;left:50%;transform:translate(-50%)}.nf-socket-zero:hover:before,.nf-socket-zero:hover:after,.nf-socket-zero:hover .nf-ground{background:var(--orange)}.nf-socket-zero .nf-spark-ring{border:2px solid var(--orange);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-6%;transform:scale(.95)}.nf-socket-zero:hover .nf-spark-ring{animation:.9s ease-out nfSparkRing}@keyframes nfSparkRing{0%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}@keyframes nfRise{to{transform:translateY(0)}}@keyframes nfPulse{0%{box-shadow:0 0 #d97a1f73}70%{box-shadow:0 0 0 10px #d97a1f00}to{box-shadow:0 0 #d97a1f00}}.nf-headline{font-family:var(--display);letter-spacing:-.03em;margin-top:24px;font-size:clamp(36px,5vw,64px);font-weight:700;line-height:1}.nf-headline em{color:var(--orange);font-style:normal}.nf-lede{color:var(--ink-2);max-width:48ch;margin-top:18px;font-size:17px}.nf-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.nf-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:16px 22px;font-size:14px;font-weight:500;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .24s,color .24s,border-color .24s,padding .36s cubic-bezier(.2,.8,.2,1);display:inline-flex;position:relative}.nf-btn .nf-arr{transition:transform .36s cubic-bezier(.2,.7,.2,1);color:var(--cream)!important}.contact-submit{background:var(--contact-ink);min-width:220px;color:var(--contact-cream);cursor:pointer;font:inherit;border:none;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:18px 28px;font-size:15px;font-weight:500;transition:background .26s,transform .28s cubic-bezier(.2,.8,.2,1),padding .36s cubic-bezier(.2,.8,.2,1);display:inline-flex;position:relative;overflow:hidden}.nf-btn:hover .nf-arr{transform:translate(4px)}.nf-btn-primary{background:var(--nf-primary-button-bg);color:var(--cream);box-shadow:0 10px 30px -16px #14130f99}.nf-btn-primary:hover{background:var(--nf-primary-button-hover-bg);color:var(--nf-primary-button-hover-fg);padding-right:28px}.nf-btn-ghost{color:var(--ink);border-color:var(--ink);background:0 0}.nf-btn-ghost:hover{background:var(--ink);color:var(--cream)}.nf-suggest{border-top:1px solid var(--nf-line);margin-top:40px;padding-top:20px}.nf-suggest .nf-k{font-family:var(--mono);color:var(--nf-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px}.nf-suggest-row{flex-wrap:wrap;gap:8px;display:flex}.nf-sgg{border:1px solid var(--nf-line-2);color:var(--ink-2);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;transition:background .22s,color .22s,border-color .22s,transform .28s cubic-bezier(.2,.8,.2,1);display:inline-flex}.nf-sgg:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);transform:translateY(-2px)}.nf-sgg svg{transition:transform .36s cubic-bezier(.2,.7,.2,1)}.nf-sgg:hover svg{transform:translate(2px,-2px)}.nf-scene{aspect-ratio:1;background:var(--cream-2);border:1px solid var(--nf-line);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:28px;position:relative;overflow:hidden}.nf-scene:active{cursor:grabbing}.nf-scene .nf-grid{background-image:linear-gradient(90deg,#14130f0d 1px,#0000 1px),linear-gradient(#14130f0d 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 40%,#0000 78%);mask-image:radial-gradient(circle,#000 40%,#0000 78%)}html.dark .nf-scene .nf-grid{background-image:linear-gradient(90deg,#fffaf008 1px,#0000 1px),linear-gradient(#fffaf008 1px,#0000 1px)}.nf-scene .nf-corner{border-top:1px solid var(--nf-line-2);border-right:1px solid var(--nf-line-2);width:28px;height:28px;position:absolute;top:18px;right:18px}.nf-scene .nf-corner2{border-bottom:1px solid var(--nf-line-2);border-left:1px solid var(--nf-line-2);width:28px;height:28px;position:absolute;bottom:18px;left:18px}.nf-scene-meta{font-family:var(--mono);color:var(--nf-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;position:absolute;top:18px;left:18px}.nf-scene-meta .nf-led{vertical-align:middle;background:#c04a2c;border-radius:50%;width:8px;height:8px;margin-right:8px;animation:1.4s ease-out infinite nfLed;display:inline-block;box-shadow:0 0 #c04a2c8c}@keyframes nfLed{0%{box-shadow:0 0 #c04a2c8c}70%{box-shadow:0 0 0 6px #c04a2c00}to{box-shadow:0 0 #c04a2c00}}.nf-scene.is-plugged .nf-scene-meta .nf-led{background:#2e5d3a;animation:1.4s ease-out infinite nfLedGreen;box-shadow:0 0 #2e5d3a8c}@keyframes nfLedGreen{0%{box-shadow:0 0 #2e5d3a8c}70%{box-shadow:0 0 0 6px #2e5d3a00}to{box-shadow:0 0 #2e5d3a00}}.nf-scene-tip{font-family:var(--mono);color:var(--nf-muted);text-transform:uppercase;letter-spacing:.08em;text-align:right;font-size:10px;position:absolute;bottom:18px;right:22px}.nf-scene-tip .nf-key{border:1px solid var(--nf-line-2);background:var(--cream);color:var(--ink-2);border-radius:5px;margin:0 2px;padding:1px 6px;display:inline-block}.nf-wall{aspect-ratio:1;background:var(--ink);width:28%;box-shadow:inset 0 0 0 8px var(--ink-2), inset 0 0 0 9px var(--cream-2), 0 24px 40px -20px #14130f99;border-radius:18%;position:absolute;top:50%;right:8%;transform:translateY(-50%)}html.dark .nf-wall{box-shadow:inset 0 0 0 8px var(--cream-2), inset 0 0 0 9px var(--cream-2), 0 24px 40px -20px #000c}.nf-wall:before,.nf-wall:after{content:"";background:var(--cream-2);border-radius:4px;width:8%;height:26%;transition:background .32s,transform .36s cubic-bezier(.2,.8,.2,1);position:absolute;top:32%}.nf-wall:before{left:32%}.nf-wall:after{right:32%}.nf-wall .nf-gnd{background:var(--cream-2);border-radius:4px;width:14%;height:6%;transition:background .32s;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.nf-scene.is-plugged .nf-wall:before,.nf-scene.is-plugged .nf-wall:after,.nf-scene.is-plugged .nf-wall .nf-gnd{background:var(--orange)}.nf-wall:before,.nf-wall:after,.nf-wall .nf-gnd{box-shadow:0 0 #d97a1f00}.nf-scene.is-near .nf-wall:before,.nf-scene.is-near .nf-wall:after,.nf-scene.is-near .nf-wall .nf-gnd{box-shadow:0 0 10px 2px #d97a1f80}.nf-plug{aspect-ratio:1.4;background:var(--ink);cursor:grab;z-index:3;border-radius:14px 6px 6px 14px;width:18%;transition:filter .22s;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)rotate(0)}.nf-scene.is-near .nf-plug{filter:drop-shadow(0 0 18px #d97a1f73)}.nf-plug:active{cursor:grabbing}.nf-plug:before,.nf-plug:after{content:"";background:var(--orange);border-radius:2px;width:18%;height:22%;position:absolute;right:-16%}.nf-plug:before{top:22%}.nf-plug:after{bottom:22%}.nf-plug .nf-body-text{font-family:var(--mono);letter-spacing:.1em;color:var(--cream);text-transform:uppercase;opacity:.7;font-size:9px;position:absolute;top:50%;left:14%;transform:translateY(-50%)}.nf-plug .nf-handle-grip{background:#f5efe31a;border-radius:4px;width:14%;height:60%;position:absolute;top:50%;left:6%;transform:translateY(-50%)}.nf-plug.is-bobbing{animation:3.4s ease-in-out infinite nfBob}@keyframes nfBob{0%,to{transform:translate(-50%,-50%)rotate(0)}50%{transform:translate(-50%,-52%)rotate(-2deg)}}.nf-cable{pointer-events:none;z-index:2;position:absolute;inset:0}.nf-cable path{fill:none;stroke:var(--ink);stroke-width:6px;stroke-linecap:round}html.dark .nf-cable path{stroke:var(--cream-2)}.nf-sparks{pointer-events:none;z-index:4;position:absolute}.nf-sparks span{background:var(--orange);opacity:0;--tx:0px;--ty:0px;border-radius:50%;width:8px;height:8px;position:absolute}.nf-scene.is-plugged .nf-sparks span{animation:.7s ease-out forwards nfSpark}@keyframes nfSpark{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(.2)}}.nf-scene-msg{text-align:center;font-family:var(--display);letter-spacing:-.01em;color:var(--orange-2);opacity:0;font-size:18px;font-weight:600;transition:opacity .32s,transform .32s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:64px;left:0;right:0;transform:translateY(8px)}.nf-scene.is-plugged .nf-scene-msg{opacity:1;transition-delay:.22s;transform:none}.nf-float-dot{background:var(--orange-soft);opacity:.7;pointer-events:none;border-radius:50%;width:6px;height:6px;animation:linear infinite nfDrift;position:absolute}@keyframes nfDrift{0%{opacity:0;transform:translate(0)}10%{opacity:.7}90%{opacity:.7}to{transform:translate(var(--dx), var(--dy));opacity:0}}.nf-footer{border-top:1px solid var(--nf-line);width:100%;max-width:1320px;color:var(--nf-muted);font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:24px;margin:0 auto;padding:28px 40px;display:flex}.nf-footer .nf-right{gap:18px;display:inline-flex}.nf-reveal{opacity:0;will-change:opacity, transform;transform:translateY(28px)}.nf-reveal.in{opacity:1;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:none}.nf-reveal.d1{transition-delay:.18s}.nf-reveal.d2{transition-delay:.28s}.nf-reveal.d3{transition-delay:.38s}@media (max-width:980px){.nf-wrap{grid-template-columns:1fr;gap:40px;padding:32px 24px}.nf-scene{width:100%;max-width:480px;margin:0 auto}.nf-digits{font-size:clamp(120px,36vw,220px)}.nf-footer{flex-direction:column;padding:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.nf-reveal{opacity:1;transform:none}.nf-digits .nf-d,.nf-socket-zero{transform:none!important}}
