/* Cena de praia: movimento suave, molduras e profundidade sem pesar o carregamento */
body{position:relative;overflow-x:hidden;background:#061923!important}
.cursor-glow{position:fixed;left:0;top:0;width:180px;height:180px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(255,210,145,.13),transparent 68%);mix-blend-mode:screen;filter:blur(3px);transition:opacity .3s}
body:before{content:"";position:fixed;inset:-20%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 115%,rgba(20,184,166,.3),transparent 45%),radial-gradient(ellipse at 14% 18%,rgba(56,189,248,.2),transparent 34%),linear-gradient(180deg,#071722 0%,#0a2933 58%,#06212c 100%);animation:seaBreath 12s ease-in-out infinite alternate}
body:after{content:"";position:fixed;left:-10%;right:-10%;bottom:-8%;height:42%;z-index:-1;pointer-events:none;opacity:.28;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 28px,rgba(113,232,224,.18) 30px 32px,transparent 35px 72px);filter:blur(2px);animation:waveDrift 18s linear infinite}
.museum-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.sand-glow{position:absolute;left:50%;bottom:-18%;width:85vw;height:42vh;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(255,190,112,.2),transparent 68%);filter:blur(22px);animation:sandPulse 8s ease-in-out infinite alternate}.light-orb{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffe7ad;box-shadow:0 0 22px 8px rgba(255,213,137,.35);opacity:.7;animation:floatLight 9s ease-in-out infinite}.orb-one{left:18%;top:34%;animation-delay:-3s}.orb-two{right:21%;top:20%;animation-delay:-6s}
.photo-hero,.photo-viewer,footer{position:relative;z-index:1}.photo-hero{transform:translateY(calc(var(--scroll-depth, 0px) * -.35));transition:transform .2s linear}.photo-viewer{transform:translateY(calc(var(--scroll-depth, 0px) * .12));transition:transform .2s linear}
.photo-hero{text-shadow:0 3px 24px rgba(0,0,0,.28)}
.photo-viewer{isolation:isolate}
.photo-viewer:before,.photo-viewer:after{content:"";position:absolute;z-index:0;width:150px;height:190px;border:8px solid #e8d6b7;border-bottom-width:26px;background-size:cover;background-position:center;box-shadow:0 16px 32px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.25);opacity:.72;filter:saturate(.9)}
.photo-viewer:before{left:-64px;top:110px;background-image:url('../images/tour_porto_01.webp');transform:rotate(-8deg)}
.photo-viewer:after{right:-64px;top:230px;background-image:url('../images/passeio_catamara.webp');transform:rotate(8deg)}
.photo-stage,.photo-thumbs{position:relative;z-index:1}.photo-stage{box-shadow:0 28px 70px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.08);border-color:rgba(178,235,229,.3)}
.photo-stage{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,0) 35%),#0b222c}.photo-stage>img{filter:saturate(1.08) contrast(1.03)}
.photo-stage:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.22);border-radius:15px;z-index:1;pointer-events:none}
.photo-thumbs{margin-top:2px;padding:15px 12px 8px;border-radius:0 0 18px 18px;background:rgba(5,24,31,.5);backdrop-filter:blur(12px)}
.thumb{border-color:rgba(255,255,255,.26)}
@keyframes seaBreath{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.06) translate3d(1%, -1%,0)}}
@keyframes waveDrift{from{transform:translateX(-2%)}to{transform:translateX(4%)}}
@keyframes sandPulse{from{opacity:.45;transform:translateX(-50%) scale(.92)}to{opacity:.8;transform:translateX(-50%) scale(1.08)}}
@keyframes floatLight{0%,100%{transform:translate3d(0,18px,0);opacity:.2}50%{transform:translate3d(35px,-45px,0);opacity:.85}}
@media(max-width:1150px){.photo-viewer:before{left:-24px}.photo-viewer:after{right:-24px}}
@media(max-width:800px){.photo-viewer:before,.photo-viewer:after{display:none}.photo-stage:before{inset:7px;border-radius:11px}.photo-thumbs{padding-left:7px;padding-right:7px}}
@media(max-width:800px){.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){body:before,body:after,.sand-glow,.light-orb{animation:none}.photo-hero,.photo-viewer{transform:none}.cursor-glow{display:none}}
