:root{color-scheme:dark;--bg:#0b0c0b;--ink:#f0f0eb;--muted:#aaada4;--line:#353730}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:300 16px/1.65 Avenir-Light,Avenir,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #dcc99e;outline-offset:6px}header{position:absolute;z-index:5;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:30px 4vw;background:linear-gradient(#0009,transparent)}.brand{font:100 20px/1.4 AvenirNext-UltraLight,'Avenir Next',Arial,sans-serif;letter-spacing:.17em}nav{display:flex;gap:30px;font:400 14px ArialMT,Arial,sans-serif}nav a{padding:9px 0}.hero{height:100svh;min-height:640px;position:relative;isolation:isolate;background:#111}.hero-bg,.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero video{opacity:0;transition:opacity 1s}.hero.playing video{opacity:1}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#0002 15%,#0001 40%,#000b 100%)}.identity{position:absolute;left:7vw;top:32%;width:min(610px,80vw)}.identity h1{font:100 clamp(95px,15vw,220px)/1 AvenirNext-UltraLight,'Avenir Next',Arial,sans-serif;letter-spacing:.11em;margin:0}.surname{position:absolute;top:9%;right:4%;width:43%;height:auto}.tagline{font:300 12px/16px Avenir-Light,Avenir,Arial,sans-serif;letter-spacing:2.28px;margin:18px 0}.hero-bottom{position:absolute;bottom:40px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:end;gap:25px}.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:#bec0b8;margin:0 0 10px}.hero h2{font:300 clamp(30px,4vw,58px)/1.15 Avenir-Light,Avenir,Arial,sans-serif;margin:0 0 18px}.text-link{font-family:ArialMT,Arial,sans-serif;font-size:14px;border-bottom:1px solid #aaa;padding-bottom:6px;display:inline-block}.hero-actions{display:flex;align-items:center;gap:22px}.motion-button{border:1px solid #c6c8bf;background:#080a0877;border-radius:0;padding:11px 16px;min-width:144px;font-size:14px}.shell{max-width:1600px;margin:auto;padding:0 5vw}.section-title{display:flex;align-items:baseline;justify-content:space-between;padding:72px 0 30px}.section-title h2{font:300 30px Avenir-Light,Avenir,Arial,sans-serif;margin:0}.section-title p{color:#a9ada4;font-size:13px}.projects{display:grid;grid-template-columns:repeat(12,1fr);gap:55px 28px}.project{grid-column:span 6;display:block}.project.wide{grid-column:span 12}.project.offset{padding-top:100px}.image-wrap{overflow:hidden;background:#181b17;aspect-ratio:1.55}.wide .image-wrap{aspect-ratio:2.15}.project img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 900ms cubic-bezier(.2,.7,.2,1),filter 500ms}.project:hover img{transform:scale(1.035);filter:brightness(1.08)}.caption{display:flex;align-items:baseline;gap:15px;padding-top:16px}.caption h3{font:300 clamp(20px,2vw,30px)/1.3 Avenir-Light,Avenir,Arial,sans-serif;margin:0;flex:1}.caption span{color:#a9ada4;font-size:12px}.more{margin-top:75px;display:flex;flex-wrap:wrap;gap:25px;border-top:1px solid var(--line);padding:26px 0}.about-link{border-top:1px solid var(--line);padding:60px 0;display:flex;justify-content:space-between;align-items:center}.about-link h2{font:100 clamp(28px,4vw,50px)/1.2 AvenirNext-UltraLight,'Avenir Next',Arial,sans-serif;margin:0}.about-link p{color:#b3b5ad}footer{border-top:1px solid var(--line);padding:25px 0 35px;display:flex;justify-content:space-between;gap:20px;color:#a9ada4;font-size:12px}.project-page header{position:relative;background:none;border-bottom:1px solid var(--line)}.project-heading{padding:65px 0 40px;max-width:1000px}.project-heading h1{font:100 clamp(40px,6vw,85px)/1.15 AvenirNext-UltraLight,'Avenir Next',Arial,sans-serif;margin:14px 0 20px}.project-heading .intro{color:#b7bab0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery figure{margin:0}.gallery figure:first-child,.gallery figure:nth-child(7n){grid-column:1/-1}.gallery button{display:block;border:0;padding:0;background:#151714;width:100%}.gallery img{display:block;width:100%;height:auto}.gallery figcaption{font-size:12px;color:#aeb1a6;margin-top:9px;min-height:18px}.film{margin:0 0 45px}.film summary{cursor:pointer;border-top:1px solid var(--line);padding:18px 0;font:400 14px ArialMT,Arial,sans-serif}.film iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#111}.next-project{display:block;margin-top:65px;border-top:1px solid var(--line);padding:35px 0 60px}.next-project span{display:block;font-size:12px;color:#afb2a9}.next-project strong{font:300 35px/1.3 Avenir-Light,Avenir,Arial,sans-serif}dialog{border:0;max-width:100vw;max-height:100svh;width:100vw;height:100svh;margin:0;padding:65px 50px 45px;background:#080908f5;color:#fff}dialog::backdrop{background:#000e}.lightbox-image{width:100%;height:calc(100% - 40px);object-fit:contain}.lightbox-caption{text-align:center;font-size:13px;margin:10px}.close{position:absolute;right:22px;top:15px;border:1px solid #888;background:#111;padding:9px 17px}.previous,.next{position:absolute;top:48%;background:#111b;border:1px solid #666;padding:12px;font-size:14px}.previous{left:10px}.next{right:10px}.skip{position:absolute;top:-80px;z-index:20}.skip:focus{top:10px;background:#111;padding:15px}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}@media(max-width:750px){header{padding:20px 6vw}.brand{font-size:13px;max-width:160px}nav{gap:18px;font-size:12px}.hero{min-height:610px}.identity{top:34%;left:8vw}.hero-bottom{bottom:25px;left:6vw;right:6vw;align-items:start;flex-direction:column}.hero-actions{width:100%;justify-content:space-between}.hero h2{margin-bottom:10px}.shell{padding:0 6vw}.projects{gap:35px}.project,.project.wide{grid-column:1/-1}.project.offset{padding-top:0}.wide .image-wrap,.image-wrap{aspect-ratio:1.4}.section-title{padding-top:40px}.section-title p{display:none}.gallery{grid-template-columns:1fr;gap:20px}.gallery figure{grid-column:1/-1}.about-link{display:block;padding:35px 0}footer{flex-direction:column;gap:8px}.project-heading{padding-top:35px}dialog{padding:65px 15px 60px}.previous,.next{top:auto;bottom:12px}.more{margin-top:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero video{display:none}}
.projects{grid-template-columns:repeat(12,minmax(0,1fr))}.project,.caption h3{min-width:0}.caption h3{overflow-wrap:anywhere}@media(max-width:750px){.caption span:last-child{display:none}.caption{align-items:baseline}.caption h3{font-size:20px}}
@media(max-width:750px){.projects{grid-template-columns:minmax(0,1fr)}}
/* Consistent project-gallery thumbnails; the lightbox preserves the full image. */
.gallery figure:first-child,.gallery figure:nth-child(7n){grid-column:auto}
.gallery button{aspect-ratio:16/9;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover}
@media(max-width:750px){.gallery figure:first-child,.gallery figure:nth-child(7n){grid-column:1/-1}}
/* Uniform project covers on the Work page. */
.projects{grid-template-columns:repeat(2,minmax(0,1fr))}
.project,.project.wide{grid-column:auto}
.project.offset{padding-top:0}
.project .image-wrap,.project.wide .image-wrap{aspect-ratio:16/9}
@media(max-width:750px){.projects{grid-template-columns:minmax(0,1fr)}}
