@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#151a17;--dark:#101411;--muted:#737b75;--paper:#f4f5f1;--line:#dfe3dc;--acid:#c5f36b;--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.site-shell{max-width:1600px;margin:auto;overflow:hidden}.topbar{height:78px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:#fff;border-bottom:1px solid #ffffff17;position:relative;z-index:5}.wordmark{font:500 12px var(--mono);letter-spacing:.08em;color:inherit;text-decoration:none}.mark{color:var(--acid);font-size:20px;margin-right:5px}.topbar nav{display:flex;gap:27px}.topbar nav a,.language-toggle{font:11px var(--mono);color:#c1c8c1;text-decoration:none;transition:color .2s}.topbar nav a:hover,.language-toggle:hover{color:var(--acid)}.language-toggle{border:1px solid #ffffff35;border-radius:30px;padding:9px 12px;background:transparent;cursor:pointer;color:var(--acid)}.dark-section{background:var(--dark);color:#f4f6f0}.hero{min-height:690px;padding:115px 7.2% 90px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;position:relative;isolation:isolate}.hero-grid{position:absolute;inset:0;z-index:-1;opacity:.13;background-image:linear-gradient(#85918824 1px,transparent 1px),linear-gradient(90deg,#85918824 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black,transparent 90%)}.eyebrow,.section-label,.group-label,.vertical-note,.scroll-cue,.timeline-date,.project-number,.edu-index,footer,.social-links{font:10px var(--mono);letter-spacing:.09em}.eyebrow{color:#aeb8ad;display:flex;align-items:center;gap:10px;margin-bottom:32px}.status-dot{width:7px;height:7px;background:var(--acid);border-radius:50%;box-shadow:0 0 13px #c5f36b99;animation:pulse 2s infinite}.hero h1{font-size:clamp(54px,7.5vw,105px);letter-spacing:-.075em;line-height:.99;margin:0;font-weight:600}.accent,em{color:var(--acid);font-style:normal}.hero-copy{max-width:510px;color:#aab3aa;line-height:1.85;font-size:15px;margin:30px 0 32px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;gap:28px;padding:15px 19px;text-decoration:none;font:11px var(--mono);transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-accent{background:var(--acid);color:var(--dark)}.text-link{font:11px var(--mono);color:#e5e9e2;text-decoration:none}.text-link span{color:var(--acid);margin-left:7px}.hero-aside{position:relative;min-height:340px;display:grid;place-items:center}.code-card{width:min(100%,390px);background:#171e19;border:1px solid #52604f66;box-shadow:0 25px 90px #0006;transform:rotate(3deg);z-index:1;animation:float 6s ease-in-out infinite}.code-card-top{height:42px;border-bottom:1px solid #ffffff16;display:flex;align-items:center;padding:0 15px;gap:6px}.code-card-top>span{width:7px;height:7px;border-radius:50%;background:#59635b}.code-card-top small{margin-left:auto;color:#89958a;font:10px var(--mono)}pre{padding:25px 22px 30px;margin:0;overflow:auto}code{font:12px/2 var(--mono);color:#dce4d8}code i{color:#c5f36b;font-style:normal}code b{color:#a6c9f5;font-weight:400}.orbit{position:absolute;border:1px solid #c5f36b30;border-radius:50%;width:360px;height:360px}.orbit-two{width:450px;height:450px;border-color:#ffffff12}.vertical-note{position:absolute;right:-38px;top:50%;transform:rotate(90deg) translateX(50%);color:#778078;font-size:8px}.scroll-cue{position:absolute;bottom:31px;left:7.2%;display:flex;align-items:center;gap:12px;color:#7f8980;font-size:8px}.scroll-cue>span:first-child{height:1px;width:35px;background:var(--acid)}.section{padding:110px 10.5%}.light-section{background:var(--paper);color:var(--ink)}.section-label{display:flex;gap:14px;color:#798078;margin-bottom:54px}.section-label span:first-child{color:#9aaa83}.intro-body{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:start}.section h2{font-size:clamp(42px,5vw,68px);line-height:1.04;letter-spacing:-.065em;font-weight:600;margin:0}.light-section h2 em{color:#879f57}.intro-text{padding-top:7px}.intro-text p,.section-heading>p,.timeline-item p,.project-placeholder p,.contact>p{font-size:14px;line-height:1.9;color:#69716a;margin:0 0 17px}.intro-text .small-note{font-size:12px;color:#879087}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;padding-top:30px;border-top:1px solid var(--line)}.stats>div{display:flex;flex-direction:column;gap:8px}.stats strong{font-size:43px;letter-spacing:-.06em;font-weight:600}.stats strong span{color:#8ca75c}.stats small{font:9px var(--mono);letter-spacing:.08em;color:#818981}.stack-section{padding-top:105px;padding-bottom:120px}.stack-section .section-label,.education .section-label{color:#9ba59a}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-heading>p{max-width:330px;margin-bottom:5px}.dark-section .section-heading>p{color:#9ca79d}.tech-groups{border-top:1px solid #ffffff25}.tech-group{display:grid;grid-template-columns:250px 1fr;gap:30px;padding:27px 0;border-bottom:1px solid #ffffff25}.group-label{color:#98a397;font-size:9px;padding-top:10px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips span{border:1px solid #65706466;padding:11px 15px;border-radius:3px;font:11px var(--mono);color:#e2e9df;transition:background .2s,color .2s,border .2s}.chips span:hover{background:var(--acid);border-color:var(--acid);color:var(--dark)}.timeline-item{display:grid;grid-template-columns:160px 1fr 10px;gap:25px;border-top:1px solid var(--line);padding:30px 0 10px;position:relative}.timeline-date{color:#849276;padding-top:7px}.timeline-item h3,.project-placeholder h3{font-size:19px;letter-spacing:-.04em;margin:0 0 7px}.timeline-item p{max-width:650px}.timeline-item .muted{font:10px var(--mono);color:#899188;margin-bottom:17px}.timeline-mark{width:7px;height:7px;border-radius:50%;background:#a6c46a;margin-top:8px}.projects-section{padding-top:70px}.project-placeholder{display:grid;grid-template-columns:70px 1fr 30px;gap:20px;align-items:start;padding:27px 0;border-top:1px solid var(--line);transition:padding .25s}.project-placeholder:hover{padding-left:10px}.project-number{color:#8da267;padding-top:5px}.project-placeholder h3{font-weight:600}.project-placeholder p{font-size:12px;margin:0}.project-arrow{font-size:20px;color:#8da267}.education{padding-top:100px;padding-bottom:115px}.education-list{border-top:1px solid #ffffff28}.education-list article{display:grid;grid-template-columns:70px 1fr 30px;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid #ffffff28}.edu-index{color:var(--acid)}.education-list h3{font-size:16px;font-weight:500;margin:0 0 7px}.education-list p{font:10px var(--mono);color:#89958a;margin:0}.edu-plus{color:var(--acid)}.contact{padding-top:110px;padding-bottom:90px}.contact h2{font-size:clamp(55px,8vw,100px);margin-bottom:28px}.contact>p{max-width:430px}.contact-email{display:inline-flex;gap:20px;align-items:center;margin:26px 0 45px;font-size:clamp(19px,3vw,29px);letter-spacing:-.04em;text-decoration:none;color:var(--ink);border-bottom:1px solid #a8b09f;padding-bottom:10px}.contact-email span{color:#8da267}.social-links{display:flex;gap:25px}.social-links a{color:#6e786d;text-decoration:none;font-size:9px}.social-links a:hover{color:#526b2e}footer{padding:25px 7.2%;background:#e9ece6;display:flex;align-items:center;justify-content:space-between;color:#697269;font-size:8px}footer .wordmark{color:var(--ink)}.back-top{color:inherit;text-decoration:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes pulse{50%{box-shadow:0 0 0 7px #c5f36b15}}@keyframes float{50%{transform:translateY(-12px) rotate(1deg)}}@media(max-width:850px){.topbar{padding:0 5%;height:68px}.topbar nav{gap:13px}.topbar nav a{font-size:9px}.hero{padding:90px 7% 85px;grid-template-columns:1fr}.hero-aside{min-height:300px;margin-top:45px}.vertical-note{right:0}.section{padding:85px 7%}.intro-body{gap:35px}.section-heading{align-items:start;flex-direction:column;gap:20px}.tech-group{grid-template-columns:190px 1fr}footer{padding:24px 5%;gap:15px;flex-wrap:wrap}}@media(max-width:600px){.topbar{height:auto;min-height:66px;flex-wrap:wrap;padding:17px 6%;gap:15px}.topbar nav{order:3;width:100%;overflow:auto;padding:5px 0 2px}.topbar nav a{white-space:nowrap}.hero{padding:80px 7% 75px;min-height:0}.hero h1{font-size:clamp(49px,13vw,72px)}.hero-copy{font-size:13px}.hero-aside{min-height:260px}.code-card{width:92%}.orbit{width:270px;height:270px}.orbit-two{width:330px;height:330px}.vertical-note{display:none}.section{padding:75px 7%}.section-label{margin-bottom:38px}.intro-body{grid-template-columns:1fr;gap:25px}.section h2{font-size:48px}.stats{margin-top:45px;gap:12px}.stats strong{font-size:34px}.stats small{font-size:7px;line-height:1.5}.tech-group{grid-template-columns:1fr;gap:15px}.chips span{padding:9px 11px;font-size:10px}.timeline-item{grid-template-columns:1fr 10px;gap:10px}.timeline-date{grid-column:1/-1}.timeline-item>div:nth-child(2){grid-column:1}.timeline-mark{grid-column:2;grid-row:2}.project-placeholder{grid-template-columns:35px 1fr 20px;gap:12px}.project-placeholder h3{font-size:16px}.education-list article{grid-template-columns:35px 1fr 20px;gap:12px}.education-list h3{font-size:14px;line-height:1.5}.contact h2{font-size:57px}footer{font-size:7px}footer>span{order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
