/* Luna's photo journal: a touch-friendly row of instant-camera cards. */
.luna-gallery{position:relative;padding:75px 0 24px;margin:34px 0 0;background:radial-gradient(circle at 5% 20%,#d6f4e588,transparent 22%),radial-gradient(circle at 96% 65%,#e6dafa88,transparent 23%),#fffaf2;overflow:hidden}
.gallery-heading{text-align:center;margin-bottom:35px}
.gallery-heading .small-kicker{color:#ae7197}
.gallery-heading h2{font:700 clamp(43px,6.2vw,80px)/1.1 'Kalam','Comic Sans MS',cursive;color:#101f49;letter-spacing:-3px;margin:9px 0 0}
.gallery-heading h2 span{font-size:.54em;color:#f37c86;display:inline-block;transform:rotate(14deg);vertical-align:top}
.gallery-heading p{font:700 clamp(19px,2.5vw,29px)/1.2 'Kalam','Comic Sans MS',cursive;color:#243459;margin:0}
.gallery-stage{position:relative;max-width:1500px;margin:auto}
.gallery-track{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:6%;padding:23px 6% 40px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-polaroid{flex:0 0 clamp(245px,23vw,315px);margin:0;box-sizing:border-box;background:#fffdf8;border:8px solid #fffdf8;border-bottom-width:3px;box-shadow:0 12px 22px #453d3030,0 1px 3px #453d3020;border-radius:5px;scroll-snap-align:start;transition:transform .3s ease,box-shadow .3s ease;transform:rotate(-2deg)}
.gallery-polaroid:nth-child(even){transform:rotate(2deg)}
.gallery-polaroid:nth-child(3){transform:rotate(-1deg)}
.gallery-polaroid:hover{transform:rotate(0deg) translateY(-7px);box-shadow:0 18px 27px #453d3030}
.gallery-polaroid img{width:100%;height:clamp(155px,15vw,205px);object-fit:cover;display:block;background:#f0dfc9;border-radius:2px}
.gallery-polaroid figcaption{min-height:68px;text-align:center;display:flex;justify-content:center;align-items:center;gap:8px;padding:10px 4px 12px;color:#1c315c;font:700 clamp(16px,1.45vw,19px)/1.1 'Kalam','Comic Sans MS',cursive}
.gallery-polaroid figcaption span.gallery-caption-words{color:#1c315c;font-size:inherit}
.gallery-polaroid figcaption span{color:#e98476;font-size:23px}
.gallery-arrow{position:absolute;top:45%;transform:translateY(-50%);z-index:3;border:0;border-radius:50%;background:#fff;color:#152951;width:56px;height:56px;font-size:43px;line-height:1;box-shadow:0 7px 17px #3c3b4328;cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,background .2s ease}
.gallery-arrow:hover{transform:translateY(-50%) scale(1.07);background:#dbf5ea}
.gallery-prev{left:16px}.gallery-next{right:16px}
.gallery-arrow:disabled{opacity:.38;cursor:default;transform:translateY(-50%)}
.gallery-bottom{text-align:center;padding:0 20px}
.gallery-dots{display:flex;gap:7px;justify-content:center;align-items:center;max-width:95%;margin:auto;flex-wrap:wrap}
.gallery-dots button{border:0;padding:0;width:8px;height:8px;background:#d9d5df;border-radius:50%;cursor:pointer;transition:background .2s,transform .2s}
.gallery-dots button.active{background:#fb8279;transform:scale(1.4)}
.gallery-bottom p{font:700 22px/1.5 'Kalam','Comic Sans MS',cursive;color:#25345e;margin:17px 0 0}
.gallery-bottom p span{display:inline-block;margin-left:8px;font-size:25px}
.desktop-nav{gap:clamp(9px,1.5vw,22px)}
@media(max-width:1100px){.desktop-nav a{font-size:16px}.gallery-polaroid{flex-basis:clamp(240px,28vw,295px)}}
@media(max-width:700px){.luna-gallery{padding:50px 0 18px;margin-top:22px}.gallery-heading{margin-bottom:14px}.gallery-heading h2{letter-spacing:-1.8px}.gallery-track{gap:16px;scroll-padding-inline:10%;padding:22px 10% 34px}.gallery-polaroid{flex-basis:70vw;max-width:290px;border-width:7px}.gallery-polaroid img{height:185px}.gallery-polaroid figcaption{font-size:17px;min-height:63px}.gallery-arrow{width:41px;height:41px;font-size:32px;top:44%}.gallery-prev{left:5px}.gallery-next{right:5px}.gallery-bottom p{font-size:18px;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}.gallery-polaroid,.gallery-arrow{transition:none}}
