
/* GONAGRA / VISUAL DIARY — independent gallery */
.section-gallery{position:relative;background:radial-gradient(ellipse 80% 65% at 65% 25%,rgba(110,101,119,.085),transparent 65%),linear-gradient(180deg,#111214 0%,#0c0d10 100%)}
.section-gallery::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;background:url('assets/analog-grain.webp') repeat;background-size:210px 210px;mix-blend-mode:soft-light}
.section-gallery>.container{position:relative}
.gallery-heading{margin-bottom:34px}
.photo-carousel{max-width:1220px;margin:0 auto;outline-offset:7px}
.photo-stage{position:relative;border:1px solid rgba(196,188,196,.18);background:#0b0c0e;box-shadow:0 30px 90px #000a;overflow:hidden;isolation:isolate}
.photo-slides{height:clamp(345px,57vw,670px);position:relative}
.photo-slide{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity .5s ease;overflow:hidden;display:flex;align-items:center;justify-content:center}
.photo-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.photo-slide .photo-backdrop{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:grayscale(1) contrast(1.25) brightness(.37) blur(38px);transform:scale(1.02);opacity:.75}
.photo-slide .photo-foreground{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:grayscale(.94) contrast(1.25) brightness(.77) sepia(.05);transition:filter .4s ease}
.photo-slide::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 88% 82% at 50% 49%,transparent 40%,rgba(0,0,0,.54) 100%),linear-gradient(0deg,rgba(0,0,0,.34),transparent 14%,transparent 87%,rgba(0,0,0,.25));opacity:.85}
.photo-stage::after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:url('assets/analog-grain.webp') repeat;background-size:210px 210px;mix-blend-mode:soft-light;opacity:.34}
.photo-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:56px;height:56px;padding:0;border:1px solid rgba(240,235,240,.27);background:rgba(8,8,11,.64);color:#f0ebeb;font-size:32px;line-height:1;cursor:pointer;backdrop-filter:blur(7px);transition:background .25s,border-color .25s}
.photo-nav:hover,.photo-nav:focus-visible{background:rgba(37,35,41,.9);border-color:rgba(240,235,240,.65)}
.photo-prev{left:18px}.photo-next{right:18px}
.photo-counter{position:absolute;right:18px;bottom:18px;z-index:5;display:flex;gap:9px;align-items:center;border:1px solid rgba(230,222,230,.25);background:rgba(9,9,13,.64);backdrop-filter:blur(5px);padding:8px 12px;color:#ddd6db;font-size:11px;font-weight:600;letter-spacing:.2em}
.photo-gallery-bottom{display:flex;flex-direction:column;gap:17px;padding:20px 0}
.photo-gallery-bottom>span{font-size:10px;font-weight:650;letter-spacing:.21em;color:#aaa1a9}
.photo-thumb-strip{display:flex;gap:8px;overflow-x:auto;padding:0 1px 8px;scrollbar-width:thin;scrollbar-color:#777 #202023}
.photo-thumb{flex:0 0 clamp(68px,9vw,108px);aspect-ratio:1.26;padding:0;overflow:hidden;background:#17181b;border:1px solid rgba(220,210,220,.20);cursor:pointer}
.photo-thumb.is-active{border-color:#d0c7d0;outline:1px solid #6e6771;outline-offset:1px}
.photo-thumb>img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1) contrast(1.2) brightness(.6);transition:filter .25s,transform .25s}
.photo-thumb:hover>img,.photo-thumb.is-active>img{filter:grayscale(.87) contrast(1.1) brightness(.89);transform:scale(1.04)}
@media(max-width:760px){.photo-slides{height:min(72vw,500px)}.photo-nav{width:45px;height:45px;font-size:27px}.photo-prev{left:8px}.photo-next{right:8px}.photo-counter{bottom:10px;right:10px;font-size:10px}}
@media(max-width:520px){.photo-slides{height:70vw;min-height:280px}.photo-thumb{flex-basis:68px}.gallery-heading{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.photo-slide,.photo-thumb>img{transition:none}}
