@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{color:#e9e5d8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#121311;font-family:DM Sans,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,a{font:inherit}a{color:inherit}.experience-details{color:#9fa59a;margin:.8rem 0 0;padding-left:1.1rem;font-size:.78rem;line-height:1.55}.experience-details li+li{margin-top:.3rem}.resume-job small{color:#5d655c;font-size:.72rem;line-height:1.4}:root{--ink:#121311;--paper:#e9e5d8;--muted:#92958b;--line:#e9e5d829;--lime:#c7f36b;--orange:#ff754d;--blue:#9eb6f6}main{background:radial-gradient(circle at 82% 16%, #c7f36b14, transparent 25rem), var(--ink);overflow:hidden}.site-header,.hero-section,.signal-bar,.work-section,.about-section,.site-footer{max-width:1220px;margin:0 auto;padding-left:5vw;padding-right:5vw}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:92px;display:flex}.brand{color:var(--paper);letter-spacing:.05em;font:500 1.15rem DM Mono,monospace;text-decoration:none}.brand span{color:var(--lime)}nav{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:2.4rem;font:.72rem DM Mono,monospace;display:flex}nav a{text-decoration:none;transition:color .2s}nav a:hover,.text-link:hover{color:var(--lime)}.nav-contact{color:var(--paper);border-bottom:1px solid var(--lime);padding-bottom:.45rem}.nav-contact span{color:var(--lime);margin-left:.4rem}.hero-section{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;min-height:680px;display:grid;position:relative}.hero-copy{z-index:1;padding:6rem 0;animation:.8s both rise;position:relative}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.6rem;font:.69rem DM Mono,monospace}.status-dot{background:var(--lime);border-radius:50%;width:7px;height:7px;margin-right:.65rem;display:inline-block;box-shadow:0 0 0 4px #c7f36b1f}.hero-section h1,.work-section h2,.about-section h2{color:var(--paper);letter-spacing:-.055em;margin:0;font-size:clamp(3.5rem,7vw,7.4rem);font-weight:500;line-height:.93}.hero-section h1 em,h2 em{color:var(--lime);letter-spacing:-.04em;font-family:Playfair Display,Georgia,serif;font-weight:500}.hero-intro{max-width:410px;color:var(--muted);margin:2.1rem 0 2.2rem;font-size:1.03rem;line-height:1.65}.hero-actions{align-items:center;gap:.8rem;display:flex}.button{cursor:pointer;text-transform:uppercase;letter-spacing:.06em;border:0;align-items:center;gap:1.1rem;padding:.9rem 1.15rem;font:.7rem DM Mono,monospace;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--lime);color:var(--ink)}.button-quiet{color:var(--muted);border:1px solid var(--line);background:0 0}.button-quiet:hover{color:var(--paper);background:#ffffff0a}.hero-mark{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;justify-self:end;place-items:center;width:min(34vw,390px);animation:1s .15s both float-in;display:grid;position:relative;transform:rotate(-14deg)}.hero-mark:before,.hero-mark:after{content:"";border:1px solid var(--line);border-radius:50%;position:absolute;inset:12%}.hero-mark:after{border-color:#c7f36b59;inset:26%}.orbit{background:var(--orange);z-index:2;border-radius:50%;width:11px;height:11px;position:absolute}.orbit-one{top:7%;left:32%}.orbit-two{background:var(--blue);bottom:24%;right:17%}.hero-number{color:var(--paper);letter-spacing:-.12em;font:500 clamp(4rem,8vw,8rem) DM Mono,monospace;transform:rotate(14deg)}.mark-label{color:var(--muted);letter-spacing:.13em;font:.58rem DM Mono,monospace;position:absolute;bottom:-2rem;right:2rem;transform:rotate(14deg)}.signal-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:58px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font:.64rem DM Mono,monospace;display:flex}.signal-arrow{color:var(--lime);font-size:1.15rem}.work-section{padding-top:9rem;padding-bottom:10rem}.section-heading{grid-template-columns:1fr 1.6fr 1fr;align-items:end;gap:2rem;margin-bottom:4rem;display:grid}.section-heading .eyebrow{align-self:start}.work-section h2,.about-section h2{font-size:clamp(3rem,5vw,5.5rem)}.section-note{color:var(--muted);max-width:230px;margin:0;font-size:.9rem;line-height:1.6}.project-grid{grid-template-columns:1.15fr .85fr;gap:1.2rem;display:grid}.project-card{min-width:0}.project-visual{height:385px;position:relative;overflow:hidden}.visual-lumen{color:#18201b;background:#d5d1c2;justify-content:center;align-items:center;display:flex}.visual-orb{background:var(--lime);border-radius:50%;width:210px;height:210px;box-shadow:0 0 0 34px #c7f36b4d,0 0 0 67px #c7f36b26}.visual-word{letter-spacing:.12em;font:.7rem DM Mono,monospace;position:absolute;top:1.2rem;left:1.2rem}.visual-caption{letter-spacing:.08em;text-transform:uppercase;font:.65rem DM Mono,monospace;position:absolute;bottom:1.2rem;right:1.2rem}.visual-arc{background:#9eb6f6}.arc-line{border:1px solid #273656;border-radius:50%;width:120%;height:120%;position:absolute;top:23%;left:-12%;transform:rotate(-25deg)}.arc-line-two{border-color:#27365673;top:38%;left:15%}.visual-arc .visual-caption{color:#273656;left:1.2rem;right:auto}.project-meta{justify-content:space-between;align-items:start;margin-top:1.2rem;display:flex}.project-type{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font:.62rem DM Mono,monospace}.project-meta h3{margin:0;font-size:1.5rem;font-weight:500}.project-link{color:var(--lime);font-size:1.4rem}.project-description{color:var(--muted);max-width:390px;margin:.75rem 0 0;font-size:.86rem;line-height:1.55}.project-screenshot{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.visual-lumen:after{content:"";pointer-events:none;background:linear-gradient(#12131114,#1213112e);position:absolute;inset:0}.experience-section{max-width:1220px;margin:0 auto;padding:0 5vw 10rem}.experience-heading{border-top:1px solid var(--line);padding-top:7rem}.experience-list{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.6fr;gap:2rem;padding:1.65rem 0;display:grid}.about-section{border-top:1px solid var(--line);grid-template-columns:.7fr 1.6fr .9fr;gap:3rem;padding-top:7rem;padding-bottom:9rem;display:grid}.about-stamp{border:1px solid var(--lime);width:116px;height:116px;color:var(--lime);letter-spacing:.12em;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font:.55rem DM Mono,monospace;display:flex;transform:rotate(12deg)}.about-stamp strong{letter-spacing:0;margin:.3rem 0;font:1.9rem Playfair Display,Georgia,serif}.about-copy h2{margin-bottom:2rem}.about-copy>p:not(.eyebrow){max-width:450px;color:var(--muted);font-size:.95rem;line-height:1.7}.text-link{color:var(--paper);text-transform:uppercase;border-bottom:1px solid var(--line);gap:1rem;margin-top:1.4rem;padding-bottom:.6rem;font:.72rem DM Mono,monospace;text-decoration:none;display:inline-flex}.text-link span{color:var(--lime)}.capabilities{border-left:1px solid var(--line);padding-left:2rem}.capabilities ul{margin:0;padding:0;list-style:none}.capabilities li{border-bottom:1px solid var(--line);padding:.9rem 0;font-size:.86rem}.capabilities li span{color:var(--muted);margin-right:1rem;font:.63rem DM Mono,monospace}.site-footer{border-top:1px solid var(--line);min-height:85px;color:var(--muted);letter-spacing:.05em;justify-content:space-between;align-items:center;font:.62rem DM Mono,monospace;display:flex}.site-footer a{color:var(--paper);text-decoration:none}.resume-section{display:none}.resume-header{border-bottom:2px solid #1b1d1a;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;display:flex}.resume-kicker{color:#5d655c;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .8rem;font:.7rem DM Mono,monospace}.resume-section h2{color:#171916;margin:0;font-size:3.5rem;line-height:1}.resume-header p:not(.resume-kicker){color:#4d534c;margin:.6rem 0 0}.resume-contact{color:#4d534c;flex-direction:column;align-items:flex-end;gap:.35rem;font-size:.8rem;display:flex}.resume-contact a{color:#171916;text-decoration:none}.resume-grid{grid-template-columns:.8fr 1.2fr;gap:3rem;padding-top:1.8rem;display:grid}.resume-section h3{color:#171916;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .8rem;font:500 .8rem DM Mono,monospace}.resume-grid p{color:#4d534c;margin:0 0 2rem;font-size:.85rem;line-height:1.6}.resume-jobs{gap:1rem;display:grid}.resume-job{border-bottom:1px solid #d1d5cc;flex-direction:column;gap:.25rem;padding-bottom:.8rem;display:flex}.resume-job strong{color:#171916;font-size:.95rem;font-weight:600}.resume-job span{color:#5d655c;font-size:.78rem}.experience-item h3{margin:0 0 .35rem;font-size:1.35rem;font-weight:500}.experience-item p{color:var(--muted);margin:0;font-size:.9rem}.experience-item .experience-description{color:#b1b5aa;max-width:560px;margin-top:.65rem;font-size:.82rem;line-height:1.55}.experience-date,.experience-tag{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:.65rem DM Mono,monospace}.experience-tag{color:var(--lime);margin-top:.9rem;display:inline-block}.contact-section{border-top:1px solid var(--line);grid-template-columns:1.15fr .85fr;align-items:end;gap:4rem;max-width:1220px;margin:0 auto;padding:7rem 5vw 8rem;display:grid}.contact-section h2{color:var(--paper);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,5vw,5.5rem);font-weight:500;line-height:.93}.contact-section h2 em{color:var(--lime);letter-spacing:-.04em;font-family:Playfair Display,Georgia,serif;font-weight:500}.contact-details{max-width:360px}.contact-details>p{color:var(--muted);margin:0 0 1.5rem;line-height:1.6}.contact-email{color:var(--paper);border-bottom:1px solid var(--lime);gap:.8rem;padding-bottom:.6rem;font:1rem DM Mono,monospace;text-decoration:none;display:inline-flex}.contact-email span,.contact-links span{color:var(--lime)}.contact-links{gap:1.5rem;margin-top:2rem;display:flex}.contact-links a{color:var(--muted);text-transform:uppercase;font:.68rem DM Mono,monospace;text-decoration:none}.contact-links a:hover{color:var(--lime)}.project-details{flex-wrap:wrap;gap:.5rem .8rem;margin-top:1.4rem;display:flex}.project-details span{color:var(--lime);letter-spacing:.05em;text-transform:uppercase;font:.6rem DM Mono,monospace}.project-gallery{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1.8rem;display:grid}.project-gallery img{object-fit:cover;object-position:top center;border:1px solid var(--line);width:100%;height:110px;display:block}.project-actions{gap:1.5rem;margin-top:1.2rem;display:flex}.project-actions a{color:var(--paper);text-transform:uppercase;font:.65rem DM Mono,monospace;text-decoration:none}.project-actions a span{color:var(--lime)}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:rotate(-14deg)scale(.86)}to{opacity:1;transform:rotate(-14deg)scale(1)}}@media (width<=760px){.site-header{gap:1.2rem;min-height:76px}.site-header nav{scrollbar-width:none;justify-content:flex-start;gap:1rem;min-width:0;max-width:78%;padding-bottom:.25rem;overflow-x:auto}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a{flex:none;font-size:.6rem}.hero-section{grid-template-columns:1fr;align-content:center;min-height:760px}.hero-copy{padding:5rem 0 2rem}.hero-section h1{font-size:clamp(3.3rem,15vw,5.5rem)}.hero-mark{justify-self:center;width:min(65vw,300px);margin:1rem 0 3rem}.signal-bar{flex-wrap:wrap;align-items:start;gap:1rem;padding-top:1rem;padding-bottom:1rem}.signal-bar span:nth-child(2){text-align:right;margin-left:auto}.signal-arrow{display:none}.work-section{padding-top:6rem;padding-bottom:7rem}.section-heading{grid-template-columns:1fr;gap:.8rem;margin-bottom:2.5rem}.section-note{max-width:300px}.project-grid{grid-template-columns:1fr;gap:3.5rem}.project-visual{height:300px}.project-gallery{gap:.35rem}.project-gallery img{height:80px}.project-actions{flex-wrap:wrap}.experience-section{padding-bottom:7rem}.experience-heading{padding-top:5rem}.experience-item{grid-template-columns:1fr;gap:.6rem}.about-section{grid-template-columns:1fr;gap:3.5rem;padding-top:5rem;padding-bottom:6rem}.about-stamp{margin-bottom:-1rem}.capabilities{border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}.contact-section{grid-template-columns:1fr;gap:2.5rem;padding-top:5rem;padding-bottom:6rem}.contact-links{flex-wrap:wrap}.site-footer{flex-wrap:wrap;gap:.8rem;min-height:110px;padding-top:1.4rem;padding-bottom:1.4rem}.site-footer span:nth-child(2){flex-basis:100%;order:3}}@media print{@page{margin:.6in;size:Letter}body{background:#fff}main>*{display:none!important}main .resume-section{color:#171916;display:block!important}}
