@font-face{font-family:Archivo;src:url(/assets/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/fonts/plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/fonts/plex-mono-600.woff2) format("woff2");font-weight:600;font-display:swap}:root{--bg: #04070d;--bg-2: #081120;--bg-3: #0d1b30;--surface: rgba(9, 17, 30, .72);--surface-2: rgba(13, 27, 48, .88);--border: rgba(148, 197, 255, .09);--border-2: rgba(0, 224, 214, .22);--cyan: #00e0d6;--cyan-dim: rgba(0, 224, 214, .1);--blue: #4f8df9;--blue-dim: rgba(79, 141, 249, .12);--amber: #f5a524;--text: #eaf2ff;--text-2: #93a7c4;--text-3: #4d6580;--glow-cyan: 0 0 32px rgba(0, 224, 214, .16);--glow-blue: 0 0 32px rgba(79, 141, 249, .16);--font-sans: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius: 8px;--radius-sm: 4px;--radius-lg: 14px;--ease: .2s ease;--ease-slow: .5s ease;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-1: .16s;--dur-2: .32s;--dur-3: .64s;--max-w: 1160px;--pad-x: clamp(1.25rem, 5vw, 2.5rem);--spot-x: 50%;--spot-y: 12%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:72px;scrollbar-color:#1a3450 var(--bg)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#1a3450;border-radius:5px;border:2px solid var(--bg)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);line-height:1.65;min-height:100vh;overflow-x:hidden;counter-reset:section;background-image:radial-gradient(circle 170px at var(--spot-x) var(--spot-y),rgba(0,224,214,.06),transparent 62%),radial-gradient(ellipse 80% 45% at 50% -5%,rgba(0,224,214,.065) 0%,transparent 65%),radial-gradient(ellipse 60% 30% at 82% 85%,rgba(79,141,249,.05) 0%,transparent 60%),linear-gradient(rgba(0,224,214,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(0,224,214,.022) 1px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,56px 56px,56px 56px;background-attachment:fixed}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none;opacity:.55;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E")}::selection{background:#00e0d647;color:#fff}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none;font:inherit}.scroll-progress{position:fixed;top:0;left:0;z-index:200;width:100%;height:2px;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,var(--cyan),var(--blue));box-shadow:0 0 16px #00e0d666;pointer-events:none}h1,h2,h3{line-height:1.15;font-weight:700;letter-spacing:-.02em;color:var(--text);text-wrap:balance}.hero-sub,.section-sub,.contact-sub{text-wrap:pretty}h1{font-size:clamp(2.1rem,5vw,3.7rem);font-stretch:116%;font-weight:740;letter-spacing:-.028em;line-height:1.04}h2{font-size:clamp(1.55rem,3.5vw,2.3rem);font-stretch:114%;letter-spacing:-.022em}h3{font-size:clamp(1rem,2vw,1.15rem);font-stretch:106%}p{color:var(--text-2)}strong{color:var(--text);font-weight:600}em{color:var(--cyan);font-style:normal}.container{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad-x)}.section{padding-block:clamp(4rem,8vw,6.5rem)}.section-head{position:relative;text-align:left;max-width:640px;margin-bottom:clamp(2.5rem,5vw,4rem);padding-bottom:1.15rem}.section-head:before{content:"";position:absolute;bottom:0;left:0;right:0;height:9px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9'%3E%3Cpath d='M4.5 0V9M0 4.5H9' stroke='rgba(147,167,196,0.45)' stroke-width='1'/%3E%3C/svg%3E") no-repeat right bottom / 9px 9px,linear-gradient(90deg,var(--cyan),transparent) no-repeat left bottom / 64px 2px,linear-gradient(var(--border),var(--border)) no-repeat left bottom / 100% 1px}.section-head:after{content:counter(section,decimal-leading-zero) / "";position:absolute;right:0;bottom:.9rem;font-family:var(--font-mono);font-weight:600;line-height:1;font-size:clamp(3rem,7vw,5rem);color:transparent;-webkit-text-stroke:1px rgba(148,197,255,.1);pointer-events:none;-webkit-user-select:none;user-select:none}.section-sub{margin-top:.75rem;font-size:1rem;max-width:52ch}.eyebrow{display:block;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:.7rem}.section .eyebrow{counter-increment:section}.section .eyebrow:before{content:counter(section,decimal-leading-zero) " / ";color:var(--text-3)}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;font-stretch:108%;letter-spacing:.09em;text-transform:uppercase;line-height:1;white-space:nowrap;transition:box-shadow var(--ease),transform var(--ease),color var(--ease),background-color var(--ease),border-color var(--ease)}.btn.primary{background:linear-gradient(135deg,var(--cyan) 0%,var(--blue) 100%);color:#02060c;box-shadow:0 4px 20px #00e0d640,inset 0 1px #ffffff40}.btn.primary:hover,.btn.primary:focus-visible{box-shadow:0 6px 32px #00e0d673,inset 0 1px #ffffff40;transform:translateY(-1px)}.btn.outline{border:1px solid var(--border-2);color:var(--text);background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn.outline:hover,.btn.outline:focus-visible{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}.btn:active,.form-submit:active,.nav-cta:active{transform:translateY(0);transition-duration:var(--dur-1)}.header{position:sticky;top:0;z-index:100;background:#04070dcc;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--border);transition:background var(--ease-slow),box-shadow var(--ease-slow)}.header.scrolled{background:#04070df2;box-shadow:0 1px 24px #00000080}.nav-inner{display:flex;align-items:center;gap:1rem;height:68px;transition:height var(--dur-2) var(--ease-out)}.header.scrolled .nav-inner{height:60px}.brand{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-right:auto}.brand-mark{display:grid;place-items:center;width:40px;height:40px;overflow:hidden;border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--border-2);flex-shrink:0}.brand-mark-img{width:100%;height:100%;object-fit:cover}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:.9rem;font-weight:740;font-stretch:112%;letter-spacing:-.01em;color:var(--text);line-height:1.2}.brand-sub{font-family:var(--font-mono);font-size:.56rem;color:var(--text-3);letter-spacing:.12em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:.125rem}.nav-links a{padding:.45rem .85rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:var(--text-2);transition:color var(--ease),background var(--ease)}.nav-links a:hover,.nav-links a:focus-visible{color:var(--text);background:#ffffff0d}.nav-links a.active{color:var(--cyan);background:var(--cyan-dim)}.nav-cta{background:linear-gradient(135deg,var(--cyan),var(--blue))!important;color:#02060c!important;font-weight:700!important;font-size:.74rem!important;letter-spacing:.07em;text-transform:uppercase;margin-left:.5rem;padding:.55rem 1rem!important;border-radius:var(--radius-sm)!important;box-shadow:0 2px 12px #00e0d633}.nav-cta:hover,.nav-cta:focus-visible{box-shadow:0 4px 20px #00e0d666!important;transform:translateY(-1px);background:linear-gradient(135deg,var(--cyan),var(--blue))!important}.menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:9px;border-radius:var(--radius-sm);transition:background var(--ease)}.menu-btn:hover{background:#ffffff0d}.bar{display:block;height:1.5px;width:100%;background:var(--text-2);border-radius:2px;transition:transform var(--ease),opacity var(--ease)}.menu-btn[aria-expanded=true] .bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-btn[aria-expanded=true] .bar:nth-child(2){opacity:0;transform:scaleX(0)}.menu-btn[aria-expanded=true] .bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-nav{display:flex;flex-direction:column;padding:0 var(--pad-x);gap:.25rem;border-top:1px solid transparent;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .28s ease,opacity .22s ease,visibility 0s linear .28s,border-color .28s ease,padding .28s ease}.mobile-nav.is-open{max-height:400px;opacity:1;visibility:visible;padding-block:.75rem 1rem;border-top-color:var(--border);transition:max-height .28s ease,opacity .22s ease,visibility 0s linear 0s,border-color .28s ease,padding .28s ease}@media (prefers-reduced-motion: reduce){.mobile-nav{transition:none}}.mobile-nav a{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;color:var(--text-2);transition:color var(--ease),background-color var(--ease)}.mobile-nav a:hover{color:var(--text);background:#ffffff0d}.nav-cta-mobile{background:linear-gradient(135deg,var(--cyan),var(--blue))!important;color:#02060c!important;font-weight:700!important;letter-spacing:.07em;text-transform:uppercase;font-size:.8rem!important;text-align:center;border-radius:var(--radius-sm)!important;margin-top:.25rem}.hero{position:relative;padding-top:clamp(4.5rem,10vw,7.5rem);padding-bottom:clamp(4rem,8vw,6rem)}.hero-inner{position:relative;max-width:var(--max-w);margin-inline:auto}.hero-content{max-width:680px}.hero-circuit{display:none;position:absolute;top:50%;right:var(--pad-x);transform:translateY(-50%);width:clamp(250px,23vw,330px);pointer-events:none}@media (min-width: 1140px){.hero-circuit{display:block}}.hero-circuit svg{display:block;width:100%;height:auto}.hc-trace{stroke:#00e0d666;stroke-width:1.5}.hc-chip{stroke:#4f8df973;fill:#060c1699}.hc-chip-core{stroke:#4f8df938}.hc-pin1{fill:#00e0d673}.hc-via{stroke:#00e0d680}.hc-via-inner{fill:var(--cyan)}.hc-fid{stroke:#93a7c459;stroke-width:1}.hc-ref,.hc-coord{fill:var(--text-3);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em}.hc-ref{font-size:11px;letter-spacing:.08em}.hc-pulse{stroke:none}.hero-content h1{margin-bottom:1.4rem;padding-bottom:.12em;background:linear-gradient(120deg,var(--text) 58%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:1.08rem;line-height:1.75;margin-bottom:2.25rem;max-width:540px}.hero-actions{display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:2.25rem}.hero-cred{font-family:var(--font-mono);font-size:.67rem;letter-spacing:.06em;color:var(--text-3);margin-bottom:1.5rem}.hero-pills{display:flex;flex-wrap:wrap;gap:.5rem}.hero-pills span{padding:.34rem .8rem;background:var(--surface);border:1px solid var(--border);border-left:2px solid rgba(0,224,214,.55);border-radius:3px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media (prefers-reduced-motion: no-preference){@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}html.js .hero-content>*{animation:hero-rise .7s var(--ease-out) both}html.js .hero-content>*:nth-child(2){animation-delay:.07s}html.js .hero-content>*:nth-child(3){animation-delay:.14s}html.js .hero-content>*:nth-child(4){animation-delay:.21s}html.js .hero-content>*:nth-child(5){animation-delay:.28s}html.js .hero-scope,html.js .scope-mobile{animation:hero-rise .8s var(--ease-out) .38s both}@keyframes hc-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}html.js .hc-trace{stroke-dasharray:1;animation:hc-draw 1s var(--ease-out) both;animation-delay:calc(.6s + var(--i, 0) * .12s)}html.js .hc-chip,html.js .hc-chip-core,html.js .hc-pin1,html.js .hc-ref,html.js .hc-fid,html.js .hc-vias,html.js .hc-coord{animation:hero-rise .6s var(--ease-out) 1.3s both}@keyframes hc-pulse-run{to{stroke-dashoffset:-1}}.hc-pulse{stroke:var(--cyan);stroke-width:2;stroke-dasharray:.07 .93;stroke-dashoffset:0;opacity:.8;animation:hc-pulse-run 6s linear 2s infinite}}.hero-scope{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad-x);margin-top:clamp(1.75rem,3.5vw,2.5rem)}.scope-console{border:1px solid var(--border-2);border-radius:var(--radius);background:#02060cf5;overflow:hidden;box-shadow:var(--glow-cyan),0 0 0 1px #00e0d60a,inset 0 1px #94c5ff0f}.scope-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1rem;padding:.45rem .875rem;border-bottom:1px solid rgba(0,224,214,.1);background:#060c16b8}.scope-bar span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;color:var(--text-3);white-space:nowrap}.scope-tag{color:var(--text-2)!important;font-weight:600;padding:.08rem .4rem;border:1px solid var(--border-2);border-radius:3px}.scope-ch{font-weight:600}.scope-ch1{color:var(--cyan)!important}.scope-ch2{color:var(--blue)!important}.scope-ch3{color:#38bdf8!important}.scope-ch4{color:#93c5fd!important}.scope-time{color:var(--text-2)!important}.scope-trig{color:var(--amber)!important}.scope-run{display:inline-flex!important;align-items:center;gap:.375rem;margin-left:auto;color:#22c55e!important;font-weight:600}.scope-led{display:inline-block;width:5px;height:5px;border-radius:50%;background:#22c55e;flex-shrink:0}.scope-meas{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1rem;padding:.45rem .875rem;border-top:1px solid rgba(0,224,214,.1);background:#060c16b8}.scope-meas span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;color:var(--text-3);white-space:nowrap}.scope-acq{margin-left:auto;color:var(--text-2)!important}.scope-screen{position:relative;height:clamp(150px,22vw,196px);overflow:hidden;background-color:#02060cf5;background-image:repeating-linear-gradient(90deg,rgba(0,224,214,.045) 0 1px,transparent 1px 10%),repeating-linear-gradient(180deg,rgba(0,224,214,.05) 0 1px,transparent 1px 25%);box-shadow:inset 0 0 60px #00000080}.scope-svg{width:200%;height:100%;display:block;will-change:transform}.scope-lanes{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:repeat(4,1fr);pointer-events:none}.scope-lanes span{align-self:center;justify-self:start;margin-left:.55rem;padding:.04rem .35rem;border-radius:3px;background:#02060cb8;font-family:var(--font-mono);font-size:.55rem;font-weight:600;letter-spacing:.08em}.sw,.sw2,.sw3,.sw4{fill:none;stroke-width:1.6}.sw{stroke:var(--cyan);stroke-linecap:round;stroke-linejoin:round}.sw2{stroke:var(--blue);stroke-linecap:square;stroke-linejoin:miter}.sw3{stroke:#38bdf8;stroke-linecap:round;stroke-linejoin:round}.sw4{stroke:#93c5fd;stroke-linecap:square;stroke-linejoin:miter}.sw-glow,.sw2-glow,.sw3-glow,.sw4-glow{fill:none;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.07}.sw-glow{stroke:var(--cyan)}.sw2-glow{stroke:var(--blue)}.sw3-glow{stroke:#38bdf8}.sw4-glow{stroke:#93c5fd}.scope-mobile{display:none;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad-x);margin-top:2rem}.scope-screen-mini{height:92px}.scope-svg-mini{width:200%;height:100%;display:block;will-change:transform}.service-card,.project-card{position:relative}.service-card:before,.project-card:before,.service-card:after,.project-card:after{content:"";position:absolute;width:14px;height:14px;pointer-events:none;transition:border-color var(--ease),width var(--ease),height var(--ease)}.service-card:before,.project-card:before{top:-1px;left:-1px;border-top:1px solid rgba(0,224,214,.4);border-left:1px solid rgba(0,224,214,.4);border-top-left-radius:3px}.service-card:after,.project-card:after{bottom:-1px;right:-1px;border-bottom:1px solid rgba(0,224,214,.4);border-right:1px solid rgba(0,224,214,.4);border-bottom-right-radius:3px}.service-card:hover:before,.project-card:hover:before,.service-card:hover:after,.project-card:hover:after{width:22px;height:22px;border-color:var(--cyan)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.125rem}.service-card{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:border-color var(--ease),box-shadow var(--ease),transform var(--ease)}.service-card:hover{border-color:var(--border-2);box-shadow:var(--glow-cyan);transform:translateY(-2px)}.service-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.service-tag{display:inline-flex;align-items:center;gap:.45rem}.service-tp{color:#00e0d652;line-height:0}.service-tp .tp-svg{width:15px;height:19px;display:block}.service-num{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.14em;color:var(--text-3)}.service-icon{width:42px;height:42px;padding:9px;border-radius:var(--radius-sm);background:var(--cyan-dim);border:1px solid rgba(0,224,214,.18);color:var(--cyan);flex-shrink:0;transition:border-color var(--ease),box-shadow var(--ease)}.service-card:hover .service-icon{border-color:#00e0d673;box-shadow:var(--glow-cyan)}.service-icon svg{width:100%;height:100%}.service-card h3{margin-bottom:.625rem}.service-card>p{font-size:.875rem;line-height:1.7;margin-bottom:1.25rem}.tag-list{display:flex;flex-wrap:wrap;gap:.375rem}.tag-list li{padding:.24rem .6rem;background:var(--blue-dim);border:1px solid rgba(79,141,249,.18);border-radius:3px;font-family:var(--font-mono);font-size:.64rem;font-weight:400;letter-spacing:.03em;color:#93c5fd}.service-meta{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem}.service-meta-row{display:grid;grid-template-columns:3.2rem 1fr;gap:.5rem;font-size:.8rem;line-height:1.55}.service-meta-row dt{font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);padding-top:.15em}.service-meta-row dd{color:var(--text-2)}.problems-section{background:linear-gradient(180deg,transparent,rgba(13,27,48,.4) 50%,transparent)}.problems-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.problem-card{background:var(--bg);padding:1.75rem;display:flex;flex-direction:column;gap:.6rem;transition:background var(--ease)}.problem-card:hover{background:var(--bg-2)}.problem-num{font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.14em;color:var(--cyan);opacity:.7}.problem-card h3{font-size:.95rem;font-stretch:106%;color:var(--text);margin:0}.problem-card p{font-size:.84rem;line-height:1.65;color:var(--text-2);margin:0}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.125rem}.project-card{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;display:flex;flex-direction:column;gap:.875rem;transition:border-color var(--ease),box-shadow var(--ease),transform var(--ease)}.project-card:hover{border-color:var(--border-2);box-shadow:var(--glow-cyan);transform:translateY(-2px)}.project-featured{grid-column:1 / -1;display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(1.25rem,3vw,2rem);align-items:center;border-color:var(--border-2);background:linear-gradient(135deg,rgba(0,224,214,.04),var(--surface) 60%)}.dossier-body{display:flex;flex-direction:column;gap:.875rem}.project-featured h3{font-size:clamp(1.1rem,2.2vw,1.4rem)}.project-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.project-tag{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}.project-badge{font-family:var(--font-mono);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.18rem .5rem;background:var(--blue-dim);border:1px solid rgba(79,141,249,.18);border-radius:3px;color:#93c5fd;white-space:nowrap;flex-shrink:0}.project-figure{margin:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:#02060c80;padding:.85rem .85rem .6rem;overflow:hidden;transition:border-color var(--ease)}.project-card:hover .project-figure{border-color:var(--border-2)}.figure-svg{width:100%;height:auto;display:block}.figure-cap{margin-top:.45rem;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);text-align:right}.fig-accent{fill:none;stroke:var(--cyan);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fig-dim{fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.5}.fig-dot{fill:var(--cyan);stroke:none}.fig-packet{fill:#38bdf8;stroke:none}.fig-axis{fill:none;stroke:var(--text-3);stroke-width:1;opacity:.55}.fig-grid{fill:none;stroke:#00e0d61f;stroke-width:1}.rf-figure-svg{min-width:0}.rf-board{fill:#00e0d609;stroke:#00e0d68c;stroke-width:1.5}.rf-chip{fill:#060c16eb;stroke:#4f8df9b3;stroke-width:1.25}.rf-trace,.rf-radio,.rf-transport{fill:none;stroke:var(--cyan);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.rf-transport{stroke:#4f8df9cc}.rf-transport rect{fill:#4f8df914;stroke:#4f8df98c}.rf-transport circle,.rf-trace circle{fill:var(--cyan);stroke:none}.rf-radio{stroke:#38bdf8}.rf-label{fill:var(--text-2);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-anchor:middle}.rf-label-small{fill:var(--text-3);font-size:8px;letter-spacing:.06em}.project-card p{font-size:.875rem;line-height:1.7}.project-card>p{flex:1}.project-note{font-size:.78rem!important;color:var(--text-3)!important;padding-top:.75rem;border-top:1px solid var(--border);flex:unset!important}.project-tags{display:flex;flex-wrap:wrap;gap:.375rem}.project-tags span{padding:.24rem .625rem;background:var(--bg-2);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.03em;color:var(--text-2)}.project-link{font-size:.8rem;font-weight:600;color:var(--cyan);align-self:flex-start;transition:color var(--ease)}.project-link:hover{color:#fff}.process-section{background-image:linear-gradient(180deg,transparent 0%,rgba(0,224,214,.025) 50%,transparent 100%)}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}.process-steps:before{content:"";position:absolute;top:27px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border-2) 15%,var(--border-2) 85%,transparent 100%);pointer-events:none}@media (prefers-reduced-motion: no-preference){@keyframes process-pulse{0%{background-position:-90px 0}to{background-position:calc(100% + 90px) 0}}.process-steps:after{content:"";position:absolute;top:27px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan) 50%,transparent) no-repeat -90px 0 / 90px 1px;animation:process-pulse 5.5s ease-in-out infinite;opacity:.7;pointer-events:none}}.step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 .75rem;position:relative}.step-num{display:grid;place-items:center;width:54px;height:54px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(0,224,214,.25) 6px,transparent 6px),var(--bg-2);border:1px solid var(--border-2);color:var(--cyan);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;margin-bottom:1.25rem;position:relative;z-index:1;flex-shrink:0;transition:background var(--ease),border-color var(--ease),box-shadow var(--ease)}.step:hover .step-num{background:var(--cyan-dim);border-color:var(--cyan);box-shadow:var(--glow-cyan)}.step-body h3{font-size:.95rem;margin-bottom:.5rem}.step-body p{font-size:.82rem;line-height:1.6}.cta-banner{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(0,224,214,.03) 0%,transparent 55%),var(--bg-2);padding-block:clamp(2.25rem,5vw,3rem)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem 4rem;flex-wrap:wrap}.cta-text{max-width:56ch}.cta-label{display:block;font-family:var(--font-mono);font-size:.67rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:.5rem}.cta-heading{font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:700;font-stretch:110%;letter-spacing:-.018em;color:var(--text);line-height:1.3;margin-bottom:.5rem}.cta-sub{font-size:.875rem;line-height:1.65;color:var(--text-2)}.cta-action{flex-shrink:0;white-space:nowrap}@media (max-width: 640px){.cta-inner{flex-direction:column;align-items:stretch}}.contact-section{position:relative;overflow:hidden;background-image:linear-gradient(180deg,transparent 0%,rgba(79,141,249,.03) 50%,transparent 100%)}.contact-art{position:absolute;right:0;top:50%;transform:translateY(-50%);width:min(46vw,560px);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%)}.contact-art svg{display:block;width:100%;height:auto}.ct-line{stroke:#00e0d633;stroke-width:1}.ct-line:nth-child(4),.ct-line:nth-child(5){stroke:#00e0d624}.ct-line:nth-child(6){stroke:#00e0d61a}.ct-mark{stroke:#93a7c473;stroke-width:1}.ct-coord{fill:var(--text-3);font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.14em;text-anchor:middle}@media (max-width: 900px){.contact-art{display:none}}.contact-content{position:relative;z-index:1;max-width:560px}.contact-content h2{background:linear-gradient(120deg,var(--text) 40%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}.contact-sub{font-size:1.025rem;line-height:1.75;margin-bottom:2rem;max-width:460px}.contact-btn{font-size:.85rem;padding:1rem 2rem}.social-links{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.83rem;font-weight:600;color:var(--text-2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:color var(--ease),border-color var(--ease),background-color var(--ease)}.social-links a:hover{color:var(--cyan);border-color:var(--border-2);background:var(--cyan-dim)}.inquiry-modal{position:fixed;top:0;right:0;bottom:0;left:0;width:min(600px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:1px solid var(--border-2);border-radius:var(--radius-lg);background:#040911f7;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 24px 80px #000000b3,var(--glow-cyan);color:var(--text);overflow:hidden auto}.inquiry-modal::backdrop{background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-inner{padding:clamp(1.5rem,4vw,2rem)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.modal-title{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:700;font-stretch:112%;letter-spacing:-.02em;color:var(--text);line-height:1.3}.modal-close{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-sm);background:#ffffff0d;color:var(--text-2);flex-shrink:0;transition:background var(--ease),color var(--ease)}.modal-close:hover,.modal-close:focus-visible{background:#ffffff1a;color:var(--text)}.inquiry-form{display:flex;flex-direction:column;gap:1.125rem}.hp-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field label{font-family:var(--font-mono);font-size:.68rem;font-weight:600;color:var(--text-2);letter-spacing:.08em;text-transform:uppercase}.req{color:var(--cyan)}.form-field input,.form-field textarea{width:100%;padding:.65rem .875rem;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text);font:inherit;font-size:.875rem;resize:vertical;transition:border-color var(--ease),background-color var(--ease)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-3)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--cyan);background:#00e0d60a}.form-fieldset{border:none;padding:0;margin:0}.form-fieldset legend{font-family:var(--font-mono);font-size:.68rem;font-weight:600;color:var(--text-2);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.625rem;display:block}.radio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.radio-label{position:relative;display:flex;align-items:center;justify-content:center;padding:.55rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;font-size:.78rem;font-weight:500;color:var(--text-2);cursor:pointer;text-align:center;transition:border-color var(--ease),background-color var(--ease),color var(--ease)}.radio-label:hover{border-color:var(--border-2);color:var(--text);background:#ffffff0d}.radio-label input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio-label:has(input:checked){border-color:var(--cyan);background:var(--cyan-dim);color:var(--cyan);font-weight:600}.radio-label:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:3px}.form-actions{display:flex;flex-direction:column;gap:.625rem;padding-top:.25rem}.form-submit{width:100%;padding:.9rem;font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--cyan),var(--blue));color:#02060c;box-shadow:0 4px 20px #00e0d640,inset 0 1px #ffffff40;transition:box-shadow var(--ease),transform var(--ease)}.form-submit:hover{box-shadow:0 6px 32px #00e0d673,inset 0 1px #ffffff40;transform:translateY(-1px)}.form-submit:disabled,.form-submit:disabled:hover{cursor:wait;opacity:.72;transform:none;box-shadow:0 4px 20px #00e0d62e}.form-note{font-size:.72rem;color:var(--text-3);text-align:center;line-height:1.5}.form-error{padding:.7rem .8rem;border:1px solid rgba(255,105,105,.38);border-radius:var(--radius-sm);background:#ff696914;color:#ffb8b8;font-size:.78rem;line-height:1.45;text-align:center}.form-success{display:none;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:1.5rem 0 .5rem}.form-success.show{display:flex}.success-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--cyan-dim);border:1px solid rgba(0,224,214,.3);color:var(--cyan);margin-inline:auto}.imprint-modal{width:min(600px,calc(100vw - 2rem))}.imprint-inner .modal-head{margin-bottom:1.25rem}.imprint-inner .eyebrow{margin-bottom:.35rem}.imprint-body{display:flex;flex-direction:column;gap:1rem}.imprint-lede{font-size:.9rem;line-height:1.7}.imprint-details{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border-2);border-radius:var(--radius);background:var(--surface);overflow:hidden}.imprint-detail{padding:.9rem;border-right:1px solid var(--border)}.imprint-detail:last-child{border-right:none}.imprint-detail dt{margin-bottom:.35rem;font-family:var(--font-mono);font-size:.56rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}.imprint-detail dd{font-size:.82rem;line-height:1.5;color:var(--text)}.imprint-section{padding-top:1rem;border-top:1px solid var(--border)}.imprint-section h3{font-size:.95rem;margin-bottom:.55rem}.imprint-section p{font-size:.85rem;line-height:1.7}.imprint-contact-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.85rem;color:var(--cyan);font-size:.82rem;font-weight:600;transition:color var(--ease)}.imprint-contact-link:hover,.imprint-contact-link:focus-visible{color:#fff}.legal-main{min-height:calc(100vh - 68px)}.legal-page{width:min(840px,100%);margin-inline:auto;padding:clamp(2.25rem,6vw,4.25rem) var(--pad-x) clamp(4rem,8vw,6rem)}.legal-breadcrumb{margin-bottom:1.25rem;color:var(--text-3);font-size:.82rem}.legal-breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.legal-breadcrumb a{color:var(--text-2);transition:color var(--ease)}.legal-breadcrumb a:hover,.legal-breadcrumb a:focus-visible{color:var(--cyan)}.legal-header{padding-bottom:clamp(1.75rem,4vw,2.5rem)}.legal-header h1{margin-bottom:.75rem;letter-spacing:0}.legal-updated{font-family:var(--font-mono);font-size:.78rem;color:var(--text-3)}.legal-content{font-size:.96rem}.legal-content>p{margin-bottom:1.75rem;font-size:1.02rem;line-height:1.75}.legal-section{padding-block:1.45rem;border-top:1px solid var(--border)}.legal-section h2{margin-bottom:.7rem;font-size:clamp(1.05rem,2vw,1.28rem);letter-spacing:0}.legal-section p,.legal-section li{color:var(--text-2);line-height:1.75}.legal-section ul{display:grid;gap:.85rem;margin-top:.9rem;padding-left:1.15rem;list-style:disc}.legal-section li{padding-left:.2rem}.legal-link{color:var(--cyan);font-weight:600;transition:color var(--ease)}.legal-link:hover,.legal-link:focus-visible{color:#fff}.legal-dl{margin:1rem 0 0;display:grid;grid-template-columns:1fr;gap:0}.legal-dl-row{display:grid;grid-template-columns:10rem 1fr;gap:.5rem;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.legal-dl-row:last-child{border-bottom:none}.legal-dl-row dt{color:var(--muted);font-weight:600;font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;padding-top:.1rem}.legal-dl-row dd{color:var(--text);margin:0}.legal-action{display:inline-flex;align-items:center;gap:.4rem;margin-top:.95rem;padding:.65rem .9rem;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);color:var(--cyan);font-size:.86rem;font-weight:700;transition:border-color var(--ease),color var(--ease),background-color var(--ease)}.legal-action:hover,.legal-action:focus-visible{border-color:var(--cyan);color:#fff;background:var(--cyan-dim)}@media (prefers-reduced-motion: no-preference){@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(8px)}}.inquiry-modal[open]{animation:modal-in .22s var(--ease-out) forwards}.inquiry-modal.is-closing{animation:modal-out .18s ease forwards}}@media (max-width: 480px){.form-row{grid-template-columns:1fr}.radio-grid{grid-template-columns:repeat(2,1fr)}.legal-page{padding-top:1.75rem}.legal-content{font-size:.92rem}.imprint-details{grid-template-columns:1fr}.imprint-detail{border-right:none;border-bottom:1px solid var(--border)}.imprint-detail:last-child{border-bottom:none}}.footer{border-top:1px solid var(--border);padding-block:2.75rem 1.5rem}.footer-coords{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.8rem;margin-bottom:2rem;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.16em;color:var(--text-3);text-transform:uppercase}.fc-mark{position:relative;width:9px;height:9px;flex-shrink:0}.fc-mark:before,.fc-mark:after{content:"";position:absolute;background:#93a7c473}.fc-mark:before{left:4px;top:0;width:1px;height:9px}.fc-mark:after{left:0;top:4px;width:9px;height:1px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem 4rem;flex-wrap:wrap;padding-bottom:2rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.footer-brand-block{max-width:380px}.footer-tag{margin:.6rem 0 0;font-size:.8rem;line-height:1.6;color:var(--text-3)}.footer-nav{display:flex;gap:2rem 3.5rem;flex-wrap:wrap}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.footer-col-title{font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:.2rem}.footer-col a{color:var(--text-2);font-size:.8rem;font-weight:600;transition:color var(--ease)}.footer-col a:hover,.footer-col a:focus-visible{color:var(--cyan)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footer-brand{font-size:.875rem;font-weight:740;font-stretch:112%;color:var(--text)}.footer-copy{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em;color:var(--text-3)}.footer-meta{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.footer-link{color:var(--text-2);font-size:.78rem;font-weight:600;transition:color var(--ease)}.footer-link:hover,.footer-link:focus-visible{color:var(--cyan)}.project-link,.footer-col a,.footer-link,.legal-link{background:linear-gradient(currentColor,currentColor) no-repeat left bottom / 0 1px;transition:background-size var(--dur-2) var(--ease-out),color var(--ease)}.project-link:hover,.project-link:focus-visible,.footer-col a:hover,.footer-col a:focus-visible,.footer-link:hover,.footer-link:focus-visible,.legal-link:hover,.legal-link:focus-visible{background-size:100% 1px}@media (prefers-reduced-motion: no-preference){html.js .fade-in{opacity:0;transform:translateY(16px);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out);transition-delay:calc(var(--i, 0) * 70ms)}html.js .fade-in.visible{opacity:1;transform:translateY(0)}html.js .fade-in-delay-1{transition-delay:.1s}html.js .fade-in-delay-2{transition-delay:.2s}html.js .fade-in-delay-3{transition-delay:.3s}html.js .fade-in-delay-4{transition-delay:.4s}@keyframes fig-accent-draw{0%{stroke-dashoffset:1.01}to{stroke-dashoffset:0}}html.js .fade-in .project-figure path[pathLength]{stroke-dasharray:1;stroke-dashoffset:1.01;transition:stroke-dashoffset .9s var(--ease-out)}html.js .fade-in .project-figure path.fig-accent[pathLength]{transition:none}html.js .fade-in .project-figure circle,html.js .fade-in .project-figure rect{opacity:0;transition:opacity var(--dur-2) ease .75s}html.js .fade-in.visible .project-figure path[pathLength]{stroke-dashoffset:0}html.js .fade-in.visible .project-figure path.fig-accent[pathLength]{animation:fig-accent-draw .9s var(--ease-out) .45s both}html.js .fade-in.visible .project-figure circle,html.js .fade-in.visible .project-figure rect{opacity:1}html.js .fade-in.visible .project-figure rect.fig-dim{opacity:.5}html.js .contact-art.fade-in{opacity:1;transform:translateY(-50%);transition:none}html.js .contact-art .ct-line{stroke-dasharray:1;stroke-dashoffset:1.01;transition:stroke-dashoffset 1.1s var(--ease-out);transition-delay:calc(var(--i, 0) * .11s)}html.js .contact-art.visible .ct-line{stroke-dashoffset:0}html.js .contact-art .ct-mark,html.js .contact-art .ct-coord{opacity:0;transition:opacity var(--dur-2) ease .8s}html.js .contact-art.visible .ct-mark,html.js .contact-art.visible .ct-coord{opacity:1}@supports (animation-timeline: view()){@keyframes ghost-drift{0%{transform:translateY(14px)}to{transform:translateY(-14px)}}.section-head:after{animation:ghost-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}}@keyframes scope-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes led-blink{0%,to{opacity:1;box-shadow:0 0 5px #22c55e}50%{opacity:.5;box-shadow:0 0 2px #22c55e}}.scope-svg,.scope-svg-mini{animation:scope-scroll 9s linear infinite}.scope-led{animation:led-blink 2.4s ease-in-out infinite}}@media (max-width: 900px){.process-steps{grid-template-columns:repeat(2,1fr);row-gap:2.5rem}.process-steps:before,.process-steps:after{display:none}}@media (max-width: 768px){.nav-links{display:none}.menu-btn{display:flex}.contact-content{max-width:100%}.projects-grid,.project-featured{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr;gap:1.5rem}.step{flex-direction:row;text-align:left;align-items:flex-start;gap:1.25rem;padding:0}.step-num{margin-bottom:0;flex-shrink:0}.footer-top{flex-direction:column;gap:1.75rem}.footer-inner{flex-direction:column;text-align:center}.footer-coords{flex-direction:column;gap:.4rem}.footer-coords .fc-mark{display:none}}@media (max-width: 768px),(prefers-reduced-motion: reduce){body{background-attachment:scroll}}@media (max-width: 600px){.hero-scope{display:none}.scope-mobile{display:block}.section-head:after{display:none}}@media (max-width: 480px){.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.social-links{flex-direction:column}.social-links a{width:100%;justify-content:center}}
