@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#181816;--paper:#f3f0e9;--orange:#e76238;--muted:#77736b;--line:#d8d2c8;--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.topbar{height:82px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:29px;height:29px;background:var(--ink);color:var(--paper);border-radius:50%;font:500 10px 'DM Mono',monospace;letter-spacing:-.08em}.topbar nav{display:flex;gap:32px}.topbar nav a{color:var(--muted);font-size:13px;transition:color .2s var(--ease)}.topbar nav a:hover,.social-link:hover{color:var(--orange)}.hero{min-height:calc(100vh - 82px);padding:clamp(44px,9vw,120px) clamp(22px,7vw,104px) clamp(60px,9vw,120px);display:grid;grid-template-columns:1fr minmax(300px,45vw);gap:clamp(42px,9vw,145px);align-items:center}.hero-copy{max-width:580px}.eyebrow{margin:0 0 26px;color:var(--orange);text-transform:uppercase;letter-spacing:.14em;font:500 10px 'DM Mono',monospace}h1,h2{margin:0;font-weight:500;letter-spacing:-.06em;line-height:.95}h1{font-size:clamp(56px,8.3vw,128px);max-width:730px}h1 em,h2 em{font-family:'Playfair Display',serif;font-weight:500;letter-spacing:-.07em}.hero-intro{max-width:380px;margin:34px 0;color:#625e56;font-size:15px;line-height:1.65}.text-link,.contact-button{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:13px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:8px;transition:color .2s var(--ease),transform .2s var(--ease)}.text-link:hover,.contact-button:hover{color:var(--orange);border-color:var(--orange);transform:translateX(4px)}.hero-image-wrap{position:relative;width:100%;max-width:550px;justify-self:end}.hero-image{display:block;width:100%;aspect-ratio:.78;object-fit:cover;filter:saturate(.82)}.hero-image-wrap:after{content:'';position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--orange);z-index:-1}.hero-note{position:absolute;bottom:-38px;left:-38px;background:var(--ink);color:var(--paper);padding:14px 19px;font:10px/1.55 'DM Mono',monospace;letter-spacing:.05em}.hero-note span{display:block;margin-top:8px;color:#d7d0c5;font:500 17px/1.05 'Playfair Display',serif;letter-spacing:-.04em}.statement{padding:clamp(110px,16vw,220px) clamp(22px,13vw,200px);background:var(--ink);color:var(--paper)}.statement .eyebrow{color:#e58b69}.statement h2,.contact-section h2{font-size:clamp(42px,6.4vw,92px)}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:70px;max-width:790px;color:#b7b0a5;font-size:15px;line-height:1.7}.statement-grid p{margin:0}.profile-block{display:grid;grid-template-columns:88px 1fr;gap:22px;align-items:start}.profile-block img{width:88px;aspect-ratio:1;object-fit:cover;border-radius:50%;filter:grayscale(1)}.muted-copy{font:11px/1.8 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.muted-copy span{display:block;color:#7b776f;margin-top:10px}.work-section{padding:clamp(90px,12vw,160px) clamp(22px,5vw,72px)}.section-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:25px}.section-heading h2{font-size:clamp(43px,6vw,84px)}.work-count{color:var(--muted);font:11px 'DM Mono',monospace;text-transform:uppercase}.filters{display:flex;flex-wrap:wrap;gap:20px;padding:24px 0 38px}.filters a{color:var(--muted);font-size:13px;padding-bottom:5px;border-bottom:1px solid transparent}.filters a.active,.filters a:hover{color:var(--ink);border-color:var(--orange)}.masonry-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.photo-card{position:relative;display:block;overflow:hidden}.photo-card.square{grid-column:span 4;aspect-ratio:1}.photo-card.tall{grid-column:span 4;aspect-ratio:.72}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s var(--ease)}.photo-card:hover img{transform:scale(1.045);filter:saturate(.78)}.photo-overlay{position:absolute;inset:auto 0 0;padding:48px 20px 19px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));opacity:0;transform:translateY(8px);transition:all .35s var(--ease)}.photo-card:hover .photo-overlay{opacity:1;transform:none}.photo-overlay small{display:block;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:#ddd}.photo-overlay strong{display:block;margin-top:4px;font:500 21px 'Playfair Display',serif;font-style:italic}.contact-section{padding:clamp(85px,12vw,150px) clamp(22px,13vw,200px);background:#ded8cd;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-side{align-self:end;max-width:340px}.contact-side p{color:#625e56;line-height:1.65;margin:0 0 34px;font-size:15px}.contact-button{margin-bottom:29px}.social-link{display:flex;align-items:center;gap:8px;color:var(--muted);width:max-content;font-size:12px}.footer{padding:22px clamp(22px,5vw,72px);display:flex;justify-content:space-between;color:var(--muted);font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}@media(max-width:760px){.topbar{height:70px}.topbar nav{gap:14px}.topbar nav a{font-size:11px}.hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;padding-top:78px;gap:72px}.hero-copy{max-width:none}.hero-image-wrap{width:82%;margin:0 14px 32px auto}.hero-note{left:-19px;bottom:-27px}.statement-grid,.contact-section{grid-template-columns:1fr;gap:32px}.statement-grid{margin-top:43px}.profile-block{grid-template-columns:68px 1fr;gap:16px}.profile-block img{width:68px}.masonry-grid{grid-template-columns:repeat(2,1fr);gap:10px}.photo-card.square,.photo-card.tall{grid-column:span 1;aspect-ratio:.76}.photo-card:nth-child(3n){grid-column:span 2;aspect-ratio:1.22}.photo-overlay{opacity:1;transform:none;padding:34px 12px 12px}.photo-overlay strong{font-size:17px}.section-heading{align-items:start;flex-direction:column;gap:17px}.work-count{order:-1}.filters{gap:15px}.contact-section{padding-left:22px;padding-right:22px}.footer{gap:12px;flex-wrap:wrap}.footer span:nth-child(2){display:none}}
