:root{--bg:#0f0f0e;--fg:#ece8e1;--mute:#8f8a82;--line:#2a2926;--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
.site-header{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:22px clamp(20px,4vw,56px);background:linear-gradient(rgba(15,15,14,.85),rgba(15,15,14,0));}
.brand{font-family:var(--serif);font-size:20px;text-decoration:none;letter-spacing:.01em}
.site-header nav{display:flex;gap:clamp(16px,3vw,36px)}
.site-header nav a,.eyebrow,.work-kind,.site-footer{font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.site-header nav a:hover{color:var(--mute)}
.eyebrow{color:var(--mute);margin:0 0 20px}
section{padding:0 clamp(20px,4vw,56px)}
.hero{position:relative;height:100svh;min-height:520px;padding:0;overflow:hidden}
.hero img,.hero video{display:block;width:100%;height:100%;object-fit:cover;opacity:.85}
.hero-text{position:absolute;left:clamp(20px,4vw,56px);bottom:clamp(40px,8vh,90px)}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,11vw,160px);line-height:.92;margin:0;letter-spacing:-.01em}
.about{max-width:1200px;margin:0 auto;padding-top:clamp(90px,14vw,180px);padding-bottom:clamp(60px,10vw,140px);display:grid;grid-template-columns:1fr 2fr;gap:0 clamp(30px,5vw,80px)}
.about .eyebrow{grid-row:span 2}
.about-lead{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);line-height:1.4;margin:0 0 40px}
.about-body{columns:2 300px;column-gap:48px;color:#c9c4bb}
.about-body p{margin:0 0 1.1em;break-inside:avoid}
.works{max-width:1400px;margin:0 auto;padding-bottom:clamp(80px,10vw,140px)}
.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:56px 32px}
.work{text-decoration:none;display:block}
.work figure{margin:0 0 16px;aspect-ratio:4/3;overflow:hidden;background:#1a1a18}
.work figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s ease,opacity .6s;opacity:.9}
.work:hover figure img{transform:scale(1.035);opacity:1}
.work-kind{color:var(--mute)}
.work h3{font-family:var(--serif);font-weight:400;font-size:30px;margin:4px 0 0;line-height:1.2}
.contact{border-top:1px solid var(--line);max-width:1400px;margin:0 auto;padding-top:80px;padding-bottom:100px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.contact-ig{font-family:var(--serif);font-size:clamp(32px,6vw,72px);text-decoration:none;line-height:1.1}
.contact-mail:hover,.contact-ig:hover{color:var(--mute)}
.contact-ig-note{margin:0 0 28px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.contact-mail{font-size:15px;text-decoration:none;color:#c9c4bb}
.work-hero{padding:0;height:82svh;min-height:420px}
.work-hero img{width:100%;height:100%;object-fit:cover}
.work-page{max-width:1200px;margin:0 auto;padding:clamp(60px,9vw,120px) clamp(20px,4vw,56px);display:grid;grid-template-columns:2fr 1fr;gap:0 clamp(30px,6vw,100px)}
.work-head{grid-column:1/-1}
.work-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,8vw,110px);line-height:1;margin:0 0 32px}
.work-lead{font-family:var(--serif);font-size:clamp(21px,2.2vw,28px);line-height:1.45;max-width:30em;margin:0 0 48px}
.work-text{color:#c9c4bb}
.work-text p{margin:0 0 1.1em}
.note{font-style:italic;color:var(--mute)}
.credits dl{margin:0;font-size:14px;line-height:1.5}
.credits dl div{padding:10px 0;border-top:1px solid var(--line)}
.credits dt{color:var(--mute);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px}
.credits dd{margin:0}
.gallery{columns:3 300px;column-gap:16px;max-width:1600px;margin:0 auto}
.shot{all:unset;display:block;cursor:zoom-in;margin-bottom:16px;break-inside:avoid}
.shot img{width:100%;transition:opacity .4s}
.shot:hover img{opacity:.8}
.shot:focus-visible{outline:1px solid var(--fg)}
.next{display:flex;justify-content:space-between;gap:20px;max-width:1600px;margin:0 auto;padding:60px clamp(20px,4vw,56px) 90px;font-family:var(--serif);font-size:clamp(18px,2vw,24px)}
.next a{text-decoration:none}.next a:hover{color:var(--mute)}
.lightbox{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh;cursor:zoom-out}
.lightbox::backdrop{background:rgba(8,8,7,.94)}
.lightbox img{max-width:96vw;max-height:94vh;object-fit:contain}
.lightbox .close{position:fixed;top:16px;right:24px;background:none;border:0;color:var(--fg);font-size:36px;cursor:pointer}
.legal{max-width:760px;margin:0 auto;padding-top:160px;padding-bottom:120px;color:#c9c4bb}
.legal h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,64px);color:var(--fg);margin:0 0 32px}
.legal h2,.legal h3{font-family:var(--serif);font-weight:400;color:var(--fg);margin:2em 0 .4em}
.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:28px clamp(20px,4vw,56px);border-top:1px solid var(--line);color:var(--mute)}
.footer-links{display:flex;gap:24px}
.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--fg)}
@media (max-width:760px){
  .about,.work-page{grid-template-columns:1fr}
  .about .eyebrow{grid-row:auto}
  .credits{margin-top:32px}
  .site-header nav a:nth-child(3){display:none}
  .next{flex-direction:column}
}
.home .brand{visibility:hidden}
