@font-face {
    font-family: 'Libre Franklin';
    src: url('/LibreFranklin-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
:root {
    --ivory:     #FAF7F0;
    --ivory-mid: #F2EDE0;
    --ivory-dark:#EDE8DC;
    --moss:      #3D5229;
    --moss-light:#4F6B35;
    --eucalyptus:#6E9B63;
    --eucalyptus-light:#9BBD8F;
    --sage:      #C0D4AE;
    --dark:      #1A1A18;
    --text:      #333330;
    --text-muted:#7A7A70;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Poppins', sans-serif;
    background: var(--ivory);
    color: var(--text);
    font-size: 16px;
    line-height: 1.6;
}

/* ── NAV (same as homepage, always in "scrolled" state on inner pages) ── */
nav {
    position: fixed; top:0; left:0; right:0; z-index:100;
    padding: 1rem 4rem;
    display: flex; justify-content: space-between; align-items: center;
    background: rgba(250,247,240,.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 20px rgba(0,0,0,.06);
}
.nav-logo { display:flex; flex-direction:row; align-items:center; text-decoration:none; gap:.9rem; }
.nav-fz { height: 48px; width: auto; object-fit: contain; filter: brightness(0); }
.nav-logo-img { height: 41px; width: auto; object-fit: contain; filter: brightness(0); }
.nav-links { display:flex; gap:2.5rem; list-style:none; }
.nav-links a {
    font-size:.8rem; font-weight:400; letter-spacing:.12em;
    text-transform:uppercase; color:var(--text-muted);
    text-decoration:none; transition: color .3s;
}
.nav-links a:hover { color: var(--moss); }

/* ── HEADER ── */
.gallery-header {
    padding: 10rem 4rem 4rem;
    max-width: 1200px; margin: 0 auto;
}
.gallery-back {
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.75rem; letter-spacing:.12em; text-transform:uppercase;
    color: var(--eucalyptus); text-decoration:none; margin-bottom:2rem;
}
.gallery-back:hover { color: var(--moss); }
.gallery-label {
    font-size:.7rem; letter-spacing:.3em; text-transform:uppercase;
    color:var(--eucalyptus); margin-bottom:1rem; font-weight:400;
}
.gallery-title {
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2.2rem,4vw,3.5rem); font-weight:400;
    line-height:1.15; color:var(--dark); margin-bottom:1rem;
}
.gallery-meta {
    font-size:.95rem; font-weight:300; color:var(--text-muted);
    letter-spacing:.03em;
}

/* ── GRID ── */
.gallery-grid {
    max-width: 1200px; margin: 0 auto;
    padding: 0 4rem 8rem;
    display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
.gallery-item { position:relative; overflow:hidden; cursor:zoom-in; background: var(--ivory-mid); }
.gallery-item img {
    width:100%; height:100%; min-height:260px; object-fit:cover; display:block;
    transition:transform .5s ease;
}
.gallery-item:hover img { transform:scale(1.04); }

/* ── FOOTER (same as homepage) ── */
footer {
    background:var(--dark); padding:3rem 4rem;
    display:flex; justify-content:space-between; align-items:center;
}
.footer-logo { display:flex; flex-direction:row; align-items:center; gap:.9rem; }
.footer-fz { height: 27px; width: auto; object-fit: contain; filter: brightness(0) invert(1); opacity: .85; }
.footer-logo-img { height: 22px; width: auto; object-fit: contain; filter: brightness(0) invert(1); opacity: .85; }
.footer-copy { font-size:.75rem; color:rgba(250,247,240,.4); }
.footer-links { display:flex; gap:2rem; list-style:none; }
.footer-links a { font-size:.75rem; color:rgba(250,247,240,.5); text-decoration:none; letter-spacing:.1em; transition:color .3s; }
.footer-links a:hover { color:var(--eucalyptus-light); }

/* ── LIGHTBOX ── */
.lightbox {
    position:fixed; inset:0; z-index:1000; background:rgba(20,20,18,.95);
    display:none; align-items:center; justify-content:center; padding:3rem;
}
.lightbox.open { display:flex; }
.lightbox img { max-width:100%; max-height:100%; object-fit:contain; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.lightbox-close, .lightbox-prev, .lightbox-next {
    position:fixed; background:transparent; border:none; color:var(--ivory);
    cursor:pointer; opacity:.8; transition:opacity .2s;
}
.lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover { opacity:1; }
.lightbox-close { top:2rem; right:2rem; font-size:2rem; line-height:1; }
.lightbox-prev, .lightbox-next {
    top:50%; transform:translateY(-50%); font-size:2.5rem;
    width:3rem; height:3rem; display:flex; align-items:center; justify-content:center;
}
.lightbox-prev { left:1rem; }
.lightbox-next { right:1rem; }
.lightbox-counter {
    position:fixed; bottom:2rem; left:50%; transform:translateX(-50%);
    color:rgba(250,247,240,.6); font-size:.8rem; letter-spacing:.1em;
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
    nav { padding:1rem 2rem; }
    .gallery-header { padding:8rem 2rem 3rem; }
    .gallery-grid { padding:0 2rem 5rem; grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
    .nav-links { display:none; }
    nav { padding:1rem 1.5rem; }
    .gallery-header { padding:7rem 1.5rem 2.5rem; }
    .gallery-grid { padding:0 1.5rem 4rem; grid-template-columns:1fr; }
    footer { flex-direction:column; gap:1.5rem; text-align:center; }
    .lightbox { padding:1rem; }
    .lightbox-prev, .lightbox-next { width:2.2rem; height:2.2rem; font-size:1.8rem; }
}
