.loader{position:fixed;inset:0;z-index:200;background:var(--brown);color:var(--ivory);display:grid;place-items:center;text-align:center;transition:opacity .8s,visibility .8s}.loader.done{opacity:0;visibility:hidden}
.loader b{display:block;font:500 1.4rem var(--serif);letter-spacing:.2em}.loader span{font-size:2rem}.loader i{display:block;height:1px;width:0;background:var(--gold);margin:14px auto 0;animation:line 1.2s forwards}
@keyframes line{to{width:220px}}
.hero-bg{animation:zoom 24s ease-in-out infinite alternate}@keyframes zoom{to{scale:1.1}}
.hero-in>*{opacity:0;transform:translateY(18px);animation:up .9s forwards}.hero-in>:nth-child(2){animation-delay:.9s}.hero-in>:nth-child(3){animation-delay:1.1s}.hero-in>:nth-child(4){animation-delay:1.3s}.hero-in>:nth-child(n+5){animation-delay:1.5s}.hero-in>:first-child{animation-delay:.7s}
@keyframes up{to{opacity:1;transform:none}}
.scroll{animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.3}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}.reveal.in{opacity:1;transform:none}
.pkg{transition:transform .4s,box-shadow .4s}.pkg:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(42,28,22,.15)}.dest img{transition:transform 1s}.dest:hover img{transform:scale(1.06)}
.lb:not([hidden]){animation:fade .35s}@keyframes fade{from{opacity:0}}
body{animation:fade .6s}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal,.hero-in>*{opacity:1;transform:none}html{scroll-behavior:auto}}
