/* Cinematic motion adaptation for Lucky Dogs Ranch */
.hero-media{overflow:hidden}
.photo-gallery{background:#f9f6ef}.photo-gallery-layout{display:grid;grid-template-columns:1.06fr 1fr;gap:clamp(30px,6vw,95px);align-items:center}.photo-gallery-preview{position:relative;overflow:hidden;border-radius:18px;min-height:390px;background:#292c40;box-shadow:0 22px 50px #22263c24}.photo-gallery-preview img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.photo-gallery-preview span{position:absolute;bottom:0;left:0;right:0;padding:35px 25px 22px;color:#fff;font-weight:700;background:linear-gradient(transparent,#10121fd9)}.photo-gallery-copy .buttons{margin-top:26px}.photo-gallery-copy .btn{gap:10px}.gallery-note{color:#777b86;font-size:12px;line-height:1.7;margin-top:22px}@media(max-width:850px){.photo-gallery-layout{grid-template-columns:1fr}.photo-gallery-preview{min-height:300px}}
.hero-media:before{content:"";position:absolute;inset:-35px;background:url('lucky-dogs-banner.jpg') center/cover no-repeat;filter:blur(20px) brightness(.52)}
.hero-media img{position:relative;animation:none!important;transform:none!important;object-fit:contain!important;object-position:center center!important}
@keyframes heroTravel{0%{transform:scale(1.06) translate3d(-1.1%,0,0)}100%{transform:scale(1.18) translate3d(1.6%,-1%,0)}}
.hero-content .eyebrow{animation:riseIn .85s .1s both}
.hero-content h1{animation:riseIn 1s .2s both}
.hero-content h3,.hero-content p{animation:riseIn 1s .35s both}
.hero-content .buttons{animation:riseIn 1s .5s both}
@keyframes riseIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.story{isolation:isolate;overflow:hidden}
.story:before{display:none}
.story-scenes{position:absolute;inset:0;z-index:-2;overflow:hidden}
.story-scene{position:absolute;inset:-5%;background-size:cover;background-position:center;opacity:0;transform:scale(1.13);transition:opacity 1.5s ease,transform 7s ease;will-change:opacity,transform}
.story-scene:nth-child(1){background-image:url('cinematic-dogs.png')}
.story-scene:nth-child(2){background-image:url('cinematic-dawn.png')}
.story-scene:nth-child(3){background-image:url('lucky-dogs-banner.jpg')}
.story-scene.active{opacity:1;transform:scale(1)}
.story:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,20,30,.93),rgba(14,20,30,.68) 65%,rgba(14,20,30,.43))}
.story-steps{position:relative}
.story-step{transition:transform .6s ease,opacity .6s ease}
.story-step.is-active{transform:translateY(-7px);border-top-color:#edd0b0}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.dog-card img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.dog-card:hover img{transform:scale(1.07)}
.story-progress{position:absolute;bottom:0;left:0;height:4px;background:#e6bf8d;transform-origin:left;transform:scaleX(0);width:100%;z-index:5}
.cinema-strip{position:relative;overflow:hidden;background:#222839;color:#fff;padding:90px 5%}.cinema-strip .wrap{max-width:1200px}.cinema-strip h2{color:#fff;max-width:820px}.cinema-strip .section-label{color:#e6bf8d}.cinema-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:25px;align-items:stretch;margin-top:38px}.cinema-panel{position:relative;min-height:480px;overflow:hidden;border-radius:16px;background:#323847}.cinema-panel:nth-child(2){margin-top:80px}.cinema-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.2s ease}.cinema-panel.visible img{transform:scale(1.02)}.cinema-panel:hover img{transform:scale(1.08)}.cinema-panel span{position:absolute;bottom:0;inset-inline:0;padding:55px 28px 24px;font:600 26px 'Source Serif 4',Georgia,serif;background:linear-gradient(transparent,#0c101bc9)}.cinema-caption{font-size:12px;color:#cbd1da;line-height:1.7;margin-top:22px}@media(max-width:760px){.cinema-grid{grid-template-columns:1fr}.cinema-panel,.cinema-panel:nth-child(2){min-height:310px;margin-top:0}.cinema-strip{padding:65px 22px}}
.motion-control{position:fixed;right:18px;bottom:19px;z-index:50;color:#fff;background:#25283dce;border:1px solid #ffffff6b;border-radius:25px;padding:10px 14px;text-transform:uppercase;letter-spacing:.1em;font-size:10px}
body.motion-paused .hero-media img,body.motion-paused .story-scene{animation-play-state:paused!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.hero-media img,.reveal,.hero-content *, .story-scene,.story-step{animation:none!important;transition:none!important;transform:none!important}.reveal{opacity:1!important}.motion-control{display:none}}
