:root{--ink:#0a0908;--paper:#f0ede5;--red:#ff3428;--muted:rgba(240,237,229,.58);--line:rgba(240,237,229,.18);--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}img{display:block;width:100%}.skip-link{position:fixed;z-index:1000;left:1rem;top:-5rem;background:var(--red);padding:.8rem 1rem;font:700 11px var(--mono)}.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:100;top:0;left:0;right:0;height:78px;padding:0 clamp(22px,4vw,68px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(0,0,0,.68),transparent)}.wordmark{font-weight:900;font-size:15px;letter-spacing:.04em;white-space:nowrap}.wordmark span{color:var(--red)}.site-header nav{display:flex;gap:clamp(18px,2.6vw,42px)}.site-header nav a{font:600 9px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62);transition:color .2s}.site-header nav a:hover,.site-header nav a.is-current{color:#fff}.menu-button{display:none;border:0;background:none;text-transform:uppercase;font:600 9px var(--mono);letter-spacing:.18em}.mobile-menu{display:none}
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden;background:#111}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{margin:0;opacity:0;transition:opacity 1s ease}.hero-slide.is-active{opacity:1}.hero-slide img{height:100%;object-fit:cover;object-position:var(--fx,50%) var(--fy,50%);transform:scale(1.045);transition:transform 7.5s ease}.hero-slide.is-active img{transform:scale(1)}.hero-shade{background:linear-gradient(90deg,rgba(3,3,3,.68),rgba(3,3,3,.06) 62%),linear-gradient(0deg,rgba(3,3,3,.76),transparent 47%),radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.3))}.hero-copy{position:absolute;z-index:4;left:clamp(22px,6vw,98px);bottom:clamp(100px,16vh,176px)}.hero-copy p,.eyebrow{margin:0 0 20px;font:600 9px var(--mono);letter-spacing:.24em;text-transform:uppercase}.hero-copy p{color:rgba(255,255,255,.64)}.hero-copy h1{margin:0;font-size:clamp(4.5rem,10vw,10rem);font-weight:900;line-height:.76;letter-spacing:-.075em;text-transform:uppercase}.hero-copy h1 em{font:italic 400 .82em/1 var(--serif);text-transform:none;color:#ffc759}.hero-status{position:absolute;z-index:5;left:clamp(22px,6vw,98px);right:clamp(22px,4vw,68px);bottom:42px;display:grid;grid-template-columns:150px minmax(100px,380px) 55px;align-items:center;gap:20px;font:600 8px var(--mono);letter-spacing:.18em;text-transform:uppercase}.hero-progress{height:1px;background:rgba(255,255,255,.28);overflow:hidden}.hero-progress i{display:block;width:0;height:100%;background:var(--red);animation:heroProgress 5.8s linear forwards}@keyframes heroProgress{to{width:100%}}.hero-scroll{position:absolute;z-index:5;right:clamp(22px,4vw,68px);bottom:77px;font:600 8px var(--mono);letter-spacing:.16em;text-transform:uppercase}.hero-scroll span{display:inline-block;margin-left:12px;animation:bob 1.8s ease-in-out infinite}@keyframes bob{50%{transform:translateY(5px)}}
.work .eyebrow,.contact-tease .eyebrow{color:#777}.work{padding:clamp(110px,12vw,190px) clamp(14px,4vw,68px) clamp(110px,12vw,190px)}.work-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 auto 64px;max-width:1600px}.work-heading h2{margin:0;font-size:clamp(4.5rem,9vw,9rem);line-height:.75;letter-spacing:-.075em;text-transform:uppercase}.filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:680px}.filters button{border:1px solid var(--line);border-radius:999px;background:transparent;padding:10px 15px;font:600 8px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:background .2s,color .2s,border-color .2s}.filters button:hover,.filters button.is-active{border-color:var(--paper);background:var(--paper);color:var(--ink)}
.gallery-meta{max-width:1600px;margin:0 auto 10px;padding:11px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:600 8px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.editorial-grid{max-width:1600px;margin:auto;display:grid;grid-template-columns:repeat(20,1fr);grid-auto-flow:dense;gap:clamp(4px,.45vw,8px);align-items:start}.work-card{position:relative;display:block;border:0;background:#151515;padding:0;overflow:hidden;text-align:left;transition:opacity .35s,transform .35s}.work-card[hidden]{display:none}.work-card:hover{transform:translateY(-3px)}.work-card img{height:100%;object-fit:cover;transition:transform .75s ease,filter .35s}.work-card:hover img{transform:scale(1.022);filter:saturate(1.08)}.work-card>span{position:absolute;inset:auto 0 0;padding:42px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.78));display:flex;justify-content:space-between;align-items:flex-end;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}.work-card:hover>span,.work-card:focus-visible>span{opacity:1;transform:none}.work-card b{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.work-card em{font:normal 600 7px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}.work-card.is-portrait{grid-column:span 4;aspect-ratio:2/3}.work-card.is-landscape{grid-column:span 8;aspect-ratio:3/2}.grid-note{max-width:1600px;margin:46px auto 0;border-top:1px solid var(--line);padding-top:18px;font:500 8px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(240,237,229,.42)}
.contact-tease{min-height:78svh;padding:clamp(90px,11vw,170px) clamp(22px,6vw,98px);display:flex;flex-direction:column;justify-content:center;background:#ffc759;color:var(--ink)}.contact-tease h2{margin:0;font-size:clamp(4.5rem,10vw,10rem);font-weight:900;line-height:.78;letter-spacing:-.075em;text-transform:uppercase}.contact-tease h2 em{font:italic 400 .84em var(--serif);text-transform:none}.contact-tease a{align-self:flex-start;margin-top:58px;border-bottom:2px solid var(--ink);padding:0 0 9px;font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.contact-tease a span{margin-left:16px}
footer{min-height:120px;padding:28px clamp(22px,4vw,68px);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}footer p{margin:0;font:500 8px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lightbox{position:fixed;z-index:1000;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;padding:60px 70px;background:rgba(5,5,5,.97);color:var(--paper)}.lightbox::backdrop{background:#000}.lightbox[open]{display:grid;grid-template-columns:52px 1fr 52px;align-items:center}.lightbox figure{margin:auto;max-width:1200px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox figure img{width:auto;max-width:100%;max-height:calc(100vh - 150px);object-fit:contain}.lightbox figcaption{margin-top:14px;font:600 8px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.lightbox-close{position:absolute;top:18px;right:25px;border:0;background:none;font-size:32px}.lightbox-nav{border:0;background:none;font-size:26px;color:var(--muted)}
@media(max-width:1100px) and (min-width:851px){.editorial-grid{grid-template-columns:repeat(12,1fr)}.work-card.is-portrait{grid-column:span 3}.work-card.is-landscape{grid-column:span 6}}
@media(max-width:850px){.site-header{height:64px;padding:0 18px}.site-header nav{display:none}.menu-button{display:block}.mobile-menu{position:fixed;z-index:90;inset:0;background:rgba(10,9,8,.98);padding:110px 24px 40px;flex-direction:column;gap:18px}.mobile-menu.is-open{display:flex}.mobile-menu a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 17px;font-size:clamp(2rem,9vw,4rem);font-weight:900;text-transform:uppercase;letter-spacing:-.04em}.mobile-menu span{align-self:center;font:600 7px var(--mono);letter-spacing:.14em;color:var(--red)}.hero{min-height:620px}.hero-copy{left:20px;right:20px;bottom:140px}.hero-copy h1{font-size:clamp(4rem,18vw,7rem)}.hero-copy p{font-size:7px}.hero-status{left:20px;right:20px;bottom:30px;grid-template-columns:100px 1fr 48px;gap:10px}.hero-scroll{display:none}.hero-slide:nth-child(1) img{object-position:var(--fx,58%) var(--fy,50%)}.hero-slide:nth-child(2) img{object-position:var(--fx,54%) var(--fy,50%)}.hero-slide:nth-child(3) img{object-position:var(--fx,50%) var(--fy,62%)}.hero-slide:nth-child(4) img{object-position:var(--fx,50%) var(--fy,50%)}.work{padding:90px 8px 110px}.work-heading{display:block;margin:0 10px 38px}.work-heading h2{font-size:clamp(4.1rem,18vw,7rem)}.filters{justify-content:flex-start;margin-top:34px;gap:6px}.filters button{padding:9px 12px;font-size:7px}.gallery-meta{margin:0 2px 8px;padding:11px 8px}.editorial-grid{grid-template-columns:repeat(2,1fr);gap:6px}.work-card.is-portrait{grid-column:span 1;aspect-ratio:2/3}.work-card.is-landscape{grid-column:1/-1;aspect-ratio:3/2}.work-card>span{padding:36px 10px 9px;opacity:1;transform:none}.work-card b{font-size:9px}.work-card em{font-size:6px}.grid-note{margin:28px 10px 0}.contact-tease{min-height:68svh;padding:90px 20px}.contact-tease h2{font-size:clamp(4rem,17vw,7rem)}footer{min-height:150px;align-items:flex-start;flex-direction:column;gap:18px}.lightbox{padding:45px 12px 60px}.lightbox[open]{grid-template-columns:32px 1fr 32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Gallery order editor: open the page with ?arrange=1. */
.order-editor{display:none}.is-arranging{padding-bottom:112px}.is-arranging .work-card{cursor:grab;touch-action:manipulation}.is-arranging .work-card:active{cursor:grabbing}.is-arranging .work-card>span{opacity:1;transform:none;background:linear-gradient(transparent,rgba(0,0,0,.88))}.is-arranging .work-card.is-selected{outline:3px solid #ffc759;outline-offset:-3px}.is-arranging .work-card.is-dragging{opacity:.3;transform:scale(.98)}.is-arranging .work-card.is-marked-delete::after{content:"Marked for delete";position:absolute;inset:0;display:grid;place-items:center;background:rgba(115,0,0,.72);color:#fff;font:700 9px var(--mono);letter-spacing:.12em;text-transform:uppercase}.is-arranging .work-card.is-marked-delete img{filter:grayscale(1);opacity:.45}.is-arranging .order-editor{position:fixed;z-index:500;left:18px;right:18px;bottom:16px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(600px,2.2fr) auto;gap:14px;align-items:center;background:rgba(240,237,229,.98);color:var(--ink);border:1px solid #fff;padding:12px 15px;box-shadow:0 15px 50px rgba(0,0,0,.6)}.order-editor-copy span{display:block;font:600 7px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#777}.order-editor-copy b{display:block;margin:2px 0}.order-editor-copy p{margin:0;font:500 7px/1.4 var(--mono);color:#666}.order-actions{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.order-actions button,.order-actions a{border:1px solid #aaa;background:transparent;padding:8px 9px;font:600 7px var(--mono);letter-spacing:.07em;text-transform:uppercase}.order-actions button:disabled{opacity:.35;cursor:not-allowed}.order-actions [data-order-delete]{border-color:#a52b23;color:#8d1d17}.order-actions [data-order-copy],.order-actions a{border-color:var(--ink);background:var(--ink);color:var(--paper)}.order-editor small{font:600 7px var(--mono);white-space:nowrap;color:#777}

/* Focal-point editor: available only when the page is opened with ?edit=1. */
.hero .hero-slide img{object-position:var(--fx,50%) var(--fy,50%)}
.focal-editor{display:none}
.is-editing .hero-slide.is-active{cursor:grab;touch-action:none}
.is-editing .hero-slide.is-active:active{cursor:grabbing}
.is-editing .hero-copy,.is-editing .hero-status,.is-editing .hero-scroll{pointer-events:none}
.is-editing .hero-focal-marker{position:absolute;z-index:20;display:block;left:var(--marker-x,50%);top:var(--marker-y,50%);width:26px;height:26px;border:1px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #000,0 0 20px rgba(0,0,0,.5);pointer-events:none}
.is-editing .hero-focal-marker::before,.is-editing .hero-focal-marker::after{content:"";position:absolute;background:#fff}
.is-editing .hero-focal-marker::before{width:40px;height:1px;left:-8px;top:12px}
.is-editing .hero-focal-marker::after{height:40px;width:1px;left:12px;top:-8px}
.is-editing .focal-editor{position:fixed;z-index:400;left:20px;right:20px;bottom:18px;display:grid;grid-template-columns:minmax(140px,1fr) minmax(220px,2fr) auto auto;gap:18px;align-items:center;background:rgba(240,237,229,.97);color:var(--ink);border:1px solid #fff;padding:14px 16px;box-shadow:0 15px 50px rgba(0,0,0,.55)}
.focal-editor span{display:block;font:600 7px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#777}.focal-editor b{display:block;margin-top:3px}.focal-editor p{margin:0;font:500 8px/1.45 var(--mono);color:#666}.editor-actions{display:flex;gap:6px;flex-wrap:wrap}.editor-actions button{border:1px solid #aaa;background:transparent;padding:8px 10px;font:600 7px var(--mono);letter-spacing:.08em;text-transform:uppercase}.editor-actions button:last-child{border-color:var(--ink);background:var(--ink);color:var(--paper)}.focal-editor small{font:600 7px var(--mono);white-space:nowrap;color:#777}
@media(max-width:850px){.is-editing .focal-editor{left:8px;right:8px;bottom:8px;display:flex;flex-wrap:wrap;gap:9px;padding:11px}.focal-editor>div:first-child{width:35%}.focal-editor p{display:none}.editor-actions{width:100%;order:3}.editor-actions button{flex:1}.focal-editor small{margin-left:auto}}
@media(max-width:850px){.is-arranging{padding-bottom:164px}.is-arranging .order-editor{left:7px;right:7px;bottom:7px;display:flex;flex-wrap:wrap;gap:7px;padding:10px}.order-editor-copy{width:100%;display:flex;align-items:baseline;gap:10px}.order-editor-copy p{display:none}.order-actions{width:100%;justify-content:flex-start}.order-actions button,.order-actions a{flex:1;text-align:center;padding:8px 5px}.order-editor small{display:none}}
