:root{--bg:#f5f4ef;--ink:#1b1e1b;--muted:#6b706a;--line:#dddcd3;--grid:rgba(27,30,27,0.07);--accent:#1f6b47;--accent-ink:#fff;--copper:#b8733a;--shadow:rgba(27,30,27,0.28);--sheet:#fdfcf8}@media (prefers-color-scheme:dark){:root{--bg:#121513;--ink:#e9ebe6;--muted:#8f968e;--line:#2a2f2b;--grid:rgba(233,235,230,0.05);--accent:#4cb582;--accent-ink:#0d120f;--copper:#d6925a;--shadow:rgba(0,0,0,0.6);--sheet:#1b1f1c}}*,:after,:before{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:Huninn,system-ui,sans-serif;color:var(--ink);background-color:var(--bg);background-image:radial-gradient(var(--grid) 1px,transparent 1.2px);background-size:24px 24px;-webkit-font-smoothing:antialiased}.page{height:100dvh;max-width:1240px;margin:0 auto;padding:clamp(20px,4vh,40px) clamp(20px,5vw,56px);display:grid;grid-template-rows:auto 1fr auto auto;gap:clamp(16px,3vh,32px);overflow:hidden}.top{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;font-size:15px}.wordmark{font-size:18px;color:inherit;text-decoration:none}.nav{display:flex;flex-wrap:wrap;gap:6px 22px}.nav a{color:var(--muted);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center;min-height:0}.eyebrow{margin:0 0 clamp(10px,2vh,16px);color:var(--copper);font-size:15px;letter-spacing:.04em}h1{margin:0;font-weight:400;font-size:clamp(34px,min(4.6vw,7.5vh),60px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}.lede{margin:clamp(14px,2.6vh,24px) 0 0;max-width:32em;color:var(--muted);font-size:clamp(16px,1.3vw,18px);line-height:1.6}.actions{margin-top:clamp(18px,3.5vh,32px);display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.button{display:inline-block;padding:13px 24px;border-radius:999px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-size:16px;transition:transform .15s ease,filter .15s ease}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.email{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}.email:hover{border-color:var(--ink)}a:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.board{margin:0;display:grid;justify-items:center;gap:8px;min-height:0;perspective:1600px}.stack{--rx:0deg;--ry:0deg;--gap:clamp(22px,4.4vh,44px);position:relative;width:min(46%,calc(100dvh*0.5 - 150px));aspect-ratio:1;margin:calc(var(--gap)*5.4) 14% calc(var(--gap)*0.9) 0;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateX(56deg) rotate(-38deg);will-change:transform}.layer{position:absolute;inset:0;border-radius:1.5%;transform:translate3d(0,calc(var(--i)*-5%),calc(var(--i)*var(--gap)));transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.stack:not(.is-exploded) .layer{transform:translateZ(calc(var(--i)*2px))}.layer-schematic{--i:0;background:var(--sheet);box-shadow:0 0 0 1px var(--line),0 30px 50px -20px var(--shadow)}.layer-schematic img{position:absolute;inset:4%;width:92%;height:92%;mix-blend-mode:multiply}@media (prefers-color-scheme:dark){.layer-schematic img{filter:invert(1) hue-rotate(180deg) brightness(.9);mix-blend-mode:screen}}.layer-parts{--i:1}.layer-parts img{display:block;width:100%;height:100%;filter:drop-shadow(0 6px 6px var(--shadow))}.layer-copper:before{content:"";position:absolute;inset:0;background:var(--copper);-webkit-mask:var(--art) center/100% 100% no-repeat;mask:var(--art) center/100% 100% no-repeat}.layer-bottom{--i:2}.layer-bottom:before{--art:url(bottom_copper.753619cf.webp);opacity:.55}.layer-5v{--i:3}.layer-5v:before{--art:url(5v_plane.dfae7793.webp);opacity:.32}.layer-gnd{--i:4}.layer-gnd:before{--art:url(gnd_plane.30469d41.webp);opacity:.32}.layer-top{--i:5}.layer-top:before{--art:url(top_copper.aae0e79b.webp)}.layer-board{--i:6;box-shadow:0 0 0 1px rgba(0,0,0,.35)}.layer-board img{display:block;width:100%;height:100%;border-radius:inherit}.leds{position:absolute;inset:0;display:grid;grid-template-columns:repeat(16,1fr);grid-template-rows:repeat(16,1fr)}.cell,.leds{transform-style:preserve-3d}.cell{--w:0;position:relative}.cell:before,.led{position:absolute;left:20.7%;top:22.7%;width:58.6%;height:54.6%;pointer-events:none}.led{background:url(led.945fe713.png) 50%/100% 100%;border-radius:8%;transform:translateZ(calc(var(--w)*var(--gap)*0.8))}.led:after{content:"";position:absolute;inset:18% 28%;border-radius:30%;background:hsl(var(--hue,0) 100% 62%);box-shadow:0 0 6px 2px hsl(var(--hue,0) 100% 60%/.8);opacity:min(1,calc(var(--w)*1.6))}.cell:before{content:"";border-radius:20%;background:rgba(0,0,0,.55);filter:blur(1.5px);opacity:var(--w)}.tag{position:absolute;left:103%;bottom:4%;white-space:nowrap;color:var(--muted);font-size:12px;transition:opacity .6s ease .4s}.tag:before{content:"";display:inline-block;width:16px;height:1px;margin-right:7px;vertical-align:middle;background:var(--copper)}.stack:not(.is-exploded) .tag{opacity:0;transition-delay:0s}.board figcaption{display:grid;justify-items:center;align-items:center;color:var(--muted);font-size:14px;text-align:center}.caption,.hint{grid-area:1/1;transition:opacity .5s ease,transform .5s ease}.hint{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font-size:13px;white-space:nowrap;opacity:0;transform:translateY(4px);pointer-events:none}.hint-cursor{width:14px;height:14px;background:var(--ink);-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1.5v11.2l3-2.9 2 4.6 2-.9L8 9h4.2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1.5v11.2l3-2.9 2 4.6 2-.9L8 9h4.2z'/%3E%3C/svg%3E") center/contain no-repeat;animation:hint-cursor 2.4s ease-in-out infinite}@keyframes hint-cursor{0%,to{transform:translate(-2px,1px)}50%{transform:translate(3px,-2px)}}.board.show-hint .hint{opacity:1;transform:none}.board.show-hint .caption{opacity:0;transform:translateY(-4px)}.services ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(16px,2.5vw,32px);counter-reset:svc}.services li{counter-increment:svc;padding-top:clamp(12px,2vh,18px);border-top:1px solid var(--line)}.services h2{margin:0;font-weight:400;font-size:17px}.services h2:before{content:counter(svc,decimal-leading-zero);margin-right:10px;color:var(--copper);font-size:13px}.services p{margin:6px 0 0;line-height:1.5}.bottom,.services p{color:var(--muted);font-size:14px}.bottom{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.boards{display:flex;flex-wrap:wrap;gap:6px 20px}.boards .label{color:var(--ink)}.note{white-space:nowrap}.quote{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink);box-shadow:0 30px 80px -20px var(--shadow)}.quote::backdrop{background:rgba(10,12,10,.45);backdrop-filter:blur(3px)}.quote[open]{animation:quote-in .22s ease-out}@keyframes quote-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.quote-done,.quote-form{display:grid;gap:14px;padding:24px clamp(18px,4vw,28px) 26px}.quote-head{display:flex;justify-content:space-between;align-items:center}.quote h2{margin:0;font-weight:400;font-size:24px}.quote-close{width:32px;height:32px;border:0;border-radius:50%;background:none;color:var(--muted);font:inherit;font-size:22px;line-height:1;cursor:pointer}.quote-close:hover{background:var(--line);color:var(--ink)}.quote-done p,.quote-intro{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.quote-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote label{display:grid;gap:6px;font-size:14px}.quote .optional{color:var(--muted);font-size:12px}.quote input,.quote select,.quote textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--sheet);color:var(--ink);font:inherit;font-size:15px}.quote textarea{resize:vertical;min-height:96px;line-height:1.5}.quote input::placeholder,.quote textarea::placeholder{color:var(--muted);opacity:.8}.quote input:focus,.quote select:focus,.quote textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.quote [aria-invalid=true]{border-color:#c4553a}.quote-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote-turnstile:empty{display:none}.quote-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.quote button.button{border:0;font:inherit;font-size:16px;cursor:pointer}.quote button.button:disabled{opacity:.5;cursor:default;transform:none;filter:none}.quote-status{margin:0;color:var(--muted);font-size:14px}.quote-status.is-error{color:#c4553a}.quote-done{justify-items:start}.quote-done[hidden],.quote-form[hidden]{display:none}@media (max-height:600px),(max-width:900px){.page{height:auto;min-height:100dvh;overflow:visible;grid-template-rows:none;align-content:start;gap:48px}.main{grid-template-columns:minmax(0,1fr)}.stack{width:52%}.services ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 24px}.bottom{flex-direction:column}.note{white-space:normal}}@media (max-width:520px){.quote-row,.services ol{grid-template-columns:minmax(0,1fr)}}
/*# sourceMappingURL=home.0c54aad9.css.map */