
html{scroll-behavior:smooth}
.nav-link{position:relative;font-size:.875rem;font-weight:700;color:#36516d;transition:color .25s ease,transform .25s ease}
.nav-link:hover,.nav-link.active{color:#078fd1}
.nav-link::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:#078fd1;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.hero-bg{background:linear-gradient(90deg,rgba(4,32,62,.78),rgba(4,32,62,.15)),url('https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=2000&q=90') center/cover}
.hero-title{font-family:Manrope,sans-serif;letter-spacing:-.04em;animation:riseIn .85s cubic-bezier(.2,.7,.2,1) both}
.dest-img{background-position:center;background-size:cover}
.image-overlay{background:linear-gradient(0deg,rgba(3,27,53,.82),transparent 68%)}
.form-field{width:100%;border:1px solid #d7e3ed;border-radius:.75rem;padding:.8rem .9rem;background:white;outline:none;transition:border-color .2s,box-shadow .2s}
.form-field:focus{border-color:#078fd1;box-shadow:0 0 0 3px #078fd11c}
.gallery-card,.group.relative,.rounded-2xl.border{transition:transform .3s ease,box-shadow .3s ease}
.gallery-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #082d581f}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
#mainNav{transition:opacity .22s ease,transform .22s ease}
@media(max-width:1023px){
 #mainNav.mobile-open{display:flex!important;animation:menuDrop .24s ease both}
 #mainNav:not(.mobile-open){display:none}
 #mainNav .nav-link{padding:.7rem .6rem;border-radius:.5rem}
 #mainNav .nav-link:hover{background:#eff8fd}
}
@media(min-width:1024px){#mainNav{display:flex!important}}
@keyframes riseIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes menuDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

@media(max-width:1023px){#mainNav{max-height:calc(100vh - 76px);overflow-y:auto}#mainNav a{width:100%;text-align:left}}
