:root { --ink:#171713; --paper:#f1efe9; --line:#c9c6bd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.nav { height:86px; padding:0 2.3vw; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.wordmark { font-size:22px; font-weight:700; letter-spacing:-.05em; text-transform:none; }
.wordmark span { font-size:8px; vertical-align:top; margin-left:3px; }
.nav nav { display:flex; gap:38px; }
.nav nav a, .footer-row a { position:relative; }
.nav nav a:after, .footer-row a:after { content:""; position:absolute; left:0; right:100%; bottom:-4px; height:1px; background:currentColor; transition:right .3s; }
.nav nav a:hover:after, .footer-row a:hover:after { right:0; }
.nav>p { text-align:right; margin:0; }
.hero { min-height:calc(100vh - 86px); padding:5vh 2.3vw 4vh; display:flex; flex-direction:column; justify-content:space-between; }
.eyebrow { margin:0; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.hero h1 { margin:2vh 0; font-family:Georgia, 'Times New Roman', serif; font-weight:400; font-size:clamp(62px,10.7vw,174px); line-height:.82; letter-spacing:-.07em; }
.hero h1 em, .email em { font-weight:400; }
.hero-bottom { display:flex; justify-content:space-between; align-items:flex-end; font-size:12px; line-height:1.5; text-transform:uppercase; letter-spacing:.06em; }
.down { display:flex; gap:5vw; padding-bottom:5px; border-bottom:1px solid var(--ink); }
.down span { font-size:18px; }
.work { padding:16vh 2.3vw 14vh; background:#deddd7; }
.section-heading { border-top:1px solid #aaa89f; padding:12px 0 9vh; display:grid; grid-template-columns:1fr 1fr 1fr; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.section-heading p { margin:0; }.section-heading p:nth-child(2){text-align:center}.section-heading p:last-child{text-align:right}
.project-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:14vh 2vw; align-items:start; }
.project { grid-column:span 6; }.project--wide { grid-column:1/9; }.project--portrait { grid-column:9/13; margin-top:28vh; }.project--offset { grid-column:2/7; }.project--landscape { grid-column:7/13; margin-top:25vh; }
.image-wrap { position:relative; overflow:hidden; background:#ccc; }
.project--wide .image-wrap { aspect-ratio:1.55; }.project--portrait .image-wrap,.project--offset .image-wrap { aspect-ratio:.72; }.project--landscape .image-wrap { aspect-ratio:1.2; }
.image-wrap img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.78); transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .5s; }
.project a:hover img { transform:scale(1.025); filter:saturate(1); }
.view { position:absolute; left:50%; top:50%; transform:translate(-50%,-35%); background:var(--paper); padding:13px 17px; border-radius:50%; font-size:10px; text-transform:uppercase; opacity:0; transition:.3s; white-space:nowrap; }
.project a:hover .view { opacity:1; transform:translate(-50%,-50%); }
.project-meta { padding-top:12px; display:grid; grid-template-columns:40px 1fr auto; align-items:baseline; border-top:1px solid #aaa89f; margin-top:9px; }
.project-meta span,.project-meta p { font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.project-meta p { margin:0; }.project-meta h2 { font-family:Georgia,serif; font-size:24px; font-weight:400; margin:0; }
.about { min-height:95vh; padding:12vh 2.3vw; display:grid; grid-template-columns:1fr 1.15fr 1.85fr; grid-template-rows:auto auto 1fr; gap:0 2vw; border-bottom:1px solid var(--line); }
.about-lead { grid-column:2; font-family:Georgia,serif; font-size:clamp(42px,6.4vw,98px); line-height:1; letter-spacing:-.05em; margin:0; max-width:1100px; }
.about-lead { grid-column:2/4; }
.about-portrait { grid-column:1/3; margin:12vh 0 0; align-self:end; }
.about-portrait img { display:block; width:100%; aspect-ratio:1.34; object-fit:cover; object-position:center 42%; filter:saturate(.86); }
.about-note { grid-column:3; align-self:end; display:grid; grid-template-columns:1fr 1fr; gap:3vw; max-width:720px; margin-left:3vw; font-size:13px; line-height:1.6; }
footer { min-height:90vh; background:var(--ink); color:var(--paper); padding:10vh 2.3vw 3vh; display:flex; flex-direction:column; justify-content:space-between; }
.email { font-family:Georgia,serif; font-size:clamp(68px,12vw,190px); line-height:.8; letter-spacing:-.07em; }
.footer-row { border-top:1px solid #55554e; padding-top:16px; display:grid; grid-template-columns:1fr 1fr 1fr; font-size:10px; text-transform:uppercase; letter-spacing:.09em; }.footer-row p{margin:0}.footer-row div{display:flex;gap:30px;justify-content:center}.footer-row>a{text-align:right}
@media(max-width:700px){
  .nav{grid-template-columns:1fr auto}.nav>p{display:none}.nav nav{gap:16px}.hero{min-height:82vh}.hero h1{font-size:17vw;line-height:.9}.hero-bottom>p{display:none}.down{margin-left:auto}.work{padding-top:10vh}.project-grid{display:block}.project{margin:0 0 14vh}.project--portrait{margin-left:28%}.project--offset{margin-right:20%}.project--landscape{margin-left:8%}.section-heading{padding-bottom:6vh}.about{display:block;min-height:auto;padding:10vh 2.3vw}.about-lead{margin:14vh 0 8vh}.about-portrait{margin:0 10% 8vh 0}.about-note{display:block;margin-left:20%}.footer-row{grid-template-columns:1fr auto}.footer-row div{display:none}.email{font-size:18vw}footer{min-height:75vh}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.image-wrap img,.view{transition:none}}
