*{box-sizing:border-box}
:root{--paper:#f2efe8;--ink:#161616;--muted:#77736c;--line:#d4cfc4;--dark:#151515}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}
a{color:inherit}
button{font:inherit}
.site-nav{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(242,239,232,.94);backdrop-filter:blur(12px)}
.wordmark{font-size:12px;letter-spacing:.16em;text-decoration:none;font-weight:500}
.site-nav nav{display:flex;gap:30px}
.site-nav nav a{font-size:11px;text-decoration:none;letter-spacing:.05em}
.hero{min-height:calc(100vh - 76px);padding:6vw 5vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center}
.kicker{font-size:10px;letter-spacing:.18em;color:var(--muted);margin:0 0 25px}
.hero h1{font:500 clamp(62px,9vw,145px)/.86 "Playfair Display",Georgia,serif;letter-spacing:-.055em;margin:0 0 36px}
.hero-lede{font:18px/1.55;max-width:560px;margin:0 0 30px}
.outline-btn{display:inline-flex;align-items:center;gap:25px;border:1px solid var(--ink);padding:12px 17px;font-size:11px;text-decoration:none;transition:.2s}
.outline-btn:hover{background:var(--ink);color:var(--paper)}
.hero-art{border:0;padding:0;background:none;text-align:left;cursor:zoom-in;position:relative}
.hero-art img{width:100%;height:min(76vh,800px);object-fit:cover;display:block}
.image-label{display:block;font-size:10px;letter-spacing:.05em;margin-top:11px;color:var(--muted)}
.section{padding:120px 5vw;border-top:1px solid var(--line)}
.section-title{display:flex;gap:30px;align-items:baseline;margin-bottom:55px}
.section-title>span{font-size:10px;color:var(--muted)}
.section-title h2{font:500 52px/1 "Playfair Display",Georgia,serif;margin:0;letter-spacing:-.025em}
.masonry{columns:2 360px;column-gap:32px}
.work-card{break-inside:avoid;margin:0 0 62px}
.image-button{border:0;background:none;padding:0;display:block;width:100%;cursor:zoom-in}
.work-card img{display:block;width:100%;height:auto;transition:transform .45s ease}
.work-card .image-button{overflow:hidden}
.work-card .image-button:hover img{transform:scale(1.018)}
.work-card figcaption{font-size:11px;margin-top:13px;display:flex;justify-content:space-between;gap:20px}
.work-card figcaption span{color:var(--muted);text-align:right}
.practice-section{padding-bottom:130px}
.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.large-copy{font:500 clamp(30px,3.6vw,52px)/1.12 "Playfair Display",Georgia,serif;letter-spacing:-.02em;margin:0}
.body-copy{max-width:620px;font-size:15px}
.body-copy p{margin:0 0 23px}
.dark-statement{background:var(--dark);color:var(--paper);padding:140px 12vw}
.statement-inner{max-width:1100px}
.dark-statement .kicker{color:#aaa69d}
.dark-statement h2{font:500 clamp(48px,7vw,100px)/.94 "Playfair Display",Georgia,serif;letter-spacing:-.045em;margin:0 0 45px}
.statement-text{font-size:17px;line-height:1.7;max-width:680px;margin:0;color:#d5d1c8}
.portrait-section{display:grid;grid-template-columns:1fr 1fr;min-height:720px}
.portrait-wrap{background:#d9d5cc;overflow:hidden}
.portrait-wrap img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%)}
.portrait-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}
.portrait-copy h2{font:500 clamp(48px,6vw,85px)/.95 "Playfair Display",Georgia,serif;letter-spacing:-.04em;margin:0 0 35px}
.portrait-copy>p:not(.kicker){font-size:16px;max-width:500px}
.text-link{margin-top:25px;font-size:12px;text-underline-offset:5px}
.cv-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}
.cv-columns h3{font:500 25px/1.1 "Playfair Display",Georgia,serif;margin:0 0 25px}
.cv-columns ul{list-style:none;padding:0;margin:0}
.cv-columns li{font-size:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.cv-note{font-size:11px;color:var(--muted);margin-top:45px}
.ketemu{background:#dedad2;display:grid;grid-template-columns:1fr 220px;gap:8vw;padding:120px 10vw;align-items:center}
.ketemu h2{font:500 clamp(48px,6vw,90px)/.94 "Playfair Display",Georgia,serif;letter-spacing:-.04em;margin:0 0 30px}
.ketemu p{max-width:620px;font-size:15px;margin:0 0 30px}
.ketemu img{width:180px;justify-self:end}
.light{border-color:var(--ink)}
.contact{padding:145px 5vw;background:#cfcac0}
.contact h2{font:500 clamp(45px,7vw,105px)/.92 "Playfair Display",Georgia,serif;letter-spacing:-.05em;max-width:1050px;margin:0 0 45px}
.contact>a{font:17px;text-underline-offset:5px}
.location{font-size:11px;color:#65615b;margin-top:10px}
footer{padding:25px 5vw;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);border-top:1px solid #bbb6ac}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);display:none;align-items:center;justify-content:center;padding:5vh 5vw;z-index:100}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:90vh;object-fit:contain}
.close{position:absolute;top:18px;right:28px;border:0;background:none;color:white;font-size:40px;line-height:1;cursor:pointer}
@media(max-width:800px){
 .site-nav{padding:0 20px}.site-nav nav{gap:16px}.site-nav nav a:nth-child(2){display:none}
 .hero{grid-template-columns:1fr;padding:70px 20px;gap:55px}.hero-art img{height:auto}
 .section{padding:80px 20px}.section-title h2{font-size:40px}
 .masonry{columns:1}.work-card figcaption{display:block}.work-card figcaption span{display:block;text-align:left;margin-top:3px}
 .practice-grid,.portrait-section{grid-template-columns:1fr}
 .dark-statement{padding:90px 20px}.portrait-wrap{height:100vw;max-height:650px}
 .portrait-copy{padding:75px 20px}.cv-columns{grid-template-columns:1fr;gap:50px}
 .ketemu{grid-template-columns:1fr;padding:80px 20px}.ketemu img{justify-self:start;margin-top:20px}
 .contact{padding:90px 20px}footer{display:block;padding:25px 20px}footer span{display:block;margin-bottom:6px}
}
