.proto-fabric{--forge-bg:#080808}.proto-fabric ::selection{background:var(--terra);color:#fff}.proto-fabric .nav{z-index:50;background:#05050500;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(1.5rem,4vw,3rem);transition:background-color .5s,border-color .5s;display:flex;position:fixed;top:0;left:0;right:0}.proto-fabric .nav.scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050505c7;border-bottom-color:#ffffff0f}.proto-fabric .nav .brand{align-items:center;gap:12px;display:flex}.proto-fabric .nav .brand .mark{width:24px;height:24px;transition:transform .6s var(--ease-out-expo);background:#ffffff0d;border:1px solid #ffffff59;border-radius:4px;place-items:center;display:grid}.proto-fabric .nav .brand .mark .dot{background:#ffffffd9;border-radius:1px;width:7px;height:7px}.proto-fabric .nav .brand:hover .mark{transform:rotate(45deg)}.proto-fabric .nav .brand span{letter-spacing:.16em;text-transform:uppercase;color:#ffffffe6;font-size:13px;font-weight:500}.proto-fabric .nav .tag{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--terra);background:#e05a3214;border:1px solid #e05a3266;border-radius:6px;padding:5px 10px;font-size:10.5px}.proto-fabric .nav .cta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--terra);align-items:center;gap:8px;font-size:11px;transition:color .3s;display:inline-flex}.proto-fabric .nav .cta svg{transition:transform .35s var(--ease-out-expo)}.proto-fabric .nav .cta:hover{color:#fff}.proto-fabric .nav .cta:hover svg{transform:translate(4px)}@media (max-width:640px){.proto-fabric .nav .tag{display:none}}.proto-fabric .hero{z-index:4;text-align:center;justify-content:center;align-items:center;height:100svh;min-height:640px;padding:88px clamp(1.5rem,5vw,4rem) 2rem;display:flex;position:relative;overflow:hidden}.proto-fabric .blueprint{z-index:1;pointer-events:none;opacity:0;background-image:linear-gradient(#e05a321a 1px,#0000 1px),linear-gradient(90deg,#e05a321a 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 35%,#0000 78%);mask-image:radial-gradient(circle,#000 35%,#0000 78%)}.proto-fabric .scanline{z-index:1;pointer-events:none;background:linear-gradient(#0000,#e05a320f,#0000);height:160px;position:absolute;top:0;left:0;right:0}.proto-fabric .reg{z-index:2;opacity:0;pointer-events:none;width:26px;height:26px;position:absolute}.proto-fabric .reg:before,.proto-fabric .reg:after{content:"";background:#e05a3280;position:absolute}.proto-fabric .reg:before{width:100%;height:1px;top:50%}.proto-fabric .reg:after{width:1px;height:100%;left:50%}.proto-fabric .reg.tl{top:96px;left:40px}.proto-fabric .reg.tr{top:96px;right:40px}.proto-fabric .reg.bl{bottom:40px;left:40px}.proto-fabric .reg.br{bottom:40px;right:40px}@media (max-width:640px){.proto-fabric .reg{display:none}}.proto-fabric .hero-inner{z-index:4;max-width:62rem;position:relative}.proto-fabric .klabel{font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--terra);align-items:center;gap:12px;font-size:10.5px;display:inline-flex}.proto-fabric .hero h1{font-family:var(--font-display);font-size:var(--display);letter-spacing:-.02em;color:#fff;margin-top:1.8rem;font-weight:500;line-height:1.03}.proto-fabric .hero h1 .line{display:block;overflow:hidden}.proto-fabric .hero h1 .line>span{display:inline-block}.proto-fabric .hero h1 .grad{font-family:var(--font-serif);letter-spacing:-.02em;background:linear-gradient(90deg,var(--terra),var(--terra-soft));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:300}.proto-fabric .hero .sub{max-width:40rem;color:var(--subtext);margin:2.2rem auto 0;font-size:clamp(1rem,1.3vw,1.2rem);font-weight:300;line-height:1.7}.proto-fabric .hero .ctas{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.6rem;display:flex}.proto-fabric .hero .scroll-hint{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#fff6;z-index:4;flex-direction:column;align-items:center;gap:.7rem;font-size:10px;display:flex;position:absolute;bottom:2.2rem;left:50%;transform:translate(-50%)}.proto-fabric .hero .scroll-hint .line-v{background:#ffffff26;width:1px;height:40px;position:relative;overflow:hidden}.proto-fabric .hero .scroll-hint .line-v:after{content:"";background:var(--terra);width:1px;height:50%;animation:2s cubic-bezier(.65,0,.35,1) infinite descend;position:absolute;top:-50%;left:0}@keyframes descend{0%{top:-50%}to{top:110%}}.proto-fabric section{z-index:4;position:relative}.proto-fabric .section{padding:clamp(6rem,12vh,9rem) clamp(1.5rem,5vw,4rem)}.proto-fabric .section-inner{max-width:1240px;margin:0 auto}.proto-fabric .section-label{font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--terra);font-size:10.5px;display:inline-block}.proto-fabric .method{background:var(--forge-bg);border-top:1px solid #ffffff0d}.proto-fabric .method .grid{grid-template-columns:1fr 1fr;gap:4rem;display:grid}@media (max-width:900px){.proto-fabric .method .grid{grid-template-columns:1fr;gap:3rem}}.proto-fabric .method .intro{height:fit-content;position:sticky;top:120px}.proto-fabric .method .intro h2{font-family:var(--font-serif);color:#fff;font-size:clamp(2rem,3.4vw,2.8rem);font-style:italic;font-weight:300;line-height:1.1}.proto-fabric .method .intro p{color:var(--subtext);max-width:30rem;margin-top:1.6rem;font-size:1.05rem;line-height:1.75}.proto-fabric .method .stack{background:#e05a320d;border:1px solid #e05a3238;border-radius:14px;margin-top:2.4rem;padding:1.4rem 1.6rem}.proto-fabric .method .stack h4{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--terra);margin-bottom:.7rem;font-size:10px}.proto-fabric .method .stack p{color:var(--prose);font-size:.9rem;line-height:1.6}.proto-fabric .method .steps{gap:4rem;display:grid;position:relative}.proto-fabric .method .steps .rail{background:#ffffff1a;width:1px;position:absolute;top:20px;bottom:20px;left:31px}.proto-fabric .method .steps .rail .draw{background:var(--terra);width:1px;height:0%;box-shadow:0 0 8px var(--terra);position:absolute;top:0;left:0}.proto-fabric .step{padding-left:92px;position:relative}.proto-fabric .step .num{z-index:2;width:64px;height:64px;font-family:var(--font-mono);color:var(--subtext);background:#121212;border:1px solid #ffffff1a;border-radius:50%;place-items:center;transition:border-color .4s,color .4s;display:grid;position:absolute;top:-6px;left:0}.proto-fabric .step.active .num{border-color:var(--terra);color:var(--terra);box-shadow:0 0 20px -6px var(--terra)}.proto-fabric .step h3{font-family:var(--font-display);color:#fff;margin-bottom:.5rem;font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:500}.proto-fabric .step p{color:var(--subtext);max-width:28rem;line-height:1.6}.proto-fabric .contact{background:#050505;border-top:1px solid #ffffff0d;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}@media (max-width:900px){.proto-fabric .contact{grid-template-columns:1fr}}.proto-fabric .contact .map{background:#0a0a0a;border-right:1px solid #ffffff0d;min-height:48vh;position:relative;overflow:hidden}.proto-fabric .contact .map .persp{opacity:.18;background-image:linear-gradient(#333 2px,#0000 2px),linear-gradient(90deg,#333 2px,#0000 2px);background-size:100px 100px;position:absolute;inset:-20%;transform:perspective(500px)rotateX(22deg)scale(1.25)}.proto-fabric .contact .map .cross-h{background:#ffffff1a;width:100%;height:1px;position:absolute;top:50%;left:0;transform:rotate(-12deg)}.proto-fabric .contact .map .cross-v{background:#ffffff1a;width:1px;height:100%;position:absolute;top:0;left:50%;transform:rotate(12deg)}.proto-fabric .contact .marker{z-index:3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proto-fabric .contact .marker .ring{border:1px solid var(--terra);border-radius:50%;animation:2.4s cubic-bezier(.215,.61,.355,1) infinite pulse-ring;position:absolute;inset:-6px}@keyframes pulse-ring{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(3.4)}}.proto-fabric .contact .marker .dot{background:var(--terra);width:16px;height:16px;box-shadow:0 0 20px var(--terra);z-10:2;border-radius:50%;position:relative}.proto-fabric .contact .marker .tip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;border:1px solid #e05a324d;border-radius:8px;width:200px;padding:10px 14px;position:absolute;top:50%;left:30px;transform:translateY(-50%)}.proto-fabric .contact .marker .tip .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--terra);font-size:9px}.proto-fabric .contact .marker .tip .v{color:#fff;margin-top:3px;font-size:.85rem;font-weight:600}.proto-fabric .contact .marker .tip .a{color:var(--subtext);font-size:.78rem}.proto-fabric .contact .map .coords{font-family:var(--font-mono);color:var(--subtext);font-size:10px;line-height:1.7;position:absolute;bottom:24px;left:24px}.proto-fabric .contact .form-side{justify-content:center;align-items:center;padding:clamp(2.5rem,6vw,5rem);display:flex;position:relative}.proto-fabric .contact .form-inner{width:100%;max-width:30rem}.proto-fabric .contact .form-inner .lbl{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--subtext);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;padding:5px 12px;font-size:10px;display:inline-block}.proto-fabric .contact .form-inner h2{font-family:var(--font-serif);color:#fff;margin-top:1.6rem;font-size:clamp(2rem,3.4vw,2.8rem);font-weight:300;line-height:1.14}.proto-fabric .contact .form-inner h2 .terra{color:var(--terra);font-style:italic}.proto-fabric .contact .form-inner p{color:var(--subtext);margin-top:1.4rem;font-weight:300;line-height:1.75}.proto-fabric .contact .hq{background:#ffffff05;border:1px solid #ffffff0f;border-radius:14px;align-items:flex-start;gap:1rem;margin-top:2.2rem;padding:1.1rem;display:flex}.proto-fabric .contact .hq .ic{background:#ffffff0d;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.proto-fabric .contact .hq h4{color:#fff;margin-bottom:3px;font-weight:500}.proto-fabric .contact .hq p{margin-top:0;font-size:.85rem;line-height:1.6}.proto-fabric .contact .wa{background:var(--terra);color:#fff;width:100%;box-shadow:0 0 30px -10px var(--terra);border-radius:12px;justify-content:center;align-items:center;gap:.7rem;margin-top:1.6rem;padding:1.05rem 1.9rem;font-weight:600;transition:box-shadow .35s;display:inline-flex;position:relative;overflow:hidden}.proto-fabric .contact .wa:hover{box-shadow:0 0 50px -10px var(--terra)}.proto-fabric .contact .rt{text-align:center;font-family:var(--font-mono);color:#fff6;margin-top:1rem;font-size:10.5px}.proto-fabric footer{z-index:4;font-family:var(--font-mono);letter-spacing:.05em;color:#ffffff47;border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2.4rem clamp(1.5rem,5vw,4rem);font-size:10px;display:flex;position:relative}.js .proto-fabric .reveal{opacity:0;transform:translateY(22px)}.js .proto-fabric .reveal-static{opacity:0}@media (prefers-reduced-motion:reduce){.proto-fabric *,.proto-fabric :before,.proto-fabric :after{transition-duration:1ms!important;animation-duration:1ms!important}.js .proto-fabric .reveal,.js .proto-fabric .reveal-static{opacity:1!important;transform:none!important}.proto-fabric .blueprint,.proto-fabric .reg{opacity:1!important}}.proto-fabric .side-meter .fill{background:var(--terra);box-shadow:0 0 10px var(--terra)}
