.gallery-hero{height:510px;position:relative;color:#fff;overflow:hidden}.gallery-hero>img,.gallery-hero-shade{position:absolute;inset:0;width:100%;height:100%}.gallery-hero>img{object-fit:cover;object-position:center 42%}.gallery-hero-shade{background:linear-gradient(90deg,rgba(16,7,6,.84),rgba(30,12,10,.38) 62%,rgba(30,12,10,.08)),linear-gradient(0deg,rgba(19,7,7,.5),transparent 55%)}.gallery-hero>div{height:100%;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gallery-hero h1{font-size:clamp(3.6rem,6vw,6.2rem);margin:0 0 18px}.gallery-hero>div>p:last-child{max-width:650px;color:#f0e3df;font-size:1.05rem}.gallery-category-section{padding:100px 0 90px}.gallery-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-categories a{height:220px;position:relative;overflow:hidden;border-radius:3px;background:#211c1a;color:#fff}.gallery-categories img{width:100%;height:100%;object-fit:cover;opacity:.68;transition:.45s}.gallery-categories a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(21,7,8,.82),transparent 68%);border:3px solid transparent;transition:.25s}.gallery-categories a:hover img{transform:scale(1.04);opacity:.83}.gallery-categories a[aria-current="page"]::after{border-color:#d0989f}.gallery-categories span{position:absolute;z-index:1;left:18px;right:18px;bottom:16px;font:1.25rem var(--serif);line-height:1.1}.gallery-categories small{display:block;margin-bottom:7px;font:700 .58rem var(--sans);text-transform:uppercase;letter-spacing:.11em;color:#e8b9a9}.gallery-browser-section{padding:100px 0 110px;background:var(--cream);min-height:600px}.gallery-browser-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:35px}.gallery-browser-heading h2{margin-bottom:14px}.gallery-browser-heading>div>p:last-child{max-width:760px;color:var(--muted);margin:0}.gallery-count{white-space:nowrap;color:var(--wine);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.gallery-notice{border-left:3px solid var(--wine);background:#fff;padding:17px 20px;margin:0 0 24px;color:var(--muted);font-size:.87rem}.region-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.region-filters button{border:1px solid #d6c4ba;background:transparent;color:var(--muted);padding:8px 12px;border-radius:999px;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.region-filters button:hover,.region-filters button.active{background:var(--wine);border-color:var(--wine);color:#fff}.full-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.full-gallery-item{height:275px;border:0;padding:0;background:#ded5cf;overflow:hidden;cursor:zoom-in;position:relative}.full-gallery-item img{width:100%;height:100%;object-fit:cover;transition:.45s}.full-gallery-item:hover img{transform:scale(1.035)}.full-gallery-item:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.full-gallery-item.document{background:#fff}.full-gallery-item.document img{object-fit:contain}.video-gallery-card{display:block;background:#fff;border:1px solid var(--line);transition:.25s}.video-gallery-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.video-gallery-card .video-thumb{height:215px;position:relative;overflow:hidden;background:#291318}.video-gallery-card img{width:100%;height:100%;object-fit:cover}.video-gallery-card .video-thumb::after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--wine);padding-left:3px}.video-gallery-card p{margin:0;padding:17px 18px;color:var(--wine);font:.98rem var(--serif)}.gallery-error{text-align:center;color:var(--wine)}#gallery-lightbox{width:min(1200px,94vw);max-height:90vh;border:0;padding:0;background:#120b0d;box-shadow:0 30px 90px #0008}#gallery-lightbox::backdrop{background:rgba(15,8,9,.92)}#gallery-lightbox img{width:100%;height:86vh;object-fit:contain}#gallery-lightbox button{position:absolute;right:12px;top:8px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:1.7rem;cursor:pointer}.reference-section{padding:100px 0}.reference-lead{max-width:760px;margin:0 auto 55px;text-align:center;color:var(--muted)}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reference-card{border:1px solid var(--line);background:#fff;padding:28px;min-height:210px;display:flex;flex-direction:column}.reference-card time{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--wine);font-weight:700}.reference-card h3{font-size:1.7rem;margin:12px 0}.reference-card p{font-size:.85rem;color:var(--muted)}.reference-card a{margin-top:auto;align-self:flex-start}.reference-card.featured{background:var(--wine);color:#fff}.reference-card.featured time,.reference-card.featured p,.reference-card.featured .inline-link{color:#f2dfe1}.reference-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:40px}
@media(max-width:960px){.gallery-categories{grid-template-columns:repeat(2,1fr)}.full-gallery-grid{grid-template-columns:repeat(3,1fr)}.reference-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.gallery-hero{height:540px}.gallery-hero>img{object-position:58% center}.gallery-hero>div{justify-content:flex-end;padding-bottom:60px}.gallery-hero h1{font-size:3.5rem}.gallery-category-section,.gallery-browser-section,.reference-section{padding:70px 0}.gallery-categories{grid-template-columns:1fr 1fr;gap:9px}.gallery-categories a{height:175px}.gallery-categories span{font-size:1.02rem;left:13px;right:13px}.gallery-browser-heading{display:block}.gallery-count{margin-top:18px}.full-gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.full-gallery-item{height:220px}.video-gallery-card .video-thumb{height:145px}.reference-grid{grid-template-columns:1fr}#gallery-lightbox img{height:80vh}}
/* Keep the full group framing in the gallery hero so the central person's head remains visible. */
.gallery-hero>img{object-position:center 14%}

@media(max-width:700px){.gallery-hero>img{object-position:center 14%}}
