/* Gallery.dc.html: exact source inline layout plus its scoped responsive rules. */
.gallery-page, .gallery-page * { box-sizing:content-box; }
.gallery-page { font-family:var(--font-sans-body); background:var(--color-cream-2); color:var(--text-primary); overflow-x:hidden; line-height:normal; }
.gallery-page img, .gallery-page svg { display:inline; vertical-align:baseline; }
.gallery-page button { font-family:Arial,sans-serif; line-height:normal; display:inline-block; transition:none; gap:normal; }
.gallery-page [hidden] { display:none !important; }
.gallery-page .jump button { background:var(--color-cream-2); color:var(--text-primary); }
.gallery-page .jump { justify-content:safe center !important; }
.gallery-page .jump button[aria-pressed="true"] { background:var(--color-espresso); color:var(--color-cream); }
@keyframes galleryRiseIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes galleryFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes galleryPopIn { from { opacity:0; transform:scale(0.96); } to { opacity:1; transform:none; } }
.gallery-page .rise { animation:galleryRiseIn 620ms cubic-bezier(0.22,0.61,0.36,1) both; }
.gallery-page .tile-in { animation:galleryPopIn 520ms cubic-bezier(0.22,0.61,0.36,1) both; }
.gallery-page .lb { animation:galleryFadeIn 220ms ease-out both; }
.gallery-page .jump::-webkit-scrollbar { height:4px; }
.gallery-page .jump::-webkit-scrollbar-thumb { background:var(--color-sand-dark); border-radius:999px; }
.gallery-page figure img:hover { transform:scale(1.06); }
.gallery-page .enquire-cta a:first-child:hover { background:var(--color-gold-dark) !important; text-decoration:none; }
.gallery-page .enquire-cta a:last-child:hover { background:var(--color-cream); color:var(--color-espresso) !important; text-decoration:none; }
@media(max-width:900px) {
 .gallery-page .phead-copy { top:110px !important; }
 .gallery-page .sec { padding-left:24px !important; padding-right:24px !important; }
}

@media(max-width:1024px) {
 .gallery-page .phead { height:380px !important; }
 .gallery-page .phead-copy { left:32px !important; right:32px !important; width:auto !important; }
 .gallery-page .phead-h1 { font-size:48px !important; }
 .gallery-page .grid, .gallery-page .strip { grid-template-columns:repeat(2,1fr) !important; }
}
@media(max-width:640px) {
 .gallery-page .phead { height:auto !important; min-height:400px !important; }
 /* Keep the source mobile flow geometry while painting copy above the absolute image. */
 .gallery-page .phead-copy { position:relative !important; top:auto !important; left:auto !important; right:auto !important; padding:76px 20px 40px !important; }

 .gallery-page .sec { padding-left:16px !important; padding-right:16px !important; }

 .gallery-page .grid { grid-template-columns:1fr !important; grid-auto-rows:210px !important; gap:10px !important; }
 /* Repair source implicit zero-width columns: every mobile tile occupies its single explicit track. */
 .gallery-page .grid > figure { grid-row:span 1 !important; grid-column:span 1 !important; }
 .gallery-page .strip { grid-template-columns:1fr !important; }
 .gallery-page .enquire { flex-direction:column !important; align-items:flex-start !important; }
 .gallery-page .enquire-cta { width:100% !important; }
 .gallery-page .enquire-cta > a { flex:1 1 100% !important; justify-content:center !important; }
 .gallery-page .lb-frame { max-width:94vw !important; }
}

@media(max-width:480px) { .gallery-page .phead-h1 { font-size:36px !important; } .gallery-page .phead-copy > div { font-size:13px !important; letter-spacing:0.14em !important; } .gallery-page .phead-copy > p { font-size:16px !important; } }
