:root{--paper:#f5f3ee;--ink:#242823;--muted:#73786e;--line:#d4d7cc;--accent:#566447}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{padding:28px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:27px;letter-spacing:3px}.brand span{display:block;font-size:9px;letter-spacing:2.1px;margin-top:5px}nav{display:flex;gap:34px;font-size:13px}.hero{padding:60px 5% 70px;display:grid;grid-template-columns:40% 60%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.4px;margin:0 0 24px;font-weight:bold}h1,h2{font-weight:400;letter-spacing:-2px;line-height:1.06}h1{font-size:clamp(40px,4.8vw,76px);margin:30px 0 48px}h2{font-size:clamp(30px,3.2vw,48px);margin:0}.text-link{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:12px;display:inline-flex;gap:48px}figure{margin:0}figure img{width:100%;height:530px;object-fit:cover}figcaption{font-size:10px;display:flex;justify-content:space-between;padding-top:13px;color:var(--muted)}.portfolio{padding:75px 5%;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.section-head>p{font-size:13px;line-height:1.7;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:38px 0 34px}.filters button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 20px;font-size:12px;color:var(--ink)}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}.project{border:0;padding:0;text-align:left;background:transparent;color:var(--ink)}.project .photo{overflow:hidden;background:#e1e2db;aspect-ratio:1.5}.project img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.035)}.project-info{display:flex;justify-content:space-between;align-items:flex-start;margin-top:16px;gap:15px}.project h3{font-size:20px;font-weight:400;margin:0 0 7px}.project p{margin:0;color:var(--muted);font-size:11px}.project-info>span{font-size:23px}.count{color:var(--muted);font-size:11px;margin-top:30px}.studio{border-top:1px solid var(--line);padding:85px 5%;display:grid;grid-template-columns:35% 65%}.studio>div{max-width:720px}.studio h2{margin-bottom:36px}.studio p:not(.eyebrow){font-size:16px;line-height:1.85;color:#5a6155}.milestones{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--line);margin-top:34px;padding-top:16px}.milestones p{font-size:12px!important}.milestones strong{display:block;font-size:11px;letter-spacing:1px;color:var(--ink);margin-bottom:10px}.contact{background:var(--ink);color:var(--paper);padding:75px 5%}.contact h2{font-size:clamp(40px,5vw,70px)}.contact>div{display:flex;gap:48px;margin-top:40px;flex-wrap:wrap}.contact a{border-bottom:1px solid #7b8272;padding-bottom:10px;font-size:15px}footer{padding:27px 5%;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);width:min(1100px,94vw);max-height:94vh;padding:30px}dialog::backdrop{background:#141914db}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.dialog-head h2{font-size:32px}.dialog-head .eyebrow{margin-bottom:12px}.dialog-head p:last-child{font-size:12px;color:var(--muted)}.close{padding:9px;border:1px solid var(--line);background:transparent;color:var(--ink)}.viewer{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:12px}.viewer img{width:100%;height:52vh;object-fit:contain}.viewer button{border:0;background:transparent;font-size:25px;color:var(--ink)}.thumbs{display:flex;gap:10px;overflow:auto;padding:10px 0}.thumbs button{border:2px solid transparent;padding:0;background:transparent;flex-shrink:0}.thumbs button.selected{border-color:var(--accent)}.thumbs img{width:90px;height:65px;object-fit:cover;display:block}:focus-visible{outline:3px solid #8caa72;outline-offset:4px}@media(max-width:750px){header{padding:22px 5%;gap:15px}.brand{font-size:22px}.brand span{font-size:7px}nav{gap:14px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:38px;gap:35px}.hero h1{font-size:53px;margin:20px 0 30px}figure img{height:380px}.section-head{display:block}.portfolio{padding-top:45px}.grid{gap:30px 17px}.project h3{font-size:16px}.studio{grid-template-columns:1fr;gap:18px;padding-top:50px}.contact>div{gap:22px}.milestones{gap:18px}dialog{padding:18px}.viewer{grid-template-columns:25px 1fr 25px;gap:4px}.viewer img{height:45vh}.dialog-head h2{font-size:25px}}@media(max-width:450px){nav a:first-child{display:none}.grid{grid-template-columns:1fr}.hero h1{font-size:46px}.filters{gap:6px}.filters button{padding:9px 12px}.milestones{grid-template-columns:1fr}.contact a{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img{transition:none}}
.project-description{max-width:850px;font-size:14px;line-height:1.7;color:var(--muted)}.project-drawings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;border-top:1px solid var(--line);padding-top:30px;margin-top:20px}.drawing{background:white;border:0;width:100%;padding:12px}.drawing img{width:100%;height:350px;object-fit:contain}.project-drawings figcaption{font-size:12px;color:var(--ink)}@media(max-width:600px){.project-drawings{grid-template-columns:1fr}.drawing img{height:300px}}

.visible-thumbnails .thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.visible-thumbnails .thumbs img{width:100%;height:85px}.visible-thumbnails .thumbs span{display:block;font-size:11px;padding:7px 3px;color:var(--ink)}@media(max-width:600px){.visible-thumbnails .thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}}

.studio{gap:48px;grid-template-columns:minmax(0,30%) minmax(0,1fr)}.studio-portrait img{display:block;width:100%;max-width:310px;height:auto}.studio .portrait-name{font-size:12px!important;color:var(--ink)!important;margin-top:14px}.studio .personal-intro{color:var(--ink)!important}@media(max-width:750px){.studio{grid-template-columns:1fr;gap:32px}.studio-portrait img{max-width:260px}}

.project.cover-contain .photo{background:var(--paper)}.project.cover-contain .photo img{object-fit:contain}.project.cover-contain:hover img{transform:none}
