:root{--bg:#131513;--surface:#1a1e18;--text:#ebeee8;--muted:#9da798;--dim:#899780;--line:#363b34;--accent:#d8fb8c;--sans:Arial,Helvetica,sans-serif;--mono:ui-monospace,Consolas,'Liberation Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.12;letter-spacing:-.045em}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{font-family:var(--mono);font-size:10px;line-height:1.7;letter-spacing:.1em;font-weight:400;color:var(--accent)}.skip-link{position:fixed;top:-80px;left:20px;z-index:10;padding:12px 18px;background:var(--accent);color:var(--bg)}.skip-link:focus{top:10px}.site-rail{position:fixed;inset:0 auto 0 0;width:220px;padding:38px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:4;background:var(--bg);overflow-y:auto}.brand{font-size:68px;line-height:.9;font-weight:900;letter-spacing:-10px;width:100px;position:relative;display:block}.brand>span{width:9px;height:9px;position:absolute;right:0;top:1px;background:var(--accent)}.rail-role{font-size:10px;line-height:1.8;color:var(--muted);letter-spacing:.07em;margin-top:25px}.site-rail nav{display:flex;flex-direction:column;gap:4px;margin-top:60px}.site-rail nav>a{display:flex;align-items:center;min-height:44px;font-size:12px;color:var(--muted);padding-block:9px}.site-rail nav>a:hover,.site-rail nav>a[aria-current]{color:var(--accent)}.rail-bottom{margin-top:auto;padding-top:45px;font-family:var(--mono);font-size:9px;color:var(--dim);line-height:2}.rail-bottom>a{display:block;color:var(--accent);margin-top:19px;font-size:12px}.site-main{margin-left:220px;padding:0 38px;max-width:1740px}.topbar{min-height:87px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.07em}.topbar>a{color:var(--accent);padding:14px 0;white-space:nowrap}.topbar a>span{margin-left:7px}.home-intro{padding-block:38px 37px;display:grid;grid-template-columns:1.35fr 1fr;gap:35px;align-items:end}.home-intro .eyebrow{margin-bottom:20px}.home-intro h1{font-size:clamp(44px,5.1vw,76px);line-height:1.02;letter-spacing:-.06em}.home-intro h1>span,.profile-copy h2>span,.contact-info h2>span{color:var(--dim)}.intro-copy{padding-bottom:5px}.intro-copy>p{font-size:13px;line-height:1.8;max-width:290px;color:var(--muted)}.intro-copy .scroll-link{display:inline-block;margin-top:23px;margin-bottom:0;font-size:10px}.scroll-link span{margin-left:12px}.featured-work{padding-bottom:38px}.featured-image{position:relative;aspect-ratio:2.15;overflow:hidden;background:var(--surface)}.featured-image img{height:100%;width:100%;object-fit:cover;object-position:center 52%;transition:transform .7s}.featured-work a:hover img{transform:scale(1.015)}.featured-tag{position:absolute;top:18px;left:18px;padding:8px 12px;background:#131513d9;color:var(--accent);font-size:9px;letter-spacing:.1em;font-family:var(--mono)}.featured-caption{display:flex;align-items:center;justify-content:space-between;padding-top:17px;gap:20px}.featured-caption h2{font-size:23px;letter-spacing:-.03em}.featured-caption p{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted)}.work-header{border-top:1px solid var(--line);padding-block:20px 25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.work-header h2,.work-header>p{font-size:10px;line-height:1.7;letter-spacing:.08em;font-family:var(--mono);font-weight:400}.work-header>p{color:var(--muted);text-align:right}.work-header h2>span{color:var(--accent);margin-right:12px;font-size:9px}.project-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:34px 20px}.project-image{height:270px;position:relative;overflow:hidden;background:var(--surface)}.project-image img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.project-image[data-fit="contain"] img{object-fit:contain}.project-2 .project-image,.project-4 .project-image,.project-5 .project-image{background:#b5b5b5}.project-1 .project-image{height:350px}.project-2{padding-top:52px}.project-3,.project-6{grid-column:1/-1}.project-3 .project-image{height:440px}.project-4 .project-image,.project-5 .project-image{height:310px}.project-6 .project-image{height:430px;background:#1a2020}.project a:hover .project-image img{transform:scale(1.025)}.project-open{position:absolute;right:15px;bottom:13px;color:var(--accent);background:#12180ee6;width:36px;height:36px;text-align:center;font-size:22px;line-height:36px}.project-caption{display:flex;align-items:center;justify-content:space-between;padding-top:16px;gap:20px}.project-caption h3{font-size:21px;letter-spacing:-.025em}.project-caption p{font-family:var(--mono);color:var(--dim);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.project-number{font-family:var(--mono);font-size:10px;color:var(--dim)}.artstation-end{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0;display:flex;justify-content:space-between;align-items:center;gap:28px}.artstation-end>p{font-size:25px;letter-spacing:-.025em}.artstation-end>a{color:var(--accent);font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--dim);padding:10px 0}.artstation-end>a>span{font-size:20px}.closing{padding-block:65px}.closing>.eyebrow{color:var(--muted);margin-bottom:20px}.closing>a{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:clamp(35px,4.8vw,66px);line-height:1.1;letter-spacing:-.05em}.closing>a>span{color:var(--accent)}.site-footer{border-top:1px solid var(--line);color:var(--dim);font-family:var(--mono);font-size:9px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:29px 0}.site-footer>div{display:flex;gap:22px}.site-footer a{padding-block:10px}.site-footer a>span{color:var(--accent)}.page-heading{padding:45px 0 38px;border-bottom:1px solid var(--line)}.page-heading>.eyebrow{margin-bottom:24px}.page-heading h1{font-size:clamp(52px,6vw,88px);letter-spacing:-.06em}.page-heading>p:last-child{font-size:13px;color:var(--muted);margin-top:22px;max-width:540px}.profile-section{display:grid;grid-template-columns:240px 1fr;gap:60px;align-items:center;padding:55px 0 65px}.profile-photo{width:240px}.profile-photo>img{width:240px;height:240px;object-fit:cover;filter:grayscale(1)}.profile-photo figcaption{font-family:var(--mono);color:var(--dim);font-size:9px;letter-spacing:.06em;margin-top:14px}.profile-copy>.eyebrow{margin-bottom:18px}.profile-copy h2{font-size:40px;letter-spacing:-.045em;margin-bottom:24px}.profile-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.85;max-width:600px;margin-bottom:15px}.button{border:1px solid #66745b;color:var(--text);display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:12px;padding:13px 19px;background:transparent;line-height:1.7;text-align:left;transition:background .2s,color .2s}.button>span{font-size:20px;line-height:1}.button:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.profile-copy>.button{margin-top:12px}.resume-section{border-top:1px solid var(--line);padding:38px 0 50px;display:grid;grid-template-columns:1fr 2fr;gap:45px}.resume-label h2{font-size:29px;margin-top:17px;letter-spacing:-.04em}.resume-row{display:flex;justify-content:space-between;gap:28px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}.resume-row:first-child{padding-top:2px}.resume-row:last-child{border-bottom:0;padding-bottom:0}.resume-row h3{font-size:20px;letter-spacing:-.025em}.resume-row h3 .muted{font-size:14px}.resume-row p:not(.date){font-size:13px;color:var(--muted);margin-top:9px}.resume-row>.date{font-size:10px;white-space:nowrap;font-family:var(--mono);color:var(--accent);padding-top:5px}.software-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.software-list>li{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.software-list>li>span:last-child{font-family:var(--mono);font-size:10px;color:var(--dim);white-space:nowrap}.skill-block{margin-top:34px}.skill-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px}.skill-block>.skill-tags{margin-top:17px}.skill-tags>li{border:1px solid var(--line);padding:8px 12px;font-size:12px;color:var(--muted)}.language-row{display:flex;align-items:center;gap:30px;margin-top:32px}.language-row>p:last-child{font-size:13px}.language-row>p:last-child>span{color:var(--dim);margin-inline:14px}.contact-layout{display:grid;grid-template-columns:.9fr 1.25fr;gap:50px;padding:50px 0 75px}.contact-info>h2{font-size:35px;letter-spacing:-.04em}.contact-info>p{color:var(--muted);font-size:13px;line-height:1.85;margin-top:22px;max-width:310px}.contact-detail{margin-top:28px}.contact-detail>.eyebrow{font-size:9px;color:var(--dim);margin-bottom:8px}.contact-detail>a{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;max-width:285px;padding-block:5px}.contact-detail>a>span{color:var(--accent)}.contact-detail>p:not(.eyebrow){font-size:13px;color:var(--muted)}.contact-socials{display:flex;gap:28px;margin-top:29px;font-size:12px}.contact-socials a{padding-block:10px}.contact-socials span{color:var(--accent);margin-left:6px}.form-panel{padding:28px;border:1px solid var(--line);background:var(--surface);min-width:0}.form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.form-heading>span{color:var(--accent);font-size:28px;line-height:1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:23px}.field>label{display:block;font-size:12px;margin-bottom:7px}.field>label>span{color:var(--accent);margin-left:3px}.field input,.field select,.field textarea{width:100%;min-width:0;padding:11px 0 13px;color:var(--text);background:transparent;border:0;border-bottom:1px solid #59644e;border-radius:0;font-size:13px;outline-offset:3px}.field input::placeholder,.field textarea::placeholder{color:#9ba592;opacity:1}.field select{color:var(--muted);min-height:47px}.field select option{background:var(--surface);color:var(--text)}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.honeypot{display:none}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-bottom>p{font-size:10px;line-height:1.8;color:var(--muted);max-width:200px}.form-bottom>p>a{text-decoration:underline;text-underline-offset:3px}.button-primary{background:var(--accent);color:var(--bg);border-color:var(--accent);flex-shrink:0}.button-primary:hover{background:#bde26c}.button:disabled{opacity:.65;cursor:wait}.form-status{font-size:12px;color:var(--accent);margin-top:20px}.form-status:empty{display:none}.form-success h2{font-size:32px}.form-success p{color:var(--muted);font-size:14px;line-height:1.8;margin:22px 0}.text-link{border:0;border-bottom:1px solid var(--dim);padding:8px 0;color:var(--accent);background:transparent;font-size:13px}
@media(min-width:1600px){.home-intro h1{font-size:86px}.project-image{height:370px}.project-1 .project-image{height:450px}.project-3 .project-image{height:540px}.featured-image{aspect-ratio:2.35}}
@media(max-width:1100px) and (min-width:801px){.site-rail{width:190px;padding-inline:26px}.site-main{margin-left:190px;padding-inline:28px}.home-intro{grid-template-columns:1fr;gap:25px}.intro-copy{display:flex;align-items:center;justify-content:space-between;gap:25px}.intro-copy .scroll-link{margin-top:0;max-width:140px}.home-intro h1{font-size:57px}.profile-section{grid-template-columns:200px 1fr;gap:35px}.profile-photo,.profile-photo>img{width:200px}.profile-photo>img{height:200px}.profile-copy h2{font-size:34px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.contact-info>p{margin-top:0}.contact-detail{margin-top:0}.contact-socials{margin-top:0}.resume-section{grid-template-columns:1fr;gap:30px}.resume-row h3{font-size:19px}.site-footer{flex-wrap:wrap}.project-caption h3{font-size:19px}.work-header{align-items:start}}
@media(max-width:800px){html{scroll-padding-top:20px}.site-rail{position:relative;inset:auto;width:auto;padding:24px 20px;display:grid;grid-template-columns:70px 1fr;align-items:center;border-right:0;border-bottom:1px solid var(--line);overflow:visible;gap:20px}.brand{font-size:42px;letter-spacing:-6px;width:70px}.brand>span{width:6px;height:6px}.rail-role,.rail-bottom{display:none}.site-rail nav{margin:0;flex-direction:row;justify-content:flex-end;gap:18px}.site-rail nav>a{font-size:12px;min-height:44px;padding-block:10px;white-space:nowrap}.site-main{margin-left:0;padding:0 20px}.topbar{min-height:65px;font-size:8px;gap:20px}.home-intro{grid-template-columns:1fr;padding-block:30px;gap:24px}.home-intro h1{font-size:54px;letter-spacing:-.055em}.home-intro .eyebrow{font-size:9px;margin-bottom:20px}.intro-copy>p{font-size:13px;max-width:340px}.intro-copy .scroll-link{margin-top:20px}.featured-work{padding-bottom:30px}.featured-image{aspect-ratio:1.25}.featured-image img{object-position:60% center}.featured-tag{font-size:8px;top:12px;left:12px;padding:7px 9px}.featured-caption{align-items:baseline}.featured-caption h2{font-size:23px}.featured-caption p{font-size:9px}.work-header{gap:18px;align-items:start;flex-direction:column;padding-block:19px 23px}.work-header h2,.work-header>p{font-size:9px}.work-header>p{text-align:left}.project-grid{grid-template-columns:1fr;gap:30px}.project-2{padding-top:0}.project-image,.project-1 .project-image,.project-3 .project-image,.project-4 .project-image,.project-5 .project-image{height:300px}.project-6 .project-image{height:390px}.project-caption h3{font-size:21px}.project-caption p{font-size:9px}.project-number{font-size:10px}.artstation-end{flex-direction:column;align-items:start;padding-block:30px;gap:20px}.artstation-end>p{font-size:25px}.artstation-end>a{font-size:12px;gap:24px;max-width:100%}.closing{padding-block:45px}.closing>.eyebrow{font-size:9px;max-width:250px}.closing>a{font-size:46px;letter-spacing:-.05em;gap:18px}.site-footer{gap:17px;align-items:start;flex-direction:column;font-size:9px;padding-block:25px}.site-footer>div{gap:28px}.page-heading{padding-block:32px 30px}.page-heading>.eyebrow{font-size:9px;margin-bottom:21px}.page-heading h1{font-size:64px}.page-heading>p:last-child{font-size:13px;margin-top:19px}.profile-section{grid-template-columns:1fr;gap:32px;padding-block:38px 45px}.profile-photo{width:240px}.profile-photo>img{width:240px;height:240px}.profile-copy h2{font-size:39px}.profile-copy>p:not(.eyebrow){font-size:14px}.resume-section{grid-template-columns:1fr;gap:29px;padding-block:32px 39px}.resume-label h2{font-size:30px;margin-top:13px}.resume-row{flex-direction:column;gap:8px;padding-block:22px}.resume-row h3{font-size:20px}.resume-row p:not(.date){font-size:13px}.resume-row>.date{font-size:11px;padding-top:0}.software-list{grid-template-columns:1fr}.software-list>li{padding-block:14px;font-size:14px}.software-list>li>span:last-child{font-size:11px}.skill-tags>li{font-size:12px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-block:35px 50px}.contact-info>h2{font-size:38px}.contact-info>p{max-width:330px}.contact-detail{margin-top:27px}.contact-detail>a{font-size:15px;max-width:320px}.contact-socials{margin-top:22px}.form-panel{padding:23px 20px}.form-row{grid-template-columns:1fr;gap:0}.field>label{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.form-bottom{flex-direction:column;align-items:stretch;gap:22px}.form-bottom>p{font-size:11px;max-width:100%}.form-bottom>.button{width:100%;font-size:13px}.form-status{font-size:12px}.language-row{gap:25px}}
@media(max-width:380px){.site-rail{padding-inline:16px;gap:10px;grid-template-columns:62px 1fr}.site-rail nav{gap:12px}.site-rail nav>a{font-size:11px}.site-main{padding-inline:16px}.home-intro h1{font-size:48px}.closing>a{font-size:40px}.topbar{font-size:7px;gap:13px}.artstation-end>a{font-size:11px;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{body{background:white;color:#111;font-size:12px}.site-rail,.topbar,.site-footer,.closing,.skip-link,.profile-copy>.button{display:none}.site-main{margin:0;padding:0;max-width:none}.page-heading{padding:0 0 20px}.page-heading h1{font-size:40px}.profile-section{grid-template-columns:140px 1fr;gap:30px;padding-block:20px}.profile-photo{width:140px}.profile-photo>img{width:140px;height:140px}.profile-copy h2{font-size:27px}.resume-section{display:block;break-inside:avoid;padding-block:20px}.resume-label h2{font-size:22px;margin:10px 0 20px}.resume-row{flex-direction:row}.resume-row h3{font-size:16px}.eyebrow,.muted,.profile-copy h2>span,.profile-copy>p:not(.eyebrow),.resume-row p:not(.date),.resume-row>.date,.skill-tags>li,.software-list>li>span:last-child{color:#333}.software-list{grid-template-columns:1fr 1fr}.profile-photo figcaption{font-size:8px;color:#333}.profile-copy>p:not(.eyebrow){font-size:12px}}
