.gallery-page{background:#100d10;color:white}.gallery-page .topbar{background:rgba(16,13,16,.9);border-color:rgba(255,255,255,.14)}.gallery-page .topbar nav a:not(.nav-cta):hover{color:#f0a06e}.gallery-page .nav-cta{border-color:rgba(255,255,255,.55)}.gallery-hero{min-height:70vh;padding:clamp(90px,12vw,170px) 6vw 90px;background:radial-gradient(circle at 78% 18%,rgba(217,77,39,.32),transparent 32%),radial-gradient(circle at 15% 70%,rgba(93,24,36,.7),transparent 36%),#100d10;border-bottom:1px solid rgba(255,255,255,.14)}.gallery-hero h1{max-width:1000px;margin:0;font-family:var(--serif);font-size:clamp(3.2rem,8vw,8.5rem);font-weight:400;line-height:.98;letter-spacing:-.045em}.gallery-hero h1 em,.gallery-contact h2 em{color:#f0a06e;font-style:italic}.gallery-hero>p:not(.eyebrow){max-width:700px;margin:30px 0;color:#c9c1c5;font-size:1.1rem}.gallery-hero .button-primary,.gallery-contact .button-primary{background:var(--fox)}.gallery-hero .button-primary:hover,.gallery-contact .button-primary:hover{background:white;color:var(--ink)}.gallery-section{padding:70px 4vw 110px}.gallery-toolbar{position:sticky;top:72px;z-index:8;display:flex;flex-wrap:wrap;gap:9px;margin:0 auto 30px;padding:14px;max-width:1320px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(16,13,16,.86);backdrop-filter:blur(18px)}.filter-button{padding:10px 15px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:#c9c1c5;cursor:pointer}.filter-button:hover,.filter-button.active{background:var(--fox);border-color:var(--fox);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:10px;max-width:1320px;margin:auto}.gallery-item{position:relative;display:block;padding:0;border:0;border-radius:18px;background:#251d22;overflow:hidden;cursor:zoom-in;aspect-ratio:4/5}.gallery-item.wide{grid-column:span 2;aspect-ratio:8/5}.gallery-item[hidden]{display:none}.photo-crop{position:absolute;inset:0;display:block;overflow:hidden}.photo-crop img{width:100%;height:100%;object-fit:cover;transform:scale(1.115);transition:transform .5s ease,filter .5s ease}.gallery-item:hover .photo-crop img{transform:scale(1.17);filter:saturate(1.08) contrast(1.03)}.gallery-item:after{content:attr(data-title);position:absolute;left:12px;right:12px;bottom:12px;padding:28px 14px 12px;border-radius:12px;background:linear-gradient(transparent,rgba(14,12,15,.82));color:white;text-align:left;font-size:.82rem;font-weight:700;letter-spacing:.03em}.gallery-item:focus-visible{outline:3px solid #f0a06e;outline-offset:3px}.gallery-contact{padding:110px 6vw;text-align:center;background:var(--wine)}.gallery-contact h2{margin:0 auto 22px;max-width:1000px;font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.5rem);font-weight:400;line-height:1.08}.gallery-contact>p:not(.eyebrow){max-width:690px;margin:0 auto 30px;color:#d6bcc0}.gallery-lightbox{width:min(920px,calc(100% - 24px));max-width:none;padding:12px 12px 18px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:#100d10;color:white;overflow:hidden}.gallery-lightbox::backdrop{background:rgba(0,0,0,.9);backdrop-filter:blur(8px)}.lightbox-photo{width:100%;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#251d22}.gallery-lightbox.wide .lightbox-photo{aspect-ratio:8/5}.lightbox-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.115)}.lightbox-title{margin:14px 48px 0 8px;color:#d9d1d5}.lightbox-close{position:absolute;z-index:2;right:22px;top:20px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(14,12,15,.78);color:white;font-size:1.7rem;cursor:pointer}@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.gallery-page .topbar nav{background:#100d10}.gallery-toolbar{top:62px;flex-wrap:nowrap;overflow-x:auto;border-radius:16px}.filter-button{flex:0 0 auto}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.gallery-item,.gallery-item.wide{grid-column:auto;aspect-ratio:4/5}.gallery-item{border-radius:13px}.gallery-item:after{font-size:.74rem}.gallery-lightbox.wide .lightbox-photo{aspect-ratio:4/5}}@media(max-width:420px){.gallery-section{padding-left:12px;padding-right:12px}.gallery-grid{gap:6px}.gallery-item:after{left:6px;right:6px;bottom:6px;padding:22px 9px 8px}.gallery-hero{padding-left:20px;padding-right:20px}.gallery-contact{padding:80px 20px}}@media(prefers-reduced-motion:reduce){.photo-crop img{transition:none}}
