@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg:#f1eee7;--surface:#e5e1d8;--ink:#121212;--muted:#69665f;--line:#c5c0b6;--acid:#ff4d19;--lime:#d7e56b;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif}body:before{content:"";z-index:30;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}.site-shell{overflow:hidden}.section-frame{width:min(var(--max),calc(100% - 72px));margin:auto}.site-nav{z-index:20;width:min(var(--max),calc(100% - 40px));border:1px solid var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f1eee7e0;justify-content:space-between;align-items:center;padding:15px 18px;transition:all .25s;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.site-nav-scrolled{box-shadow:5px 5px 0 var(--ink);top:8px}.wordmark{letter-spacing:.08em;align-items:center;gap:12px;font:11px DM Mono,monospace;display:flex}.wordmark span{background:var(--ink);width:29px;height:29px;color:var(--bg);place-items:center;font-size:12px;display:grid}.wordmark b{font-weight:500}.desktop-nav{align-items:center;gap:28px;font:11px DM Mono,monospace;display:flex}.desktop-nav a:hover,.text-link:hover{color:var(--acid)}.nav-status{border-left:1px solid var(--line);padding-left:28px}.nav-status i{background:var(--acid);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.menu-button{color:var(--ink);background:0 0;border:0;display:none}.mobile-menu{display:none}.hero{border-bottom:1px solid var(--ink);min-height:790px;padding-top:190px;position:relative}.hero-copy{z-index:2;width:68%;position:relative}.eyebrow,.section-label,.project-type,.console-top,.console-footer,.hero-index,.project-url,.timeline>article>span,.meta-row span{letter-spacing:.08em;text-transform:uppercase;font:11px DM Mono,monospace}.eyebrow{align-items:center;gap:18px;display:flex}.eyebrow span,.section-label span{color:var(--acid)}h1,h2,h3,p{margin-top:0}.hero h1{letter-spacing:-.095em;margin:42px 0 34px;font-size:clamp(82px,13vw,196px);font-weight:800;line-height:.82}.hero h1 em,.about h2 em,.skills h2 em,.work h2 em,.contact h2 em{letter-spacing:-.08em;font-family:Georgia,serif;font-weight:400}.hero h1 em{color:var(--acid)}.hero-intro{max-width:420px;font-size:17px;line-height:1.6}.hero-actions{align-items:center;gap:28px;margin-top:36px;display:flex}.button{text-transform:uppercase;border:1px solid var(--ink);align-items:center;gap:17px;padding:15px 17px;font:11px DM Mono,monospace;display:inline-flex}.button-primary{background:var(--ink);color:var(--bg)}.button-primary:hover{background:var(--acid);color:var(--ink)}.button svg,.contact-email svg,.project-card h3 svg{width:16px}.text-link{text-underline-offset:5px;font:11px DM Mono,monospace;text-decoration:underline}.hero-console{background:var(--ink);width:270px;color:var(--bg);border:1px solid var(--ink);box-shadow:12px 12px 0 var(--acid);position:absolute;top:250px;right:3%;transform:rotate(3deg)}.console-top,.console-footer{border-bottom:1px solid #ffffff2b;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.console-top>span:first-child{gap:5px;display:flex}.console-top i{background:var(--acid);border-radius:50%;width:7px;height:7px}.console-live{color:var(--lime)}.console-body{padding:22px 14px 26px;font:11px/2 DM Mono,monospace}.console-comment{color:#89877f}.console-body strong{color:#8e8b84;width:78px;font-weight:400;display:inline-block}.console-body span{color:var(--bg)}.console-body .green{color:var(--lime)}.signal{align-items:end;gap:4px;height:32px;margin-top:18px;display:flex}.signal span{background:var(--lime);width:7px;height:calc(10px + (var(--i,1) * 1px))}.signal span:nth-child(2n){height:23px}.signal span:nth-child(3n){height:14px}.console-footer{color:#9e9b93;border:0}.hero-index{align-items:center;gap:16px;display:flex;position:absolute;bottom:28px;left:0}.hero-index span{color:var(--muted)}.hero-index svg{width:15px;color:var(--acid)}.section-space{padding-top:150px}.section-label{border-top:1px solid var(--ink);align-items:center;gap:22px;padding-top:13px;display:flex}.section-label span{margin-right:2px}.about-grid{grid-template-columns:1fr 1fr;gap:8%;margin-top:62px;display:grid}.about h2,.skills h2,.work h2{letter-spacing:-.08em;margin:0;font-size:clamp(52px,7vw,100px);line-height:.9}.about h2 em,.skills h2 em,.work h2 em,.contact h2 em{color:var(--acid)}.about-text{max-width:500px}.large-copy{letter-spacing:-.03em;font-size:25px;line-height:1.25}.about-text>p:not(.large-copy){color:var(--muted);line-height:1.7}.meta-row{border-top:1px solid var(--line);gap:30px;margin-top:42px;padding-top:16px;display:flex}.meta-row div{gap:9px;display:grid}.meta-row span{color:var(--muted)}.meta-row strong{font-size:12px;font-weight:600}.skills-layout{grid-template-columns:1fr 1.2fr;gap:8%;margin-top:62px;display:grid}.skills-orbit{border:1px solid var(--ink);background:var(--surface);min-height:405px;padding:25px;position:relative}.skills-orbit:after{content:"SKILLS / 10";color:var(--muted);font:10px DM Mono;position:absolute;bottom:20px;right:24px}.skill-node{background:var(--bg);border:1px solid var(--ink);padding:11px 14px;font-size:12px;transition:all .25s;position:absolute}.skill-node:hover{background:var(--lime);box-shadow:4px 4px 0 var(--ink);transform:translate(-3px,-3px)}.skill-node span{color:var(--acid);margin-right:10px;font:10px DM Mono}.node-0{top:14%;left:10%}.node-1{top:32%;left:38%}.node-2{top:13%;right:8%}.node-3{top:57%;left:14%}.node-4{top:74%;left:42%}.node-5{top:48%;right:10%}.node-6{bottom:8%;right:24%}.node-7{top:76%;left:8%}.node-8{top:39%;left:6%}.node-9{top:62%;right:32%}.work-heading{justify-content:space-between;align-items:end;margin:62px 0 42px;display:flex}.work-heading p{max-width:230px;color:var(--muted);font-size:13px;line-height:1.5}.project-list{border-top:1px solid var(--ink)}.project-card{border-bottom:1px solid var(--line);grid-template-columns:65px 1fr 180px;gap:20px;padding:27px 0;transition:all .25s;display:grid}.project-card:hover{background:var(--lime);padding-left:15px}.project-number,.project-url{color:var(--acid);font:11px DM Mono}.project-card h3{letter-spacing:-.06em;align-items:center;gap:12px;margin:10px 0 14px;font-size:clamp(26px,3vw,43px);line-height:1;display:flex}.project-card>div:nth-child(2)>p:not(.project-type){max-width:480px;color:var(--muted);font-size:13px;line-height:1.5}.project-card:hover>div:nth-child(2)>p:not(.project-type){color:var(--ink)}.project-card h3 svg{opacity:0;transition:all .2s}.project-card:hover h3 svg{opacity:1;transform:translate(3px,-3px)}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{border:1px solid var(--line);padding:5px 7px;font:10px DM Mono}.project-url{text-align:right;color:var(--muted)}.timeline{border-top:1px solid var(--ink);margin-top:62px}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;padding:28px 0;display:grid}.timeline article>span{color:var(--acid)}.timeline h3{letter-spacing:-.04em;margin-bottom:7px;font-size:22px}.timeline p{color:var(--muted);margin:0}.timeline small{color:var(--muted);margin-top:19px;font:11px DM Mono;display:block}.contact{background:var(--acid);width:100%;max-width:none;padding-top:25px;padding-bottom:130px;padding-left:max(36px,calc((100vw - var(--max))/2));padding-right:max(36px,calc((100vw - var(--max))/2));margin-top:160px}.contact .section-label{border-color:var(--ink)}.contact h2{letter-spacing:-.1em;margin:80px 0 60px;font-size:clamp(70px,12vw,170px);line-height:.8}.contact h2 em{color:var(--ink)}.contact-email{border-bottom:2px solid var(--ink);letter-spacing:-.05em;justify-content:space-between;align-items:center;padding-bottom:13px;font-size:clamp(20px,3vw,38px);display:flex}.contact-footer{text-transform:uppercase;justify-content:space-between;margin-top:25px;font:11px DM Mono;display:flex}.contact-footer span{align-items:center;gap:8px;display:flex}.footer{color:var(--muted);text-transform:uppercase;justify-content:space-between;padding:24px 0;font:10px DM Mono;display:flex}.footer a{color:var(--ink)}@media (width<=700px){.section-frame{width:calc(100% - 40px)}.site-nav{width:calc(100% - 24px);top:12px}.desktop-nav{display:none}.menu-button{display:block}.mobile-menu{z-index:15;background:var(--bg);flex-direction:column;justify-content:center;gap:25px;padding:40px;display:flex;position:fixed;inset:0}.mobile-menu a{letter-spacing:-.07em;border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:15px;font-size:42px;display:flex}.mobile-menu svg{color:var(--acid)}.hero{min-height:760px;padding-top:160px}.hero-copy{width:100%}.hero h1{margin-top:28px;font-size:70px}.hero-intro{font-size:16px}.hero-console{width:calc(100% - 15px);margin:70px 0 0;position:relative;top:auto;right:auto;transform:rotate(2deg)}.hero-index{bottom:20px}.section-space{padding-top:105px}.about-grid,.skills-layout{margin-top:40px;display:block}.about h2,.skills h2,.work h2{margin-bottom:40px;font-size:55px}.meta-row{flex-wrap:wrap;gap:15px}.meta-row div{min-width:125px}.skills-orbit{min-height:420px}.skill-node{font-size:11px}.project-card{grid-template-columns:35px 1fr;gap:12px}.project-url{text-align:left;grid-column:2}.project-card h3{font-size:29px}.work-heading{margin-top:40px;display:block}.work-heading p{margin-top:30px}.timeline article{grid-template-columns:60px 1fr;padding-left:0}.contact{margin-top:110px;padding:24px 20px 100px}.contact h2{margin-top:65px;font-size:70px}.contact-footer{margin-top:55px;line-height:2.5;display:block}.footer{line-height:2.2;display:block}.footer span:nth-child(2){display:block}.hero-actions{flex-wrap:wrap;gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@keyframes enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero-copy>*{animation:.7s both enter}.hero-copy>:nth-child(2){animation-delay:.1s}.hero-copy>:nth-child(3){animation-delay:.18s}.hero-copy>:nth-child(4){animation-delay:.26s}
