@font-face{font-family:Roboto;src:url('../assets/fonts/roboto.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--paper:#f4f3ef;--ink:#191c1b;--muted:#62665f;--line:#d5d6ce;--accent:#777e68}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Roboto,Arial,sans-serif;font-weight:350}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,p,figure{margin:0}a:focus-visible,button:focus-visible{outline:2px solid #996539;outline-offset:6px}[hidden]{display:none!important}.skip{position:absolute;top:-90px;left:24px;z-index:5;background:#fff;padding:16px}.skip:focus{top:12px}
.top{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.top img{width:235px;height:auto}.top nav{display:flex;align-items:center;gap:36px;font-size:14px}.top nav a{padding:15px 0}.top [aria-current]{border-bottom:1px solid var(--ink)}
main{max-width:1800px;margin:auto;padding:0 5%}.intro{display:grid;grid-template-columns:1.35fr 1fr;gap:10%;padding:64px 0 42px;align-items:end}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}h1{font-size:clamp(44px,4.5vw,72px);font-weight:350;line-height:1.07;letter-spacing:-2.5px;margin-top:22px}h1 span{color:var(--accent)}.intro-copy>p{font-size:17px;line-height:1.7;max-width:420px}.intro-meta{display:flex;gap:30px;margin-top:22px;color:var(--muted);font-size:12px}.intro-meta strong{font-weight:500;color:var(--ink)}
.filters{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:24px 0 28px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:11px 18px;font-size:13px;transition:background .2s,color .2s}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.filters button:hover{border-color:var(--ink)}.filters output{margin-left:auto;font-size:12px;color:var(--muted);padding-left:12px}
.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.project{min-width:0}.project a{display:block}.project-photo{position:relative;overflow:hidden;background:#e4e3dd;aspect-ratio:4/3}.project-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project a:hover .project-photo>img{transform:scale(1.025)}.photo-count{position:absolute;bottom:16px;right:16px;background:#f4f3eff2;border:1px solid #ffffff80;padding:9px 12px;font-size:11px;display:flex;gap:12px;align-items:center}.photo-count span{font-size:18px;line-height:1}.project-meta{display:flex;justify-content:space-between;gap:16px;margin:17px 0 9px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.project h2{font-size:24px;font-weight:350;line-height:1.2;letter-spacing:-.5px}.project-desc{font-size:13px;line-height:1.6;color:var(--muted);margin-top:9px;max-width:440px}.projects:not(.is-filtered) .project:first-child{grid-column:span 2}.projects:not(.is-filtered) .project:nth-child(-n+2) .project-photo{height:400px;aspect-ratio:auto}
.closing{margin:70px 0 45px;border-top:1px solid var(--line);padding-top:42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.closing h2{font-size:38px;font-weight:350;letter-spacing:-1px}.closing p{font-size:15px;color:var(--muted);margin-top:12px}.contact{display:inline-flex;gap:40px;align-items:center;background:var(--ink);color:#fff;padding:19px 24px;font-size:15px}.archive-note{font-size:12px;line-height:1.7;color:var(--muted);max-width:850px;margin-bottom:40px}footer{border-top:1px solid var(--line);padding:26px 5%;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.pswp{--pswp-bg:#141715;--pswp-icon-color:#fff;--pswp-icon-color-secondary:#141715}.pswp__caption{position:absolute;bottom:0;left:0;width:100%;padding:18px 6% 22px;color:white;background:#141715;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px}.pswp__caption strong{display:block;font-weight:400;font-size:20px;margin-bottom:6px}.pswp__caption p{font-size:12px;color:#c7cbc5;line-height:1.5}.pswp__caption a{font-size:13px;border-bottom:1px solid #777f74;padding:10px 0;white-space:nowrap}.pswp__button:focus-visible{outline:2px solid #fff;outline-offset:-4px}body:has(.pswp--open){overflow:hidden}
@media(max-width:900px){.intro{gap:5%}.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.projects:not(.is-filtered) .project:first-child{grid-column:auto}.projects:not(.is-filtered) .project:nth-child(-n+2) .project-photo{height:auto;aspect-ratio:4/3}.top nav{gap:20px}.filters output{width:100%;margin-top:8px;padding:0}}
@media(max-width:600px){.top{height:76px}.top img{width:170px}.top nav a:first-child{display:none}.top nav{gap:16px;font-size:12px}.intro{display:block;padding-top:38px}h1{font-size:47px;letter-spacing:-1.5px}.intro-copy{margin-top:25px}.intro-copy>p{font-size:15px}.intro-meta{gap:20px}.filters{gap:7px}.filters button{padding:10px 13px;font-size:12px}.projects{grid-template-columns:1fr;gap:32px}.project h2{font-size:24px}.closing{display:block;margin-top:45px}.closing h2{font-size:32px}.contact{margin-top:24px}.pswp__caption{padding:14px 18px;min-height:118px}.pswp__caption strong{font-size:16px}.pswp__caption a{max-width:110px;white-space:normal;font-size:12px}footer{gap:20px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.project-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:13px 0 0}.project-tags li{font-size:11px;line-height:1.4;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 9px}
