/* Original motion system. Native CSS and browser APIs; no runtime dependencies. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .18s ease both}
::view-transition-new(root){animation:page-in .4s var(--ease-out) both}
@keyframes page-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
header.wrap,body:not(.theme-brand) header.wrap{position:fixed;top:0;left:0;right:0;transition:background .35s,box-shadow .35s,border-color .35s;backdrop-filter:blur(0)}
header.wrap.is-scrolled,header.wrap.menu-open{background:#14251ef5;backdrop-filter:blur(16px);box-shadow:0 8px 35px #06120b12;border-bottom-color:#ffffff15}
.nav{transition:min-height .35s var(--ease-out)}
.is-scrolled .nav{min-height:78px}
body:not(.theme-brand){padding-top:104px}
.navlinks>a{position:relative}
.navlinks>a:not(.navcta):after,.textlink:after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--sand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.navlinks>a:hover:after,.navlinks>a:focus-visible:after,.navlinks>a[aria-current]:after{transform:scaleX(1)}
.navlinks>a[aria-current]{color:var(--sand)}
.btn,.navcta{position:relative;isolation:isolate;overflow:hidden;transition:color .3s,border-color .3s,transform .3s var(--ease-out),box-shadow .3s;touch-action:manipulation}
.btn:before,.navcta:before{content:'';position:absolute;z-index:-1;inset:0;background:#344b3e;transform:translateY(101%);transition:transform .45s var(--ease-out);pointer-events:none}
.cinematic .btn:before{background:#f1dfb9}.navcta:before{background:var(--sand)}
.btn:hover:before,.btn:focus-visible:before,.navcta:hover:before,.navcta:focus-visible:before{transform:translateY(0)}
.btn:hover,.btn:focus-visible{box-shadow:0 8px 24px #14251e1a;transform:translateY(-3px)}
.cinematic .btn:hover{background:var(--sand)}
.navlinks .navcta:hover,.navlinks .navcta:focus-visible{color:#14251e;border-color:var(--sand)}
.button-arrow,.navcta>span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-size:16px;transition:transform .4s var(--ease-out),background .3s}
.navcta>span{width:24px;height:24px;font-size:14px;margin-left:8px}
.btn:hover .button-arrow,.btn:focus-visible .button-arrow,.navcta:hover>span{transform:rotate(45deg)}
.btn:active,.navcta:active{transform:translateY(0) scale(.97);transition-duration:.1s}
.textlink{position:relative;transition:color .3s}.textlink:after{bottom:0}.textlink:hover:after{transform:scaleX(1)}
.title-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.title-line>span,.title-line>em{display:block;animation:title-rise 1.1s var(--ease-out) both}
.title-line:nth-child(1)>span{animation-delay:.08s}.title-line:nth-child(2)>span{animation-delay:.2s}.title-line:nth-child(3)>em{animation-delay:.34s}
@keyframes title-rise{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}
.cinematic .eyebrow{animation:fade-rise .9s .05s both}.cinematic .intro{animation:fade-rise 1s .45s both}.cinematic .heroactions{animation:fade-rise 1s .58s both}.herofoot{animation:fade-rise 1s .75s both}
@keyframes fade-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.heroimage{inset:-30px 0;width:100%;height:calc(100% + 60px);animation:none;transform:translate3d(0,var(--hero-offset,0px),0) scale(1.025);will-change:transform}
.campcard{perspective:1000px;transition:opacity .6s,transform .7s var(--ease-out)}
.cardart{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s var(--ease-out),box-shadow .4s;transform-style:preserve-3d}
.cardart:before{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#ffffff22,transparent 60%);opacity:0;transition:opacity .35s}
.campcard:hover .cardart:before{opacity:1}.campcard:hover .cardart{box-shadow:0 15px 30px #14251e20}.campcard:hover .cardart:after{border-width:3px}
.campcard .arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--card-accent);border-radius:50%;font-size:22px;transition:background .3s,color .3s,transform .3s}
.campcard:hover .arrow,.campcard:focus-visible .arrow{background:var(--card-accent);color:#fff;transform:rotate(45deg)}
.cardbody:after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:3px;background:var(--card-accent);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}
.campcard:hover .cardbody:after,.campcard:focus-visible .cardbody:after{transform:scaleX(1)}
.strip .journeyarrow{transition:transform .3s,color .3s}.strip a:hover .journeyarrow{transform:translate(3px,-3px);color:white}
.js-motion .reveal{transition-delay:var(--reveal-delay,0ms);transition-duration:.9s;transform:translateY(28px)}.js-motion .reveal.visible{transform:none}
.steps>div{position:relative}.steps>div:before{content:'';position:absolute;left:0;top:-41px;width:0;height:2px;background:var(--sand);transition:width 1s var(--ease-out)}.steps>div.visible:before{width:100%}
summary{transition:color .25s}summary:hover{color:var(--camp)}details[open]>p{animation:fade-rise .35s var(--ease-out) both}summary:after{transform-origin:center}
.backtop{position:fixed;right:25px;bottom:25px;z-index:18;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #ffffff70;background:#14251ef2;color:var(--sand);border-radius:50%;box-shadow:0 5px 25px #14251e25;font-size:20px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .3s,visibility .3s}
.backtop.is-visible{opacity:1;visibility:visible;transform:none}.backtop:hover{transform:translateY(-4px)}
@media(max-width:700px){body:not(.theme-brand){padding-top:82px}.is-scrolled .nav{min-height:72px}.is-scrolled .navlinks{top:72px}.navlinks.open{animation:menu-reveal .3s var(--ease-out) both;box-shadow:0 20px 30px #14251e35}.navlinks.open>a{animation:fade-rise .4s var(--ease-out) both}.navlinks.open>a:nth-child(2){animation-delay:.04s}.navlinks.open>a:nth-child(3){animation-delay:.08s}.navlinks.open>a:nth-child(4){animation-delay:.12s}.button-arrow{width:25px;height:25px}.heroactions{column-gap:18px}.cinematic .btn{gap:17px}.heroimage{will-change:auto;transform:none}.backtop{right:16px;bottom:16px;width:42px;height:42px}.steps>div:before{display:none}}
@keyframes menu-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(hover:none){.cardart{transform:none!important}.cardart:before{display:none}.btn:active:before{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.title-line>span,.title-line>em,.cinematic .intro,.cinematic .heroactions,.herofoot{transform:none;opacity:1}.heroimage{transform:none;will-change:auto}.cardart{transform:none!important}.js-motion .reveal{transform:none;opacity:1}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
