@import "https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{--ink:#e8e8e3;--muted:#989b96;--line:#e8e8e324;--acid:#c7fa54;--bg:#0b0c0e;--surface:#121416;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#819d39 #0b0c0e}html::-webkit-scrollbar{width:9px}html::-webkit-scrollbar-track{background:#0b0c0e;border-left:1px solid #e8e8e314}html::-webkit-scrollbar-thumb{background:linear-gradient(#c7fa54,#718b31);border:3px solid #0b0c0e;border-radius:999px;min-height:48px}html::-webkit-scrollbar-thumb:hover{background:#dcff86}body{background:var(--bg);margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--acid);color:#0b0c0e}.app{position:relative;overflow:hidden}.grain{pointer-events:none;z-index:30;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.preloader{z-index:50;letter-spacing:.16em;background:#0b0c0e;justify-content:center;align-items:center;gap:18px;font-size:13px;transition:transform .8s cubic-bezier(.76,0,.24,1),visibility .8s;display:flex;position:fixed;inset:0}.preloader b{color:var(--acid);font:12px DM Mono,monospace}.is-loaded .preloader{visibility:hidden;transform:translateY(-100%)}.nav-wrap{z-index:20;background:linear-gradient(#0b0c0eaa,#0000);justify-content:space-between;align-items:center;height:82px;padding:0 clamp(20px,4vw,64px);display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:.08em;font-size:15px;font-weight:800}.brand span{color:var(--acid);vertical-align:top;margin-left:2px;font-size:9px}.nav{gap:30px;margin-left:auto;margin-right:44px;display:flex}.nav a,.nav-email{color:#bbbdb8;font-size:12px;transition:color .25s}.nav a:hover,.nav-email:hover{color:var(--acid)}.nav-email{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding-bottom:4px;display:flex}.menu{color:var(--ink);background:0 0;border:0;padding:8px;display:none}.hero{isolation:isolate;align-items:flex-end;min-height:100svh;padding:120px clamp(20px,8vw,134px) 70px;display:flex;position:relative}.hero-grid{z-index:-2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:clamp(60px,8vw,120px) clamp(60px,8vw,120px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 20% 78%,#0000);mask-image:linear-gradient(#0000 0%,#000 20% 78%,#0000)}.orb{filter:blur(2px);z-index:-1;border-radius:50%;position:absolute}.orb-one{background:radial-gradient(circle at 35% 35%,#d9ff7c3b,#0000 62%);width:min(45vw,680px);height:min(45vw,680px);top:7%;right:-10%}.orb-two{background:radial-gradient(circle,#463dff22,#0000 65%);width:32vw;height:32vw;bottom:-14%;left:18%}.hero-inner{width:100%;max-width:1280px;margin:auto}.eyebrow,.section-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font:11px DM Mono,monospace;display:flex}.eyebrow i{background:var(--acid);width:7px;height:7px;box-shadow:0 0 16px var(--acid);border-radius:50%;display:inline-block}.hero h1{letter-spacing:-.085em;max-width:1120px;margin:34px 0 48px;font-size:clamp(3.3rem,8.5vw,9.1rem);font-weight:700;line-height:.89}.hero h1 span{display:block}.hero h1 em,.contact h2 em,.intro h2 em{letter-spacing:-.08em;font-family:Playfair Display,serif;font-weight:500}.accent-line{color:#d3d3ce}.hero h1 em{color:var(--acid);font-size:.77em}.hero-bottom{justify-content:space-between;align-items:end;gap:40px;max-width:1120px;display:flex}.hero-bottom>p{color:#b7b9b5;max-width:390px;font-size:15px;line-height:1.7}.hero-links{align-items:center;gap:30px;display:flex}.button{align-items:center;gap:16px;padding:14px 17px;font-size:12px;font-weight:700;transition:transform .25s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--acid);color:#111}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding-bottom:6px;font-size:12px;font-weight:700;transition:color .2s,border-color .2s;display:inline-flex}.text-link:hover{color:var(--acid);border-color:var(--acid)}.scroll-cue{color:var(--muted);writing-mode:vertical-rl;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:12px;font:10px DM Mono,monospace;display:flex;position:absolute;bottom:70px;right:clamp(20px,4vw,64px)}.scroll-cue b{background:var(--acid);width:1px;height:35px}section:not(.hero){padding-left:clamp(20px,8vw,134px);padding-right:clamp(20px,8vw,134px)}.intro{border-top:1px solid var(--line);padding-top:clamp(110px,14vw,210px);padding-bottom:clamp(110px,14vw,210px)}.section-kicker span{color:var(--acid)}.intro-copy{grid-template-columns:1.65fr .65fr;align-items:end;gap:clamp(40px,10vw,150px);margin-top:72px;display:grid}.intro h2,.skills h2,.experience h2{letter-spacing:-.075em;margin:0;font-size:clamp(2.3rem,5.1vw,5.7rem);line-height:.98}.intro h2 em{color:var(--acid)}.intro-detail{color:#b4b6b2;font-size:15px;line-height:1.75}.intro-detail p{margin:0 0 28px}.skills{background:var(--surface);border-block:1px solid var(--line);padding-top:120px;padding-bottom:130px}.skill-header{justify-content:space-between;align-items:end;gap:40px;margin:72px 0 66px;display:flex}.skill-header p{max-width:260px;color:var(--muted);font-size:14px;line-height:1.65}.skill-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.skill-group{border-right:1px solid var(--line);min-height:260px;padding:20px 22px 0 0}.skill-group+.skill-group{padding-left:22px}.skill-group:last-child{border:0}.skill-group>p{color:var(--acid);text-transform:uppercase;margin:0 0 28px;font:11px DM Mono,monospace}.skill-group ul{margin:0;padding:0;list-style:none}.skill-group li{border-bottom:1px solid #e8e8e314;justify-content:space-between;padding:7px 0;font-size:14px;transition:color .2s,padding .2s;display:flex}.skill-group li span{opacity:0;color:var(--acid)}.skill-group li:hover{color:var(--acid);padding-left:5px}.skill-group li:hover span{opacity:1}.projects{padding-top:130px;padding-bottom:130px}.projects-top{justify-content:space-between;align-items:start;margin-bottom:75px;display:flex}.projects-top>p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.project{border-bottom:1px solid var(--line);margin-bottom:56px;padding:0 0 38px}.project-art{background:#17191a;height:clamp(260px,47vw,570px);transition:transform .5s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.project:hover .project-art{transform:scale(.985)}.project-art:before{content:"";opacity:.9;position:absolute;inset:0}.project-art.violet:before{background:radial-gradient(circle at 22% 24%,#a898ff 0 4%,#0000 4.2%),linear-gradient(122deg,#1b1b28,#332c6c 47%,#0b0c10)}.project-art.lime:before{background:linear-gradient(130deg,#131a12,#536d26 45%,#141712),radial-gradient(circle at 80% 30%,#d5ff6c,#0000 20%)}.project-art.amber:before{background:linear-gradient(130deg,#1e1714,#8c542b 52%,#18110e),radial-gradient(circle at 76% 30%,#ffd28c,#0000 22%)}.art-ui{color:#fff;letter-spacing:.08em;border:1px solid #ffffff57;justify-content:space-between;padding:20px;font:11px DM Mono,monospace;display:flex;position:absolute;inset:clamp(16px,3vw,40px)}.art-ui b{font-weight:400}.art-lines{gap:8px;display:grid;position:absolute;bottom:20px;left:20px;right:20px}.art-lines i{background:#fff7;height:1px;display:block}.art-lines i:nth-child(2){width:70%}.art-lines i:nth-child(3){width:42%}.art-shape{aspect-ratio:1;border:1px solid #fff9;border-radius:50%;width:clamp(80px,15vw,200px);position:absolute;bottom:11%;right:10%;transform:rotate(-19deg);box-shadow:inset 0 0 0 25px #ffffff14}.project-info{grid-template-columns:70px 1fr auto;gap:25px;padding-top:23px;display:grid}.project-no,.project-category{letter-spacing:.08em;color:var(--acid);font:11px DM Mono,monospace}.project-category{margin:0 0 7px}.project h3{letter-spacing:-.065em;margin:0;font-size:clamp(1.8rem,3.5vw,3.7rem);line-height:1}.project-description{max-width:580px;color:var(--muted);margin:15px 0 20px;font-size:14px;line-height:1.65}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{border:1px solid var(--line);color:#bfc1bd;padding:5px 8px;font:10px DM Mono,monospace}.project-actions{flex-direction:column;align-items:end;gap:9px;display:flex}.project-actions a{color:#bfc1bd;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.project-actions a:hover{color:var(--acid)}.experience{background:var(--surface);border-block:1px solid var(--line);padding-top:125px;padding-bottom:130px}.experience-heading{justify-content:space-between;align-items:end;gap:40px;margin:70px 0;display:flex}.experience-heading p{color:var(--muted);max-width:260px;font-size:14px;line-height:1.65}.timeline{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line);grid-template-columns:24% 1fr;padding:31px 0 44px;display:grid}.experience-item>span,.placeholder{color:var(--acid);letter-spacing:.07em;margin:0;font:11px DM Mono,monospace}.experience-item h3{letter-spacing:-.05em;margin:11px 0 9px;font-size:28px}.experience-item div>p:last-child{color:var(--muted);max-width:590px;font-size:14px;line-height:1.65}.capabilities{padding-top:130px;padding-bottom:130px}.cap-grid{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);margin-top:72px;display:grid}.cap{border-right:1px solid var(--line);min-height:230px;padding:21px 18px 20px 0}.cap+.cap{padding-left:18px}.cap:last-child{border:0}.cap>span{color:var(--acid);font:11px DM Mono,monospace}.cap h3{letter-spacing:-.04em;margin:52px 0 11px;font-size:19px}.cap p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.contact{border-top:1px solid var(--line);flex-direction:column;justify-content:center;min-height:82svh;padding-top:100px;padding-bottom:80px;display:flex;position:relative;overflow:hidden}.contact-glow{aspect-ratio:1;z-index:-1;background:radial-gradient(circle,#c7fa5424,#0000 63%);width:min(65vw,900px);position:absolute;top:-28%;right:-15%}.contact h2{letter-spacing:-.09em;margin:35px 0 48px;font-size:clamp(4rem,11vw,11.5rem);line-height:.79}.contact h2 em{color:var(--acid)}.contact-email{letter-spacing:-.05em;border-bottom:1px solid #d7d9d3;justify-content:space-between;align-items:center;width:min(100%,680px);padding:18px 0;font-size:clamp(1.25rem,2.3vw,2.1rem);transition:color .2s;display:flex}.contact-email:hover{color:var(--acid)}.contact-links{gap:24px;margin-top:34px;display:flex}.contact-links a,footer{color:var(--muted);font:11px DM Mono,monospace}.contact-links a{align-items:center;gap:6px;display:flex}.contact-links a:hover,footer a:hover{color:var(--acid)}footer{border-top:1px solid var(--line);justify-content:space-between;padding:22px clamp(20px,8vw,134px) 25px;display:flex}footer a{align-items:center;gap:6px;display:flex}@media (width<=800px){.nav{z-index:1;opacity:0;pointer-events:none;background:#0b0c0e;flex-direction:column;justify-content:center;align-items:center;gap:30px;transition:opacity .3s;display:flex;position:fixed;inset:0}.nav.open{opacity:1;pointer-events:auto}.nav a{color:var(--ink);font-size:25px}.brand,.nav-email,.menu{z-index:2;position:relative}.nav-email{margin-left:auto;margin-right:12px}.menu{display:block}.hero{padding-bottom:105px}.hero-bottom,.intro-copy,.skill-header,.projects-top,.experience-heading{display:block}.hero h1{margin:28px 0 36px}.hero-bottom>p{margin-bottom:25px}.scroll-cue{display:none}.intro-copy,.skill-header{margin-top:46px}.intro-detail{margin-top:34px}.skill-header p{margin-top:25px}.skill-grid{grid-template-columns:1fr 1fr}.skill-group{border-bottom:1px solid var(--line);min-height:220px}.skill-group:nth-child(2){border-right:0}.skill-group:nth-child(3){padding-left:0}.projects-top>p{margin-top:25px}.project-info{grid-template-columns:32px 1fr}.project-actions{flex-direction:row;grid-column:2;align-items:start;margin-top:8px}.experience-heading p{margin-top:28px}.experience-item{grid-template-columns:1fr;gap:18px}.cap-grid{grid-template-columns:1fr 1fr}.cap{border-bottom:1px solid var(--line);min-height:190px}.cap:nth-child(2n){border-right:0}.cap:nth-child(odd){padding-left:0}.contact{min-height:70svh}}@media (width<=480px){.nav-email{display:none}.hero h1{font-size:3.25rem}.hero-links{flex-wrap:wrap;gap:20px}.skill-grid{grid-template-columns:1fr}.skill-group,.skill-group:nth-child(3){border-right:0;padding-left:0}.project{margin-bottom:40px}.project-info{gap:15px}.project-description{font-size:13px}.cap-grid{grid-template-columns:1fr}.cap,.cap:nth-child(n){border-right:0;min-height:auto;padding-bottom:30px;padding-left:0}.cap h3{margin-top:28px}.contact-links{gap:16px}footer{font-size:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.preloader{display:none}}
