:root{--bg:#f8f7f5;--text:#1a1a1a;--muted:#888;--border:#e5e3e0;--gap:1rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif;font-weight:300}body{flex-direction:column;min-height:100vh;display:flex}body>div{flex-direction:column;flex:1;display:flex}a{color:inherit;text-decoration:none}.layout{flex-direction:column;min-height:100vh;display:flex}.layout__spacer{flex:1}.site-header{border-bottom:1px solid var(--border);align-items:center;gap:2rem;padding:1.25rem 2rem;display:flex}.site-header__title{letter-spacing:.05em;color:var(--text);white-space:nowrap;flex:1;font-family:Cormorant Garamond,Georgia,serif;font-size:1.8rem;font-weight:300}.site-header__toggle{cursor:pointer;color:var(--text);background:0 0;border:none;padding:0;font-size:1.2rem;display:none}@media (width<=768px){.site-header{flex-wrap:wrap;padding:1rem 1.5rem}.site-header__toggle{display:block}}.site-nav{align-items:center;gap:.75rem;display:flex}.site-nav__link{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border-left:1px solid var(--border);padding-left:.75rem;font-size:.85rem;transition:color .15s}.site-nav__link:first-child{border-left:none;padding-left:0}.site-nav__link:hover,.site-nav__link--active{color:var(--text)}@media (width<=768px){.site-nav{flex-direction:column;align-items:flex-start;gap:1rem;width:100%;padding:1rem 0;display:none}.site-nav--open{display:flex}.site-nav .site-nav__link{border-left:none;padding-left:0}}.site-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:2rem;padding:.75rem 2rem;display:flex}.site-footer__copy{color:var(--muted);font-size:.75rem}@media (width<=768px){.site-footer{text-align:center;flex-direction:column;gap:.5rem}}.photo-grid{columns:3;column-gap:var(--gap)}@media (width<=900px){.photo-grid{columns:2}}@media (width<=540px){.photo-grid{columns:1}}.photo-grid__item{width:100%;margin-bottom:var(--gap);cursor:pointer;break-inside:avoid;background:0 0;border:none;padding:0;display:block;position:relative;overflow:hidden}.photo-grid__item:hover .photo-grid__item-image{opacity:.92}.photo-grid__item:hover .photo-grid__item-caption{opacity:1}.photo-grid__item-image{width:100%;transition:opacity .2s;display:block}.photo-grid__item-caption{color:#fff;letter-spacing:.04em;opacity:0;text-align:left;background:linear-gradient(#0000,#00000059);padding:2rem 1rem .75rem;font-size:.8rem;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}
