.enter-gallery { padding-block: clamp(2rem,5vw,5rem); }
.enter-gallery__header { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(16rem,.85fr); gap: clamp(1.5rem,5vw,5rem); align-items: end; margin-bottom: clamp(1.5rem,4vw,3rem); }
.enter-gallery__header h2 { max-width: 13ch; margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.6rem,5vw,5rem); font-weight: 400; letter-spacing: -.045em; line-height: .94; text-transform: none; }
.enter-gallery__header > p { max-width: 38rem; margin: 0; color: var(--enter-muted,#696965); }
.enter-gallery__filters { display: flex; gap: .5rem; padding-bottom: 1.4rem; overflow-x: auto; scrollbar-width: none; }
.enter-gallery__filters::-webkit-scrollbar { display: none; }
.enter-gallery__filters button { flex: 0 0 auto; min-height: 2.65rem; padding: .55rem 1rem; border: 1px solid var(--enter-line,rgb(17 17 17 / .16)); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.enter-gallery__filters button[aria-pressed="true"],.enter-gallery__filters button:hover { background: var(--enter-text,#111); color: var(--enter-bg,#fff); }

.enter-gallery__grid { columns: var(--enter-gallery-columns,3); column-gap: var(--enter-gallery-gap,24px); }
.enter-gallery .enter-gallery__item { display: inline-block; width:100%; margin:0 0 var(--enter-gallery-gap,24px); break-inside:avoid; vertical-align:top; }
.enter-gallery .enter-gallery__item[hidden] { display:none; }
.enter-gallery .enter-gallery__item > button { display:block; width:100%; padding:0; border:1px solid var(--enter-line,#ddd); border-radius:var(--enter-gallery-radius,12px); overflow:hidden; background:var(--enter-bg,#fff); color:var(--enter-text,#111); text-align:left; cursor:zoom-in; transition:box-shadow .2s; }
.enter-gallery .enter-gallery__item img { display:block; width:100%; height:auto; }
.enter-gallery .enter-gallery__item span { display:grid; gap:.45rem; padding:1rem 1.1rem 1.15rem; }
.enter-gallery .enter-gallery__item small { color:var(--enter-muted,#666); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.enter-gallery .enter-gallery__item strong { font:inherit; font-size:.92rem; font-weight:500; line-height:1.45; }
.enter-gallery .enter-gallery__item button:hover { box-shadow:0 .5rem 1.6rem rgb(0 0 0 / .1); }
.enter-gallery button:focus-visible { outline:3px solid #af702a; outline-offset:4px; }
.enter-gallery__empty { padding:2rem; border:1px dashed #aaa; border-radius:1rem; text-align:center; }
.enter-gallery__dialog { width:fit-content; max-width:94vw; max-height:94vh; padding:3.8rem 1rem 1rem; border:0; border-radius:12px; background:#111; color:#fff; overflow:auto; }
.enter-gallery__dialog::backdrop { background:rgb(0 0 0 / .88); backdrop-filter:blur(6px); }
.enter-gallery__dialog img { display:block; width:auto; height:auto; max-width:100%; max-height:72vh; object-fit:contain; margin:auto; }
.enter-gallery__dialog p { max-width:650px; padding:1rem 0 0; margin:0 auto; color:#ddd; font-size:.9rem; line-height:1.5; }
.enter-gallery__close,.enter-gallery__nav { position:absolute; top:.5rem; display:grid; place-items:center; width:2.7rem; height:2.7rem; padding:0; border:1px solid #777; border-radius:50%; background:#222; color:#fff; font:inherit; font-size:1.5rem; cursor:pointer; }
.enter-gallery__close { right:.6rem; }
.enter-gallery__nav--prev { left:.6rem; }
.enter-gallery__nav--next { left:3.8rem; }
.enter-gallery__counter { position:absolute; top:1.15rem; left:7.1rem; color:#ddd; font-size:.8rem; }
@media (max-width:900px) { .enter-gallery__grid { columns:2; } }
@media (max-width:680px) { .enter-gallery__header { grid-template-columns:1fr; } .enter-gallery__header h2 { font-size:clamp(2.5rem,12vw,3.8rem); } .enter-gallery__grid { columns:1; } }
@media (prefers-reduced-motion:reduce) { .enter-gallery .enter-gallery__item > button { transition:none; } }

/* Editorial finish: quiet typography, open spacing and photographic detail. */
.enter-gallery { --enter-gallery-gap:32px !important; }
.enter-gallery .enter-gallery__header { margin-bottom:2.8rem; }
.enter-gallery .enter-gallery__header > p { max-width:34rem; line-height:1.8; }
.enter-gallery .enter-eyebrow { letter-spacing:.18em; }
.enter-gallery .enter-gallery__filters { gap:1.5rem; margin-bottom:2rem; padding:0; border-bottom:1px solid #e6e2dc; }
.enter-gallery .enter-gallery__filters button { padding:.9rem .15rem 1rem; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:#77716a; font-size:.66rem; font-weight:700; letter-spacing:.1em; }
.enter-gallery .enter-gallery__filters button[aria-pressed=true] { border-bottom-color:#aa8753; color:#181715; }
.enter-gallery .enter-gallery__filters button:hover { color:#181715; background:transparent; }
.enter-gallery .enter-gallery__item > button { position:relative; border:0; border-radius:0; background:transparent; overflow:visible; box-shadow:none; }
.enter-gallery .enter-gallery__item img { border-radius:12px; transition:box-shadow .25s ease; }
.enter-gallery .enter-gallery__item span { padding:1.05rem .15rem 1.4rem; gap:.45rem; }
.enter-gallery .enter-gallery__item small { font-size:.59rem; letter-spacing:.15em; color:#87734f; }
.enter-gallery .enter-gallery__item strong { max-width:36ch; font-size:.9rem; line-height:1.55; font-weight:400; color:#393631; }
.enter-gallery .enter-gallery__item button:hover { box-shadow:none; }
.enter-gallery .enter-gallery__item button:hover img { box-shadow:0 12px 30px #17130d20; }
.enter-gallery .enter-gallery__item button::before { content:'↗'; position:absolute; z-index:1; top:14px; right:14px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#fffffff0; color:#222; font-size:20px; opacity:0; transition:opacity .2s ease; pointer-events:none; }
.enter-gallery .enter-gallery__item button:hover::before,.enter-gallery .enter-gallery__item button:focus-visible::before { opacity:1; }
.enter-gallery .enter-gallery__dialog { box-shadow:0 24px 100px #0006; }
@media(max-width:680px) { .enter-gallery { --enter-gallery-gap:20px !important; } .enter-gallery .enter-gallery__filters { gap:1.1rem; margin-bottom:1.5rem; } .enter-gallery .enter-gallery__item span { padding-bottom:1rem; } }
@media(prefers-reduced-motion:reduce) { .enter-gallery .enter-gallery__item img,.enter-gallery .enter-gallery__item button::before { transition:none; } }


/* Gallery photos only: preserve accessible image descriptions. */
.enter-gallery .enter-gallery__item span, .enter-gallery .enter-gallery__dialog p { display:none; }

/* Keep vertical spacing despite Elementor's figure margin reset. */
.enter-gallery .enter-gallery__grid > figure.enter-gallery__item { margin:0 0 var(--enter-gallery-gap,32px) !important; }
