@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Libre+Baskerville:wght@400;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--paper:#eee3ce;--paper2:#f7f0e2;--ink:#172029;--muted:#58605d;--rust:#a43d2f;--rust2:#c45b42;--green:#155a4a;--line:#2f302933;--shadow:0 14px 35px #3a2d191f}img{max-width:100%;display:block}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background-color:var(--paper);background-image:radial-gradient(#43342017 .6px,#0000 .6px),linear-gradient(100deg,#ffffff47,#0000 40%,#825b2d0d);background-size:5px 5px,100% 100%;margin:0;font-family:Space Grotesk,sans-serif;line-height:1.5}.wrap{width:min(1200px,100% - 70px);margin-inline:auto}.nav{border-bottom:1px dashed var(--line);z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eee3cee8;justify-content:space-between;align-items:center;width:100%;min-height:72px;padding:0 max(28px,50vw - 600px);display:flex;position:sticky;top:0}.logo{width:auto;height:60px}.nav nav,.footer nav{gap:30px;display:flex}.nav a,.footer a{color:inherit;font-size:13px;text-decoration:none}.nav nav a:hover,.footer nav a:hover{color:var(--rust)}.availability{border:1px solid var(--green);background:#24dd3d2c;border-radius:5px;padding:9px 13px;font:11px DM Mono,monospace;animation:1.4s ease-in-out infinite borderGlow}@keyframes borderGlow{0%,to{border-color:var(--green);box-shadow:0 0 #0000}50%{border-color:#7dff8a;box-shadow:0 0 10px #24dd3da6}}.availability span{background:#199719;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.hero{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:28px;padding:55px 0 0;display:grid;position:relative}.section-label{letter-spacing:.05em;text-transform:uppercase;color:#4d2419;clip-path:polygon(3% 0,97% 0,100% 15%,97% 30%,100% 45%,97% 60%,100% 75%,97% 100%,3% 100%,0 85%,3% 70%,0 55%,3% 40%,0 25%);background:#dfc48fcc;border:1px solid #caa86b;padding:5px 12px;font:11px DM Mono,monospace;display:inline-block;transform:rotate(-1deg);box-shadow:2px 2px #4b361f1f}h1,h2,h3{margin:0;font-family:Libre Baskerville,serif;line-height:1.08}h1{max-width:720px;margin:18px 0 20px;font-size:clamp(40px,5vw,55px)}h1 em{color:var(--rust);text-underline-offset:8px;font-style:normal;text-decoration:underline;text-decoration-thickness:2px}p{color:var(--muted)}.hero-copy>p{max-width:600px;font-size:1rem}.hero-actions{flex-wrap:wrap;gap:12px;margin:22px 0;display:flex}.btn{border:1px solid #50483c;border-radius:6px;align-items:center;gap:8px;padding:12px 17px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:3px 3px #322a1e21}.btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px #322a1e21}.btn-primary{background:var(--rust);color:#fff;border-color:#873124}.btn-paper{color:var(--ink);background:#fffaef80}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;display:grid}.stat{border-right:1px solid var(--line);padding:17px 12px 14px}.stat:last-child{border:0}.stat strong{color:var(--rust);font:700 25px Libre Baskerville,serif;display:block}.stat span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.hero-art{min-height:445px;position:relative}.photo-card{width:315px;box-shadow:var(--shadow);background:#f8f0df;border:1px solid #cbbda4;padding:12px 12px 19px;position:absolute;top:0;right:80px;transform:rotate(3deg)}.photo-placeholder{color:#fff;text-shadow:0 1px 2px #222;background:linear-gradient(135deg,#6b7775,#c2c0b1 55%,#5d665f);flex-direction:column;justify-content:center;align-items:center;height:285px;display:flex}.photo-caption{padding:13px 5px 0;font-family:Libre Baskerville,serif}.photo-caption strong,.photo-caption span{display:block}.photo-caption span{color:var(--muted);margin-top:4px;font:12px DM Mono,monospace}.tape{z-index:2;background:#c2a36c73;width:100px;height:25px;position:absolute}.tape-a{top:-10px;right:305px;transform:rotate(-15deg)}.tape-b{top:320px;right:40px;transform:rotate(10deg)}.note{background:#f8efdbb3;padding:14px;font:13px DM Mono,monospace;position:absolute;box-shadow:0 4px 13px #46372114}.note-tech{line-height:1.45;top:365px;right:-5px;transform:rotate(-3deg)}.note-tech strong{font-family:Libre Baskerville,serif;font-size:14px}.code-card{color:#e6d7bd;width:300px;box-shadow:var(--shadow);z-index:3;background:#222a2b;border:3px solid #e1d2b7;padding:15px;position:absolute;bottom:18px;left:0;transform:rotate(-3deg)}.window-dots{gap:5px;margin-bottom:10px;display:flex}.window-dots i{background:#d56c4b;border-radius:50%;width:7px;height:7px}.code-card code{white-space:pre-wrap;font:11px/1.55 DM Mono,monospace}.scribble{color:#6c5143;font:12px DM Mono,monospace;position:absolute;top:310px;right:6px;transform:rotate(-9deg)}.tech-strip{border-block:1px dashed var(--line);grid-column:1/-1;align-items:center;gap:22px;width:100%;margin-top:8px;padding:15px 0;font-size:12px;display:flex;overflow:hidden}.tech-strip>span:first-child{text-transform:uppercase;color:var(--muted);white-space:nowrap;flex:none;font:11px DM Mono,monospace}.tech-marquee{flex:auto;min-width:0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.tech-track{will-change:transform;align-items:center;gap:28px;width:max-content;animation:30s linear infinite technologyScroll;display:flex}.tech-item{white-space:nowrap;flex:none;align-items:center;gap:8px;display:inline-flex}.tech-icon{flex:none;width:21px;height:21px}.tech-item b{white-space:nowrap;font-size:12px;font-weight:600}.tech-more{color:var(--muted);white-space:nowrap;flex:none;font-size:10px}@keyframes technologyScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.tech-marquee:hover .tech-track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.tech-track{animation:none}}.section{padding:68px 0 0}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px;display:flex}.section-head h2,.about-copy h2,.contact h2,.currently h2{margin:14px 0 9px;font-size:clamp(31px,3.5vw,43px)}.section-head p{max-width:630px;margin:0}.text-link{color:var(--rust);white-space:nowrap;align-items:center;gap:5px;font:600 12px DM Mono,monospace;text-decoration:none;display:flex}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project-card,.stack-card,.focus-card{background:#f9f1e1b8;border:1px solid #d4c4a8;position:relative;box-shadow:0 7px 20px #44331b14}.project-card:nth-child(2){transform:translateY(9px)rotate(.3deg)}.project-card:nth-child(3){transform:rotate(-.5deg)}.project-image{background:#24313b;border:1px solid #aaa;height:190px;margin:10px;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%}.image-fallback{background:repeating-linear-gradient(135deg,#27343c 0 12px,#33454d 12px 24px)}.project-image span{background:#f4e9d2;border:1px solid #bba987;padding:4px 8px;font:10px DM Mono,monospace;position:absolute;top:10px;left:10px}.project-body{padding:4px 13px 15px}.project-number{color:var(--rust);margin-bottom:5px;font:10px DM Mono,monospace}.project-card h3{justify-content:space-between;gap:10px;font-size:16px;display:flex}.project-card p{min-height:54px;font-size:11px}.tags{flex-wrap:wrap;gap:5px;display:flex}.tags span{color:#4e514d;background:#f5ecdb;border:1px solid #cbbca4;border-radius:4px;padding:4px 7px;font:10px DM Mono,monospace}.impact{border-top:1px dashed var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:14px;padding-top:11px;display:grid}.impact span{text-align:center;font:10px DM Mono,monospace}.experience-layout{grid-template-columns:minmax(0,1fr) 220px;gap:30px;display:grid}.timeline{position:relative}.timeline:before{content:"";border-left:2px solid #a84535;position:absolute;top:14px;bottom:15px;left:8px}.timeline-item{grid-template-columns:130px 1fr;gap:28px;padding:0 0 30px;display:grid;position:relative}.timeline-dot{background:var(--rust);border:2px solid var(--paper);border-radius:50%;width:13px;height:13px;position:absolute;top:4px;left:2px}.timeline-date{color:var(--muted);padding-left:30px;font:11px DM Mono,monospace}.timeline-date strong,.timeline-date span{display:block}.timeline-content{padding-left:5px}.mini-icon{float:left;width:30px;height:30px;color:var(--rust);background:#ead9ba;border:1px solid #c8b692;place-items:center;margin-right:11px;display:grid}.timeline-content h3{padding-top:5px;font-size:14px}.timeline-content a{color:#286a9b;font-size:12px;font-weight:700;text-decoration:none}.timeline-content ul{color:#4e554f;margin:9px 0 0;padding-left:16px;font-size:12px}.impact-card{color:#f8efdf;background:#1e4d43;align-self:start;padding:24px;transform:rotate(1deg);box-shadow:8px 8px #3f2e1d1f}.impact-card .section-label{color:#5b3529;background:#d8bc86}.impact-card strong{color:#edb36a;margin-top:19px;font:700 28px Libre Baskerville,serif;display:block}.impact-card span{color:#d5dfd8;font:11px DM Mono,monospace;display:block}.stack-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.stack-card{padding:1rem}.stack-title{color:var(--green);align-items:center;gap:10px;margin-bottom:15px;display:flex}.stack-title h3{font-size:1.05rem}.about-grid{grid-template-columns:240px 1fr 300px;align-items:center;gap:30px;display:grid}.about-photo{box-shadow:var(--shadow);background:#f8efdf;border:1px solid #cab998;padding:9px;position:relative;transform:rotate(-2deg)}.about-photo .photo-placeholder{height:230px}.about-note{color:#6a4d3f;font:11px DM Mono,monospace;position:absolute;bottom:-32px;left:-15px;transform:rotate(-7deg)}.about-copy p{max-width:620px;font-size:15px}.about-meta{color:#555;flex-direction:column;gap:8px;font:11px DM Mono,monospace;display:flex}.about-meta span{align-items:center;gap:7px;display:flex}.focus-card{padding:20px}.focus-card>div{border-bottom:1px dashed var(--line);grid-template-columns:28px 1fr;gap:8px;padding:14px 0;display:grid}.focus-card>div:last-child{border:0}.focus-card b{color:var(--rust);font:11px DM Mono,monospace}.focus-card span{color:var(--muted);font-size:10px}.focus-card strong{color:var(--ink);margin-bottom:3px;font-size:12px;display:block}.currently{padding-top:60px}.currently-grid{border-block:1px dashed var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px;display:grid}.currently-grid>div{border-right:1px dashed var(--line);padding:18px}.currently-grid>div:last-child{border:0}.currently-grid b{font-size:12px;display:block}.currently-grid span{color:var(--muted);margin-top:5px;font-size:10px;display:block}.contact{border-block:1px dashed var(--line);justify-content:space-between;align-items:center;gap:30px;margin-top:65px;margin-bottom:50px;padding:55px 0;display:flex}.contact p{max-width:590px}.contact-note{min-width:250px;box-shadow:var(--shadow);background:#f7edda;border:1px solid #c8b996;flex-direction:column;gap:5px;padding:20px 25px;display:flex;transform:rotate(2deg)}.contact-note svg{color:var(--rust)}.contact-note strong{font-family:Libre Baskerville,serif}.contact-note span,.contact-note small{color:var(--muted);font:10px DM Mono,monospace}.footer{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:end;gap:16px;padding:25px 0 35px;display:grid}.footer strong,.footer span{display:block}.footer strong{font-family:Libre Baskerville,serif}.footer span,.footer small{color:var(--muted);font:10px DM Mono,monospace}.socials{justify-content:end;align-items:center;gap:12px;display:flex}.socials small{margin-left:8px}body{min-width:320px;overflow-x:hidden}main{overflow:hidden}.hero-copy{padding-top:8px}.hero-copy>p{line-height:1.62}.hero h1 em{text-underline-offset:7px;text-decoration-thickness:1.5px}.hero-art{min-width:0}.photo-card{background:#f6edda;border-radius:0}.photo-card:before{content:"";pointer-events:none;border:1px solid #6a4d2d2e;position:absolute;inset:-5px;transform:rotate(.5deg)}.photo-placeholder img{object-fit:cover;width:100%;height:285px;display:block}.stats{background:#ffffff14}.project-card{border-radius:0;overflow:visible}.project-card:before,.stack-card:before,.focus-card:before{content:"";pointer-events:none;border:1px solid #6f532b14;position:absolute;inset:4px}.project-image{border-radius:0}.project-body p{line-height:1.55}.impact-card{border-radius:0}.stack-card{min-height:155px}.about-grid{position:relative}.about-copy h2{letter-spacing:-1px}.contact{position:relative}.footer{background:#ffffff0f}@media (width>=901px){.hero{min-height:495px}.hero-art{transform:translateY(3px)}.section+.section{padding-top:72px}.project-grid{align-items:start}.project-card:nth-child(2){transform:translateY(8px)rotate(.3deg)}.project-card:nth-child(3){transform:translateY(1px)rotate(-.5deg)}}@media (width<=900px){.wrap{width:min(100% - 30px,850px)}.nav{padding:0 1rem}.hero{padding-top:40px}.photo-card{right:15%}.code-card{left:2%}}@media (width<=640px){.nav{padding:0 12px}.logo{height:40px}.hero{padding-top:35px}h1{font-size:clamp(36px,11vw,48px);line-height:1.06}.hero-copy>p{font-size:13px}.hero-art{min-height:445px}.photo-card{width:245px;right:7%}.photo-placeholder,.photo-placeholder img{height:225px}.code-card{width:255px;bottom:18px}.note-tech{top:300px;right:0}.tape-a{right:155px}.tape-b{top:286px}.section-head h2,.about-copy h2,.contact h2,.currently h2{font-size:32px}.project-image{height:210px}.timeline-content ul{font-size:11px}.about-photo{margin-left:20px}}@media (width<=900px){.wrap{width:min(100% - 30px,850px)}.nav{padding:0 1rem}.hero{grid-template-columns:1fr;padding-top:40px}.hero-art{width:100%;min-height:470px}.photo-card{right:15%}.code-card{left:2%}.tech-strip{gap:16px;overflow:hidden}.tech-track{gap:24px;animation-duration:27s}.project-grid,.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-layout{grid-template-columns:1fr}.impact-card{max-width:300px}.about-grid{grid-template-columns:220px 1fr}.focus-card{grid-column:1/-1}.currently-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.currently-grid>div:nth-child(2){border-right:0}.footer{grid-template-columns:1fr}.socials,.footer nav{justify-content:flex-start}}@media (width<=640px){.wrap{width:calc(100% - 28px)}.nav{min-height:70px;padding:0 12px}.nav nav,.brand small{display:none}.logo{height:40px}.availability{padding:7px 9px}.hero{padding-top:35px}h1{font-size:clamp(36px,11vw,48px);line-height:1.06}.hero-copy>p{font-size:13px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.hero-art{min-height:445px}.photo-card{width:245px;max-width:72vw;right:7%}.photo-placeholder,.photo-placeholder img{height:225px}.code-card{width:255px;max-width:72vw;bottom:18px;left:0}.note-tech{top:300px;right:0}.tape-a{right:155px}.tape-b{top:286px}.scribble{display:none}.section{padding-top:65px}.section-head{flex-direction:column;align-items:flex-start}.section-head h2,.about-copy h2,.contact h2,.currently h2{font-size:32px}.project-grid,.stack-grid{grid-template-columns:1fr}.project-card:nth-child(2),.project-card:nth-child(3){transform:none}.project-image{height:210px}.project-body p{min-height:auto}.timeline-item{grid-template-columns:1fr;gap:7px;padding-left:30px}.timeline-date,.timeline-content{padding-left:0}.timeline-content ul{font-size:11px}.about-grid{grid-template-columns:1fr}.about-photo{width:230px;margin-left:20px}.currently-grid{grid-template-columns:1fr}.currently-grid>div{border-right:0;border-bottom:1px dashed var(--line)}.currently-grid>div:last-child{border-bottom:0}.contact{flex-direction:column;align-items:flex-start}.contact-note{width:100%;min-width:0}.footer nav{flex-wrap:wrap;gap:15px}.tech-strip{gap:12px;padding:13px 0}.tech-strip>span:first-child{font-size:9px}.tech-track{gap:20px;animation-duration:24s}.tech-icon{width:18px;height:18px}.tech-item b{font-size:10px}.tech-more{display:none}}@media (width<=380px){.wrap{width:calc(100% - 20px)}.nav{padding:0 8px}.logo{height:36px}.availability{padding:6px 8px;font-size:9px}h1{font-size:34px}.hero-actions{flex-direction:column;align-items:stretch}.btn{justify-content:center}.hero-art{min-height:410px}.photo-card{width:210px;right:2%}.photo-placeholder,.photo-placeholder img{height:195px}.code-card{width:220px}.note-tech{padding:10px;font-size:9px;top:275px}.stat{padding:13px 8px}.stat strong{font-size:21px}.impact{grid-template-columns:1fr}.impact span{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.availability,.tech-track{animation:none}}
