@font-face{font-family:Inter;src:url('/assets/fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#f1f0e9;--ink:#22251f;--moss:#59684b;--muted:#676b61;--line:#cecec3;--sans:Inter,Arial,Helvetica,sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--gutter:clamp(24px,4.167vw,64px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--moss);color:var(--paper)}
a{color:inherit;text-underline-offset:.28em;text-decoration-thickness:1px}
a:hover{color:var(--moss)}
a:focus-visible{outline:2px solid var(--moss);outline-offset:7px}
svg{flex:none;display:block}
.wrap{width:min(100%,1536px);margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:absolute;z-index:5;top:12px;left:var(--gutter);padding:12px 16px;background:var(--ink);color:var(--paper);transform:translateY(-180%);font-weight:600}
.skip-link:focus{transform:translateY(0);color:var(--paper)}
.site-header{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.wordmark{text-decoration:none;font-size:38px;line-height:1;letter-spacing:-.055em;font-weight:750;white-space:nowrap}
.wordmark span{color:var(--moss)}
.main-nav{display:flex;align-items:center;gap:56px;font-size:18px;line-height:1.4}
.main-nav a{display:inline-flex;align-items:center;gap:9px;min-height:44px;text-decoration:none}
.main-nav a:hover{text-decoration:underline}
.icon{width:24px;height:24px}
.main-nav .icon{width:19px;height:19px}
.hero{padding-top:78px}
.hero-heading{position:relative}
h1,h2,h3,p{margin:0}
.hero h1{font-size:clamp(78px,8.8542vw,136px);font-weight:800;line-height:.91;letter-spacing:-.06em}
.hero h1 span{display:block}
.terminal-mark{position:absolute;right:6.2%;top:29px;font-family:var(--mono);font-size:144px;font-weight:700;letter-spacing:-.08em;line-height:1;color:var(--moss)}
.hero-copy{display:grid;grid-template-columns:466px minmax(0,640px);gap:64px;margin-top:68px;align-items:start}
.hero-deck{font-size:32px;line-height:1.16;letter-spacing:-.035em;max-width:460px}
.hero-intro{font-size:20px;line-height:1.4;letter-spacing:-.02em;padding-top:4px}
.button{display:inline-flex;align-items:center;gap:14px;min-height:62px;padding:16px 29px;background:var(--ink);color:var(--paper);font:500 17px/1.5 var(--mono);text-decoration:none}
.button:hover{background:var(--moss);color:var(--paper)}
.hero .button{margin-top:40px}
.hero-foot{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:50px;padding-top:16px;font:16px/1.5 var(--mono);color:#44483f}
.projects{padding-top:80px;padding-bottom:92px}
.about{padding-top:80px}
.about-layout{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:clamp(40px,6vw,92px);align-items:center;padding-bottom:80px;border-bottom:1px solid var(--line)}
.about-portrait{display:block;width:100%;height:auto;border:1px solid var(--line)}
.about-copy .section-heading{max-width:760px;margin-top:24px}
.about-bio{max-width:690px;margin-top:28px;font-size:clamp(20px,2vw,27px);line-height:1.5;letter-spacing:-.025em}
.about-profiles{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px;font:15px/1.6 var(--mono)}
.about-profiles a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
@media(max-width:700px){.about{padding-top:56px}.about-layout{grid-template-columns:1fr;gap:32px;padding-bottom:52px}.about-portrait{max-width:320px}.about-copy .section-heading{margin-top:18px}.about-bio{margin-top:22px;font-size:20px}.about-profiles{margin-top:24px;gap:8px 24px;font-size:14px}}
.section-label{font:16px/1.5 var(--mono);letter-spacing:.035em;color:var(--moss)}
.section-heading{font-size:clamp(54px,5.73vw,88px);font-weight:750;line-height:1.02;letter-spacing:-.055em}
.projects-heading{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(300px,.92fr);gap:56px;align-items:center;margin-top:26px;margin-bottom:64px}
.projects-heading h2{white-space:nowrap}
.projects-heading p{font-size:25px;line-height:1.32;letter-spacing:-.025em}
.project-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.project{display:grid;grid-template-columns:64px minmax(260px,1.07fr) minmax(300px,1.26fr) 270px;gap:32px;align-items:start;padding:36px 0 34px;border-bottom:1px solid var(--line);min-height:150px}
.project-number{font-size:34px;line-height:1.3;letter-spacing:-.04em;color:#7b8372;padding-top:2px}
.project h3{font-size:46px;font-weight:600;line-height:1.1;letter-spacing:-.055em}
.project-category{margin-top:10px;color:var(--moss);font:17px/1.4 var(--mono);letter-spacing:.015em}
.project-description{font-size:23px;line-height:1.36;letter-spacing:-.025em;padding-top:7px;max-width:455px}
.text-link{display:inline-flex;align-items:center;gap:10px;width:fit-content;min-height:38px;border-bottom:1px solid currentColor;text-decoration:none;color:var(--moss);font:20px/1.5 var(--mono)}
.text-link:hover{color:var(--ink)}
.project .text-link{margin-top:4px;white-space:nowrap;justify-self:end}
.project .store-link{font-size:18px}
.project-more{margin-top:30px;font:17px/1.7 var(--mono)}
.project-more a{display:inline-flex;align-items:center;gap:6px}
.project-more .icon{width:18px;height:18px}
.notes{display:grid;grid-template-columns:35% 65%;padding-top:12px;padding-bottom:40px}
.notes-intro{padding-right:48px}
.notes-intro .section-label{color:var(--ink);font-size:15px;letter-spacing:.11em;margin-top:16px}
.notes-intro h2{margin-top:32px;max-width:450px}
.notes-intro>p:last-child{font:18px/1.55 var(--mono);color:var(--muted);max-width:375px;margin-top:32px}
.note-list{border-left:1px solid var(--line);padding-left:48px}
.note{padding:17px 0 29px}
.note+.note{border-top:1px solid var(--line);padding-top:32px}
.note-category{font:15px/1.6 var(--mono);letter-spacing:.045em;color:var(--moss)}
.note h3{font-size:35px;line-height:1.2;font-weight:500;letter-spacing:-.05em;margin-top:12px}
.note-summary{font:18px/1.5 var(--mono);color:var(--muted);margin-top:10px}
.note .text-link{font-size:17px;margin-top:10px;min-height:34px}
.note .icon{width:19px;height:19px}
.now{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px minmax(0,1.2fr) minmax(0,1fr);gap:30px;padding-block:30px;margin-bottom:32px;align-items:start}
.now .section-label{color:var(--ink);font-size:15px;letter-spacing:.1em;padding-top:6px}
.now h2{font-size:44px;line-height:1.18;font-weight:500;letter-spacing:-.05em;padding-block:15px}
.now-copy{border-left:1px solid var(--line);padding:7px 0 0 40px;min-height:86px;font:17px/1.5 var(--mono);color:#61666a}
.now-copy time{display:block;margin-top:12px;font-size:14px;color:var(--muted)}
.contact{background:var(--ink);color:var(--paper);padding-top:54px;padding-bottom:44px}
.contact#contact{padding-bottom:0}
.contact h2{font-size:clamp(58px,5.99vw,92px);line-height:1.06;letter-spacing:-.055em;font-weight:750}
.contact-email{display:inline-flex;align-items:center;gap:19px;font:40px/1.5 var(--mono);text-decoration:none;border-bottom:1px solid var(--paper);margin-top:15px}
.contact-email .icon{width:36px;height:36px}
.contact a:hover{color:#c2ceae}
.contact a:focus-visible{outline-color:var(--paper)}
.site-footer{display:flex;align-items:center;gap:30px;padding-top:40px;font:13px/1.5 var(--mono)}
.site-footer .wordmark{font-family:var(--sans);font-size:27px;font-weight:400;letter-spacing:-.035em}
.site-footer .wordmark span{color:#aabb91}
.footer-rule{height:1px;background:#7a8073;flex:1}
.footer-credit{display:flex;gap:24px;align-items:center;color:#d1d2c9;white-space:nowrap}
.footer-credit a{font-size:12px}
.article-shell{padding-top:76px;padding-bottom:100px}
.article-header{max-width:1160px}
.back-link{display:inline-flex;align-items:center;gap:8px;font:15px/1.6 var(--mono);color:var(--moss);text-decoration:none;min-height:44px}
.back-link .icon{transform:rotate(180deg);width:20px;height:20px}
.back-link:hover{text-decoration:underline}
.article-meta{margin-top:44px;font:15px/1.5 var(--mono);color:var(--moss);letter-spacing:.035em}
.article-title{font-size:clamp(46px,5.2vw,80px);line-height:1.04;font-weight:700;letter-spacing:-.055em;margin-top:20px;max-width:1130px}
.article-deck{font-size:26px;line-height:1.4;letter-spacing:-.025em;max-width:850px;margin-top:28px;color:#565c50}
.article-body{max-width:740px;margin:56px auto 0;border-top:1px solid var(--line);padding-top:36px;font-size:21px;line-height:1.75;letter-spacing:-.015em}
.article-body p+p{margin-top:26px}
.article-body h2{font-size:30px;line-height:1.2;letter-spacing:-.04em;margin-top:40px;margin-bottom:16px;font-weight:650}
.article-body a{color:var(--moss)}
.article-more{border-top:1px solid var(--line);margin-top:38px;padding-top:28px;font:16px/1.6 var(--mono)}
.article-more p+p{margin-top:12px}
.small-contact{padding-top:40px;padding-bottom:35px}
.small-contact .site-footer{padding-top:0}
.error-page{padding-top:94px;padding-bottom:120px;min-height:65vh}
.error-page h1{font-size:clamp(64px,8vw,120px);line-height:1;letter-spacing:-.06em;max-width:1000px;margin-top:24px}
.error-page p{font-size:22px;line-height:1.5;max-width:540px;margin-top:28px}
.error-page .button{margin-top:36px}
@media(min-width:1600px){.hero{padding-top:90px}}
@media(max-width:1250px){.main-nav{gap:36px}.terminal-mark{font-size:110px;right:3%;top:20px}.hero-copy{grid-template-columns:40% 1fr;gap:5%}.hero-deck{font-size:29px}.projects-heading{gap:35px;grid-template-columns:2fr 1fr}.projects-heading p{font-size:21px}.project{grid-template-columns:44px minmax(200px,1fr) minmax(260px,1.2fr) 230px;gap:20px}.project h3{font-size:38px}.project-category{font-size:14px}.project-description{font-size:20px}.project .text-link{font-size:17px}.note h3{font-size:30px}.now{grid-template-columns:135px 1.15fr 1fr;gap:24px}.now h2{font-size:36px}.now-copy{padding-left:24px;font-size:15px}.notes-intro{padding-right:36px}.note-list{padding-left:36px}}
@media(max-width:1000px){.hero h1{font-size:8.9vw}.hero{padding-top:64px}.terminal-mark{font-size:90px;right:2%}.hero-copy{margin-top:48px}.hero-deck{font-size:26px}.hero-intro{font-size:18px}.hero-foot{font-size:13px}.projects-heading{display:block;margin-bottom:40px}.projects-heading h2{white-space:normal}.projects-heading p{max-width:480px;margin-top:24px}.project{grid-template-columns:44px minmax(190px,.9fr) minmax(240px,1.1fr);padding:30px 0;gap:16px 24px}.project .text-link{grid-column:3;justify-self:start;margin:0}.project-description{padding-top:1px}.project-number{font-size:28px}.project h3{font-size:36px}.project-category{font-size:13px}.notes{grid-template-columns:36% 64%}.notes-intro h2{font-size:58px}.notes-intro>p:last-child{font-size:16px}.note h3{font-size:29px}.note-summary{font-size:16px}.now{grid-template-columns:120px 1fr}.now h2{padding:0}.now-copy{grid-column:2;border:0;padding:0}.contact h2{font-size:7vw}.contact-email{font-size:32px}.footer-credit{gap:14px}.site-footer{gap:20px}}
@media(max-width:700px){html{scroll-padding-top:20px}.site-header{align-items:flex-start;flex-direction:column;gap:18px;padding-top:26px;padding-bottom:8px;min-height:0}.wordmark{font-size:31px}.main-nav{justify-content:space-between;gap:8px 18px;flex-wrap:wrap;width:100%;font-size:14px}.main-nav a{min-height:38px;gap:5px}.main-nav .icon{width:16px;height:16px}.hero{padding-top:52px}.hero h1{font-size:clamp(37px,11.8vw,78px);line-height:.99;letter-spacing:-.06em}.hero h1 span{white-space:nowrap}.terminal-mark{display:none}.hero-copy{display:block;margin-top:36px}.hero-deck{font-size:26px;line-height:1.16;max-width:400px;letter-spacing:-.035em}.hero-intro{margin-top:24px;padding-top:0;font-size:17px;line-height:1.5;max-width:480px}.hero .button{margin-top:28px}.button{min-height:56px;padding:14px 21px;font-size:15px;gap:12px}.hero-foot{margin-top:40px;display:block;font-size:12px;line-height:1.6;padding-top:15px}.hero-foot span{display:block}.hero-foot span+span{margin-top:5px}.projects{padding-top:64px;padding-bottom:62px}.section-label{font-size:13px}.projects-heading{margin-top:22px;margin-bottom:34px}.section-heading{font-size:clamp(44px,10.75vw,68px);line-height:1.02}.projects-heading p{font-size:19px;line-height:1.4;margin-top:22px;max-width:350px}.project{grid-template-columns:35px minmax(0,1fr);padding:26px 0 28px;gap:16px 16px}.project-number{font-size:25px;padding-top:2px}.project h3{font-size:35px}.project-category{font-size:12px;margin-top:9px;letter-spacing:0}.project-description{grid-column:2;font-size:18px;line-height:1.45;max-width:420px}.project .text-link{grid-column:2;font-size:15px;min-height:34px}.project .icon{width:19px;height:19px}.project-more{font-size:13px;line-height:1.8;margin-top:23px}.project-more .icon{width:15px;height:15px}.notes{display:block;padding-top:0;padding-bottom:26px}.notes-intro{padding-right:0}.notes-intro .section-label{font-size:13px;margin-top:0}.notes-intro h2{font-size:clamp(46px,11.4vw,68px);margin-top:23px;max-width:360px}.notes-intro>p:last-child{font-size:16px;line-height:1.6;margin-top:24px;max-width:390px}.note-list{border-left:0;padding-left:0;margin-top:34px;border-top:1px solid var(--line)}.note{padding:26px 0}.note+.note{padding-top:26px}.note-category{font-size:12px}.note h3{font-size:28px;line-height:1.18;margin-top:12px}.note-summary{font-size:15px;line-height:1.6;margin-top:14px}.note .text-link{font-size:15px;margin-top:15px;min-height:36px}.now{display:block;margin-bottom:24px;padding-block:26px}.now .section-label{font-size:13px;padding-top:0}.now h2{font-size:34px;line-height:1.1;margin-top:22px;max-width:500px}.now-copy{font-size:15px;line-height:1.6;margin-top:22px;max-width:490px}.now-copy time{font-size:12px;margin-top:14px}.contact{padding-top:40px;padding-bottom:28px}.contact h2{font-size:clamp(42px,10.8vw,64px);line-height:1.05;max-width:540px}.contact-email{font-size:27px;gap:12px;margin-top:21px}.contact-email .icon{width:26px;height:26px}.site-footer{flex-wrap:wrap;gap:20px;padding-top:43px}.site-footer .wordmark{font-size:25px}.footer-rule{min-width:80px}.footer-credit{flex-basis:100%;justify-content:space-between;gap:12px;font-size:11px}.footer-credit a{font-size:11px}.article-shell{padding-top:35px;padding-bottom:64px}.article-meta{font-size:12px;margin-top:32px}.article-title{font-size:clamp(41px,10.3vw,68px);margin-top:16px;line-height:1.07}.article-deck{font-size:21px;margin-top:25px}.article-body{font-size:18px;line-height:1.75;margin-top:36px;padding-top:26px}.article-body p+p{margin-top:23px}.article-body h2{font-size:27px;margin-top:32px}.article-more{font-size:14px}.small-contact{padding-top:28px}.error-page{padding-top:60px;padding-bottom:70px}.error-page h1{font-size:58px}.error-page p{font-size:19px}.back-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
