@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg:#101719;--panel:#172023;--line:#30393b;--text:#f3f4ed;--muted:#a6afb0;--lime:#d0ef83}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.65 DM Sans,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}:is(a:focus-visible,button:focus-visible,summary:focus-visible){outline:2px solid var(--lime);outline-offset:6px}::selection{background:var(--lime);color:var(--bg)}.wrap{max-width:1280px;margin:auto;padding-left:60px;padding-right:60px}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1280px;height:100px;margin:auto;padding:0 60px;display:flex}.logo{letter-spacing:-3px;font:800 36px Manrope,sans-serif}.logo span{color:var(--lime)}nav{gap:36px;font-size:13px;display:flex}nav a:hover,.text-link:hover{color:var(--lime)}.nav-contact{border:1px solid #61706a;border-radius:5px;padding:9px 20px;font-size:13px}.hero{grid-template-columns:1.25fr 1fr;column-gap:30px;padding-top:88px;display:grid}.eyebrow{letter-spacing:2px;color:var(--lime);margin:0 0 26px;font-size:10px;font-weight:600}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{letter-spacing:-3px;margin-bottom:26px;font-size:clamp(42px,4.7vw,64px);font-weight:600;line-height:1.13}em{color:var(--lime);font-style:normal}.intro{max-width:460px;color:var(--muted);font-size:16px;line-height:1.8}.actions{align-items:center;gap:30px;margin-top:32px;display:flex}.button{background:var(--lime);color:#151d17;border-radius:4px;padding:15px 22px;font-size:13px;font-weight:700;display:inline-flex}.button:hover{background:#e2ffa3}.text-link{font-size:13px}.hero-art{background:radial-gradient(#28403655,#0000 65%);align-self:center;height:400px;position:relative;overflow:hidden}.hero-art:before{content:"";background-image:linear-gradient(#7794800c 1px,#0000 1px),linear-gradient(90deg,#7794800c 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:25px;-webkit-mask-image:radial-gradient(#000,#0000 70%);mask-image:radial-gradient(#000,#0000 70%)}.orbit{border:1px solid #697b4955;border-radius:50%;width:340px;height:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-30deg)}.orbit.two{width:220px;height:340px;transform:translate(-50%,-50%)rotate(-35deg)}.core{background:linear-gradient(145deg,#344536,#142520);border:1px solid #c3e2807a;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;width:148px;height:148px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-10deg);box-shadow:12px 18px #091412,13px 19px #58694c55,0 0 70px #c5ed6d0c}.core>b{letter-spacing:-6px;color:var(--lime);font:700 64px Manrope}.core small{letter-spacing:1px;color:#adbe9e;font-size:7px}.node{width:64px;height:64px;color:var(--lime);z-index:1;background:#1e2925;border:1px solid #55624c;border-radius:12px;justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute;box-shadow:6px 7px #0a1110}.node small{letter-spacing:2px;color:var(--muted);font-size:8px;position:absolute;bottom:-24px}.api{top:55px;left:20%}.data{top:47%;right:8%}.security{bottom:45px;left:16%}.art-label{letter-spacing:2px;color:#96a193;font-size:8px;position:absolute;top:0;right:10px}.art-bottom{letter-spacing:1px;color:#9da994;font-size:8px;position:absolute;bottom:0;right:0}.hero-bottom{border-bottom:1px solid var(--line);letter-spacing:1.7px;color:var(--muted);grid-column:1/-1;justify-content:space-between;margin-top:65px;padding-bottom:25px;font-size:8px;display:flex}.metrics{grid-template-columns:repeat(3,1fr);padding-top:36px;padding-bottom:36px;display:grid}.metrics>div{border-right:1px solid var(--line);align-items:center;gap:22px;padding-left:30px;display:flex}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics strong{letter-spacing:-2px;white-space:nowrap;font:500 38px Manrope}.metrics strong span{color:var(--lime)}.metrics p{margin:0;font-size:11px;line-height:1.7}.metrics small{color:#919c9e;font-size:10px;display:block}.section{padding-top:95px;padding-bottom:95px}.heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.heading .eyebrow{margin-bottom:16px}h2{letter-spacing:-1.5px;margin-bottom:0;font-size:38px;font-weight:600;line-height:1.2}.heading>p{color:var(--muted);margin-bottom:3px;font-size:13px}.filters{flex-wrap:wrap;gap:10px;margin-bottom:30px;display:flex}.filters button{border:1px solid var(--line);color:#abb4b4;cursor:pointer;background:0 0;border-radius:30px;padding:7px 16px;font-size:11px}.filters button[aria-pressed=true]{background:var(--lime);color:#152014;border-color:var(--lime)}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.project{border:1px solid var(--line);background:#151e20;border-radius:8px;overflow:hidden}.project:first-child{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.visual{background:#202c2b;flex-direction:column;justify-content:center;height:210px;padding:24px;display:flex;position:relative;overflow:hidden}.project:first-child .visual{height:100%;min-height:270px}.visual-label{letter-spacing:1.6px;color:#aabcb0;font-size:8px;position:absolute;top:22px;left:24px}.flow{justify-content:center;align-items:center;gap:12px;display:flex}.flow b{background:#1b2523;border:1px solid #71816950;border-radius:5px;padding:16px 13px;font:500 12px monospace}.flow i{color:#a0b488;font-style:normal}.flow .highlight{background:var(--lime);color:#17251b;border-color:var(--lime);box-shadow:0 0 45px #d0ef831a}.visual-bottom{color:#9ba992;letter-spacing:1px;font-size:7px;position:absolute;bottom:22px;left:24px;right:24px}.visual-1{background:#202a35}.transactions{align-self:center;width:75%;transform:rotate(-4deg)}.transactions>div{background:#273645;border:1px solid #65799445;border-radius:7px;align-items:center;gap:16px;margin-top:10px;padding:12px 18px;font-size:10px;display:flex}.transactions span{color:#b2d1ff;font-size:22px}.transactions b{color:var(--lime);margin-left:auto}.transactions>div+div{margin-left:20px}.visual-2{background-color:#292b25;background-image:linear-gradient(40deg,#0000 46%,#91a37912 47% 49%,#0000 50%),linear-gradient(135deg,#0000 46%,#91a37912 47% 49%,#0000 50%);background-size:60px 70px}.route{color:var(--lime);justify-content:center;align-items:center;gap:8px;display:flex}.route b{color:#283026;text-align:center;background:#d0ef83;border:5px solid #677649;border-radius:50%;width:40px;height:40px;font-size:16px;line-height:30px}.route i{font-size:32px}.project-body{padding:28px}.project-meta{text-transform:uppercase;letter-spacing:1.6px;color:#a7b695;justify-content:space-between;margin-bottom:15px;font-size:9px;display:flex}h3{letter-spacing:-.5px;margin-bottom:10px;font-size:21px;font-weight:600;line-height:1.35}.project-body>p{color:var(--muted);font-size:13px}.tags{flex-wrap:wrap;gap:7px;margin:19px 0;display:flex}.tags span{color:#bdc6c4;background:#232d2f;border-radius:3px;padding:3px 9px;font-size:9px}details{border-top:1px solid var(--line);padding-top:13px}summary{cursor:pointer;justify-content:space-between;font-size:11px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary span{color:var(--lime)}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);margin:13px 0 0;font-size:13px}.note{color:#929d9f;margin:20px 0 0;font-size:10px}.experience{border-block:1px solid var(--line);background:#151e20}.experience-grid{grid-template-columns:.9fr 1.25fr;gap:85px;display:grid}.muted{color:var(--muted);margin:23px 0;font-size:13px}.timeline article{border-left:1px solid #435145;padding:0 0 30px 30px;position:relative}.timeline article:before{content:"";background:var(--lime);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;left:-4px}.timeline article:last-child{padding-bottom:0}.date{color:#a9b39d;align-items:center;gap:15px;margin-bottom:12px;font-size:10px;display:flex}.date span{color:var(--lime);border:1px solid #65774e;border-radius:3px;padding:0 7px;font-size:8px}.timeline h3{margin-bottom:5px}.timeline h4{color:#ccd1cd;margin-bottom:12px;font-size:12px;font-weight:500}.timeline article>p:last-child{color:var(--muted);max-width:500px;margin-bottom:0;font-size:13px;line-height:1.8}.about-grid{grid-template-columns:.85fr 1.15fr;gap:85px;margin-top:45px;display:grid}.monogram{letter-spacing:-9px;background:#202b27;border:1px solid #3b493a;justify-content:center;align-items:center;width:100%;height:150px;margin-bottom:26px;font:800 90px Manrope;display:flex;position:relative}.monogram>span{color:var(--lime)}.monogram small{letter-spacing:2px;color:#9da893;font:8px DM Sans;position:absolute;bottom:12px;right:15px}.education{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.education .eyebrow{margin-bottom:10px}.education h4{margin-bottom:7px;font-size:13px;font-weight:500}.education>p:last-child{color:var(--muted);font-size:12px}.languages{margin:25px 0 0;font-size:10px}.languages span{color:#8e9a99}.tool-row{border-top:1px solid var(--line);gap:24px;padding:24px 0;display:flex}.tool-row>span{color:var(--lime);padding-top:7px;font:10px monospace}.tool-row h3{font-size:17px}.tool-row p{color:var(--muted);margin-bottom:0;font-size:13px;line-height:2}.contact{background:var(--lime);color:#18231b;padding:75px 0}.contact .eyebrow{color:#45593b}.contact-heading{justify-content:space-between;align-items:center;display:flex}.contact h2{letter-spacing:-3px;font-size:65px;line-height:1.1}.contact em{color:#576b39}.contact-arrow{text-align:center;border:1px solid #627344;border-radius:50%;width:105px;height:105px;font-size:65px;line-height:95px}.contact-arrow:hover{color:var(--lime);background:#17231b}.contact p:not(.eyebrow){color:#45543a;margin:25px 0;font-size:14px}.email{letter-spacing:-.5px;border-bottom:1px solid #91aa62;padding-bottom:8px;font-size:24px;display:inline-block}.contact-links{gap:30px;margin-top:40px;font-size:12px;display:flex}footer{justify-content:space-between;align-items:center;display:flex;padding-top:27px!important;padding-bottom:27px!important}footer p,footer>a:last-child{color:var(--muted);margin:0;font-size:10px}.skip{background:var(--lime);color:#101719;z-index:10;padding:10px;position:absolute;top:-100px;left:20px}.skip:focus{top:10px}@media (max-width:1000px){.wrap{padding-left:32px;padding-right:32px}header{padding:0 32px}.hero{column-gap:5px}h1{font-size:48px}.hero-art{transform:scale(.9)}.metrics>div{padding-left:20px;display:block}.metrics p{margin-top:8px}.experience-grid,.about-grid{gap:40px}.flow{gap:8px}.flow b{padding:14px 8px;font-size:10px}.heading>p{max-width:280px}.contact h2{font-size:58px}}@media (max-width:700px){header{height:80px;padding:0 22px}nav{gap:16px;font-size:11px}.nav-contact{display:none}.wrap{padding-left:22px;padding-right:22px}.hero{padding-top:50px;display:block}h1{letter-spacing:-2.3px;font-size:46px}.intro{font-size:14px}.eyebrow{letter-spacing:1.5px;font-size:8px}.hero-art{max-width:420px;height:330px;margin:35px auto 0;transform:none}.core{width:125px;height:125px}.orbit.one{width:290px;height:185px}.orbit.two{width:185px;height:290px}.api{top:30px}.security{bottom:40px}.hero-bottom{margin-top:30px;font-size:7px}.hero-bottom>span{max-width:160px}.hero-bottom>a{align-self:center}.metrics{gap:10px;padding-top:26px;padding-bottom:0}.metrics>div{padding-left:10px}.metrics strong{font-size:28px}.metrics p{font-size:9px}.metrics small{font-size:8px}.section{padding-top:65px;padding-bottom:65px}.heading{display:block}.heading>p{max-width:none;margin-top:20px}h2{font-size:31px}.projects{grid-template-columns:1fr}.project:first-child{grid-column:auto;display:block}.project:first-child .visual{min-height:210px}.project-body{padding:23px}.project h3{font-size:20px}.experience-grid,.about-grid{grid-template-columns:1fr;gap:35px}.timeline article{padding-left:22px}.contact{padding:55px 0}.contact h2{letter-spacing:-2px;font-size:43px}.contact-arrow{width:65px;height:65px;font-size:38px;line-height:60px}.email{letter-spacing:-.3px;font-size:clamp(15px,4.3vw,22px)}.contact-links{flex-wrap:wrap;gap:22px;font-size:11px}footer{gap:15px}footer p{font-size:9px}.actions{gap:23px}.text-link{font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
