
:root{--bg:#f4f1eb;--ink:#171717;--muted:#6e6a63;--line:#d7d0c6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;background:rgba(244,241,235,.91);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{font-size:1.2rem;font-weight:800;letter-spacing:.18em;text-decoration:none;color:var(--ink)}
.nav nav{display:flex;gap:28px}.nav nav a{color:var(--ink);text-decoration:none;font-size:.9rem}
.menu{display:none;background:none;border:0;font-size:1.4rem}
.hero{min-height:86vh;display:grid;grid-template-columns:1.25fr .75fr;gap:4vw;align-items:end;padding:4vw}
.hero img{width:100%;height:76vh;object-fit:cover;background:#ddd}
.hero-copy{padding:0 0 5vh}.eyebrow{font-size:.72rem;letter-spacing:.2em;font-weight:700;color:var(--muted)}
h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,7rem);line-height:.92;margin:.25em 0}
h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4.2vw,4.8rem);line-height:1.02;margin:.2em 0}
.hero-copy p:not(.eyebrow){max-width:34rem;line-height:1.65;color:var(--muted)}
.button{display:inline-block;margin-top:18px;padding:13px 18px;border:1px solid var(--ink);color:var(--ink);text-decoration:none}
.intro-section{padding:10vh 4vw 4vh;max-width:1100px}.count{color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.filters button{border:1px solid var(--line);background:transparent;padding:9px 13px;cursor:pointer}
.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}
.gallery{padding:0 4vw 10vh;columns:3 320px;column-gap:14px}
.photo{display:block;width:100%;margin:0 0 14px;padding:0;border:0;background:none;cursor:zoom-in;break-inside:avoid}
.photo img{display:block;width:100%;height:auto}.photo.hidden{display:none}
.about{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:12vh 4vw;border-top:1px solid var(--line)}
.about p{font-size:1.1rem;line-height:1.75;color:var(--muted)}
.contact{padding:12vh 4vw;text-align:center;border-top:1px solid var(--line)}
.contact h2{max-width:900px;margin:.25em auto}
.contact-links{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:25px}
.contact a{color:var(--ink)}
footer{padding:28px 4vw;border-top:1px solid var(--line);color:var(--muted)}
.lightbox{border:0;padding:0;background:transparent;max-width:95vw;max-height:95vh}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox img{max-width:92vw;max-height:90vh;display:block}
.close{position:fixed;top:16px;right:22px;border:0;background:none;color:white;font-size:2.6rem;cursor:pointer}
@media(max-width:800px){
 .nav nav{display:none}.nav nav.open{display:flex;position:absolute;top:60px;right:4vw;flex-direction:column;background:var(--bg);padding:18px;border:1px solid var(--line)}
 .menu{display:block}.hero{grid-template-columns:1fr;padding-top:20px}.hero img{height:62vh}.hero-copy{padding-bottom:2vh}.about{grid-template-columns:1fr}
}

.hero-image-wrap{position:relative}
.hero-image-wrap img{display:block}
.hero-note{position:absolute;left:14px;bottom:14px;background:rgba(244,241,235,.88);color:var(--ink);padding:7px 10px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(6px)}
