.gallery-rail,.gallery-wainscot{left:0;right:0;position:absolute}.frame-caption,.lightbox-caption{font-family:Lora,serif;font-style:italic;color:var(--cream);text-align:center}:root{--brown-dark:#3b2010;--brown-mid:#5c3317;--brown-light:#8b5c2a;--cream:#f5ead6;--cream-dark:#e8d5b0;--gold:#c9923a;--gold-bright:#e8b84b;--green:#4a6741;--red-barn:#8b2018;--shadow:rgba(0, 0, 0, 0.5)}.gallery-wall{background:repeating-linear-gradient(0deg,transparent,transparent 59px,rgba(0,0,0,.04) 59px,rgba(0,0,0,.04) 60px),repeating-linear-gradient(90deg,transparent,transparent 59px,rgba(0,0,0,.04) 59px,rgba(0,0,0,.04) 60px),linear-gradient(160deg,#c8a97e 0,#b8956a 30%,#c4a07a 60%,#b5916b 100%);padding:60px 30px 80px;position:relative;border-top:8px solid #7a5c38;border-bottom:8px solid #7a5c38}.gallery-rail{top:36px;height:14px;background:linear-gradient(to bottom,#c8a060,#8a5c28 50%,#6a4020);box-shadow:0 3px 12px rgba(0,0,0,.4)}.gallery-wainscot{bottom:0;height:90px;background:linear-gradient(to top,#7a5230 0,#9a6840 60%,transparent 100%);border-top:4px solid #6a4828}.frame-hook,.frame-wire,.frame-wrap,.frames-grid{position:relative}.frames-grid{display:flex;flex-wrap:wrap;gap:48px 40px;justify-content:center;align-items:flex-end;z-index:2;padding-top:20px}.frame-wrap{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .3s}.frame-wrap:hover{z-index:10}.frame-hook{width:8px;height:8px;border:2px solid #888;border-radius:50% 50% 0 0;border-bottom:none;top:-2px}.frame-wire{width:2px;height:28px;background:linear-gradient(to bottom,#888,#aaa 40%,#666);margin-bottom:-1px;box-shadow:1px 0 2px rgba(0,0,0,.3)}.frame-wire::after,.frame-wire::before{content:'';position:absolute;top:0;width:18px;height:2px;background:linear-gradient(to right,#888,#aaa);transform-origin:right center}.frame-wire::before{right:1px;transform:rotate(-30deg)}.frame-wire::after{left:1px;transform:rotate(30deg);background:linear-gradient(to left,#888,#aaa)}.frame-outer{padding:10px;border-radius:4px;background:linear-gradient(135deg,#d4a843 0,#f0cc6a 20%,#c8962e 40%,#e8bc52 60%,#b88020 80%,#d4a843 100%);box-shadow:0 0 0 2px rgba(255,220,140,.4),0 0 0 4px rgba(120,80,30,.8),0 0 0 6px rgba(200,160,80,.5),0 0 0 9px rgba(100,60,20,.9),0 0 0 11px rgba(180,130,60,.4),inset 0 0 8px rgba(0,0,0,.3),12px 20px 40px rgba(0,0,0,.55),6px 10px 20px rgba(0,0,0,.35)}.frame-dark .frame-outer{background:linear-gradient(135deg,#3a2008 0,#6a3c18 25%,#2a1404 50%,#5a3010 75%,#3a2008 100%);box-shadow:0 0 0 2px rgba(160,110,40,.3),0 0 0 4px rgba(30,15,5,.95),0 0 0 6px rgba(100,60,20,.4),0 0 0 9px rgba(20,10,2,.95),inset 0 0 8px rgba(0,0,0,.5),12px 20px 40px rgba(0,0,0,.6)}.frame-white .frame-outer{background:linear-gradient(135deg,#e8e0d0,#f5f0e8 25%,#d8d0c0 50%,#ede8d8 75%,#e0d8c8);box-shadow:0 0 0 2px rgba(200,190,170,.5),0 0 0 4px rgba(160,150,130,.7),0 0 0 6px rgba(220,210,190,.4),0 0 0 9px rgba(140,130,110,.8),inset 0 0 8px rgba(0,0,0,.15),12px 20px 40px rgba(0,0,0,.5)}.frame-rustic .frame-outer{background:repeating-linear-gradient(90deg,#6b3a1f 0,#8b5a2f 4px,#5a2e10 8px,#7a4820 12px,#6b3a1f 16px);box-shadow:0 0 0 2px rgba(180,130,60,.3),0 0 0 4px rgba(60,30,10,.9),0 0 0 6px rgba(140,90,40,.3),0 0 0 9px rgba(40,20,5,.9),inset 0 0 8px rgba(0,0,0,.4),12px 20px 40px rgba(0,0,0,.55)}.frame-mat{background:#f8f4ec;padding:14px;box-shadow:inset 0 0 12px rgba(0,0,0,.15)}.frame-photo{width:220px;height:220px;background:linear-gradient(135deg,#c8a97e,#9a7050);display:flex;align-items:center;justify-content:center;font-size:4rem;overflow:hidden}.frame-photo img{width:220px;height:220px;object-fit:cover;display:block}.frame-photo-tall,.frame-photo-tall img{width:200px!important;height:280px!important}.frame-photo-wide,.frame-photo-wide img{width:300px!important;height:200px!important}.frame-photo-sm,.frame-photo-sm img{width:160px!important;height:160px!important}.frame-caption{margin-top:10px;font-size:.78rem;text-shadow:1px 1px 3px rgba(0,0,0,.7);max-width:260px}.tilt-l1{transform:rotate(-2deg)}.tilt-l1:hover{transform:rotate(-2deg) scale(1.04) translateY(-6px)}.tilt-l2{transform:rotate(-4deg)}.tilt-l2:hover{transform:rotate(-4deg) scale(1.04) translateY(-6px)}.tilt-r1{transform:rotate(2deg)}.tilt-r1:hover{transform:rotate(2deg) scale(1.04) translateY(-6px)}.tilt-r2{transform:rotate(3.5deg)}.tilt-r2:hover{transform:rotate(3.5deg) scale(1.04) translateY(-6px)}.tilt-0{transform:rotate(0)}.tilt-0:hover{transform:rotate(0) scale(1.04) translateY(-6px)}.lightbox{display:flex;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:1000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s cubic-bezier(.22,1,.36,1),visibility .3s}.lightbox.open{opacity:1;visibility:visible;pointer-events:auto}.lightbox-inner{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-frame{padding:16px;background:linear-gradient(135deg,#d4a843 0,#f0cc6a 20%,#c8962e 40%,#e8bc52 60%,#b88020 80%,#d4a843 100%);box-shadow:0 0 0 4px #7a5028,0 0 0 8px #c8962e,0 30px 80px rgba(0,0,0,.8)}.lightbox-mat{background:#f8f4ec;padding:16px}.lightbox-photo{width:min(500px,75vw);height:min(420px,55vh);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c8a97e,#9a7050);font-size:7rem;overflow:hidden}.lightbox-photo img{width:100%;height:100%;object-fit:contain}.lightbox-caption{margin-top:16px;font-size:1rem}.lightbox-close{position:absolute;top:-16px;right:-16px;width:36px;height:36px;border-radius:50%;background:var(--brown-dark);border:2px solid var(--gold);color:var(--cream);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}.behold-wrap{background:linear-gradient(160deg,#fdf4e3,#f0ddb8);border:2px solid var(--gold);border-radius:14px;padding:30px;text-align:center;box-shadow:0 6px 20px rgba(0,0,0,.15);margin-top:40px}.behold-wrap p{color:#5a3a1a;line-height:1.8;margin-bottom:12px}.behold-setup-note{background:var(--brown-dark);color:var(--cream-dark);font-family:monospace;font-size:.82rem;padding:12px 16px;border-radius:8px;text-align:left;margin-top:14px;line-height:1.8;border:1px solid var(--gold)}
/* Gallery hero photo (scoped to #page-gallery) */
#page-gallery .hero-photo{--hero-img:url('https://batcaveroadfarm.com/img/animals2.webp')}
