:root{--ink:#333;--mute:#aaa}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:'Chivo',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.8;letter-spacing:.32px}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* header (fixed, white) */
.site-header{position:fixed;top:0;left:0;right:0;height:calc(51px + 5.93vw);background:#fff;z-index:20;display:flex;justify-content:space-between;align-items:flex-start;padding:3vw 5vw 0}
.logo img{width:50px;height:50px}
.site-nav{display:flex;align-items:center;height:46px;margin-right:21px;font-size:14px;line-height:14px;letter-spacing:.28px}
.site-nav a{text-decoration:none;color:var(--mute);transition:color .2s}
.site-nav a+a{margin-left:20px}.site-nav a:last-child{margin-left:23px}
.site-nav a:hover,.site-nav a.active{color:var(--ink)}
.burger,.mobile-menu{display:none}
main{padding:calc(51px + 5.93vw) 5vw 5vw}
/* home */
.cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.cover{position:relative;display:block;height:450px;overflow:hidden;text-decoration:none}
.cover img{width:100%;height:100%;object-fit:cover}
.cover .label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;opacity:0;transition:opacity .3s;padding:20px}
.cover:hover .label,.cover:focus-visible .label{opacity:1}
.cover .t{font-size:24px;line-height:1.3;color:var(--ink)}
.cover .tags{margin-top:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#888}
/* galleries */
.gallery{display:flex;gap:50px;align-items:flex-start}
.gallery .col{flex:1;display:flex;flex-direction:column;gap:49px;min-width:0}
.gallery a{display:block;cursor:zoom-in}
.gallery img{width:100%}
.filters{margin:90px 0 33px;text-align:center;font-size:18px;line-height:21.6px}
.filters a{display:inline-block;text-decoration:none;color:#e3e3e3;padding:4.5px;transition:color .2s}
.filters a:hover,.filters a.active{color:#000}
/* lightbox */
.lb{position:fixed;inset:0;background:rgba(255,255,255,.87);z-index:50;display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:calc(100vw - 45px);max-height:calc(100vh - 100px);width:auto;height:auto}
.lb button{position:absolute;background:none;border:0;font:inherit;color:#333;cursor:pointer;padding:14px;line-height:1}
.lb .x{top:14px;right:18px;font-size:30px;font-weight:300}
.lb .p,.lb .n{top:50%;font-size:34px;opacity:.5}.lb .p{left:2px}.lb .n{right:2px}
.lb .p:hover,.lb .n:hover{opacity:1}
/* about */
.about{max-width:925px;margin-left:auto;padding:17px 0 11px}
.about img{width:100%;height:550px;object-fit:cover}
.about .copy{padding-left:40px}
.about h3{font-size:12px;font-weight:400;letter-spacing:2.4px;text-transform:uppercase;line-height:19.2px;margin:16px 0 15px}
.about p{font-size:14px;line-height:17px;margin:0}
/* blog */
.post p{margin:20px 0 25.6px;min-height:28.8px}
.post>p:first-child{margin-top:0}
.post p.lead{margin-bottom:16px}
.post ul{list-style:none;padding:0 0 0 40px;margin:16px 0}
.post li p{margin:8px 0;min-height:0}
.post>p:last-child{margin-bottom:0}
.post+.filters{margin-top:107px}
.post img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:52px}
.post a{color:#f00;text-decoration:none}
.post strong{font-weight:700}
/* contact */
.contact iframe{display:block;width:100%;border:0;overflow:hidden;margin-bottom:52px}
.contact .txt{padding:17px 0}
.contact p{margin:0 0 25.6px;min-height:28.8px}
.contact .txt p:last-child{margin-bottom:0}
.contact .rule{height:51px;padding-top:25px}
.contact hr{border:0;border-top:1px solid #bbb;margin:0}
/* phone */
@media (max-width:640px){
 .site-header{height:58px;padding:20px 5vw 0}
 .logo img{width:19px;height:19px}
 .site-nav{display:none}
 .burger{display:block;position:absolute;right:5vw;top:22px;width:26px;height:16px;padding:0;border:0;background:none;cursor:pointer}
 .burger svg{display:block}
 main{padding:58px 5vw 15px}
 .cover-grid{grid-template-columns:1fr;gap:25px}
 .cover{height:400px}
 .cover .label{display:none}
 .gallery{display:block;padding-top:16px}
 .gallery .col{display:block}
 .gallery a{margin-bottom:50px}
 .gallery .col:last-child a:last-child{margin-bottom:0}
 .filters{margin-top:21px;margin-bottom:15px}
 .post+.filters{margin-top:49px}
 .about{padding:33px 0 105px 17px}
 .post{padding-top:33px}
 .post p.lead{margin-bottom:33px}
 .contact{padding-top:33px}
 .about img{height:auto;aspect-ratio:925/550}
 .about .copy{padding-left:40px}
 .lb img{max-width:calc(100vw - 20px)}
 .lb .p,.lb .n{top:auto;bottom:8px}
 .mobile-menu{position:fixed;inset:0;background:#f9f9f9;z-index:60;flex-direction:column;align-items:center;justify-content:center;display:none}
 .mobile-menu.open{display:flex}
 .mobile-menu .mlogo{position:absolute;top:20px;left:20px}.mobile-menu .mlogo img{width:19px;height:19px}
 .mobile-menu .mclose{position:absolute;top:14px;right:14px;width:40px;height:40px;background:none;border:0;font-size:34px;font-weight:300;color:#333;cursor:pointer}
 .mobile-menu a.m{font-size:36px;line-height:59.5px;text-decoration:none;color:var(--ink);letter-spacing:.32px}
}
.site-footer{text-align:center;font-size:12px;line-height:20px;color:#999;padding:40px 5vw 30px}
.site-footer p{margin:0 0 4px}
.site-footer a{color:#999;text-decoration:none;margin:0 6px}
.site-footer a:hover{color:#000}
