:root{
  --bg:#f7f6f2;
  --text:#171717;
  --muted:#666;
  --gap:clamp(20px,3vw,44px);
  --page:clamp(20px,5vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-weight:300;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px var(--page);background:rgba(247,246,242,.93);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05)}
.brand{font-size:clamp(22px,2.3vw,34px);letter-spacing:-.04em}
.main-nav{display:flex;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.main-nav a:hover,.section-heading a:hover,.split-copy a:hover,.contact a:hover{opacity:.55}
.nav-toggle{display:none;border:0;background:none;font:inherit;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.hero{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.15) 45%,rgba(0,0,0,.10) 100%)}
.hero-copy{position:relative;z-index:2;max-width:600px;padding:80px var(--page)}
.hero-copy h1{font-weight:300;font-size:clamp(42px,5vw,76px);margin:0 0 22px;letter-spacing:-.05em}
.hero-copy p{max-width:500px;font-size:clamp(16px,1.5vw,21px)}
.hero-copy .rule{display:block;width:36px;border-top:1px solid currentColor;margin:28px 0 18px}
.hero-copy .tagline{font-size:14px;text-transform:uppercase;letter-spacing:.32em}
.section{padding:72px var(--page)}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;gap:20px}
.section-heading h2,.split-copy h2,.contact h2{font-weight:300;font-size:clamp(28px,3vw,44px);margin:0;letter-spacing:-.035em}
.section-heading a,.split-copy a{font-size:12px;text-transform:uppercase;letter-spacing:.16em}
.selected-grid{display:grid;grid-template-columns:1.35fr .65fr .65fr;grid-template-rows:280px 280px;gap:8px}
.tile{margin:0;overflow:hidden;background:#ddd}.tile-large{grid-row:span 2}.tile-wide{grid-column:span 2}
.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.category-card{position:relative;aspect-ratio:3/4;overflow:hidden}.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45),transparent 45%)}.category-card span{position:absolute;left:16px;bottom:14px;color:#fff;z-index:2;font-size:16px;letter-spacing:.12em}
.series-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.series-card img{aspect-ratio:16/10}.series-card div{padding-top:12px;display:flex;justify-content:space-between;gap:15px}.series-card span{font-size:20px}.series-card small{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--gap);align-items:stretch}.split-image img{aspect-ratio:4/5}.split-copy{padding:24px 0;border-top:1px solid rgba(0,0,0,.14)}.split-copy p{max-width:460px;color:#444}.split-copy a{display:inline-block;margin-top:12px}
.contact{border-top:1px solid rgba(0,0,0,.1)}.contact p{margin-bottom:4px}.contact a{font-size:20px}
.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;padding:32px var(--page);border-top:1px solid rgba(0,0,0,.1);font-size:12px;text-transform:uppercase;letter-spacing:.16em}.site-footer>span:nth-child(2){text-align:center}.site-footer div{display:flex;justify-content:flex-end;gap:24px}
.gallery-page{padding:64px var(--page)}.page-intro{max-width:760px;margin-bottom:72px}.page-intro h1{font-weight:300;font-size:clamp(40px,5vw,72px);letter-spacing:-.05em;margin:0 0 16px}.page-intro p{color:#4b4b4b}.portfolio-flow{display:grid;grid-template-columns:1fr 1fr;gap:80px var(--gap)}.portfolio-flow figure{margin:0}.portfolio-flow figure.full{grid-column:1/-1;width:min(1080px,100%);justify-self:center}.portfolio-flow figure.portrait{width:min(520px,100%);justify-self:center}.portfolio-flow img{height:auto;object-fit:contain}.portfolio-flow figcaption{margin-top:10px;font-size:12px;letter-spacing:.08em;color:#666}
@media(max-width:900px){.main-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;padding:24px var(--page);background:var(--bg);border-top:1px solid rgba(0,0,0,.06)}.main-nav.open{display:flex}.nav-toggle{display:block}.selected-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.tile-large,.tile-wide{grid-column:auto;grid-row:auto}.tile{aspect-ratio:4/3}.tile-large{grid-column:1/-1}.category-grid{grid-template-columns:repeat(2,1fr)}.category-card:last-child{grid-column:1/-1;aspect-ratio:16/7}.split{grid-template-columns:1fr}.split-image{max-width:520px}.series-grid{grid-template-columns:1fr}.portfolio-flow{grid-template-columns:1fr;gap:48px}.portfolio-flow figure.full,.portfolio-flow figure.portrait{grid-column:auto;width:100%}}
@media(max-width:600px){.site-header{padding:16px 20px}.section,.gallery-page{padding:50px 20px}.hero{min-height:72vh}.hero-copy{padding:70px 20px}.selected-grid{grid-template-columns:1fr}.tile-large{grid-column:auto}.category-grid{grid-template-columns:1fr}.category-card,.category-card:last-child{aspect-ratio:4/5;grid-column:auto}.series-card div{display:block}.series-card small{display:block;margin-top:4px}.site-footer{grid-template-columns:1fr;gap:12px;padding:28px 20px}.site-footer>span:nth-child(2){text-align:left}.site-footer div{justify-content:flex-start}.section-heading{align-items:flex-start;flex-direction:column}.split{gap:32px}}
