@font-face{font-family:Geist;src:url(/assets/geist.woff2)}@font-face{font-family:Geist;src:url(/assets/geist-semibold.woff2);font-weight:600}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1d1e1c;--fg:#e4e0d8;--line:#ffffff26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--fg);letter-spacing:-.045em;margin:0;font:500 16px/1.2 Geist,Arial,sans-serif}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:hover{opacity:.65}.grain{z-index:100;pointer-events:none;opacity:.18;filter:contrast(125%)brightness(80%);background:url(/assets/noise.avif) 50%/125px;position:fixed;inset:0}header{z-index:50;mix-blend-mode:difference;color:#fff;grid-template-columns:1fr 1fr;padding:22px 2.6%;font-size:14px;display:grid;position:fixed;top:0;left:0;right:0}header nav{gap:24px;display:flex}.wordmark{letter-spacing:-.07em;position:absolute;top:27px;left:2.6%}nav{grid-column:2}.contact{color:#171817;background:#fff;padding:4px 9px;line-height:1.2;position:absolute;top:22px;right:2.6%}.hero{background:#292b28;height:100svh;min-height:620px;position:relative;overflow:hidden}.flow{filter:invert()brightness(.5);opacity:.7;position:absolute;inset:0}.hero:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0002,#0000 55%,#0002);position:absolute;inset:0}.hero-copy{z-index:1;font-size:clamp(18px,1.7vw,28px);line-height:1.25;position:absolute;top:33%;left:50%;right:2.6%}.hero-copy h1{font:inherit;margin:0}.hero-copy p{margin:24px 0 0}.hero-bottom{z-index:1;position:absolute;bottom:2.1%;left:2.6%;right:2.6%}.subtitle{letter-spacing:-.05em;border-bottom:1px solid var(--line);width:28%;margin-bottom:25px;padding-bottom:14px;font:500 clamp(16px,1.4vw,22px)/1.3 Geist,Arial,sans-serif}.big-name{white-space:nowrap;letter-spacing:-.092em;transform-origin:0 100%;font-size:13.55vw;font-weight:600;line-height:.92}.story{background:#121311;height:350svh}.story-sticky{height:100svh;position:sticky;top:0;overflow:hidden}.story canvas{opacity:.3;width:100%;height:100%;position:absolute}.statements{place-items:center;padding:8%;display:grid;position:absolute;inset:0}.statements h2{text-align:center;letter-spacing:-.055em;opacity:0;will-change:opacity, transform;grid-area:1/1;max-width:1000px;font-size:clamp(32px,5vw,80px);line-height:1.04}.projects{background:#242521;grid-template-columns:1fr 5fr;gap:16px;padding:60px 2.6% 100px;display:grid}.section-label{letter-spacing:-.04em;font-size:15px}.project{border-bottom:1px solid var(--line);grid-template-columns:3fr 2fr;gap:16px;margin-bottom:35px;padding:0 0 40px;display:grid}.project:last-child{border:0;margin-bottom:0}.project-image{aspect-ratio:1.54;letter-spacing:-.07em;justify-content:center;align-items:center;padding:8%;font-size:clamp(28px,4vw,70px);display:flex;position:relative;overflow:hidden}.project-image small{letter-spacing:1px;font:9px monospace;position:absolute;bottom:6%;left:5%}.software{color:#ccd0c0;background:#303932}.software>span{width:100%;position:relative}.asterisk{font-size:1.8em;font-weight:400;position:absolute;top:-10px;right:0}.wraps{background:linear-gradient(135deg,#555652,#181a19 45%,#4a4c47 51%,#292b29);font-size:clamp(60px,9vw,130px);font-weight:600}.wraps>span{letter-spacing:-.1em;line-height:.65;transform:skew(-8deg)}.wraps em{letter-spacing:.08em;font-size:.28em;font-style:normal}.project-copy small{font:10px monospace}.project-copy h2{letter-spacing:-.055em;margin:22px 0;font-size:28px;font-weight:500}.project-copy p{letter-spacing:-.035em;max-width:33ch;font-size:14px}.tags{gap:6px;margin-top:45px;display:flex}.tags span{letter-spacing:-.02em;background:#ffffff12;padding:5px 7px;font-size:10px}.about{background:#151613;padding:60px 2.6% 100px}.about-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1.88fr);gap:0;margin-top:65px;display:grid}.interests{color:#797b73;letter-spacing:-.06em;flex-direction:column;font-size:clamp(26px,5vw,78px);line-height:1.28;display:flex}.interests span{transition:color .3s}.interests span:hover{color:var(--fg)}.about-copy{max-width:31ch;margin:110px 0 0 58.3%;font-size:22px;line-height:1.2}.faq{background:#151613;padding:40px 2.6% 90px}.faq>.section-label{border-bottom:1px solid var(--line);padding-bottom:35px}.faq-content{width:66.7%;margin-left:16.7%}.faq h2{letter-spacing:-.06em;margin:40px 0 70px;font-size:clamp(36px,5vw,70px);font-weight:600;line-height:1.05}details{border-bottom:1px solid var(--line);padding:24px 0}summary{cursor:pointer;justify-content:space-between;font-size:22px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary span{font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{color:#b0b1a6;max-width:60ch;font-size:16px;line-height:1.5}footer{background:#242521;padding:65px 2.6% 22px;overflow:hidden}.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:30px;margin-left:16.7%;display:grid}.footer-grid>div{flex-direction:column;gap:10px;font-size:14px;display:flex}.footer-grid small{color:#a5a59a;margin-bottom:12px;font:10px monospace}.copyright{margin:100px 0 24px 16.7%;font:10px monospace}footer .big-name{font-size:13.55vw}:focus-visible{outline-offset:5px;outline:2px solid #ddd}@media (width<=700px){header{padding:22px 5%;font-size:12px}header nav{gap:15px}.wordmark{top:26px;left:5%}.contact{top:60px;right:5%}nav{justify-content:flex-end}.hero{min-height:650px}.hero-copy{font-size:19px;top:34%;left:24%;right:5%}.hero-bottom{bottom:4%;left:5%;right:5%}.subtitle{width:55%;margin-bottom:20px}.big-name,footer .big-name{font-size:12.8vw}.desktop{display:none}.projects{padding:40px 5% 50px;display:block}.project-list{margin-top:40px}.project{grid-template-columns:1fr;gap:20px}.project-image{font-size:48px}.wraps{font-size:100px}.project-copy h2{margin:15px 0}.tags{margin-top:24px}.about,.faq{padding:40px 5% 60px}.about-grid{grid-template-columns:1fr;row-gap:32px;margin-top:40px}.interests{font-size:8vw}.about-copy{margin:65px 0 0 20%;font-size:20px}.faq-content{width:100%;margin-left:0}.faq h2{margin-bottom:40px}summary{font-size:19px}.footer-grid{grid-template-columns:1fr 1fr;row-gap:30px;margin-left:0}footer{padding:40px 5% 20px}.copyright{margin-top:60px;margin-left:0}.story{height:280svh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flow{display:none}.statements h2{will-change:auto}}.car-reveal{pointer-events:none;filter:none;opacity:0;-webkit-mask-image:radial-gradient(ellipse 580px 360px at var(--reveal-x,30%) var(--reveal-y,50%), #000 0%, #000 45%, transparent 100%);mask-image:radial-gradient(ellipse 580px 360px at var(--reveal-x,30%) var(--reveal-y,50%), #000 0%, #000 45%, transparent 100%);-webkit-mask-image:radial-gradient(ellipse 580px 360px at var(--reveal-x,30%) var(--reveal-y,50%), #000 0%, #000 45%, transparent 100%);background:0 0;transition:opacity .65s;position:absolute;inset:0}.car-reveal.is-visible{opacity:1}.hero-copy,.hero-bottom{pointer-events:none}.statements h2:first-child{opacity:0}.all-projects{border-bottom:1px solid var(--line);grid-column:2;padding:18px 0;font-size:20px;display:block}.page-intro{background:#242521;padding:160px 2.6% 90px}.page-kicker{letter-spacing:.04em;color:#aaa99e;font:10px monospace}.page-intro h1{letter-spacing:-.085em;margin:55px 0 35px;font-size:clamp(75px,14vw,220px);font-weight:600;line-height:.95}.page-intro h1 span{color:#85867a}.page-intro p{max-width:28ch;margin-left:50%;font-size:clamp(20px,2.5vw,36px);line-height:1.2}nav a[aria-current=page]{text-underline-offset:5px;text-decoration:underline}@media (width<=700px){.page-intro{padding:150px 5% 60px}.page-intro p{margin-left:20%}.page-intro h1{margin:40px 0}.all-projects{font-size:18px}}@media (prefers-reduced-motion:reduce){.car-reveal{transition:none}}.profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:center;gap:10%;max-width:1250px;margin:65px auto 0;display:grid}.portrait-slot{aspect-ratio:4/5;background:#292b25;place-items:center;width:100%;display:grid;overflow:hidden}.portrait-slot span{letter-spacing:-.1em;font-size:100px}.portrait-slot img{object-fit:cover;width:100%;height:100%}.profile-copy{max-width:40ch;font-size:clamp(20px,2vw,30px);line-height:1.35}.profile-copy p{margin:0}footer .copyright{margin-bottom:0}@media (width<=700px){.profile-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.portrait-slot{max-width:400px}.profile-copy{font-size:21px}}.car-reveal{filter:none;background:0 0}.car-media{aspect-ratio:1080/608;width:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.car-film{object-fit:contain;width:100%;height:100%;display:block}.car-photo{object-fit:contain;opacity:0;pointer-events:none;background:#10110f;width:100%;height:100%;position:absolute;inset:0}.lava{color:#e4d6c2;background:#241331}.lava-logo{object-fit:contain;width:100%;height:100%;display:block}.notterai{color:#e3e9dc;background:#29352f}.notterai>span{letter-spacing:-.065em;font-size:clamp(38px,5vw,74px)}.project-details ul{margin:18px 0 0;padding-left:20px}.project-details li{letter-spacing:-.025em;color:#b0b1a6;margin-bottom:12px;font-size:14px;line-height:1.5}.project-details{margin-top:24px;padding:14px 0}.project-details summary{font-size:14px}.project-details p{max-width:none;font-size:14px;line-height:1.5}.project-copy>p{max-width:40ch;line-height:1.45}.project-copy .tags{flex-wrap:wrap;margin-top:24px}.resume-section{border-top:1px solid var(--line);background:#151613;grid-template-columns:1fr 5fr;gap:16px;padding:60px 2.6%;display:grid}.resume-entry{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:45px;margin-bottom:35px;padding:0 0 35px;display:grid}.resume-entry:last-child{border:0;margin:0}.resume-entry h2,.skill-grid h2{letter-spacing:-.045em;margin:0 0 12px;font-size:26px;font-weight:500}.resume-entry p,.skill-grid p{color:#bdbeb1;letter-spacing:-.025em;margin:0 0 14px;font-size:16px;line-height:1.5}.resume-entry small{color:#a5a69b;font:10px/1.5 monospace}.skill-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.profile-copy{font-size:clamp(18px,1.65vw,26px)}.faq details a{text-underline-offset:3px;text-decoration:underline}.project-image>span{line-height:1.05}.project-image.wraps>span{line-height:.65}@media (width<=700px){.resume-section{padding:40px 5%;display:block}.resume-content,.skill-grid{margin-top:35px}.resume-entry{grid-template-columns:1fr;gap:15px}.skill-grid{grid-template-columns:1fr;gap:25px}.project-copy .tags{margin-top:20px}}.nox{color:#e2e5e9;background:radial-gradient(at 65% 65%,#3b4350,#0000 65%),#1b2027}.experience-intro h1{font-size:clamp(57px,11vw,170px)}.experience-tree{background:#151613;padding:30px 6% 100px}.timeline{max-width:1200px;margin:0 auto;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:#696b5c;width:1px;position:absolute;top:38px;bottom:55px;left:50%}.timeline-entry{grid-template-columns:1fr 1fr;column-gap:110px;min-height:350px;padding:20px 0 80px;display:grid;position:relative}.timeline-entry:before{content:"";background:#d3d1bd;border-radius:50%;width:9px;height:9px;position:absolute;top:37px;left:calc(50% - 5px);box-shadow:0 0 0 8px #151613}.timeline-node{grid-column:2;max-width:470px;position:relative}.timeline-node:before{content:"";background:#696b5c;width:35px;height:1px;position:absolute;top:21px;left:-55px}.timeline-year{text-align:right;letter-spacing:0;color:#b4b6a5;grid-column:1;padding-top:13px;font:14px/1.4 monospace}.timeline-node small{color:#9fa293;letter-spacing:.04em;font:10px/1.5 monospace}.timeline-node h2{letter-spacing:-.05em;margin:18px 0 14px;font-size:clamp(28px,3.5vw,46px);font-weight:500;line-height:1.05}.timeline-node h3{color:#c4c6b8;margin:0 0 18px;font-size:16px;font-weight:500;line-height:1.4}.timeline-node p{color:#aeb1a3;letter-spacing:-.025em;font-size:16px;line-height:1.5}.timeline-node .tags{flex-wrap:wrap;margin-top:24px}.timeline-entry:nth-child(2n) .timeline-node{text-align:right;grid-area:1/1;justify-self:end}.timeline-entry:nth-child(2n) .timeline-year{text-align:left;grid-area:1/2}.timeline-entry:nth-child(2n) .timeline-node:before{left:auto;right:-55px}.timeline-entry:nth-child(2n) .tags{justify-content:flex-end}.timeline-entry.origin{min-height:380px}.timeline-next{border-bottom:1px solid #696b5c;width:fit-content;margin:30px auto 0;padding-bottom:10px;font-size:20px;display:block}@media (width<=700px){header nav{gap:14px}header{font-size:11px}.wordmark{top:25px}.experience-tree{padding:20px 5% 65px}.timeline:before{top:38px;bottom:50px;left:53px}.timeline-entry{min-height:0;padding:15px 0 65px 85px;display:block}.timeline-entry:before{top:34px;left:49px}.timeline-year{max-width:40px;padding:0;font-size:11px;position:absolute;top:18px;left:0}.timeline-node,.timeline-entry:nth-child(2n) .timeline-node{text-align:left;max-width:none}.timeline-node:before{width:20px;top:23px;left:-32px}.timeline-entry:nth-child(2n) .timeline-node:before{left:-32px;right:auto}.timeline-node h2{font-size:30px}.timeline-entry:nth-child(2n) .tags{justify-content:flex-start}.timeline-entry.origin{min-height:280px}.timeline-node small{font-size:9px}.timeline-node p{font-size:15px}.experience-intro h1{font-size:12vw}}.nox-emblem{object-fit:contain;width:100%;height:100%;display:block}header{justify-content:space-between;align-items:center;gap:24px;display:flex}.wordmark,.contact{flex-shrink:0;position:static}header nav{gap:24px}.project-link{border-bottom:1px solid var(--line);margin-top:24px;padding-bottom:8px;font-size:16px;display:inline-block}.wraps-intro h1{font-size:clamp(75px,13vw,200px)}.wraps-story{background:#151613;grid-template-columns:1fr 5fr;gap:16px;padding:70px 2.6%;display:grid}.wraps-story>div:last-child{max-width:850px}.wraps-story h2{letter-spacing:-.055em;margin:0 0 45px;font-size:clamp(40px,6vw,85px);font-weight:500;line-height:1.04}.wraps-story p{color:#bbbdb1;letter-spacing:-.03em;max-width:55ch;font-size:clamp(18px,2vw,25px);line-height:1.45}.wraps-gallery{background:#151613;grid-template-columns:1fr 1fr;gap:24px;padding:0 2.6% 90px;display:grid}.wrap-photo{aspect-ratio:4/3;border:1px solid var(--line);background:#242722;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-width:0;display:flex}.wrap-photo-wide{aspect-ratio:16/7;background:#2c2f29;grid-column:1/-1}.wrap-photo span{letter-spacing:-.055em;color:#a7ab9d;font-size:clamp(28px,4vw,58px)}.wrap-photo small{letter-spacing:.08em;color:#797f70;font:10px monospace}@media (width<=760px){header{flex-wrap:wrap;gap:16px 18px;padding:18px 5%}header nav{order:3;justify-content:space-between;gap:12px;width:100%;font-size:12px}.wraps-story{padding:45px 5%;display:block}.wraps-story .section-label{margin-bottom:35px}.wraps-story h2{margin-bottom:30px}.wraps-gallery{grid-template-columns:1fr;padding:0 5% 60px}.wrap-photo-wide{aspect-ratio:4/3}}.contact{font:inherit;cursor:pointer;border:0}.contact-dialog{box-sizing:border-box;color:#eeeee5;background:#242722;border:1px solid #62665a;width:50vw;max-width:900px;min-height:45vh;padding:clamp(32px,5vw,80px)}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b8}.contact-dialog h2{letter-spacing:-.06em;margin:45px 0 24px;font-size:clamp(38px,5vw,80px);font-weight:500;line-height:1}.contact-dialog h2 span{color:#aeb79b}.contact-dialog p{color:#b7baad;font-size:18px;line-height:1.5}.dialog-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid #62665a;font:30px/1 sans-serif;position:absolute;top:16px;right:16px}body:has(.contact-dialog[open]){overflow:hidden}.back-to-top{z-index:50;color:#181918;background:#dedfd3;border:1px solid #787e6d;place-items:center;width:72px;height:72px;font-size:38px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 24px #0003}.back-to-top[hidden]{display:none}.back-to-top:hover{background:#fff}@media (width<=700px){.contact-dialog{width:90vw;min-height:40vh}.back-to-top{width:56px;height:56px;font-size:30px;bottom:16px;right:16px}}.lava{isolation:isolate}.lava-logo{mix-blend-mode:lighten}.more-about{margin-top:40px;margin-left:37.3333%}@media (width<=700px){.more-about{margin-left:0}}
