/* Shared premium motion system */
html{scroll-behavior:smooth}body{animation:pageFade .55s ease both}@keyframes pageFade{from{opacity:0}to{opacity:1}}
.nav{transition:min-height .3s ease,box-shadow .3s ease,background-color .3s ease}.brand-logo{transition:transform .35s cubic-bezier(.2,.75,.25,1),filter .35s ease}.brand:hover .brand-logo{transform:scale(1.04) rotate(-1deg);filter:drop-shadow(0 9px 15px rgba(58,31,18,.18))}
.nav-menu>a,.nav-dropdown-trigger{transition:color .22s ease,transform .22s ease}.nav-menu>a:hover,.nav-dropdown-trigger:hover{transform:translateY(-1px)}
.mega-menu{transform-origin:top center;transition:opacity .23s ease,transform .28s cubic-bezier(.2,.75,.25,1),visibility .23s ease}.nav-dropdown:not(.is-open) .mega-menu{transform:translateY(10px) scale(.985)}.nav-dropdown.is-open .mega-menu{transform:none}
.hero-slideshow img{animation:heroKenBurns 14s ease-in-out infinite alternate}@keyframes heroKenBurns{from{transform:scale(1.01)}to{transform:scale(1.075)}}
.reveal{transition-duration:.72s!important;transition-timing-function:cubic-bezier(.2,.72,.25,1)!important}.reveal.is-visible{will-change:auto}
.section-heading h2,.about-editorial h2{transition:letter-spacing .45s ease}.section-heading.is-visible h2,.about-editorial-copy.is-visible h2{letter-spacing:-.035em}
.destination-card img,.tour-card img,.program-card img,.park-category-card img,.gallery-grid img,.serengeti-gallery img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .45s ease!important}.destination-card:hover img,.tour-card:hover img,.program-card:hover img,.park-category-card:hover img,.serengeti-gallery figure:hover img{transform:scale(1.055);filter:saturate(1.08)}
.tour-card,.program-card,.park-category-card,.safari-day-card,.timeline-item,.feature-grid article{transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease}.tour-card:hover,.program-card:hover,.park-category-card:hover,.safari-day-card:hover,.timeline-item:hover,.feature-grid article:hover{transform:translateY(-6px)}
.text-link,.button,.nav-book,.hero-primary,.hero-secondary,.about-actions a,.destination-cta-copy a,.contact-form button{position:relative;overflow:hidden}.text-link::before,.button::before,.nav-book::before,.hero-primary::before,.about-primary::before,.destination-cta-copy a::before,.contact-form button::before{position:absolute;top:0;bottom:0;left:-45%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);content:"";transform:skewX(-20deg);transition:left .55s ease}.text-link:hover::before,.button:hover::before,.nav-book:hover::before,.hero-primary:hover::before,.about-primary:hover::before,.destination-cta-copy a:hover::before,.contact-form button:hover::before{left:120%}
.hero-slide-dots button{transition:width .25s ease,background .25s ease,transform .25s ease}.hero-slide-dots button:hover{transform:scale(1.15)}
.whatsapp-float{animation:whatsappPulse 2.8s ease-in-out infinite}@keyframes whatsappPulse{0%,100%{box-shadow:0 10px 26px rgba(9,154,79,.25),0 0 0 0 rgba(29,211,102,.22)}50%{box-shadow:0 13px 30px rgba(9,154,79,.32),0 0 0 9px rgba(29,211,102,0)}}
.footer-social a,.top-social a{transition:transform .25s ease,color .25s ease}.footer-social a:hover,.top-social a:hover{transform:translateY(-3px) rotate(4deg)}

