/* One continuous environment, confined to the private website preview. */
body{--journey:0;--world-y:0px;--world-turn:0deg;--world-opacity:.1;--light-y:0px;isolation:isolate}
.journey-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#090e0b}
.journey-image{position:absolute;inset:-10%;background-size:cover;background-position:65% center;opacity:0;filter:saturate(.35);transform:translate3d(0,var(--world-y),0) scale(1.06);transition:opacity 1.4s ease;will-change:transform}
.journey-chalets{background-image:url('assets/chalets-photo.webp')}.journey-k9{background-image:url('assets/k9-hero-preview.webp');filter:blur(12px) saturate(.35)}.journey-cvan{background-image:url('assets/cvan-live.png');filter:blur(14px) saturate(.3)}
body[data-scene=chalets] .journey-chalets,body[data-scene=k9] .journey-k9,body[data-scene=cvan] .journey-cvan{opacity:var(--world-opacity)}
.journey-light{position:absolute;width:110vw;height:130vh;left:15%;top:-20%;background:radial-gradient(ellipse at center,rgba(var(--scene-rgb),.14),transparent 62%);transform:translate3d(0,var(--light-y),0) rotate(var(--world-turn));pointer-events:none}
.journey-veil{position:absolute;inset:0;background:linear-gradient(90deg,#070d0dca,#08100c3d 65%,#070d0d99),linear-gradient(0deg,#080e0b90,transparent 40%,#080e0b44)}
.journey-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:20;pointer-events:none;background:#101b1033}.journey-progress i{height:100%;width:100%;display:block;background:#cee967;transform:scaleX(var(--journey));transform-origin:left;box-shadow:0 0 12px #cee96755}
.journey-nav{position:fixed;right:13px;top:50%;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;gap:7px;opacity:0;pointer-events:none;transition:opacity .6s}.journey-started .journey-nav{opacity:1;pointer-events:auto}.journey-nav:before{content:'';position:absolute;top:15px;bottom:15px;left:14px;width:1px;background:#cee96725}.journey-nav a{display:grid;position:relative;width:29px;height:29px;place-items:center}.journey-nav i{position:relative;width:5px;height:5px;border:1px solid #819275;border-radius:50%;background:#132012;transition:background .3s,transform .3s}.journey-nav a[aria-current] i{background:var(--lime);border-color:var(--lime);transform:scale(1.5);box-shadow:0 0 12px #cee96766}.journey-nav span{position:absolute;right:34px;white-space:nowrap;padding:7px 10px;background:#101c13ed;border:1px solid #8da16344;font-size:9px;color:#e0ebd4;opacity:0;transform:translateX(7px);transition:opacity .25s,transform .25s;pointer-events:none}.journey-nav a:hover span,.journey-nav a:focus-visible span{opacity:1;transform:none}
.chapter-caption{position:fixed;bottom:20px;left:var(--pad);display:flex;align-items:center;gap:11px;font-size:7px;letter-spacing:.15em;color:#c1d3ac;z-index:12;pointer-events:none;opacity:0;translate:0 7px;transition:opacity .6s,translate .6s;background:#0b140cba;padding:9px 11px;backdrop-filter:blur(8px);border:1px solid #8fa46922}.chapter-caption>span:first-child{color:var(--lime)}.chapter-caption i{width:21px;height:1px;background:#acc88566}.journey-started .chapter-caption{opacity:1;translate:0 0}.dialog-open .chapter-caption,.dialog-open .journey-nav{opacity:0;pointer-events:none}
main{position:relative}.intro,.work,.manifesto,.approach,.options,.practical,.closing{background:transparent;border-top:0;border-bottom:0;position:relative;isolation:isolate}
.intro:before{display:none}.intro:after,.work:after,.manifesto:after,.approach:after,.options:after,.practical:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}
.intro:after{background:linear-gradient(0deg,transparent,#090d0dbb 80%,#090d0d);inset:-1px 0 0}.work:after{background:linear-gradient(0deg,transparent,#0b150ec7 30%,#0b150ea6 75%,transparent)}.manifesto:after{background:radial-gradient(ellipse at 30% 50%,#8ba53f22,transparent 75%)}.approach:after{background:linear-gradient(0deg,transparent,#090f0ae6 30%,#090f0aba 75%,transparent)}.options:after{background:linear-gradient(0deg,transparent,#102010c9 30%,#1020109e 70%,transparent)}.practical:after{background:linear-gradient(0deg,transparent,#09100bc9 35%,#09100b88 70%,transparent)}
.intro{padding-top:130px;padding-bottom:140px}.work{padding-top:80px;padding-bottom:115px}.manifesto{padding-top:100px;padding-bottom:110px;overflow:visible}.manifesto:before{top:30%;left:var(--pad);color:#cee96707;font-size:17vw}.manifesto h2{position:relative}.manifesto h2 em{display:inline-block;position:relative}.manifesto h2 em:after{content:'';position:absolute;left:0;bottom:-12px;width:100%;height:1px;background:linear-gradient(90deg,var(--lime),#cee96710);transform:scaleX(var(--section-pass,.1));transform-origin:left}.manifesto-bottom{margin-top:48px}.approach{padding-top:115px;padding-bottom:120px}.options{padding-top:100px;padding-bottom:120px}.practical{padding-top:95px;padding-bottom:105px}.closing{padding-top:95px;padding-bottom:90px;background:radial-gradient(ellipse at 70% 100%,#819d3530,transparent 70%)}
.cinema{min-height:0}.cinema .scene-atmosphere{mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%)}.cinema-foot{border-color:#768b6220}.intro h2{font-size:clamp(36px,4.2vw,68px);line-height:1.14}.intro h2 em{color:#b7c8a5}.intro-copy{color:#b1bfae}.project-stage{background:transparent!important;overflow:visible;perspective:1400px}.project-stage:before{border-radius:1px;opacity:.65;mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}.project-browser{transform:perspective(1600px) rotateY(var(--work-angle,-3deg)) rotateX(1deg) scale(var(--work-scale,.96));transform-origin:center;transition:box-shadow .5s;box-shadow:0 35px 80px #0008,0 0 60px rgba(var(--scene-rgb),.09);will-change:transform}.project-browser:hover{transform:perspective(1600px) rotateY(var(--work-angle,-3deg)) rotateX(1deg) scale(var(--work-scale,.96));box-shadow:0 35px 80px #0008,0 0 60px rgba(var(--scene-rgb),.18)}
.approach-list{position:relative}.approach-list:before{content:'';position:absolute;left:3px;top:32px;bottom:34px;width:1px;background:linear-gradient(var(--lime),#cee96718);transform:scaleY(var(--section-pass,.1));transform-origin:top;opacity:.5}.approach-list article{position:relative;padding-left:24px;transition:background .5s}.approach-list article:hover{padding-left:24px}.approach-list article>span{position:relative;background:#0d170d;padding:3px 5px;margin-left:-29px;align-self:flex-start;color:#a3b58b}.approach-list h3{transition:color .5s}.approach-list article.in-focus h3{color:var(--lime)}.approach-list article.in-focus{background:linear-gradient(90deg,#9fba4910,transparent)}.offer{background:#111e14dc;backdrop-filter:blur(12px)}.offer.unbound{background:#1b2b16dd}.faq-list details{background:#0b160b33}footer{background:#080d09d9;padding-bottom:65px}
.motion-on .reveal{opacity:1!important;transition:transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(var(--entry-offset,0px))}.motion-on .reveal.is-pending{opacity:1;transform:translateY(var(--entry-offset,0px))}.motion-on .intro h2{transform:translateY(var(--title-offset,0px))}.motion-on .manifesto h2{transform:translateY(var(--title-offset,0px))}.motion-on .closing h2{transform:translateY(var(--title-offset,0px))}
body:not(.motion-on) .journey-image,body:not(.motion-on) .journey-light{transform:none;transition:none}body:not(.motion-on) .reveal,body:not(.motion-on) .project-browser,body:not(.motion-on) .intro h2,body:not(.motion-on) .manifesto h2,body:not(.motion-on) .closing h2{transform:none!important;transition:none!important}body:not(.motion-on) .manifesto h2 em:after,body:not(.motion-on) .approach-list:before{transform:none}body:not(.motion-on) .journey-nav,body:not(.motion-on) .chapter-caption{transition:none}
@media(max-width:1000px){.journey-nav{right:6px}.journey-nav a{width:24px}.journey-nav:before{left:12px}.intro{padding-top:90px;padding-bottom:100px}.manifesto{padding-top:75px;padding-bottom:80px}}
@media(max-width:700px){.journey-nav{display:none}.chapter-caption{bottom:10px;left:15px;font-size:6px;padding:7px 9px;gap:8px}.journey-progress{height:2px}.journey-image{filter:blur(2px) saturate(.3);inset:-5%}.journey-k9,.journey-cvan{filter:blur(9px) saturate(.3)}.journey-light{width:150vw;left:-5%}.journey-veil{background:linear-gradient(90deg,#07100ce0,#07100c6e),linear-gradient(0deg,#080e0b99,transparent 50%,#080e0b66)}.intro{padding-top:70px;padding-bottom:75px}.intro h2{font-size:34px}.work{padding-top:45px;padding-bottom:65px}.manifesto{padding-top:65px;padding-bottom:65px}.manifesto:before{font-size:22vw;top:38%;left:0}.manifesto h2{font-size:38px}.manifesto-bottom{margin-top:34px}.approach{padding-top:65px;padding-bottom:65px}.options{padding-top:55px;padding-bottom:65px}.practical{padding-top:60px;padding-bottom:60px}.closing{padding-top:55px;padding-bottom:55px}.project-browser,.project-browser:hover{transform:scale(var(--work-scale,1))}.project-stage{overflow:hidden}.approach-list article,.approach-list article:hover{padding-left:20px}.approach-list article>span{margin-left:-25px}.offer{backdrop-filter:none}.motion-on .reveal{transition-duration:.5s}}

/* Reading stays still; motion supports the imagery and section entrances. */
.chapter-caption{display:none}
.scene-choice-arrow,.tab-arrow,.manifesto h2>span,.offer>.eyebrow>span,
[data-enquire]>span{display:none}
.closing:after{content:'OFFSHIFT';font:800 18vw/1 var(--display);letter-spacing:-.06em;right:var(--pad);top:auto;bottom:16%;color:#cee9670b}
.manifesto:before{color:#cee9670b}
.offer>.eyebrow{justify-content:flex-start;gap:10px}
.offer>.eyebrow:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime)}
@media(max-width:700px){.closing:after{font-size:21vw;right:15px;bottom:27%}}
.approach-list article:hover:not(.in-focus){background:transparent}
.motion-on .approach-list .reveal,.motion-on .offer,.motion-on .practical{transform:none!important}
.hero-away .light-field,.hero-away .signal{animation-play-state:paused}
html:has(body:not(.motion-on)){scroll-behavior:auto}
body:not(.motion-on) *,body:not(.motion-on) *:before,body:not(.motion-on) *:after{animation:none!important;transition:none!important}
@media(max-width:700px){
  .motion-on .reveal,.motion-on .intro h2,.motion-on .manifesto h2,.motion-on .closing h2{transform:none!important}
  .project-browser,.project-browser:hover{transform:none;will-change:auto}
  input,textarea{font-size:16px}
  #motion-toggle,.scene-next{min-height:44px;min-width:44px}
}
