@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Sofia+Sans:ital,wght@0,100..1000;1,100..1000&display=swap";@import "https://fonts.googleapis.com/css2?family=Saira:ital,wght@0,100..900;1,100..900&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0 auto;display:flex}:root{--p-dark:#1f2937;--p-light:#fefce8;--blue:#74a4bc;--copper:#f89c73;--orange:#f59e0b;--yellow:#fbbf24;--green:#58d26e;--teal:#f1fec6}:root[data-theme=light]{--bg:var(--p-light);--on-surface:var(--p-dark);--emph:var(--teal);--warn:var(--orange);--cool:var(--blue);--trend:#fefce8aa;--header-accent:#3f7a96}:root[data-theme=dark]{--bg:var(--p-dark);--on-surface:var(--p-light);--emph:var(--teal);--warn:var(--orange);--cool:var(--blue);--trend:#1f2937aa;--header-accent:var(--orange)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--orange) var(--bg);scrollbar-width:thin}body{background:var(--bg);color:var(--on-surface);font-optical-sizing:auto;font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;margin:0;font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;font-style:normal;line-height:1.5}h1,h2,h3,h4,.wordmark,.btn,.tab{color:var(--header-accent);font-family:Space Grotesk,sans-serif}.main-container{display:flex}.sections{flex-direction:column;width:100%;display:flex}.header{color:var(--header-accent);font-size:28pt}.container{justify-content:baseline;width:100%;height:100vh;color:var(--on-surface);flex-direction:column;padding-top:3rem;display:flex}.wrap{max-width:1080px;margin:0 auto;padding:0 5em}::selection{background-color:var(--green);color:var(--yellow)}.site-nav{z-index:40;background:var(--bg);color:var(--on-surface);width:300px;min-width:300px;height:100vh;padding-top:1rem;position:sticky;top:0}.site-nav .nav-wrap{flex-direction:column;width:100%;height:100%;display:flex}.site-nav .nav-wrap .wordmark{height:120px;color:var(--on-surface);justify-content:center;align-items:center;padding:1rem;text-decoration:none;display:flex}.site-nav .nav-wrap .switchers{box-sizing:border-box;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:0 1.25rem;display:flex;position:relative}.site-nav .nav-wrap .switchers:before{content:"";opacity:.35;background:#74a4bc;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.site-nav .nav-wrap .switchers .lang-switch,.site-nav .nav-wrap .switchers .theme-switch{z-index:1;isolation:isolate;background:color-mix(in srgb, #74a4bc 55%, var(--bg));clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px);flex:1 1 0;gap:4px;min-width:0;padding:6px;display:flex;position:relative}.site-nav .nav-wrap .switchers .lang-switch:before,.site-nav .nav-wrap .switchers .theme-switch:before{content:"";z-index:-1;background:var(--bg);clip-path:polygon(8.1px 0,calc(100% - 8.1px) 0,100% 8.1px,100% calc(100% - 8.1px),calc(100% - 8.1px) 100%,8.1px 100%,0 calc(100% - 8.1px),0 8.1px);position:absolute;inset:1.5px}.site-nav .nav-wrap .switchers .lang-switch button,.site-nav .nav-wrap .switchers .theme-switch button{isolation:isolate;cursor:pointer;letter-spacing:.08em;min-width:0;height:32px;color:color-mix(in srgb, #74a4bc 85%, var(--bg));clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px);background:0 0;border:none;outline:none;flex:1;justify-content:center;align-items:center;padding:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700;transition:color .25s,background .25s;display:flex;position:relative}.site-nav .nav-wrap .switchers .lang-switch button:before,.site-nav .nav-wrap .switchers .theme-switch button:before{content:"";z-index:-1;clip-path:polygon(4.1px 0,calc(100% - 4.1px) 0,100% 4.1px,100% calc(100% - 4.1px),calc(100% - 4.1px) 100%,4.1px 100%,0 calc(100% - 4.1px),0 4.1px);background:0 0;transition:background .25s;position:absolute;inset:1.5px}.site-nav .nav-wrap .switchers .lang-switch button:after,.site-nav .nav-wrap .switchers .theme-switch button:after{content:"";opacity:0;background:#58d26e;border-radius:50%;width:4px;height:4px;transition:opacity .25s;position:absolute;top:4px;right:5px;box-shadow:0 0 6px #58d26e}.site-nav .nav-wrap .switchers .lang-switch button:hover:not([aria-pressed=true]),.site-nav .nav-wrap .switchers .lang-switch button:focus-visible:not([aria-pressed=true]),.site-nav .nav-wrap .switchers .theme-switch button:hover:not([aria-pressed=true]),.site-nav .nav-wrap .switchers .theme-switch button:focus-visible:not([aria-pressed=true]){color:#fbbf24}.site-nav .nav-wrap .switchers .lang-switch button:hover:not([aria-pressed=true]):before,.site-nav .nav-wrap .switchers .lang-switch button:focus-visible:not([aria-pressed=true]):before,.site-nav .nav-wrap .switchers .theme-switch button:hover:not([aria-pressed=true]):before,.site-nav .nav-wrap .switchers .theme-switch button:focus-visible:not([aria-pressed=true]):before{background:color-mix(in srgb, #74a4bc 16%, var(--bg))}.site-nav .nav-wrap .switchers .lang-switch button[aria-pressed=true],.site-nav .nav-wrap .switchers .theme-switch button[aria-pressed=true]{color:#fbbf24;text-shadow:0 0 8px #fbbf248c;background:#f59e0b}.site-nav .nav-wrap .switchers .lang-switch button[aria-pressed=true]:before,.site-nav .nav-wrap .switchers .theme-switch button[aria-pressed=true]:before{background:color-mix(in srgb, #f59e0b 14%, var(--bg))}.site-nav .nav-wrap .switchers .lang-switch button[aria-pressed=true]:after,.site-nav .nav-wrap .switchers .theme-switch button[aria-pressed=true]:after{opacity:1}.site-nav .nav-wrap .switchers .lang-switch button[aria-pressed=true] svg,.site-nav .nav-wrap .switchers .theme-switch button[aria-pressed=true] svg{filter:drop-shadow(0 0 3px #fbbf24b3)}.site-nav .nav-wrap .nav-links{flex-direction:column;flex:1;min-height:0;padding-top:4rem;padding-right:80px;font-size:10.5pt;display:flex;position:relative}.site-nav .nav-wrap .nav-links a{text-align:left;max-height:5.5rem;color:color-mix(in srgb, var(--on-surface) 62%, transparent);flex:1 1 0;padding-left:2em;text-decoration:none;transition:color .2s;display:flex}.site-nav .nav-wrap .nav-links a:hover,.site-nav .nav-wrap .nav-links a[aria-current=true]{color:var(--on-surface)}.site-nav .nav-wrap .nav-links a[aria-current=true]{color:#f59e0b;font-weight:600}.site-nav .nav-wrap .nav-links .trace-rail{pointer-events:none;position:absolute;top:0;right:1rem;overflow:visible}.site-nav .nav-wrap .nav-links .trace-rail .trace{fill:none;stroke-linejoin:round}.site-nav .nav-wrap .nav-links .trace-rail .trace--base{stroke:#74a4bc;stroke-opacity:.35;stroke-width:2px}.site-nav .nav-wrap .nav-links .trace-rail .trace--fill{stroke:#f59e0b;stroke-width:2px;stroke-linecap:butt;filter:drop-shadow(0 0 3px #fbbf248c);transition:stroke-dashoffset .12s linear}.site-nav .nav-wrap .nav-links .trace-rail .pad-ring{fill:var(--bg);stroke:#74a4bc;stroke-opacity:.6;stroke-width:2px;transition:stroke .25s,stroke-opacity .25s}.site-nav .nav-wrap .nav-links .trace-rail .pad-core{fill:#0000;transition:fill .25s}.site-nav .nav-wrap .nav-links .trace-rail .pad-halo{fill:none;stroke:#58d26e;stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%}.site-nav .nav-wrap .nav-links .trace-rail .pad.is-lit .pad-ring{stroke:#f59e0b;stroke-opacity:1}.site-nav .nav-wrap .nav-links .trace-rail .pad.is-lit .pad-core{fill:#fbbf24}.site-nav .nav-wrap .nav-links .trace-rail .pad.is-current .pad-halo{animation:1.8s ease-out infinite pad-halo}.site-nav .nav-wrap .nav-links .trace-rail .head{fill:#fbbf24;filter:drop-shadow(0 0 4px #f59e0b)}@keyframes pad-halo{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (prefers-reduced-motion:reduce){.site-nav .trace-rail .pad.is-current .pad-halo{animation:none}.site-nav .trace-rail .trace--fill{transition:none}}.landing{--art-pad-top:6rem;--art-pad-right:3rem;--art-pad-bottom:2rem;--art-pad-left:3rem;--art-opacity:.25;isolation:isolate;background-color:var(--trend);min-height:100vh;padding:3.5rem 3rem 3rem;position:relative;overflow:hidden}.hero-art{--art-start:10%;--art-end:85%;--arty-opacity:.5;z-index:-1;pointer-events:none;background:linear-gradient(to bottom, var(--bg), var(--trend));-webkit-mask-image:linear-gradient(to top, rgba(0, 0, 0, var(--art-opacity)) var(--art-start), transparent var(--art-end));-webkit-mask-image:linear-gradient(to top, rgba(0, 0, 0, var(--art-opacity)) var(--art-start), transparent var(--art-end));mask-image:linear-gradient(to top, rgba(0, 0, 0, var(--art-opacity)) var(--art-start), transparent var(--art-end));position:absolute;inset:0}.hero-art svg{width:100%;height:100%;display:block}.hero{text-align:center;background:0 0;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:100%;margin:0;padding:4rem 0;display:flex;position:relative}.hero .tagline{color:var(--orange);margin:0 0 .5rem}.hero .hero-title{background-color:var(--trend);width:100%;color:var(--header-accent);padding:2rem}.hero h1{max-width:25ch;color:var(--on-surface);margin:0;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.1}.hero .company-name{letter-spacing:.05em;margin-bottom:.5rem;font-size:clamp(2.5rem,8vw,52pt)}.hero .lede{opacity:.85;max-width:60ch}.design{height:auto;min-height:100vh;padding:4rem 3rem 3rem}.design .wrap{max-width:none;margin:0;padding:0}.design .container-body{padding:2rem 14rem}.design .section-head{align-items:baseline;gap:1rem;margin:1rem 0;display:flex}.design .section-head h2{margin:0}.design .section-head .count{color:var(--cool)}.shell{align-items:center;height:auto;min-height:100vh;padding:2rem 3rem 3rem;display:flex}.shell-lede{opacity:.8;max-width:100%;margin:.5rem 0 2rem}.info-grid{gap:1rem;width:100%;display:grid}.info-card{border:1px solid color-mix(in srgb, var(--on-surface) 20%, transparent);border-left:3px solid var(--warn);border-radius:6px;flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex}.info-card h3{color:var(--header-accent);margin:0 0 .5rem;font-size:1.15rem}.info-card p{opacity:.85;margin:0 0 1rem}.info-tags{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.info-tags li{border:1px solid var(--blue);color:var(--blue);border-radius:3px;padding:.15rem .5rem;font-size:.75rem}.consultancy{flex-direction:column;align-items:center;width:100%;height:100vh;display:flex}.consultancy .container-body{padding:2rem 16rem}.products{height:auto;min-height:100vh;padding:4rem 3rem 3rem}.products .wrap{max-width:none;margin:0;padding:0}.products .section-head{align-items:baseline;gap:1rem;margin:1rem 0;display:flex}.products .section-head h2{margin:0}.products .section-head .count{color:var(--cool)}.grid{grid-template-columns:repeat(auto-fit,minmax(296px,1fr));gap:1.25rem;display:grid}.projects{height:calc(var(--panels) * 100vh);position:relative}.projects__stage{flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:clip}.projects__track{min-height:0;width:calc(var(--panels) * 100%);will-change:transform;flex:1;display:flex}.projects__panel{flex:0 0 calc(100% / var(--panels));min-width:0;height:100%;overflow:clip}.projects__panel>*{height:100%}@media (width<=900px),(prefers-reduced-motion:reduce){.projects{height:auto}.projects__stage{height:auto;position:static;overflow:visible}.projects__track{flex-direction:column;width:100%;transform:none!important}.projects__panel{flex-basis:auto;height:auto}}.grid{grid-template-columns:repeat(auto-fit,minmax(296px,1fr));gap:1.25rem;padding:0 3rem;display:grid}.card{border:1px solid color-mix(in srgb, var(--on-surface) 20%, transparent);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.card:hover{border-color:var(--orange)}.card-art{background:color-mix(in srgb, var(--green) 25%, transparent);place-items:center;padding:1rem;display:grid}.card-body{flex-direction:column;flex:1;justify-content:space-between;gap:.5rem;padding:1rem;display:flex}.card-title{margin:0;font-size:1.05rem}.card-desc{opacity:.8;flex:1;margin:0;font-size:.9rem}.card-actions{gap:.5rem;display:flex}.site-footer{min-height:100vh;color:var(--on-surface);flex-direction:column;justify-content:center;padding:4rem 3rem 1.5rem;display:flex}.site-footer .mono{font-family:IBM Plex Mono,monospace}.site-footer .wrap{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:3rem;max-width:none;margin:0;padding:0;display:grid}.site-footer h3{color:var(--header-accent);margin:0 0 1rem}.site-footer p{opacity:.85;max-width:60ch;margin:0 0 1rem}.site-footer .social-row{gap:.75rem;display:flex}.site-footer .social-row a{width:36px;height:36px;color:var(--on-surface);border:1px solid var(--header-accent);border-radius:4px;place-items:center;transition:color .15s,border-color .15s;display:grid}.site-footer .social-row a:hover,.site-footer .social-row a:focus-visible{color:var(--warn);border-color:var(--warn)}.site-footer .contact-line{border-bottom:1px dashed color-mix(in srgb, var(--on-surface) 25%, transparent);align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.site-footer .contact-line svg{color:var(--header-accent);flex:none}.site-footer form{gap:.9rem;max-width:420px;display:grid}.site-footer .field{gap:.3rem;display:grid}.site-footer .field label{opacity:.8;font-size:.85rem}.site-footer .field input,.site-footer .field textarea{font:inherit;color:var(--on-surface);border:1px solid color-mix(in srgb, var(--on-surface) 25%, transparent);background:0 0;border-radius:4px;padding:.55rem .7rem}.site-footer .field input:focus-visible,.site-footer .field textarea:focus-visible{outline:2px solid var(--warn);outline-offset:1px;border-color:var(--warn)}.site-footer .field textarea{resize:vertical;min-height:110px}.site-footer .check-row{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.site-footer .check-row input{accent-color:var(--warn)}.site-footer .btn{font:inherit;cursor:pointer;color:var(--p-dark);background:var(--warn);border:1px solid var(--warn);border-radius:4px;justify-self:start;padding:.55rem 1.2rem;font-weight:600}.site-footer .btn:hover:not(:disabled){filter:brightness(1.1)}.site-footer .btn:disabled{opacity:.6;cursor:progress}.site-footer .form-status{margin:0;font-size:.9rem}.site-footer .form-status.ok{color:var(--green)}.site-footer .copyright{opacity:.6;border-top:1px solid color-mix(in srgb, var(--on-surface) 25%, transparent);margin-top:3rem;padding-top:1rem;font-size:.8rem}.modal-backdrop{z-index:50;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--bg);width:min(840px,100%);max-height:98vh;color:var(--on-surface);border:1px solid var(--cool);border-radius:8px;padding:1.5rem;overflow-y:auto}.modal h4{color:var(--warn);margin:1.25rem 0 .4rem}.modal small{opacity:.7}.modal-top{justify-content:space-between;align-items:center;display:flex}.modal-top h2{margin:0}.modal-media{border:1px solid color-mix(in srgb, var(--on-surface) 20%, transparent);border-radius:6px;place-items:center;min-height:200px;margin:1rem 0 .5rem;display:grid;overflow-x:hidden}.modal-media iframe{aspect-ratio:16/9;border:0;width:100%}.modal-dots{flex-wrap:wrap;gap:.5rem;display:flex}.modal-dots button{font:inherit;cursor:pointer;color:var(--on-surface);border:1px solid var(--cool);background:0 0;border-radius:3px;padding:.2rem .6rem;font-size:.8rem}.modal-dots button[aria-pressed=true]{background:var(--cool);color:var(--p-dark)}.specs div{border-bottom:1px dashed color-mix(in srgb, var(--on-surface) 25%, transparent);justify-content:space-between;gap:1rem;padding:.35rem 0;display:flex}.specs dt{opacity:.8}.specs dd{text-align:right;margin:0}.modal-foot{justify-content:flex-end;margin-top:1.25rem;display:flex}.pad-btn{cursor:pointer;font:inherit;color:var(--on-surface);border:1px solid var(--on-surface);background:0 0;border-radius:4px;justify-content:center;align-items:center;gap:.4rem;width:50px;height:50px;padding:.4rem .8rem;display:inline-flex}.pad-btn.is-active{color:var(--bg);background:var(--orange);border-color:var(--copper)}.pad-btn:hover{border-color:var(--orange)}.magnifier{cursor:crosshair;touch-action:none;width:100%;position:relative}.magnifier img{-webkit-user-select:none;user-select:none;object-fit:cover;width:100%;height:auto;display:block}.magnifier-lens{z-index:100;pointer-events:none;background-repeat:no-repeat;background-color:var(--bg,#1f2937);box-shadow:0 0 0 2px var(--cool,#74a4bc), 0 8px 24px #00000080;will-change:transform;border-radius:5%;position:fixed;top:0;left:0}
