@charset "UTF-8";
:root{color-scheme:light;--bg:#f4f2eb;--surface:#ebe9e0;--text:#25352e;--muted:#606b60;--line:#d3d7ca;--accent:#d75b34;--button:#294b36;--button-text:#fff;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:#dce4c8;color:#20382b}[hidden]{display:none!important}.page-shell{width:min(1160px,calc(100% - 96px));margin:auto}.header{display:flex;align-items:center;gap:24px;min-height:104px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:48px;font-weight:bold;letter-spacing:-5px;line-height:1}.brand-dot{color:var(--accent)}.header nav{margin-left:auto;display:flex;align-items:center;gap:36px;font-size:14px;font-weight:500}.header nav a:hover,.text-link:hover,.footer a:hover{color:var(--accent)}.nav-github span{margin-left:8px}.theme-toggle{background:none;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;cursor:pointer;color:var(--text);font-size:23px;display:grid;place-items:center;padding:0}.skip-link{position:fixed;top:-100px;left:16px;background:var(--text);color:var(--bg);padding:10px 16px;z-index:10}.skip-link:focus{top:12px}.hero{padding:76px 0 0;display:grid;grid-template-columns:1.15fr 1fr;column-gap:64px}.eyebrow{font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.7px;font-weight:600}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--button);margin-right:9px;vertical-align:1px}h1,h2,h3,p{margin-top:0}h1{font:clamp(48px,5.9vw,77px)/1.1 var(--serif);letter-spacing:-2.9px;margin:29px 0 27px}h1 em,h2 em{font-weight:normal;color:var(--accent)}.hero-description{max-width:475px;color:var(--muted);font-size:16px;line-height:1.85}.hero-description strong{color:var(--text);font-weight:600}.button{display:inline-flex;align-items:center;gap:36px;background:var(--button);color:var(--button-text);padding:13px 22px;margin-top:12px;font-size:14px;border-radius:4px;transition:transform .2s}.button:hover{transform:translateY(-3px)}.hero-art{align-self:center;aspect-ratio:1/1.12;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface);border-radius:160px 160px 8px 8px;display:grid;place-items:center}.art-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:38px 38px;opacity:.5}.art-core{width:53%;aspect-ratio:1;border-radius:50%;background:#dce2cc;display:flex;align-items:center;justify-content:center;font:clamp(100px,14vw,175px)/1 var(--serif);letter-spacing:-17px;color:#294b36;z-index:1;padding-bottom:25px;box-shadow:18px 22px 0 #cdd6bb}.art-core span{color:var(--accent)}.orbit{position:absolute;border:1px solid #8d9c7c;border-radius:50%;width:86%;height:52%;transform:rotate(-32deg)}.orbit-two{transform:rotate(51deg);width:73%;height:70%}.art-label{position:absolute;font:9px/1.5 ui-monospace,monospace;letter-spacing:1.6px;color:var(--muted);z-index:2}.top-label{top:12%}.bottom-label{bottom:7%}.code-note{position:absolute;bottom:19%;right:5%;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:10px 14px;font:11px/1.4 ui-monospace,monospace;z-index:2;transform:rotate(-6deg)}.note-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:7px}.art-plus{position:absolute;font:26px/1 monospace;color:var(--accent)}.plus-one{left:13%;top:31%}.plus-two{right:15%;bottom:30%;z-index:2}.hero-footer{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:.5px;border-bottom:1px solid var(--line);padding:55px 0 20px;margin-top:20px}.hero-footer span span{margin-left:12px;font-size:20px}.section{padding-top:86px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}h2{font:40px/1.24 var(--serif);letter-spacing:-1.2px;margin:16px 0 0}.text-link{white-space:nowrap;font-size:13px;border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:5px}.text-link span{margin-left:10px}.section-intro{max-width:600px;color:var(--muted);font-size:14px;margin:22px 0 37px}.project{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:35px 0;border-top:1px solid var(--line);align-items:center}.project-visual{min-height:310px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden}.visual-label,.visual-caption{position:absolute;left:23px;font:9px/1.5 ui-monospace,monospace;letter-spacing:1.6px}.visual-label{top:20px}.visual-caption{bottom:17px;letter-spacing:.5px;opacity:.7}.visual-caro{background:#e0e6d8;color:#3f5546}.board{display:grid;grid-template-columns:repeat(3,1fr);width:190px;height:190px;transform:rotate(-9deg)}.board span{display:grid;place-items:center;font:54px/1 var(--serif);border-right:1px solid #96a78d;border-bottom:1px solid #96a78d}.board span:nth-child(3n){border-right:0}.board span:nth-child(n+7){border-bottom:0}.board span:nth-child(3n+1){color:#a95436}.project-copy{position:relative;padding:6px 0}.project-number{position:absolute;right:0;top:0;color:var(--muted);font:11px/1.5 ui-monospace,monospace}.tags{display:flex;gap:7px;flex-wrap:wrap;padding-right:35px}.tags span{font-size:10px;line-height:1.6;padding:3px 9px;border:1px solid var(--line);border-radius:20px;color:var(--muted)}h3{font:33px/1.2 var(--serif);letter-spacing:-.8px;margin:18px 0 15px}.project-copy p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:12px}.project-copy .project-detail{font-size:12px}.project-link{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-top:25px;padding-top:14px;border-top:1px solid var(--line)}.project-link span{font-size:18px;transition:transform .2s}.project-link:hover span{transform:translate(3px,-3px)}.visual-news{background:#e9dfd1;color:#665b4c}.newspaper{width:225px;background:#faf7ef;padding:19px;transform:rotate(7deg);box-shadow:8px 10px 0 #d6c8b8;border:1px solid #cfc3b4}.paper-title{font:17px/1.3 var(--serif);letter-spacing:1px;text-align:center;border-top:2px solid #5e6658;padding:7px 0}.paper-rule{height:4px;border-top:1px solid #767f70;border-bottom:1px solid #767f70;margin-bottom:12px}.paper-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.paper-image{height:65px;background:linear-gradient(145deg,#b7c1a7 50%,#82977c 50%);margin-bottom:9px}.paper-line{height:4px;background:#c8c7b9;margin:7px 0}.paper-line.short{width:65%}.visual-market{background:#e1e4ea;color:#515b6d}.phone{width:137px;height:232px;border:5px solid #485947;border-radius:22px;background:#faf9f4;padding:17px 10px 8px;position:relative;transform:rotate(-8deg);box-shadow:12px 12px 0 #c2c9ce}.phone-notch{position:absolute;top:0;left:35px;width:58px;height:8px;border-radius:0 0 7px 7px;background:#485947}.phone-title{font-size:10px;font-weight:bold;display:flex;justify-content:space-between;color:#354b39}.phone-title span{color:#c3663d}.phone-search{height:12px;background:#eaece5;border-radius:5px;margin:11px 0}.product-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.product-tiles div{height:52px;background:#ede7da;border-radius:5px;padding:5px;display:grid;justify-items:center}.product-tiles i{display:block;width:21px;height:27px;background:#a4b392;border-radius:8px 8px 5px 5px}.product-tiles div:nth-child(2) i{background:#ce9d7c;border-radius:50%}.product-tiles div:nth-child(3) i{background:#a8b6c5;border-radius:4px}.product-tiles div:nth-child(4) i{background:#d1ba84;border-radius:12px}.product-tiles b{width:25px;height:3px;background:#c7c7b7}.phone-nav{font-size:15px;display:flex;justify-content:space-between;color:#66775b;margin-top:12px}.phone-nav span{color:#a86d4e}.about{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-bottom:85px;border-top:1px solid var(--line);margin-top:35px}.about h2{font-size:48px}.about-copy{padding-top:32px}.about-copy p{color:var(--muted);font-size:15px;line-height:1.9}.interest-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.interest-list span{border-bottom:1px solid var(--line);font-size:11px;padding:5px 0;margin-right:15px}.contact{background:var(--surface);padding:36px 40px 40px;border-radius:6px;border:1px solid var(--line)}.contact-row{display:flex;align-items:center;gap:30px;justify-content:space-between}.contact h2{font-size:42px;margin:10px 0 16px}.contact-arrow{display:grid;place-items:center;flex-shrink:0;width:58px;height:58px;border-radius:50%;background:var(--button);color:#fff;font-size:30px;transition:transform .2s}.contact-arrow:hover{transform:rotate(12deg)}.contact p:last-child{font-size:13px;color:var(--muted);margin-bottom:0}.contact p a{border-bottom:1px solid var(--muted)}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:65px;padding:26px 0 32px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.footer-name{font-size:22px;font-weight:650;color:var(--text);letter-spacing:-1px}
:root[data-theme="dark"]{color-scheme:dark;--bg:#19231e;--surface:#253128;--text:#e6eadf;--muted:#b2bdad;--line:#425044;--accent:#f09570;--button:#b9d0a4;--button-text:#19231e}:root[data-theme="dark"] .contact-arrow{color:#19231e}
@media(min-width:1400px){.hero{padding-top:95px}.hero-art{max-width:460px;width:100%;justify-self:end}}
@media(max-width:900px){.page-shell{width:calc(100% - 48px)}.hero{column-gap:30px}.hero-art{aspect-ratio:1/1.3}h1{font-size:55px;letter-spacing:-2px}.hero-description{font-size:14px}.hero-art .code-note{font-size:9px;right:2%;padding:8px}.art-core{font-size:110px;letter-spacing:-11px}.art-label{font-size:7px}.project{gap:32px}.project-visual{min-height:290px}h2{font-size:34px}.contact h2{font-size:34px}}
@media(max-width:640px){.page-shell{width:calc(100% - 36px)}.header{min-height:82px;gap:12px}.header nav{gap:17px;font-size:12px}.wordmark{font-size:42px}.theme-toggle{width:30px;height:30px;font-size:20px}.hero{padding-top:40px;grid-template-columns:1fr;gap:0}h1{font-size:clamp(46px,11vw,66px);margin-top:22px}.eyebrow{font-size:9px;letter-spacing:1.3px}.hero-description{font-size:15px;max-width:440px}.hero-art{margin:42px auto 0;width:min(100%,360px);aspect-ratio:1/1;max-height:360px;border-radius:135px 135px 6px 6px}.art-core{font-size:145px}.art-label{font-size:8px}.hero-art .code-note{right:4%;font-size:10px}.hero-footer{padding-top:32px;font-size:9px;gap:20px}.hero-footer>span:last-child{white-space:nowrap}.section{padding-top:55px}.section-heading{display:block}h2{font-size:34px}.text-link{display:inline-block;margin-top:22px}.section-intro{margin-top:18px}.project{grid-template-columns:1fr;gap:24px;padding:26px 0 32px}.project-visual{min-height:280px}.project-copy{padding:0 3px}h3{font-size:32px}.project-copy p{font-size:14px}.project-copy .project-detail{font-size:13px}.project-link{font-size:13px;margin-top:20px}.about{grid-template-columns:1fr;gap:0;margin-top:5px;padding-bottom:50px}.about h2{font-size:42px}.about-copy{padding-top:25px}.contact{padding:26px 24px}.contact h2{font-size:32px}.contact-row{gap:15px}.contact-arrow{width:44px;height:44px;font-size:25px}.footer{margin-top:40px;flex-wrap:wrap;gap:12px}.footer>span{order:3;flex-basis:100%}.footer>a:last-child{margin-left:auto}}
.personal-interests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:36px}.personal-interests article{border-top:1px solid var(--line);padding-top:22px}.interest-symbol{font-size:28px;color:var(--accent)}.personal-interests h3{font:24px/1.3 var(--serif);margin:14px 0 12px}.personal-interests p{font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:640px){.personal-interests{grid-template-columns:1fr;gap:20px;margin-top:27px}.personal-interests article{padding-top:18px}.personal-interests h3{font-size:24px;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