/* Site-wide editorial motion */
main > section.reveal:nth-of-type(2n){transition-delay:.06s!important}main > section.reveal:nth-of-type(3n){transition-delay:.11s!important}
.program-grid .reveal:nth-child(2),.program-list .reveal:nth-child(2),.destination-grid .reveal:nth-child(2),.feature-grid .reveal:nth-child(2){transition-delay:.09s!important}.program-grid .reveal:nth-child(3),.program-list .reveal:nth-child(3),.destination-grid .reveal:nth-child(3),.feature-grid .reveal:nth-child(3){transition-delay:.17s!important}
.park-map-art svg{transform-origin:center;animation:mapBreathe 7s ease-in-out infinite}@keyframes mapBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.012)}}
.programs-hero-visual{background-size:auto 104%!important;animation:elephantWalk 7.5s ease-in-out infinite;will-change:transform,background-position,background-size}@keyframes elephantWalk{0%{transform:translate3d(0,0,0) scale(1);background-position:50% 50%;background-size:auto 104%}24%{transform:translate3d(-3px,-5px,0) scale(1.008);background-position:49.6% 49%;background-size:auto 105.5%}50%{transform:translate3d(0,1px,0) scale(1.018);background-position:50% 48%;background-size:auto 107%}76%{transform:translate3d(3px,-5px,0) scale(1.008);background-position:50.4% 49%;background-size:auto 105.5%}100%{transform:translate3d(0,0,0) scale(1);background-position:50% 50%;background-size:auto 104%}}
.programs-hero-visual::after{position:absolute;right:18%;bottom:7%;left:18%;height:13%;border-radius:50%;background:radial-gradient(ellipse,rgba(218,178,116,.2),transparent 68%);content:"";filter:blur(7px);opacity:.35;animation:elephantDust 3.75s ease-in-out infinite;pointer-events:none}@keyframes elephantDust{0%,100%{opacity:.18;transform:scale(.82) translateY(5px)}50%{opacity:.48;transform:scale(1.12) translateY(-2px)}}
.programs-editorial-hero::before{animation:haloDrift 12s ease-in-out infinite alternate}@keyframes haloDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(28px,18px,0) scale(1.08)}}
.park-program-card,.park-activity-card,.park-accommodation-image,.itinerary-card{transition:transform .42s cubic-bezier(.2,.72,.25,1),box-shadow .42s ease}.park-program-card:hover,.park-activity-card:hover,.park-accommodation-slide:hover .park-accommodation-image,.itinerary-card:hover{transform:translateY(-7px);box-shadow:0 24px 48px rgba(44,35,23,.24)}
.park-program-card img,.park-activity-card img,.park-accommodation-image img{transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .45s ease}.park-program-card:hover img,.park-activity-card:hover img,.park-accommodation-slide:hover img{transform:scale(1.055);filter:saturate(1.07)}
.safari-footer-landscape{animation:landscapeReveal 1.15s cubic-bezier(.2,.72,.25,1) both}@keyframes landscapeReveal{from{opacity:0;background-position:center 25px}to{opacity:1;background-position:center bottom}}
.safari-footer-links a,.safari-footer-contact>div{transition:transform .25s ease,color .25s ease}.safari-footer-contact>div:hover{transform:translateY(-3px)}
.park-editorial-marquee img{animation:parkHeroDrift 16s ease-in-out infinite alternate}@keyframes parkHeroDrift{from{transform:scale(1.01)}to{transform:scale(1.075)}}
.page-hero h1,.programs-hero-copy h1{animation:titleRise .8s .08s cubic-bezier(.2,.72,.25,1) both}@keyframes titleRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.page-hero>p,.programs-hero-copy>p,.programs-hero-actions,.programs-hero-facts{animation:copyRise .75s .22s ease both}@keyframes copyRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:700px){.reveal{transition-duration:.55s!important}.hero-slideshow img{animation:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body,.hero-slideshow img,.whatsapp-float,.park-map-art svg,.programs-hero-visual,.programs-hero-visual::after,.programs-editorial-hero::before,.safari-footer-landscape,.park-editorial-marquee img,.page-hero h1,.programs-hero-copy h1,.page-hero>p,.programs-hero-copy>p,.programs-hero-actions,.programs-hero-facts{animation:none!important}.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.tour-card:hover,.program-card:hover,.park-category-card:hover,.safari-day-card:hover,.timeline-item:hover,.feature-grid article:hover,.park-program-card:hover,.park-activity-card:hover,.park-accommodation-slide:hover .park-accommodation-image,.itinerary-card:hover{transform:none!important}.destination-card:hover img,.tour-card:hover img,.program-card:hover img,.park-category-card:hover img,.park-program-card:hover img,.park-activity-card:hover img,.park-accommodation-slide:hover img{transform:none!important}}
