@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=IBM+Plex+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap";:root{--bg:#151715;--surface:#1c201c;--fg:#ecece3;--muted:#a8afa3;--line:#353b32;--orange:#f58b54;--mono:"IBM Plex Mono",monospace;--sans:"DM Sans",sans-serif;--serif:"Instrument Serif",Georgia,serif;color-scheme:dark;font-family:var(--sans);background:var(--bg);color:var(--fg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--bg)}.wrap{width:min(1280px,100% - 112px);margin-inline:auto}.serif{font-family:var(--serif);font-style:italic;font-weight:400}.orange{color:var(--orange)}.eyebrow{font-family:var(--mono);letter-spacing:1.45px;font-size:10px;font-weight:400;line-height:1.7}.status-dot{background:var(--orange);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 12px #f58b5428}.skip-link{background:var(--orange);color:var(--bg);z-index:5;padding:14px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;display:flex}.brand{align-items:center;gap:21px;display:flex}.brand-symbol{font-family:var(--mono);letter-spacing:-4px;font-size:32px;font-weight:500}.brand-symbol span{color:var(--orange)}.brand-name{font-family:var(--mono);letter-spacing:1.5px;font-size:10px}.site-header nav{color:#bfc4ba;gap:34px;font-size:13px;display:flex}.site-header nav a:hover,.text-link:hover,.footer a:hover,.contact-links a:hover{color:var(--orange)}.header-contact{border:1px solid #66705e;border-radius:4px;gap:24px;padding:11px 17px;font-size:12px;display:flex}.header-contact:hover{background:var(--fg);color:var(--bg)}.hero{grid-template-columns:1.18fr 1fr;gap:35px;padding-top:82px;display:grid}.hero-copy .eyebrow{margin:0 0 31px}.hero h1{letter-spacing:-5px;margin:0 0 27px;font-size:clamp(56px,6.5vw,94px);font-weight:500;line-height:1.03}.hero h1 .serif{color:var(--orange)}.hero-description{color:#c6cbbf;letter-spacing:-.3px;margin-bottom:20px;font-size:19px;line-height:1.65}.current-role{color:#e0e3d9;font-size:12px;line-height:1.9}.current-role span{color:var(--muted)}.hero-actions{align-items:center;gap:31px;margin-top:31px;display:flex}.button{background:var(--orange);color:#172015;border:1px solid var(--orange);border-radius:3px;justify-content:space-between;align-items:center;gap:35px;padding:15px 22px;font-size:13px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#ffa676;transform:translateY(-2px)}.text-link{color:var(--fg);background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:12px;line-height:1.8;display:inline-flex}.hero-visual{align-self:center;margin-top:17px;position:relative}.visual-caption,.visual-footer{font-family:var(--mono);letter-spacing:1px;color:#9ba58e;justify-content:space-between;gap:10px;font-size:8px;display:flex}.visual-caption{border-bottom:1px solid var(--line);padding-bottom:13px}.visual-footer{border-top:1px solid var(--line);padding-top:13px}.circuit-art{background:radial-gradient(#39432b33,#0000 65%);position:relative}.circuit-art svg{width:100%;display:block}.active-traces{stroke-dasharray:420;animation:7s ease-in-out infinite trace}@keyframes trace{0%,to{stroke-dashoffset:420px;opacity:.4}50%{stroke-dashoffset:0;opacity:1}}.hero-bottom{grid-column:1/-1;justify-content:space-between;align-items:end;margin-top:12px;padding:31px 0 29px;display:flex}.hero-bottom p,.hero-bottom a{font-family:var(--mono);letter-spacing:1.15px;color:#c9cfbf;font-size:8px;line-height:1.9}.hero-bottom p span{color:#8e9885}.hero-bottom a{align-items:center;gap:18px;display:flex}.hero-bottom a span{font-size:22px}.expertise-strip{border-block:1px solid var(--line);background:#1b1e19}.expertise-strip .wrap{color:#c1c7b7;justify-content:space-between;align-items:center;gap:20px;padding-block:22px;font-size:12px;display:flex}.expertise-strip i{font-family:var(--mono);color:var(--orange);font-style:normal}.section{padding-block:105px}.section-heading{justify-content:space-between;align-items:end;gap:35px;margin-bottom:43px;display:flex}.section-heading .eyebrow{color:var(--muted);margin:0 0 20px}h2{letter-spacing:-1.8px;margin:0;font-size:clamp(34px,3.3vw,48px);font-weight:500;line-height:1.15}.section-heading>p{color:var(--muted);margin-bottom:4px;font-size:13px;line-height:1.8}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;display:grid}.project-card{border-bottom:1px solid var(--line);padding-bottom:27px;display:block}.project-visual{background:#20281e;border:1px solid #46503b;justify-content:center;align-items:center;height:235px;transition:border-color .25s;display:flex;position:relative;overflow:hidden}.project-visual.network{background:#1d2b25;border-color:#354b3d}.project-visual.rov{background:#1b292e;border-color:#33474b}.project-visual svg{width:100%;height:100%;transition:transform .45s}.project-visual .circuit-art{width:100%}.project-card:hover .project-visual svg{transform:scale(1.04)}.project-card:hover .project-visual{border-color:#8b987b}.project-info>.eyebrow{letter-spacing:.9px;color:var(--muted);margin:24px 0 13px;font-size:8px}.project-info h3{letter-spacing:-.7px;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:20px;font-weight:500;display:flex}.project-info h3 span{color:var(--orange)}.project-info>p:not(.eyebrow){color:var(--muted);min-height:68px;margin:0;font-size:12px;line-height:1.85}.tags{flex-wrap:wrap;gap:7px;margin:22px 0 0;padding:0;list-style:none;display:flex}.tags li{font-family:var(--mono);color:#c5cbbd;border:1px solid #3a4235;border-radius:3px;padding:5px 8px;font-size:9px;line-height:1.5}.all-work{margin-top:28px}.lab-section{border-block:1px solid var(--line);background:#1a1e19;padding-block:78px}.lab-layout{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.lab-layout>.eyebrow,.lab-layout>div>.eyebrow{color:var(--orange);margin:0 0 22px}.section-copy{color:var(--muted);max-width:480px;font-size:15px;line-height:1.9}.lab-layout h2{font-size:38px}.lab-note{color:#a2aa98;margin-top:23px;font-size:10px;line-height:1.8}.boot-demo{background:#151915;border:1px solid #49513f;border-radius:6px;overflow:hidden}.demo-header{font-family:var(--mono);letter-spacing:.8px;border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:17px 20px;font-size:9px;display:flex}.demo-header .status-dot{width:5px;height:5px}.boot-steps{gap:5px;padding:22px 20px 0;display:flex}.step{text-align:left;color:#abb3a3;background:0 0;border:0;border-bottom:2px solid #35402e;flex:1;padding:0 0 12px;font-size:11px}.step span{font-family:var(--mono);margin-bottom:7px;font-size:9px;display:block}.step.active{border-color:var(--orange);color:var(--orange)}.step:hover{color:var(--fg)}.terminal{min-height:172px;padding:19px 20px 23px}#boot-command{font-family:var(--mono);color:#a8be93;margin:0 0 17px;font-size:10px}.terminal h3{margin:0 0 9px;font-size:19px;font-weight:500}.terminal>p:last-child{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.demo-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex}.demo-bottom>span{font-family:var(--mono);color:var(--muted);font-size:8px}.demo-bottom button{color:var(--orange);font-size:10px}.about-section{grid-template-columns:1.1fr 1fr;gap:110px;display:grid}.about-intro>.eyebrow{color:var(--muted);margin:0 0 25px}.about-intro h2{margin-bottom:27px;font-size:42px}.about-intro .section-copy{font-size:14px}.about-intro>.text-link{margin-top:21px}.cv-date{color:var(--muted);font-size:10px}.cv-note{color:var(--muted);font-size:10px;line-height:1.6}.skill-block{margin-top:39px}.skill-block>.eyebrow{color:var(--muted)}.skill-block .tags{max-width:390px;margin-top:14px}.experience{padding-top:6px}.experience-item{border-left:1px solid #47503c;padding:0 0 32px 28px;position:relative}.experience-item:before{content:"";background:#69735e;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:-4px}.experience-item.current:before{background:var(--orange)}.experience-item:last-child{padding-bottom:0}.experience-date{font-family:var(--mono);letter-spacing:1px;color:var(--muted);margin:0 0 14px;padding-top:3px;font-size:9px}.experience-item.current .experience-date{color:var(--orange)}.experience-item h3{letter-spacing:-.5px;margin:0 0 7px;font-size:21px;font-weight:500;line-height:1.4}.experience-item p:not(.experience-date){color:var(--muted);margin:8px 0;font-size:12px;line-height:1.9}.experience-item p.job-title{color:#d8ddce;font-size:12px}.writing-section{color:#252b23;background:#e9e9df}.writing-section .eyebrow,.writing-section .section-heading>p{color:#626b5c}.writing-section h2{font-size:44px}.articles{border-top:1px solid #bfc5b6}.article{border-bottom:1px solid #bfc5b6;align-items:center;gap:36px;padding:30px 0;display:flex}.article-number{font-family:var(--mono);color:#707a68;align-self:start;padding-top:5px;font-size:11px}.article .eyebrow{margin:0 0 12px;font-size:9px}.article h3{letter-spacing:-.7px;margin:0;font-size:25px;font-weight:500;line-height:1.4}.article-source{color:#59634f;margin:13px 0 0;font-size:10px}.article-arrow{margin-left:auto;padding-right:10px;font-size:29px;transition:transform .2s}.article:hover .article-arrow{transform:translate(4px,-4px)}.article:hover h3{text-underline-offset:5px;text-decoration:underline 1px}.contact-section{padding-block:100px 76px}.contact-section>.eyebrow{color:var(--muted);margin:0 0 30px}.contact-section h2{letter-spacing:-2.9px;font-size:clamp(45px,5.5vw,78px)}.contact-section h2>.orange{margin-left:14px;display:inline-block}.contact-bottom{justify-content:space-between;align-items:end;gap:25px;margin-top:35px;display:flex}.contact-bottom>p{color:var(--muted);margin:0;font-size:13px;line-height:1.9}.contact-email{letter-spacing:-.8px;border-bottom:1px solid var(--orange);gap:38px;padding-bottom:12px;font-size:24px;display:flex}.contact-email span,.contact-email:hover{color:var(--orange)}.contact-links{gap:25px;margin-top:27px;font-size:11px;display:flex}.footer{border-top:1px solid var(--line);align-items:center;gap:25px;min-height:100px;display:flex}.footer>.brand-symbol{font-size:26px}.footer p{font-family:var(--mono);color:var(--muted);font-size:8px}.footer>div{color:var(--muted);gap:25px;margin-left:auto;font-size:10px;display:flex}.project-detail{padding-top:50px}.detail-category{color:var(--orange);margin:65px 0 22px}.project-detail h1{letter-spacing:-3px;max-width:900px;margin:0 0 26px;font-size:clamp(44px,6vw,84px);font-weight:500;line-height:1.05}.detail-intro{color:var(--muted);max-width:820px;font-size:20px;line-height:1.7}.project-detail>.tags{margin-bottom:40px}.project-detail>.project-visual{height:390px}.project-detail>.project-visual .circuit-art{max-width:500px}.project-detail>.project-visual>svg{max-width:750px}.detail-grid{grid-template-columns:1fr 1.5fr;gap:90px;margin-block:70px 90px;display:grid}.detail-grid aside h2{margin:16px 0 27px;font-size:31px}.detail-grid h3{margin:0 0 18px;font-size:23px;font-weight:500}.detail-grid p,.detail-grid li{color:var(--muted);font-size:15px;line-height:1.9}.detail-grid>div p,.detail-grid ul{margin:0 0 35px}.detail-grid ul{padding-left:20px}.detail-grid li{margin-bottom:12px;padding-left:6px}.next-project{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:40px 0 65px;display:flex}.next-project .eyebrow{color:var(--muted)}.next-project h2{font-size:34px}.next-project>span{color:var(--orange);font-size:38px}.error-page{min-height:65vh;padding-block:90px}.error-page h1{letter-spacing:-2px;font-size:60px;font-weight:500}.error-page>p:not(.eyebrow){color:var(--muted);line-height:1.8}.error-page .button{margin-top:25px}@media (width>=1600px){.hero{padding-top:100px}.hero-bottom{margin-top:40px}.hero h1{font-size:102px}}@media (width<=1100px){.wrap{width:calc(100% - 64px)}.hero{gap:25px;padding-top:65px}.hero h1{letter-spacing:-3px}.visual-caption{letter-spacing:.5px;font-size:7px}.project-grid{gap:18px}.project-visual{height:200px}.project-info h3{font-size:17px}.project-info>p:not(.eyebrow){min-height:90px}.lab-layout{gap:40px}.lab-layout h2{font-size:33px}.about-section{gap:60px}.about-intro h2{font-size:35px}.contact-email{gap:20px;font-size:20px}}@media (width<=760px){.wrap{width:calc(100% - 40px)}.site-header{height:80px}.brand-name{display:none}.brand-symbol{font-size:29px}.site-header nav{gap:20px;font-size:12px}.header-contact{gap:10px;padding:9px 11px;font-size:10px}.hero{grid-template-columns:1fr;gap:30px;padding-top:52px}.hero h1{letter-spacing:-3px;font-size:clamp(55px,10vw,75px)}.hero-copy .eyebrow{letter-spacing:1px;margin-bottom:25px;font-size:8px}.hero-description{font-size:17px}.hero-visual{width:100%;max-width:510px;margin:10px auto 0}.visual-caption,.visual-footer{font-size:8px}.circuit-art svg{max-height:340px}.hero-bottom{margin-top:0;padding-top:0}.hero-bottom p,.hero-bottom a{font-size:7px}.expertise-strip .wrap{grid-template-columns:1fr 1fr;gap:15px;padding-block:21px;font-size:11px;display:grid}.expertise-strip i{display:none}.expertise-strip span:before{content:"+";color:var(--orange);margin-right:9px}.section{padding-block:67px}.section-heading{margin-bottom:30px;display:block}.section-heading h2{font-size:36px}.section-heading>p{margin-top:18px;font-size:12px}.section-heading .eyebrow{margin-bottom:18px;font-size:9px}.project-grid{grid-template-columns:1fr;gap:35px}.project-visual{height:260px}.project-info>.eyebrow{margin-top:20px;font-size:8px}.project-info h3{font-size:22px}.project-info>p:not(.eyebrow){min-height:0;font-size:13px}.project-info .tags{margin-top:17px}.lab-section{padding-block:60px}.lab-layout{grid-template-columns:1fr;gap:30px}.lab-layout h2{font-size:36px}.lab-layout .section-copy{font-size:14px}.lab-note{font-size:9px}.terminal{min-height:181px}.about-section{grid-template-columns:1fr;gap:42px}.about-intro h2{font-size:36px}.about-intro>.eyebrow{font-size:9px}.skill-block{margin-top:29px}.experience-item{padding-left:24px}.writing-section h2{font-size:36px}.article{gap:17px;padding-block:26px}.article h3{letter-spacing:-.4px;font-size:20px}.article .eyebrow{letter-spacing:.8px;font-size:8px}.article-arrow{padding-right:0;font-size:23px}.article-number{font-size:9px}.contact-section{padding-block:65px 50px}.contact-section h2{letter-spacing:-1.6px;font-size:46px}.contact-bottom{flex-direction:column;align-items:start;gap:26px}.contact-email{gap:20px;max-width:100%;font-size:19px}.contact-links{margin-top:22px}.footer{flex-wrap:wrap;gap:13px;min-height:130px;padding-block:25px}.footer>div{gap:22px;width:100%;margin-left:0}.footer p{font-size:8px}.detail-category{margin-top:45px;font-size:9px}.project-detail h1{letter-spacing:-2px;font-size:51px}.detail-intro{font-size:17px}.project-detail>.project-visual{height:270px}.detail-grid{grid-template-columns:1fr;gap:40px;margin-block:45px}.detail-grid aside h2{font-size:28px}.next-project h2{font-size:27px}.next-project{gap:20px}.error-page h1{font-size:45px}}@media (width<=380px){.wrap{width:calc(100% - 32px)}.site-header nav{gap:13px}.header-contact{gap:5px}.hero h1{font-size:52px}.contact-section h2{font-size:41px}.contact-email{gap:10px;font-size:17px}.project-visual{height:230px}.boot-steps,.terminal,.demo-bottom{padding-inline:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
