:root{color-scheme:dark;--bg:#171817;--panel:#202220;--text:#eeede7;--muted:#a7aaa4;--line:#343733;--accent:#d8c3a2;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--text);font:14px var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit;border-radius:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--accent);color:#111;z-index:200}.skip:focus{top:10px}.site-header{height:86px;padding:0 4%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#171817f5;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.identity{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:600;letter-spacing:.1px}.identity-role{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:5px;letter-spacing:.5px}.site-header nav{display:flex;align-items:center;gap:35px;height:100%;font-size:12px}.site-header nav a{height:100%;display:flex;align-items:center;position:relative;color:var(--muted)}.site-header nav a[aria-current=page]{color:var(--text)}.site-header nav a[aria-current=page]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}.site-header nav a:hover{color:var(--text)}#main{min-height:70vh;outline:none}.wrap{max-width:1800px;margin:auto;padding-left:4%;padding-right:4%}.portfolio-intro{padding-top:48px;padding-bottom:40px;display:flex;justify-content:space-between;gap:30px;align-items:end}.portfolio-intro h1{font-size:clamp(32px,3.5vw,51px);line-height:1.1;letter-spacing:-1.8px;font-weight:400;margin:0 0 12px}.portfolio-intro h1 span{font-family:var(--serif);font-style:italic;color:var(--accent)}.portfolio-intro p{margin:0;color:var(--muted);line-height:1.7;font-size:13px}.location{color:var(--muted);font-size:11px;white-space:nowrap;padding-bottom:3px}.location:before{content:'◎';margin-right:9px;color:var(--accent)}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;gap:16px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid transparent;background:none;color:var(--muted);padding:8px 12px;font-size:11px}.filters button[aria-pressed=true]{background:#e6e3d9;color:#20221e}.filters button:hover{border-color:#6c7067}.view-settings{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.view-settings button{background:none;border:1px solid var(--line);padding:7px 10px;display:grid;place-items:center;height:30px}.view-settings button[aria-pressed=true]{color:var(--accent);border-color:#8f816e}.view-settings svg{width:13px;height:13px}.work-count{margin-right:12px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:12px}.tile{background:#0f100f;position:relative;min-width:0;isolation:isolate;overflow:hidden;display:block;aspect-ratio:1.49}.tile.feature{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:500px}.tile>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .6s ease,filter .6s}.tile.feature>img{object-position:55% 50%;transform:scale(1.04)}.tile:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#000b);z-index:0}.tile:hover>img{transform:scale(1.035);filter:brightness(1.08)}.tile.feature:hover>img{transform:scale(1.07)}.tile-info{position:absolute;bottom:23px;left:25px;right:25px;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:15px}.tile h2{font-size:clamp(18px,1.75vw,27px);font-weight:400;letter-spacing:-.4px;margin:8px 0 0}.tile.feature h2{font-family:var(--serif);font-size:clamp(35px,4vw,62px);letter-spacing:-1.6px}.tile .label{color:#d4d4ca;font-size:9px;letter-spacing:1.4px;text-transform:uppercase}.tile-arrow{font-size:24px;opacity:.6;transition:opacity .2s,transform .2s}.tile:hover .tile-arrow{opacity:1;transform:translate(3px,-3px)}.tile-tag{position:absolute;top:23px;left:25px;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;background:#171817b3;padding:8px 10px;border:1px solid #ffffff2b;z-index:2}.tile:nth-child(4){grid-column:span 2;aspect-ratio:2.3}.tile:nth-child(5){aspect-ratio:auto}.gallery.compact,.gallery.filtered{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery.compact .tile,.gallery.filtered .tile{grid-column:auto;grid-row:auto;aspect-ratio:1.65;min-height:0}.gallery.compact .tile h2,.gallery.filtered .tile.feature h2{font:400 25px var(--sans);letter-spacing:-.6px}.gallery-note{margin:18px 0 0;color:var(--muted);font-size:10px;line-height:1.7;display:flex;justify-content:space-between;gap:20px}.home-end{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:65px;padding-bottom:65px}.home-end p{font:400 24px/1.4 var(--serif);margin:0;color:#cecec4;max-width:520px}.small-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #6f7469;padding-bottom:8px;font-size:12px}.small-link:hover{color:var(--accent);border-color:var(--accent)}.site-footer{padding:25px 4%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;color:#94988f;font-size:10px;line-height:1.7}.site-footer a:hover{color:var(--text)}.crumb{padding:28px 0;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.crumb a:hover{color:var(--accent)}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px;align-items:start;padding-bottom:75px}.project-content{min-width:0}.project-sidebar{position:sticky;top:115px;grid-column:2;grid-row:1}.project-sidebar .eyebrow{margin-bottom:14px}.eyebrow{font-size:9px;line-height:1.5;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent)}.project-sidebar h1{font:400 37px/1.08 var(--serif);letter-spacing:-.7px;margin:0 0 22px}.project-sidebar p{color:var(--muted);font-size:12px;line-height:1.85}.project-sidebar h2{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:400;margin:27px 0 10px;color:#dbded4}.project-sidebar ul{list-style:none;padding:0;margin:0;color:var(--muted);font-size:12px;line-height:1.9}.project-sidebar ul li{margin-bottom:3px}.tools{display:flex;gap:7px;flex-wrap:wrap}.tools span{font-size:10px;padding:6px 8px;background:#262924;color:#b9bdb2}.project-sidebar .small-link{margin-top:24px;font-size:11px}.project-credit{padding:13px 0;margin-top:20px!important;border-top:1px solid var(--line);font-size:10px!important}.image-figure{margin:0 0 18px}.image-button{display:block;padding:0;width:100%;background:#0d0e0d;border:0;position:relative}.image-button img{width:100%;height:auto}.expand-hint{position:absolute;right:14px;bottom:14px;background:#121412cf;border:1px solid #ffffff25;padding:7px 10px;font-size:10px;color:#d4d7ce;opacity:0;transition:opacity .15s}.image-button:hover .expand-hint,.image-button:focus-visible .expand-hint{opacity:1}figcaption{color:#969b8f;font-size:10px;line-height:1.7;margin-top:9px}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--line);margin:45px 0 20px;padding-top:20px}.section-title h2{font-size:17px;font-weight:400;margin:0}.section-title span{font-size:10px;color:var(--muted)}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.video-poster{width:100%;aspect-ratio:16/9;padding:0;background:#000;border:0;position:relative;display:grid;place-items:center;margin:0}.video-poster img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.6}.play-symbol{position:relative;display:flex;flex-direction:column;align-items:center;gap:13px;font-size:11px}.play-circle{display:grid;place-items:center;width:54px;height:54px;border:1px solid #ffffffa3;border-radius:50%;font-size:15px;padding-left:3px;background:#17181775;transition:background .2s}.video-poster:hover .play-circle{background:var(--accent);color:#151713}.video-frame{aspect-ratio:16/9;width:100%;display:block;border:0;background:#000}.comparison{position:relative;background:#000;--split:50%;aspect-ratio:16/9;overflow:hidden}.comparison>img,.comparison-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.comparison-overlay{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-overlay img{width:100%;height:100%;object-fit:contain}.comparison-line{position:absolute;left:var(--split);top:0;bottom:0;width:1px;background:var(--accent);pointer-events:none}.comparison-line:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--accent);color:#151713;display:grid;place-items:center;font-size:16px}.comparison-label{position:absolute;top:13px;background:#171817b3;padding:6px 9px;font-size:9px;pointer-events:none}.comparison-label.left{left:13px}.comparison-label.right{right:13px}.comparison-controls{display:flex;align-items:center;gap:20px;margin-top:15px;color:var(--muted);font-size:11px}.comparison-controls input{flex:1;accent-color:var(--accent);min-width:40px}.next-project{display:flex;align-items:center;justify-content:space-between;padding:32px 0;border-top:1px solid var(--line);margin-top:45px}.next-project span:first-child{font-size:10px;color:var(--muted)}.next-project strong{font:400 23px var(--serif)}.next-project:hover strong{color:var(--accent)}.about-page{padding-top:65px;padding-bottom:80px}.about-top{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.page-title{font:400 clamp(45px,5.5vw,78px)/1.08 var(--serif);letter-spacing:-2px;margin:15px 0 25px}.about-intro{font-size:18px;color:#c3c7bc;line-height:1.8;max-width:600px}.about-photo{position:relative;overflow:hidden;aspect-ratio:1.2}.about-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.2)}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:55px}.about-body h2{font-size:17px;font-weight:400;margin:0 0 18px}.about-body p{color:var(--muted);font-size:13px;line-height:1.9}.skill-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.skill-list span{border-bottom:1px solid var(--line);padding:13px 0;color:var(--muted);font-size:12px}.contact-page{min-height:70vh;padding-top:75px;padding-bottom:100px;display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}.contact-page p{color:var(--muted);line-height:1.9;font-size:14px;max-width:470px}.contact-options{padding-top:30px}.contact-option{display:block;border-top:1px solid var(--line);padding:26px 0}.contact-option:last-child{border-bottom:1px solid var(--line)}.contact-option span{color:var(--muted);font-size:11px}.contact-option strong{display:flex;justify-content:space-between;font-size:21px;font-weight:400;margin-top:9px}.contact-option:hover strong{color:var(--accent)}dialog#viewer{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:#101110;color:var(--text);overflow:hidden}dialog#viewer::backdrop{background:#101110}#viewer[open]{display:flex;flex-direction:column}.viewer-toolbar{flex-shrink:0;padding:18px 25px;border-bottom:1px solid #292c26;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.viewer-toolbar>div:first-child{display:flex;gap:20px;align-items:center}#viewer-count{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.viewer-actions{display:flex;gap:10px}.viewer-actions button{background:none;border:1px solid #3e4438;padding:8px 13px;font-size:11px}.viewer-actions button:hover{background:#30362a}.viewer-stage{flex:1;min-height:0;position:relative;display:flex;align-items:stretch}.viewer-canvas{width:100%;display:grid;place-items:center;overflow:auto;padding:20px 65px}.viewer-canvas img{max-width:100%;max-height:100%;object-fit:contain;min-height:0}.viewer-canvas.zoomed{display:block;padding:0}.viewer-canvas.zoomed img{max-width:none;max-height:none;width:auto;height:auto;min-width:100%;margin:auto}.viewer-arrow{position:absolute;z-index:2;top:calc(50% - 22px);width:42px;height:44px;background:#242822c9;border:1px solid #ffffff20;font-size:22px}.previous{left:15px}.next{right:15px}.viewer-bottom{flex-shrink:0;max-height:170px;padding:0 25px 16px;text-align:center}#viewer-caption{font-size:11px;color:#b7bcaf;margin:6px 0 14px}.viewer-thumbs{display:flex;gap:7px;overflow-x:auto;max-width:900px;margin:0 auto;padding:4px 4px 8px}.viewer-thumbs button{flex-shrink:0;padding:0;width:64px;height:40px;border:1px solid transparent;background:#151713;opacity:.5}.viewer-thumbs button[aria-pressed=true]{border-color:var(--accent);opacity:1}.viewer-thumbs img{width:100%;height:100%;object-fit:cover}.keyboard-hint{font-size:9px;color:#7d8474;display:block;margin-top:6px}
@media(min-width:1700px){.tile.feature{min-height:650px}}@media(max-width:1050px){.project-layout{grid-template-columns:minmax(0,1fr) 250px;gap:25px}.project-sidebar h1{font-size:31px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.tile.feature{grid-column:span 2;grid-row:auto;aspect-ratio:2.15;min-height:0}.tile:nth-child(4),.tile:nth-child(5){grid-column:auto;aspect-ratio:1.49}.tile-info{bottom:18px;left:18px;right:18px}}@media(max-width:750px){.site-header{height:73px;padding:0 5%}.identity-role{font-size:8px;letter-spacing:0}.identity{font-size:13px;gap:9px}.identity img{width:28px;height:28px}.site-header nav{gap:20px;font-size:11px}.wrap{padding-left:5%;padding-right:5%}.portfolio-intro{padding-top:32px;padding-bottom:28px;display:block}.portfolio-intro h1{font-size:35px}.portfolio-intro p{font-size:12px;max-width:350px}.location{margin-top:15px;font-size:10px}.portfolio-toolbar{padding:15px 0}.work-count{display:none}.filters{gap:2px}.filters button{font-size:10px;padding:8px 9px}.view-settings{gap:5px}.view-settings button{padding:5px;width:28px}.gallery{gap:9px}.tile.feature{aspect-ratio:1.5}.tile,.tile:nth-child(4),.tile:nth-child(5){aspect-ratio:1.2}.tile.feature>img{object-position:56% 50%;transform:scale(1.15)}.tile-info{left:13px;right:13px;bottom:16px;gap:5px}.tile h2{font-size:17px;line-height:1.2}.tile.feature h2{font-size:35px}.tile .label{font-size:8px;letter-spacing:.7px;line-height:1.6}.tile-arrow{font-size:17px}.tile-tag{left:15px;top:15px;font-size:8px;padding:6px}.gallery-note span:last-child{display:none}.gallery.filtered .tile,.gallery.compact .tile{aspect-ratio:1.2}.gallery.filtered .tile h2,.gallery.compact .tile h2{font-size:17px}.gallery.props-only{grid-template-columns:1fr}.gallery.props-only .tile{aspect-ratio:1.6}.home-end{padding-top:40px;padding-bottom:40px;align-items:start;flex-direction:column;gap:25px}.home-end p{font-size:21px}.site-footer{padding:22px 5%;font-size:9px;flex-wrap:wrap;gap:10px 20px}.site-footer>span:nth-child(2){display:none}.site-footer a{margin-left:auto}.crumb{padding:20px 0}.crumb span{font-size:10px}.project-layout{display:flex;flex-direction:column;gap:25px;padding-bottom:35px}.project-sidebar{position:static;order:0;width:100%}.project-sidebar h1{font-size:39px;margin-bottom:15px}.project-sidebar p{font-size:12px}.project-sidebar h2{margin-top:20px}.project-content{order:1;width:100%}.project-sidebar .small-link{margin-top:15px}.project-credit{margin-bottom:0}.image-pair{gap:9px}.section-title{margin:30px 0 15px}.section-title h2{font-size:15px}.section-title span{font-size:9px}.expand-hint{display:none}.next-project strong{font-size:20px}.about-page{padding-top:40px;padding-bottom:45px}.about-top,.about-body{grid-template-columns:1fr;gap:30px}.about-top .about-photo{aspect-ratio:1.6}.page-title{font-size:51px}.about-intro{font-size:16px}.about-body{margin-top:35px;gap:25px}.contact-page{display:block;padding-top:45px;padding-bottom:60px}.contact-options{padding-top:25px}.contact-page p{font-size:13px}.viewer-toolbar{padding:13px;font-size:10px}.viewer-toolbar>div:first-child{display:block;line-height:1.6}#viewer-count{display:block}.viewer-actions button{padding:8px;font-size:10px}.viewer-canvas{padding:5px}.viewer-arrow{width:32px;height:38px;font-size:18px}.previous{left:5px}.next{right:5px}.viewer-bottom{padding:0 10px 10px}#viewer-caption{font-size:10px;line-height:1.5}.keyboard-hint{display:none}.viewer-thumbs button{width:52px;height:34px}.comparison-controls{font-size:10px;gap:10px}.comparison-label{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.project-details summary{display:none}.project-details summary span{float:right;color:var(--accent)}@media(max-width:750px){.project-details{border-top:1px solid var(--line);margin-top:20px}.project-details summary{display:block;cursor:pointer;padding:17px 0;font-size:11px;list-style:none}.project-details summary::-webkit-details-marker{display:none}.project-details[open] summary span{transform:rotate(45deg)}.project-details[open]{border-bottom:1px solid var(--line)}}
