*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#000;font-family:'Poppins',system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{padding-left:4vw;padding-right:4vw}
header.site{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:26px 4vw 0;flex-wrap:wrap}
.logo{font-family:'Urbanist',system-ui,sans-serif;font-size:27.5px;letter-spacing:-.02em;font-weight:400;line-height:1;white-space:nowrap}
nav.site{display:flex;gap:14px;font-size:16px}
nav.site a{padding-bottom:2px;border-bottom:1px solid transparent}
nav.site a:hover,nav.site a[aria-current="page"]{border-bottom-color:#000}
main{padding-top:72px;padding-bottom:110px;min-height:52vh}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.tile{position:relative;display:block;overflow:hidden;background:#f2f2f2}
.tile img{width:100%;aspect-ratio:2/3;object-fit:cover;transition:opacity .35s ease,transform .6s ease}
.tile:hover img{opacity:.55;transform:scale(1.02)}
.tile .name{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:15px;letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .35s ease;pointer-events:none}
.tile:hover .name{opacity:1}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1960px;margin:0 auto}
.gal img{width:100%;aspect-ratio:2/3;object-fit:cover;cursor:zoom-in}
.wide{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.wide img{width:100%;aspect-ratio:3/2;object-fit:cover;cursor:zoom-in}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;z-index:50;cursor:zoom-out}
.lb.on{display:flex}
.lb img{max-width:92vw;max-height:92vh;width:auto;height:auto;object-fit:contain}
.lb button{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:30px;line-height:1;cursor:pointer;opacity:.8}
.pager{display:flex;justify-content:space-between;gap:20px;margin-top:64px;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.pager span{opacity:.3}
.pager a:hover{text-decoration:underline}
.ttl{font-family:'Urbanist',system-ui,sans-serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 40px;font-weight:400}
.note{max-width:640px;font-size:15px;opacity:.55}
.contact h1{font-family:'Urbanist',system-ui,sans-serif;font-weight:400;font-size:13px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 12px}
.contact a.mail{font-size:22px;border-bottom:1px solid #000;padding-bottom:2px}
.splash{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;margin:0;position:relative;overflow:hidden}
.splash .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.splash .inner{position:relative;text-align:center}
.splash .mark{font-family:'Urbanist',system-ui,sans-serif;font-size:clamp(30px,6vw,64px);letter-spacing:.06em;margin:0 0 28px}
.splash .enter{display:inline-block;font-size:13px;letter-spacing:.28em;text-transform:uppercase;border:1px solid rgba(255,255,255,.6);padding:13px 34px;transition:.25s}
.splash .enter:hover{background:#fff;color:#000}
footer.site{padding:0 4vw 56px;font-size:13px;opacity:.45;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,1fr);gap:22px}.masonry{columns:2}}
@media(max-width:760px){.grid{grid-template-columns:repeat(2,1fr);gap:14px}.masonry{columns:1;column-gap:0}
 header.site{padding-top:20px}.logo{font-size:22px}nav.site{font-size:15px}main{padding:36px 0 64px}
 .stack{gap:14px}.masonry img{margin-bottom:14px}}
