/* Gallery-only layout; the shared site header, hero and footer remain unchanged. */
.adv-gallery-section { padding: clamp(42px, 5vw, 90px) 0; background: #faf9f3; }
.adv-gallery-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.adv-gallery-heading h2 { margin:8px 0 0; color:#173e2a; font-family:Georgia,serif; font-size:clamp(28px,3vw,44px); }
.adv-gallery-heading p { max-width:350px; color:#667566; line-height:1.7; }
.adv-gallery-eyebrow { font-size:11px; font-weight:800; color:#66834b; letter-spacing:.15em; }
.adv-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-flow:dense; grid-auto-rows:170px; gap:18px; }
.adv-gallery-tile { display:block; position:relative; min-width:0; width:100%; height:100%; padding:0; border:0; border-radius:26px; overflow:hidden; background:#dce7d5; cursor:pointer; text-align:left; }
.adv-gallery-tile img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.adv-gallery-tile:hover img, .adv-gallery-tile:focus-visible img { transform:scale(1.055); }
.adv-gallery-tile:focus-visible { outline:3px solid #8fae59; outline-offset:3px; }
.adv-gallery-wide { grid-column:span 2; grid-row:span 2; }
.adv-gallery-tall { grid-row:span 3; }
.adv-gallery-normal { grid-row:span 2; }
.adv-gallery-tile::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(10,40,24,.78)); pointer-events:none; }
.adv-gallery-caption { position:absolute; z-index:1; left:22px; right:40px; bottom:20px; color:#fff; display:flex; flex-direction:column; gap:5px; }
.adv-gallery-caption small { font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.adv-gallery-caption strong { font-size:clamp(15px,1.4vw,20px); line-height:1.25; }
.adv-gallery-expand { position:absolute; z-index:1; right:19px; top:16px; width:32px; height:32px; border-radius:50%; background:#fff; color:#18432e; display:grid; place-items:center; font-size:19px; }
.adv-gallery-lightbox { position:fixed; inset:0; z-index:9999; background:rgba(5,20,12,.92); display:grid; place-items:center; padding:24px; }
.adv-gallery-dialog { position:relative; max-width:min(100%,1100px); max-height:95vh; display:flex; flex-direction:column; align-items:center; }
.adv-gallery-dialog img { max-width:100%; max-height:80vh; object-fit:contain; border-radius:12px; }
.adv-gallery-dialog p { color:#fff; font-weight:600; text-align:center; }
.adv-gallery-close { position:absolute; right:0; top:-46px; color:#fff; background:transparent; border:0; font-size:36px; cursor:pointer; }
@media(max-width:900px) { .adv-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:145px; gap:14px; } .adv-gallery-heading { align-items:start; flex-direction:column; } .adv-gallery-tall { grid-row:span 2; } }
@media(max-width:600px) { .adv-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:115px; gap:10px; } .adv-gallery-wide { grid-column:span 2; grid-row:span 2; } .adv-gallery-tall { grid-row:span 2; } .adv-gallery-normal { grid-row:span 2; } .adv-gallery-tile { border-radius:16px; } .adv-gallery-caption { left:12px; right:12px; bottom:12px; } .adv-gallery-caption strong { font-size:13px; } .adv-gallery-caption small { font-size:9px; } .adv-gallery-expand { width:26px; height:26px; right:9px; top:9px; } }
@media(max-width:380px) { .adv-gallery-grid { grid-template-columns:1fr; grid-auto-rows:190px; } .adv-gallery-wide,.adv-gallery-tall,.adv-gallery-normal { grid-column:auto; grid-row:span 1; } }
