@font-face{font-family:Geist Pixel;src:url(/assets/fonts/GeistPixel-Regular-VariableFont_ELSH.ttf)format("truetype");font-style:normal;font-weight:400 900;font-display:swap}@font-face{font-family:Geist;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{overscroll-behavior-y:none;scroll-behavior:smooth}body{--chrome-inset:24px;background:#000a36;font-family:Geist Pixel,Geist,Courier New,monospace;overflow-x:clip}body.has-project-dialog{top:var(--dialog-scroll-lock-top);width:100%;position:fixed;left:0;right:0;overflow:hidden}body.is-pixel-transitioning{overflow:hidden}.pixel-transition-canvas{z-index:100;opacity:1;pointer-events:none;background:#000a36;width:100vw;height:100dvh;transition:opacity .14s steps(4,end);display:block;position:fixed;inset:0}.pixel-transition-canvas.is-hiding{opacity:0}.site-brand{top:var(--chrome-inset);left:var(--chrome-inset);z-index:10;color:#f2ffb0;letter-spacing:0;text-transform:uppercase;white-space:nowrap;font-family:inherit;font-size:clamp(.74rem,1.2vw,.92rem);font-weight:400;line-height:1;text-decoration:none;position:fixed}.site-brand:hover,.site-brand:focus-visible{color:#fff}.site-brand:focus-visible{outline-offset:4px;outline:1px solid}.site-meta{top:var(--chrome-inset);right:var(--chrome-inset);z-index:10;color:#f2ffb0db;letter-spacing:0;text-transform:uppercase;justify-items:end;gap:4px;font-family:inherit;font-size:clamp(.62rem,.9vw,.78rem);font-weight:400;line-height:1.08;display:grid;position:fixed}.site-meta span,.site-meta time{display:block}.site-nav{--render-progress:0;--nav-open-width:min(620px, calc(100vw - 32px));top:var(--chrome-inset);z-index:10;width:calc(48px + (var(--nav-open-width) - 48px) * var(--render-progress));min-height:48px;padding:0 calc(8px + 22px * var(--render-progress));border:1px solid rgba(242, 255, 176, calc(.35 + .3 * var(--render-progress)));background:repeating-linear-gradient(90deg, rgba(242, 255, 176, calc(.06 * var(--render-progress))) 0 2px, transparent 2px 10px), repeating-linear-gradient(0deg, rgba(242, 255, 176, calc(.04 * var(--render-progress))) 0 2px, transparent 2px 8px), rgba(0, 10, 54, calc(.52 + .24 * var(--render-progress)));box-shadow:0 0 0 2px rgba(0, 10, 54, calc(.16 * var(--render-progress))), 0 12px 0 rgba(0, 10, 54, calc(.1 + .12 * var(--render-progress)));border-radius:0;justify-content:center;align-items:center;gap:clamp(10px,3vw,34px);font-family:inherit;transition:width .24s,padding .24s,background-color .24s,border-color .24s,box-shadow .24s;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.site-nav:before{border:1px solid rgba(242, 255, 176, calc(.12 + .28 * var(--render-progress)));content:"";opacity:var(--render-progress);pointer-events:none;transform:translateY(calc((1 - var(--render-progress)) * -4px));transition:opacity .18s,transform .18s;position:absolute;inset:4px}.site-nav:after{background:linear-gradient(90deg, transparent, rgba(242, 255, 176, calc(.12 * var(--render-progress))), transparent);content:"";opacity:var(--render-progress);pointer-events:none;transform:translateX(calc(-72% + 144% * var(--render-progress)));transition:opacity .18s,transform .26s steps(5,end);position:absolute;inset:0}.site-nav a{z-index:1;color:#f2ffb0;letter-spacing:0;text-transform:uppercase;opacity:0;white-space:nowrap;flex:none;font-family:inherit;font-size:clamp(.74rem,1.7vw,.86rem);font-weight:400;text-decoration:none;transition:opacity .19s,transform .19s;position:relative;transform:translateY(-8px)}.site-nav a:hover,.site-nav a:focus-visible{color:#fff}.site-nav a:after{content:"";opacity:0;transform-origin:0;background:currentColor;height:1px;transition:opacity .12s,transform .12s steps(3,end);position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after{opacity:1;transform:scaleX(1)}.site-nav a:focus-visible{outline-offset:6px;outline:1px solid}.site-nav a.is-visible{opacity:1;transform:translateY(0)}.hero-stage{height:460dvh;position:relative}.scroll-anchor{position:absolute;top:284dvh;left:0}.hero-sticky{--hero-scale:1;--hero-origin-x:53%;--hero-origin-y:48%;--blue-opacity:0;--about-progress:0;--about-line-progress:0;--about-type-progress:0;--about-panel-y:50dvh;--about-enter-y:0px;overflow-anchor:none;background:#000a36;min-height:100dvh;position:sticky;top:0;overflow:hidden}.hero-visual{position:absolute;inset:0;overflow:hidden}.hero-visual:after{z-index:2;content:"";opacity:var(--blue-opacity);pointer-events:none;background:#000a36;position:absolute;inset:0}.hero-title{--title-mask:100%;--title-opacity:0;z-index:3;border:1px solid rgba(242, 255, 176, calc(.25 + .4 * var(--title-opacity)));background:repeating-linear-gradient(90deg, rgba(242, 255, 176, calc(.06 * var(--title-opacity))) 0 2px, transparent 2px 10px), repeating-linear-gradient(0deg, rgba(242, 255, 176, calc(.04 * var(--title-opacity))) 0 2px, transparent 2px 8px), rgba(0, 10, 54, calc(.52 + .24 * var(--title-opacity)));box-shadow:0 0 0 2px rgba(0, 10, 54, calc(.16 * var(--title-opacity))), 0 12px 0 rgba(0, 10, 54, calc(.1 + .12 * var(--title-opacity)));color:#f2ffb0;clip-path:inset(0 var(--title-mask) 0 0);letter-spacing:0;opacity:var(--title-opacity);text-transform:none;white-space:nowrap;margin:0;padding:clamp(8px,1.6vw,16px) clamp(10px,2vw,22px);font-family:inherit;font-size:clamp(2.1rem,8vw,7.8rem);font-weight:400;line-height:.82;transition:background-color .24s,border-color .24s,box-shadow .24s,clip-path .24s,opacity .24s;position:absolute;bottom:clamp(22px,5vw,56px);left:clamp(18px,5vw,64px)}.about-content{top:var(--about-panel-y);z-index:3;overflow-anchor:none;width:min(1050px,100vw - 48px);opacity:var(--about-progress);transform:translate(-50%, var(--about-enter-y));transition:opacity 90ms steps(4,end);position:absolute;left:50%}.about-card{--about-border:rgba(242, 255, 176, calc(.18 + .42 * var(--about-line-progress)));border:1px solid var(--about-border);background:repeating-linear-gradient(90deg, rgba(242, 255, 176, calc(.06 * var(--about-progress))) 0 2px, transparent 2px 10px), repeating-linear-gradient(0deg, rgba(242, 255, 176, calc(.04 * var(--about-progress))) 0 2px, transparent 2px 8px), rgba(0, 10, 54, calc(.52 + .24 * var(--about-progress)));width:100%;box-shadow:0 0 0 2px rgba(0, 10, 54, calc(.16 * var(--about-progress))), 0 12px 0 rgba(0, 10, 54, calc(.1 + .12 * var(--about-progress)));padding:clamp(14px,2.4vw,28px) clamp(16px,3vw,36px);transition:background 80ms steps(2,end),border-color 80ms steps(2,end),box-shadow 80ms steps(2,end);position:relative;overflow:hidden}.about-card:after,.value-card:after{z-index:1;content:"";opacity:calc((1 - var(--about-line-progress)) * .5);pointer-events:none;transform:translateX(calc((1 - var(--about-line-progress)) * -8px));background:repeating-linear-gradient(90deg,#f2ffb01a 0 1px,#0000 1px 8px),repeating-linear-gradient(0deg,#f2ffb014 0 1px,#0000 1px 6px);animation:.22s steps(2,end) infinite signalJitter;position:absolute;inset:0}.about-card>*,.value-card>*{z-index:2;position:relative}.about-title{color:#f2ffb0;letter-spacing:0;min-height:1.84em;margin:0;font-family:inherit;font-size:clamp(2rem,6vw,6.4rem);font-weight:400;line-height:.92}.about-subtitle{color:#f2ffb0e6;letter-spacing:0;max-width:920px;min-height:4.8em;margin:clamp(18px,2.6vw,30px) 0 0;font-family:inherit;font-size:clamp(1rem,1.8vw,1.55rem);font-weight:400;line-height:1.18}.about-subtitle:after{content:"";width:.08em;height:.78em;opacity:var(--about-type-progress);background:#f2ffb0e6;margin-left:.08em;display:inline-block;transform:translateY(.1em)}.value-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:clamp(20px,3vw,34px);display:grid}.value-card{--value-progress:0;--value-line-progress:0;--value-type-progress:0;--value-border:rgba(242, 255, 176, calc(.18 + .42 * var(--value-line-progress)));border:1px solid var(--value-border);background:repeating-linear-gradient(90deg, rgba(242, 255, 176, calc(.06 * var(--value-progress))) 0 2px, transparent 2px 10px), repeating-linear-gradient(0deg, rgba(242, 255, 176, calc(.04 * var(--value-progress))) 0 2px, transparent 2px 8px), rgba(0, 10, 54, calc(.52 + .24 * var(--value-progress)));min-height:clamp(150px,17vw,210px);box-shadow:0 0 0 2px rgba(0, 10, 54, calc(.16 * var(--value-progress))), 0 12px 0 rgba(0, 10, 54, calc(.1 + .12 * var(--value-progress)));opacity:var(--value-progress);transform:translateY(calc((1 - var(--value-progress)) * 14px));padding:clamp(16px,2vw,26px);transition:background 80ms steps(2,end),border-color 80ms steps(2,end),box-shadow 80ms steps(2,end),opacity 90ms steps(4,end),transform 90ms steps(4,end);position:relative;overflow:hidden}.value-card:after{opacity:calc((1 - var(--value-line-progress)) * .45);transform:translateX(calc((1 - var(--value-line-progress)) * 7px))}@keyframes signalJitter{0%,to{background-position:0 0,0 0}50%{background-position:6px 0,0 3px}}.value-card h3,.value-card p{letter-spacing:0;margin:0;font-family:inherit;font-weight:400}.value-card h3{color:#f2ffb0;min-height:1.08em;font-size:clamp(1.2rem,2.5vw,2.25rem);line-height:1}.value-card p{color:#f2ffb0c7;min-height:4.2em;margin-top:clamp(12px,1.6vw,18px);font-size:clamp(.86rem,1.15vw,1.05rem);line-height:1.25}.value-card p:after{content:"";width:.08em;height:.78em;opacity:var(--value-type-progress);background:#f2ffb0c7;margin-left:.08em;display:inline-block;transform:translateY(.1em)}.about-title:after{content:"";width:.08em;height:.72em;opacity:var(--about-type-progress);background:#f2ffb0;margin-left:.08em;display:inline-block;transform:translateY(.08em)}.hero-visual>img{object-fit:cover;width:100%;height:100dvh;transform:scale(var(--hero-scale));transform-origin:var(--hero-origin-x) var(--hero-origin-y);will-change:transform;display:block;position:absolute;inset:0}.works-section{height:calc(100dvh + var(--works-scroll-distance,520svh));background:#000a36;position:relative}.contact-scroll-target{pointer-events:none;width:1px;height:1px;position:absolute;top:calc(100% - 100dvh);left:0}.works-sticky{--works-scale:1;--works-translate-x:0px;--works-translate-y:0px;--works-scene-opacity:1;--monitor-screen-opacity:0;--mail-window-progress:0;background:#000a36;height:100dvh;min-height:100dvh;position:sticky;top:0;overflow:hidden}.works-sticky>#works-frame{object-fit:cover;width:100%;height:100dvh;opacity:var(--works-scene-opacity);transform:translate3d(var(--works-translate-x), var(--works-translate-y), 0) scale(var(--works-scale));transform-origin:50%;will-change:opacity, transform;display:block;position:absolute;inset:0}.blog-section{z-index:1;color:#f2ffb0;background:linear-gradient(#f2ffb01a,#f2ffb01a) 0 0/100% 1px no-repeat,#000a36;min-height:100dvh;padding:clamp(110px,14vw,170px) clamp(18px,5vw,64px) clamp(80px,10vw,130px);position:relative}.blog-page-section{background:#000a36;padding-top:clamp(124px,14vw,178px)}.blog-inner{width:100%}.blog-heading{margin-bottom:clamp(26px,4vw,48px)}.blog-kicker,.blog-post h3,.blog-tags,.blog-meta,.blog-meta dd{letter-spacing:0;margin:0}.blog-kicker{color:#f2ffb0b8;text-transform:uppercase;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(1.35rem,3.1vw,2.7rem);line-height:1}.blog-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.blog-list-item{border-top:1px solid #f2ffb06b}.blog-list-item:last-child{border-bottom:1px solid #f2ffb06b}.blog-post-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.blog-post-link:focus-visible{outline-offset:8px;outline:1px solid #f2ffb0}.blog-post{grid-template-columns:44px minmax(0,1fr) minmax(260px,.28fr);align-items:start;gap:clamp(18px,3vw,38px);padding:clamp(16px,2.2vw,28px) 0 clamp(28px,4vw,42px);display:grid}.blog-index{color:#f2ffb08a;font-size:clamp(.86rem,1.4vw,1.05rem);line-height:1}.blog-post-main{gap:clamp(12px,1.7vw,18px);display:grid}.blog-post h3{color:#f2ffb0;text-underline-offset:.12em;max-width:none;font-size:clamp(1.85rem,4vw,4.1rem);font-weight:400;line-height:.94;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:.05em;transition:color .16s,text-decoration-color .16s}.blog-post-link:hover .blog-post h3,.blog-post-link:focus-visible .blog-post h3{color:#fff;text-decoration-color:currentColor}.blog-read-link{color:#f2ffb0c7;width:fit-content;font-size:clamp(.76rem,1.1vw,.92rem);line-height:1;text-decoration:none}.blog-post-link:hover .blog-read-link,.blog-post-link:focus-visible .blog-read-link{color:#fff;text-underline-offset:4px;text-decoration:underline}.blog-post-aside{text-align:right;align-self:end;justify-items:end;gap:18px;display:grid}.blog-tags{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0;list-style:none;display:flex}.blog-tags li{color:#f2ffb0d6;text-transform:uppercase;border:1px solid #f2ffb061;padding:6px 8px 7px;font-size:clamp(.74rem,1.2vw,.9rem);line-height:1}.blog-meta{justify-items:end;gap:14px;display:grid}.blog-meta div{gap:7px;display:grid}.blog-meta dt{color:#f2ffb094;text-transform:uppercase;font-size:clamp(.68rem,1vw,.78rem);line-height:1}.blog-meta dd{color:#f2ffb0e6;font-size:clamp(.9rem,1.4vw,1.08rem);line-height:1.08}.lab-section{z-index:1;color:#f2ffb0;background:linear-gradient(#f2ffb01a,#f2ffb01a) 0 0/100% 1px no-repeat,#000a36;place-items:center;min-height:100dvh;padding:clamp(110px,14vw,170px) clamp(18px,5vw,64px) clamp(80px,10vw,130px);display:grid;position:relative}.lab-page-section{align-items:start;padding-top:clamp(118px,10vw,140px)}.lab-inner{width:min(960px,100%)}.lab-heading{margin-bottom:clamp(30px,4vw,48px)}.lab-kicker,.lab-title,.lab-description,.lab-entry h2,.lab-tags,.lab-meta,.lab-meta dd{letter-spacing:0;margin:0}.lab-kicker{color:#f2ffb0b8;text-transform:uppercase;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(1.1rem,2.2vw,2rem);line-height:1}.lab-title{color:#f2ffb0;max-width:960px;margin-top:0;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(2rem,4vw,4.2rem);font-weight:400;line-height:.94}.lab-description{color:#f2ffb0c7;max-width:680px;margin-top:clamp(18px,2.4vw,26px);font-size:clamp(.92rem,1.45vw,1.15rem);line-height:1.38}.lab-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.lab-list-item{border-top:1px solid #f2ffb06b}.lab-list-item:last-child{border-bottom:1px solid #f2ffb06b}.lab-entry-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.lab-entry-link:focus-visible{outline-offset:8px;outline:1px solid #f2ffb0}.lab-entry{grid-template-columns:38px minmax(0,1fr) minmax(230px,.28fr);align-items:start;gap:clamp(16px,2.5vw,30px);padding:clamp(14px,1.8vw,22px) 0 clamp(24px,3vw,34px);display:grid}.lab-index{color:#f2ffb08a;font-size:clamp(.72rem,1.1vw,.86rem);line-height:1}.lab-entry-main{gap:clamp(10px,1.3vw,14px);display:grid}.lab-entry h2{color:#f2ffb0;text-underline-offset:.12em;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(1.7rem,3.25vw,3.4rem);font-weight:400;line-height:.94;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:.05em;transition:color .16s,text-decoration-color .16s}.lab-entry-link:hover .lab-entry h2,.lab-entry-link:focus-visible .lab-entry h2{color:#fff;text-decoration-color:currentColor}.lab-entry-tooltip{--tooltip-x:50vw;--tooltip-y:50dvh;top:var(--tooltip-y);left:var(--tooltip-x);z-index:12;color:#f2ffb0;opacity:0;pointer-events:none;white-space:nowrap;background:#000a36eb;border:1px solid #f2ffb0b8;padding:3px 7px 4px;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(.72rem,1.15vw,1rem);font-weight:700;line-height:1;transition:opacity .12s,transform .12s;display:block;position:fixed;transform:translate(10px,12px);box-shadow:0 0 0 1px #000a36cc,0 10px 26px #000a365c}.lab-entry-tooltip.is-visible{opacity:1;transform:translate(8px,10px)}.lab-entry-aside{text-align:right;align-self:end;justify-items:end;gap:14px;display:grid}.lab-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:0;list-style:none;display:flex}.lab-tags li{color:#f2ffb0d6;text-transform:uppercase;border:1px solid #f2ffb061;padding:5px 7px 6px;font-size:clamp(.65rem,.95vw,.78rem);line-height:1}.lab-meta{justify-items:end;gap:11px;display:grid}.lab-meta div{gap:5px;display:grid}.lab-meta dt{color:#f2ffb094;text-transform:uppercase;font-size:clamp(.6rem,.8vw,.7rem);line-height:1}.lab-meta dd{color:#f2ffb0e6;font-size:clamp(.78rem,1.1vw,.94rem);line-height:1.08}.not-found-page{color:#f2ffb0;background:#000a36;min-height:100dvh;overflow:hidden}.not-found-section{isolation:isolate;place-items:center;min-height:100dvh;padding:clamp(120px,14vw,170px) clamp(18px,5vw,64px) clamp(72px,9vw,118px);display:grid;position:relative;overflow:hidden}.not-found-background{z-index:-2;object-fit:cover;object-position:center;image-rendering:auto;width:100%;height:100%;position:absolute;inset:0}.not-found-section:after{z-index:-1;content:"";background:radial-gradient(circle at 50% 45%,#000a361a,#000a3680 62%),linear-gradient(#000a3633,#000a367a);position:absolute;inset:0}.not-found-inner{text-align:center;justify-items:center;gap:clamp(24px,4vw,40px);width:min(980px,100%);display:grid}.not-found-inner h1{color:#f2ffb0;letter-spacing:0;text-shadow:0 2px #000a36b3,0 0 22px #f2ffb02e;text-transform:uppercase;max-width:980px;margin:0;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(2.85rem,8.4vw,9rem);font-weight:400;line-height:.86}.not-found-button{color:#f2ffb0;letter-spacing:0;text-transform:uppercase;background:repeating-linear-gradient(90deg,#f2ffb01a 0 2px,#0000 2px 8px),#000a36ad;border:1px solid #f2ffb08f;justify-content:center;align-items:center;min-height:44px;padding:12px 16px 13px;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(.92rem,1.65vw,1.12rem);font-weight:400;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 0 0 2px #000a3652,8px 10px #000a3638}.not-found-button:hover,.not-found-button:focus-visible{color:#fff;border-color:#ffffffd1}.not-found-button:focus-visible{outline-offset:6px;outline:1px solid}.article-page{color:#f2ffb0;background:#000a36;min-height:100dvh;font-family:Geist,Inter,Arial,sans-serif}.article-shell{width:min(1120px,100vw - 36px);margin:0 auto;padding:clamp(104px,12vw,142px) 0 clamp(80px,10vw,130px)}.article-back-slot{min-height:calc(1em + 18px);margin-bottom:clamp(42px,6vw,76px)}.article-back{z-index:9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f2ffb0b8;text-transform:uppercase;background:#000a36c7;border:1px solid #f2ffb057;align-items:center;width:fit-content;padding:8px 10px 9px;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(.72rem,1vw,.86rem);line-height:1;text-decoration:none;transition:top .22s,left .22s,transform .22s,background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex;position:relative;box-shadow:0 12px 34px #000a3638}.article-back.is-docked{background:#000a36e0;border-color:#f2ffb07a;animation:.22s both dockArticleBack;position:fixed;top:92px;left:clamp(18px,3vw,34px);transform:translate(0);box-shadow:0 14px 38px #000a365c,0 0 0 1px #000a3647}@keyframes dockArticleBack{0%{opacity:.72;transform:translate(-10px,-6px)}to{opacity:1;transform:translate(0)}}.article-back:hover,.article-back:focus-visible{color:#fff}.article-back:focus-visible{outline-offset:4px;outline:1px solid}.article-header{border-bottom:1px solid #f2ffb05c;padding-bottom:clamp(32px,5vw,56px)}.article-kicker,.article-description,.article-meta,.article-body h2,.article-body h3,.article-body p,.article-body ul,.article-body ol,.article-body table{margin:0}.article-kicker{color:#f2ffb09e;text-transform:uppercase;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(.72rem,1vw,.86rem);line-height:1}.article-title{color:#f2ffb0;letter-spacing:0;max-width:840px;margin:clamp(18px,2.4vw,30px) 0 0;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(2.35rem,5.7vw,5.4rem);font-weight:400;line-height:.9}.article-description{color:#f2ffb0bd;max-width:760px;margin-top:clamp(24px,3vw,34px);font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.55}.article-meta{color:#f2ffb0a8;text-transform:uppercase;flex-wrap:wrap;gap:10px 18px;margin-top:clamp(24px,3vw,34px);padding:0;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(.72rem,1vw,.86rem);line-height:1;list-style:none;display:flex}.article-body{color:#f2ffb0d1;max-width:780px;margin:clamp(42px,7vw,86px) auto 0;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.78}.article-body h2,.article-body h3{color:#f2ffb0;letter-spacing:0;font-weight:700;line-height:1.05}.article-body h2{margin-top:clamp(46px,7vw,76px);font-size:clamp(2rem,4vw,3.4rem)}.article-body h3{margin-top:clamp(34px,5vw,52px);font-size:clamp(1.4rem,2.8vw,2.25rem)}.article-body p{margin-top:22px}.article-body a{color:#fff;text-underline-offset:4px;text-decoration-color:#ffffff5c}.article-body strong{color:#fff;font-weight:700}.article-body ul{gap:10px;margin-top:24px;padding-left:1.1em;display:grid}.article-table-wrap{border:1px solid #f2ffb047;width:min(100%,100vw - 36px);margin-top:28px;overflow-x:auto}.article-body table{border-collapse:collapse;color:#f2ffb0d1;width:100%;min-width:720px;font-size:clamp(.88rem,1.2vw,1rem);line-height:1.45}.article-body th,.article-body td{text-align:left;vertical-align:top;border-bottom:1px solid #f2ffb02e;padding:12px 14px}.article-body th{color:#f2ffb0;font-weight:700}.article-body tr:last-child td{border-bottom:0}.article-notes{color:#f2ffb0ad;border-top:1px solid #f2ffb047;margin-top:clamp(42px,7vw,72px);padding-top:26px;font-size:clamp(.82rem,1.15vw,.95rem);line-height:1.55}.article-notes ol{gap:9px;margin:18px 0 0;padding-left:1.25em;display:grid}.article-notes li{scroll-margin-top:132px;transition:color .18s}.article-notes li:target{color:#fff}.article-notes li:target::marker{color:#fff}.article-footer{border-top:1px solid #f2ffb047;max-width:780px;margin:clamp(48px,7vw,78px) auto 0;padding-top:28px}.article-topics{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.article-topics li{color:#f2ffb0c7;text-transform:uppercase;border:1px solid #f2ffb052;padding:6px 8px 7px;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:.72rem;line-height:1}.monitor-project-preview{z-index:2;opacity:var(--works-scene-opacity);pointer-events:none;transform:translate3d(var(--works-translate-x), var(--works-translate-y), 0) scale(var(--works-scale));transform-origin:50vw 50dvh;will-change:opacity, transform;position:absolute;inset:0}.monitor-project-preview[hidden]{display:none}.monitor-project-preview img,.monitor-project-preview:after{top:var(--monitor-screen-top,25dvh);left:var(--monitor-screen-left,41vw);width:var(--monitor-screen-width,18vw);height:var(--monitor-screen-height,22dvh);position:absolute}.monitor-project-preview img{object-fit:cover;object-position:center top;will-change:opacity;transition:opacity .12s steps(3,end);display:block;transform:none}.monitor-project-preview:after{content:"";background:linear-gradient(#000a361a,#000a361a),repeating-linear-gradient(0deg,#000a361f 0 1px,#0000 1px 4px);border:1px solid #f2ffb052;box-shadow:inset 0 0 20px #000a363d}.project-summary{z-index:6;color:#f2ffb0;width:min(650px,100vw - 40px);opacity:var(--project-summary-opacity,0);transform:translateY(calc((1 - var(--project-summary-opacity,0)) * 14px));background:repeating-linear-gradient(90deg,#f2ffb00b 0 1px,#0000 1px 10px),#000a36f0;border:1px solid #f2ffb0b8;padding:clamp(16px,2.2vw,26px);transition:opacity .14s steps(4,end),transform .18s steps(4,end);position:absolute;bottom:clamp(20px,4vw,52px);left:clamp(20px,4vw,52px);box-shadow:0 0 0 2px #000a36bd,10px 12px #000a3661}.project-summary[hidden]{display:none}.project-summary-header,.project-summary-title-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.project-summary-count,.project-summary-industry,.project-summary-solution,.project-summary h2{letter-spacing:0;margin:0}.project-summary-count,.project-summary-industry{color:#f2ffb0b8;text-transform:uppercase;font-size:clamp(.68rem,1.1vw,.82rem);line-height:1}.project-summary-progress{grid-template-columns:repeat(4,1fr);gap:5px;width:min(210px,42%);display:grid}.project-summary-progress span{background:0 0;border:1px solid #f2ffb075;height:5px}.project-summary-progress span.is-active{background:#f2ffb0}.project-summary-title-row{align-items:flex-end;margin-top:clamp(16px,2vw,24px)}.project-summary h2{color:#f2ffb0;font-size:clamp(2rem,5vw,4.8rem);font-weight:400;line-height:.85}.project-summary-industry{text-align:right;flex:none;padding-bottom:.18em}.project-summary-solution{color:#ffffffe0;max-width:570px;margin-top:clamp(14px,1.8vw,20px);font-family:Geist,Arial,sans-serif;font-size:clamp(.96rem,1.6vw,1.18rem);line-height:1.35}.project-summary-button{color:#000a36;cursor:pointer;background:#f2ffb0;border:1px solid #f2ffb0;border-radius:0;margin-top:clamp(16px,2vw,22px);padding:9px 14px 10px;font-family:Geist Pixel,Geist,monospace;font-size:.9rem;font-weight:700;line-height:1}.project-summary-button:hover{background:#fff}.project-summary-button:focus-visible{outline-offset:4px;outline:2px solid #fff}.project-hotspot{--tooltip-x:50vw;--tooltip-y:50dvh;top:var(--monitor-screen-top,28dvh);left:var(--monitor-screen-left,41vw);z-index:4;width:var(--monitor-screen-width,18vw);height:var(--monitor-screen-height,21dvh);cursor:pointer;opacity:var(--works-scene-opacity);pointer-events:auto;transform:translate3d(var(--works-translate-x), var(--works-translate-y), 0) scale(var(--works-scale));transform-origin:calc(50vw - var(--monitor-screen-left,41vw)) calc(50dvh - var(--monitor-screen-top,28dvh));will-change:opacity, transform;display:block;position:absolute}.project-hotspot[hidden]{display:none}.project-tooltip{top:var(--tooltip-y);left:var(--tooltip-x);z-index:12;color:#f2ffb0;letter-spacing:0;opacity:0;pointer-events:none;text-transform:none;white-space:nowrap;background:#000a36eb;border:1px solid #f2ffb0b8;padding:3px 7px 4px;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(.72rem,1.15vw,1rem);font-weight:700;line-height:1;transition:opacity .12s,transform .12s;display:block;position:fixed;transform:translate(10px,12px);box-shadow:0 0 0 1px #000a36cc,0 10px 26px #000a365c}.project-hotspot.is-hovered .project-tooltip,.project-hotspot:hover .project-tooltip,.project-hotspot:focus-visible .project-tooltip,.project-tooltip.is-visible{opacity:1;transform:translate(8px,10px)}.project-dialog{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:none;background:#000a36c7;padding:24px;position:fixed;inset:0}.project-dialog[hidden]{display:none}.project-window{top:var(--project-window-top,50dvh);left:var(--project-window-left,50vw);overscroll-behavior:contain;color:#101010;-webkit-user-select:none;user-select:none;background:#ece9d8;border:2px solid #d6d3c8;width:min(980px,100vw - 48px);max-height:calc(100dvh - 48px);font-family:Geist Pixel,Geist,Courier New,monospace;position:fixed;overflow:hidden;transform:translate(-50%,-50%);box-shadow:inset 1px 1px #fff,inset -1px -1px #77746a,14px 18px #000a366b}.project-window.is-dragging{cursor:grabbing}.project-titlebar{color:#fff;text-shadow:1px 1px #00133d;cursor:move;touch-action:none;background:linear-gradient(90deg,#0a246a 0%,#3a6ea5 100%);justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:4px 5px 4px 10px;font-size:.92rem;font-weight:700;line-height:1;display:flex}.project-window.is-dragging .project-titlebar{cursor:grabbing}.project-titlebar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-close{color:#fff;cursor:pointer;background:linear-gradient(#ee9b7f,#c64b32);border:1px solid #7c3f2d;border-radius:0;flex:none;place-items:center;width:24px;height:24px;padding:0 0 2px;font-family:inherit;font-size:1rem;font-weight:700;line-height:1;display:grid;box-shadow:inset 1px 1px #ffffffc7,inset -1px -1px #4b0f0a70}.project-close:focus-visible,.project-visit-link:focus-visible{outline-offset:2px;outline:2px solid #000}.project-window-body{overscroll-behavior:contain;-webkit-user-select:text;user-select:text;-webkit-overflow-scrolling:touch;border-top:1px solid #fff;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);max-height:calc(100dvh - 86px);display:grid;overflow:auto;box-shadow:inset 0 0 0 1px #aca899}.project-dialog-preview{background:#000a36;border-right:2px solid #aca899;min-height:100%;margin:0;position:relative;overflow:hidden}.project-dialog-preview img{object-fit:cover;object-position:center top;will-change:auto;width:100%;height:100%;display:block;position:absolute;inset:0;transform:none}.project-dialog-preview:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#000a3614 0 1px,#0000 1px 5px);position:absolute;inset:0}.project-dialog-content{padding:clamp(22px,3vw,38px)}.project-window-kicker,.project-window-body h2,.project-window-body h3,.project-window-body p,.project-window-body ul{letter-spacing:0;margin:0}.project-window-kicker{color:#47516b;text-transform:uppercase;font-size:.8rem;line-height:1}.project-window-body h2{color:#000a36;margin-top:14px;font-size:clamp(2.2rem,5vw,4.7rem);font-weight:700;line-height:.9}.project-window-body p{color:#171717;font-family:Geist,Arial,sans-serif;font-size:clamp(.92rem,1.45vw,1.05rem);line-height:1.38}.project-detail-grid{gap:18px;margin-top:clamp(22px,3vw,34px);display:grid}.project-detail-grid section{border-top:1px solid #000a3638;grid-template-columns:minmax(92px,.32fr) minmax(0,1fr);gap:16px;padding-top:12px;display:grid}.project-window-body h3{color:#0a246a;text-transform:uppercase;font-size:.76rem;font-weight:700;line-height:1.1}.project-features{border-top:1px solid #000a3638;margin-top:clamp(22px,3vw,32px);padding-top:14px}.project-features ul{flex-wrap:wrap;gap:7px;margin-top:12px;padding:0;list-style:none;display:flex}.project-features li{color:#171717;border:1px solid #000a3647;padding:6px 8px 7px;font-family:Geist,Arial,sans-serif;font-size:.8rem;line-height:1}.project-dialog-footer{justify-content:space-between;align-items:flex-end;gap:20px;margin-top:clamp(24px,3vw,36px);display:flex}.project-window-body .project-stack{color:#0a246a;text-transform:uppercase;max-width:280px;font-family:Geist Pixel,Geist,monospace;font-size:clamp(.78rem,1.2vw,.94rem);font-weight:700}.project-visit-link{color:#000a36;background:#f2f0e6;border:2px solid gray;flex:none;padding:8px 14px 9px;font-size:.98rem;font-weight:700;line-height:1;text-decoration:none;display:inline-block;box-shadow:inset 1px 1px #fff,inset -1px -1px #404040}.project-visit-link:hover{background:#fff}.monitor-contact-screen{z-index:7;color:#f2ffb0;min-height:100dvh;opacity:var(--monitor-screen-opacity);pointer-events:none;background:repeating-linear-gradient(90deg,#f2ffb017 0 1px,#0000 1px 16px),repeating-linear-gradient(0deg,#f2ffb012 0 1px,#0000 1px 14px),linear-gradient(#123a2f 0%,#061f2d 100%);place-items:center;padding:clamp(18px,5vw,64px);transition:opacity 80ms linear;display:grid;position:absolute;inset:0;overflow:hidden}.monitor-contact-screen.is-interactive{pointer-events:auto}.monitor-contact-screen:before{content:"";opacity:.58;pointer-events:none;background:linear-gradient(#f2ffb01f,#0000 1px) 0 0/100% 5px,#000a362e;position:absolute;inset:0}.mail-window{top:var(--mail-window-top,50dvh);left:var(--mail-window-left,50vw);z-index:1;overscroll-behavior:contain;color:#111;width:min(680px,100%);max-height:calc(100dvh - 32px);opacity:var(--mail-window-progress);transform:translate(-50%, calc(-50% + (1 - var(--mail-window-progress)) * 30px)) scale(calc(.96 + var(--mail-window-progress) * .04));transform-origin:50% 60%;will-change:opacity, transform;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;background:#f0eddc;border:2px solid #e5e1cb;font-family:Geist Pixel,Geist,Courier New,monospace;transition:opacity .12s,transform .12s;position:fixed;overflow-y:auto;box-shadow:inset 2px 2px #fff,inset -2px -2px #787464,16px 18px #000a367a}.mail-window.is-dragging{cursor:grabbing}.mail-window-titlebar{color:#f2ffb0;cursor:move;touch-action:none;text-transform:uppercase;background:repeating-linear-gradient(90deg,#ffffff1a 0 2px,#0000 2px 8px),#071b49;border-bottom:2px solid #030f29;align-items:center;min-height:38px;padding:7px 12px 8px;font-size:clamp(.82rem,1.5vw,1rem);font-weight:700;line-height:1;display:flex}.mail-window.is-dragging .mail-window-titlebar{cursor:grabbing}.mail-window-fields{background:#ddd8c3;border-bottom:2px solid #c5c0aa;gap:0;display:grid}.mail-window-fields p{border-bottom:1px solid #000a3638;grid-template-columns:minmax(72px,.18fr) minmax(0,1fr);gap:12px;margin:0;padding:10px 12px;font-size:clamp(.84rem,1.55vw,1rem);line-height:1.1;display:grid}.mail-window-fields p:last-child{border-bottom:0}.mail-window-fields span{color:#404040;text-transform:uppercase}.mail-window-fields strong{overflow-wrap:anywhere;color:#000a36;font-weight:700}.mail-window-body{-webkit-user-select:text;user-select:text;padding:clamp(22px,4vw,40px);box-shadow:inset 0 0 0 1px #fff}.mail-window-body h2,.mail-window-body p,.mail-window-email{letter-spacing:0;margin:0}.mail-window-body h2{color:#000a36;max-width:600px;font-family:Geist Pixel,Geist,Courier New,monospace;font-size:clamp(2rem,5.4vw,4.7rem);font-weight:400;line-height:.88}.mail-window-body p{color:#171717;max-width:520px;margin-top:clamp(18px,2.8vw,26px);font-size:clamp(1rem,2.1vw,1.28rem);line-height:1.25}.mail-window-email{color:#171717;overflow-wrap:anywhere;width:fit-content;max-width:100%;margin-top:clamp(18px,2.8vw,26px);font-size:clamp(1rem,2.1vw,1.28rem);line-height:1.25;text-decoration:none;display:inline-block}.mail-window-email:hover,.mail-window-email:focus-visible,.mail-window-email.is-lit{animation:.62s step-end both mailFocusIgnition}.mail-window-email:focus-visible{outline-offset:5px;outline:2px solid #48bcff}.mail-window-button{color:#000a36;background:#f8f6ea;border:2px solid gray;align-items:center;margin-top:clamp(22px,3vw,32px);padding:10px 16px 11px;font-size:clamp(.95rem,1.8vw,1.08rem);font-weight:700;line-height:1;text-decoration:none;display:inline-flex;box-shadow:inset 1px 1px #fff,inset -2px -2px #404040,5px 6px #000a363d}.mail-window-button:hover{background:#fff}.mail-window-button:focus-visible{outline-offset:4px;outline:2px solid #f2ffb0}@media (width<=1040px){body{--chrome-inset:18px}.site-brand{overflow-wrap:anywhere;white-space:normal;max-width:calc(50vw - 28px);font-size:.68rem;line-height:1.08;left:18px}.site-meta{text-align:right;max-width:calc(50vw - 28px);font-size:.58rem;line-height:1.08;right:18px}.site-nav{--nav-open-width:calc(100vw - 36px);min-height:44px;padding:0 calc(6px + 16px * var(--render-progress));gap:clamp(8px,2.8vw,22px);top:52px}.site-nav a{font-size:clamp(.62rem,1.55vw,.78rem)}}@keyframes mailFocusIgnition{0%,20%,42%{color:#171717;text-shadow:none}12%,31%{color:#d9f4ff;text-shadow:0 0 4px #48bcffeb,0 0 12px #48bcff94}58%,to{color:#effbff;text-shadow:0 0 3px #d8f8fff2,0 0 10px #48bcffdb,0 0 24px #48bcff80}}@media (width<=560px){body{--chrome-inset:12px}.site-brand{overflow-wrap:anywhere;white-space:normal;max-width:min(46vw,190px);font-size:.62rem;line-height:1.08;left:16px}.site-meta{text-align:right;max-width:min(46vw,186px);font-size:.54rem;line-height:1.08;right:16px}.site-nav{--nav-open-width:calc(100vw - 24px);min-height:40px;padding:0 calc(4px + 8px * var(--render-progress));justify-content:space-evenly;gap:0;top:48px}.site-nav a{padding:12px 3px;font-size:clamp(.52rem,2.15vw,.64rem);line-height:1}.hero-title{font-size:clamp(1.7rem,11vw,3.55rem);bottom:24px;left:16px}.about-content{width:calc(100vw - 32px)}.about-title{font-size:clamp(2rem,12vw,4.2rem)}.about-subtitle{font-size:clamp(.9rem,4vw,1.1rem);line-height:1.22}.value-grid{grid-template-columns:1fr}.value-card{min-height:150px}.project-tooltip{display:none}.project-summary{width:auto;padding:14px;bottom:18px;left:14px;right:14px;box-shadow:0 0 0 2px #000a36bd,6px 7px #000a3661}.project-summary-title-row{align-items:start;gap:8px;display:grid}.project-summary h2{font-size:clamp(1.8rem,10.5vw,3.2rem)}.project-summary-industry{text-align:left;padding:0}.project-summary-solution{font-size:clamp(.86rem,3.7vw,1rem);line-height:1.28}.project-summary-button{margin-top:14px}.mail-window{width:min(100%,420px);box-shadow:inset 2px 2px #fff,inset -2px -2px #787464,8px 10px #000a367a}.mail-window-fields p{grid-template-columns:1fr;gap:5px}.blog-section{padding-top:124px}.lab-section{min-height:78dvh;padding-top:116px}.lab-title{font-size:clamp(1.9rem,8.8vw,2.5rem)}.not-found-section{padding-top:132px}.blog-post{grid-template-columns:1fr;align-items:start;gap:18px}.lab-entry{grid-template-columns:1fr;align-items:start;gap:15px}.blog-post-aside,.lab-entry-aside{text-align:left;justify-items:start}.blog-tags,.lab-tags{justify-content:flex-start}.blog-meta,.lab-meta{grid-template-columns:1fr;justify-items:start}.blog-index{font-size:.78rem}.lab-index{font-size:.68rem}.blog-post h3{font-size:clamp(2rem,12vw,4rem)}.lab-entry h2{font-size:clamp(1.7rem,9vw,2.6rem)}.blog-tags li{font-size:.68rem}.lab-tags li{font-size:.62rem}.article-shell{padding-top:116px}.article-back{font-size:.66rem}.article-back-slot{margin-bottom:36px}.article-back.is-docked{top:96px;left:16px}.article-title{font-size:clamp(2.3rem,12vw,4.2rem)}.project-dialog{padding:12px}.project-window{box-shadow:inset 1px 1px #fff,inset -1px -1px #77746a,8px 10px #000a366b}}@media (width<=700px){.project-window{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.project-titlebar{cursor:default}.project-window-body{grid-template-columns:1fr;max-height:calc(100dvh - 62px)}.project-dialog-preview{aspect-ratio:16/9;border-bottom:2px solid #aca899;border-right:0;min-height:210px}.project-dialog-content{padding:20px 18px 24px}.project-window-body h2{font-size:clamp(2rem,11vw,3.6rem)}.project-detail-grid section{grid-template-columns:1fr;gap:7px}.project-dialog-footer{flex-direction:column;align-items:flex-start}}@media (width<=560px),(width<=900px) and (height<=600px){.hero-stage{height:auto;min-height:100dvh}.scroll-anchor{scroll-margin-top:112px;top:100dvh}.hero-sticky{min-height:0;padding-top:100dvh;position:relative;top:auto;overflow:visible}.hero-visual{height:100dvh;inset:0 0 auto}.hero-visual:after{inset:0}.hero-visual>img{height:100dvh;inset:0 0 auto}.hero-title{top:calc(100dvh - 24px);bottom:auto;transform:translateY(-100%)}.about-content{width:min(1050px,100vw - 32px);margin:0 auto;padding:24px 0 64px;position:relative;top:auto;left:auto;transform:none}}@media (hover:none),(pointer:coarse){.project-tooltip,.lab-entry-tooltip{display:none}}@media (width<=380px){.site-brand,.site-meta{max-width:calc(50vw - 20px);font-size:.5rem}.site-nav a{padding-inline:2px;font-size:.5rem}}@media (width<=560px) and (height<=760px){.about-card{padding:10px 12px}.about-title{min-height:1.76em;font-size:clamp(1.74rem,10vw,3.28rem)}.about-subtitle{margin-top:12px;font-size:clamp(.78rem,3.25vw,.94rem);line-height:1.13}.value-grid{gap:7px;margin-top:12px}.value-card{min-height:102px;padding:10px 12px}.value-card h3{font-size:clamp(1rem,4.25vw,1.28rem)}.value-card p{min-height:0;margin-top:7px;font-size:clamp(.68rem,2.85vw,.8rem);line-height:1.14}}@media (width<=380px) and (height<=620px){.about-title{min-height:1.68em;font-size:clamp(1.58rem,9.4vw,2.65rem)}.about-subtitle{font-size:clamp(.66rem,3.15vw,.78rem);line-height:1.1}.value-grid{gap:6px;margin-top:10px}.value-card{min-height:0;padding:8px 10px}.value-card h3{font-size:clamp(.92rem,4vw,1rem)}.value-card p{margin-top:5px;font-size:clamp(.62rem,2.75vw,.68rem);line-height:1.1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.about-card:after,.value-card:after,.mail-window-email{animation:none!important}.hero-title,.about-content,.value-card,.works-sticky>#works-frame,.monitor-project-preview,.monitor-project-preview img,.project-hotspot,.project-summary,.monitor-contact-screen,.mail-window{transition:none}}@media (scripting:none){.site-nav{--render-progress:1}.site-nav a{opacity:1;transform:none}.hero-title{--title-mask:0%;--title-opacity:1}.hero-sticky{--about-progress:1;--about-line-progress:1;--about-type-progress:0;--hero-scale:1}.value-card{--value-progress:1;--value-line-progress:1;--value-type-progress:0}}
