/* CauseLane V9 — anchored geology / orbit-driven responsive scenes. */
:root{--clv9-flow:0;--clv9-sweep:0;--clv9-touch:0;--clv9-stage:0;color-scheme:dark}
/* Land is fixed to the viewport during the sticky journey; it does not translate with the storytelling panels. */
.orbit-sticky{isolation:isolate;overflow:hidden;background:#07090d}
.orbit-sticky .landscape,.orbit-sticky .terrain-shadow{transform:none!important;animation:none!important;will-change:auto!important}
.orbit-sticky .landscape{background-repeat:no-repeat;background-size:100% 100%!important;background-position:center bottom!important}
.orbit-sticky .landscape-far{z-index:5;bottom:0;height:clamp(215px,31vh,355px);opacity:.9}
.orbit-sticky .landscape-mid{z-index:7;bottom:0;height:clamp(195px,28vh,320px);opacity:1}
.orbit-sticky .landscape-near{z-index:9;bottom:0;height:clamp(175px,25vh,295px);opacity:1}
.orbit-sticky .terrain-shadow{z-index:10;bottom:0;height:8%;pointer-events:none}
.orbit-sticky .horizon-glow{z-index:4;opacity:.68}
/* Visible celestial movement belongs exclusively to the sky, planets, orbit markers and story. */
.orbit-sticky .sky-layer{transform:translate3d(calc(var(--clv9-flow)*-48px),calc(var(--clv9-flow)*-120px),0) rotate(calc(var(--clv9-flow)*-2.7deg))!important;transform-origin:64% 45%;will-change:transform}
.orbit-sticky .planet-top{transform:translate3d(calc(var(--clv9-flow)*96px),calc(var(--clv9-flow)*95px),0) rotate(calc(var(--clv9-flow)*85deg))!important;will-change:transform}
.orbit-sticky .planet-right{transform:translate3d(calc(var(--clv9-flow)*-108px),calc(var(--clv9-flow)*-96px),0) rotate(calc(var(--clv9-flow)*-120deg))!important;will-change:transform}
.orbit-sticky .orbit-brand-scene{transform:translate3d(calc(var(--clv9-flow)*-95px),calc(var(--clv9-flow)*-125px),0) rotate(calc(var(--clv9-flow)*-22deg)) scale(calc(.92 + var(--clv9-flow)*.15))!important;transform-origin:48% 50%;will-change:transform}
.orbit-sticky .scene-object{transform:translate3d(calc(var(--clv9-flow)*var(--tx)),calc(var(--clv9-flow)*var(--ty)),0)!important}
.orbit-sticky .story-panel.is-active{transition:transform .55s cubic-bezier(.18,.75,.2,1),opacity .45s;transform:translate3d(0,calc(var(--clv9-stage)*-12px),0)}
.orbital-controls{pointer-events:auto}
/* Closing section, each 3D depth plane has independent positioning; landscape never scroll-drifts. */
.closing{isolation:isolate;overflow:hidden}
.closing .closing-terrain{transform:none!important;animation:none!important;background-position:50% bottom!important;background-size:100% 100%!important}
.closing .closing-far{z-index:4}.closing .closing-mid{z-index:6}.closing .closing-near{z-index:8}
.closing .closing-sky{transform:translate3d(calc(var(--clv9-sweep)*-28px),calc(var(--clv9-sweep)*-28px),0)!important}
.closing .closing-mark{transform:translate3d(calc(var(--clv9-sweep)*-35px),calc(var(--clv9-sweep)*-45px),0) rotate(calc(var(--clv9-sweep)*10deg))!important}
.closing .closing-planet{transform:translate3d(calc(var(--clv9-sweep)*-40px),calc(var(--clv9-sweep)*24px),0)!important}
.closing .content-width{position:relative;z-index:19}
/* Scroll gestures create reversible, physical-depth effects on content; never move the terrain. */
.clv9-floating{--clv9-drift:0;transform:translate3d(0,calc(var(--clv9-drift)*var(--clv9-range,14px)),0)!important;will-change:transform;transition:filter .2s ease}
.clv9-floating:hover{filter:brightness(1.14)}
/* Site-wide navigable cosmos on inner routes. Overlay and fixed geology live BEHIND the content. */
.clv9-world{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:layout paint;background:radial-gradient(ellipse 80% 60% at 70% 75%,#48211c 0%,#1e1218 38%,#090a0d 85%)}
.clv9-world:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 63%,#ff784526 0%,transparent 35%)}
.clv9-world .clv9-orbits{position:absolute;inset:0;width:100%;height:75%;overflow:visible;transform:translate3d(calc(var(--clv9-flow)*-32px),calc(var(--clv9-flow)*-42px),0) rotate(calc(var(--clv9-flow)*-2deg));opacity:.55}
.clv9-world .clv9-orbits path{stroke:#d87559;stroke-width:.85;fill:none;stroke-opacity:.4}
.clv9-world .clv9-orbits circle{fill:#ffc7a4;filter:drop-shadow(0 0 10px #ff6f48)}
.clv9-world .clv9-world-mountains{position:absolute;inset:auto 0 0;height:clamp(210px,31vh,340px);background-size:100% 100%;background-position:50% bottom;background-repeat:no-repeat}
.clv9-world .clv9-world-mountains.far{background-image:url('/assets/terrain-far-cutout.webp');opacity:.65;z-index:1}
.clv9-world .clv9-world-mountains.mid{background-image:url('/assets/terrain-mid-cutout.webp');opacity:.85;z-index:2}
.clv9-world .clv9-world-mountains.near{background-image:url('/assets/terrain-near-cutout.webp');opacity:.93;z-index:3}
.clv9-world .clv9-world-mask{position:absolute;inset:0;z-index:5;background:linear-gradient(180deg,#090a0d88 0%,#08090aa8 32%,#08090a74 74%,#07080ae5 100%)}
body.clv9-inner{background:#090a0d!important}
body.clv9-inner > .site-header,body.clv9-inner > main,body.clv9-inner > footer{position:relative;z-index:1}
body.clv9-inner main section{background-color:rgba(8,9,13,.79)!important}
body.clv9-inner .subhero,body.clv9-inner .experience-intro{background:transparent!important}
body.clv9-inner .site-header{position:fixed!important;z-index:999}
body.clv9-inner main h1{font-size:clamp(36px,5vw,64px)!important;line-height:1.1!important;letter-spacing:-.06em!important}
body.clv9-inner main h2{font-size:clamp(27px,3.4vw,49px)!important;line-height:1.12!important}
body.clv9-inner .nav-contact{white-space:nowrap}
/* Responsive safe-area geometry: independent ground stays below all buttons. */
@media(max-width:700px){
 .topbar{height:clamp(57px,8svh,66px)!important;padding-inline:16px!important}
 .brand{font-size:17px!important;gap:9px!important}
 .brand-c{font-size:28px!important}
 .mobile-nav{top:clamp(57px,8svh,66px)!important}
 .orbit-journey{--mobile-height:max(760px,100svh)}
 .orbit-sticky{height:100svh!important;min-height:700px!important;max-height:1000px!important;overflow:hidden}
 .story-wrap{top:clamp(57px,8svh,66px)!important;bottom:auto!important;height:51%!important;min-height:360px;align-items:flex-start!important;padding:20px 19px 0!important}
 .story-panels{margin:0!important;width:100%!important;height:100%!important;min-height:0!important}
 .story-panel h1{font-size:clamp(36px,8.7vw,49px)!important;line-height:1.08!important;letter-spacing:-.04em!important;margin-bottom:18px!important}
 .story-panel h2{font-size:clamp(32px,8.4vw,45px)!important;line-height:1.08!important;margin-bottom:14px!important}
 .eyebrow{font-size:8.5px!important;letter-spacing:.15em!important;margin-bottom:13px!important;line-height:1.5}
 .story-subtitle{font-size:14px!important;margin-bottom:9px!important}
 .story-description{font-size:12.5px!important;line-height:1.45!important;max-width:42ch!important;margin-bottom:15px!important}
 .story-actions{flex-wrap:wrap!important;gap:7px!important}
 .action{font-size:10.5px!important;padding:9px 13px!important;min-height:39px!important;gap:9px!important}
 .small-note{font-size:8px!important;margin-top:13px!important;letter-spacing:.04em!important}
 .orbit-brand-scene{top:56%!important;right:3%!important;width:min(57vw,260px)!important;opacity:calc(.8 - var(--clv9-flow)*.3)!important;z-index:3!important}
 .planet-top{left:-10%;top:4%;width:100px;height:100px}
 .planet-right{right:-13%;top:50%;width:120px;height:120px}
 .scene-vignette{z-index:11!important;background:linear-gradient(180deg,#07090cda 0%,#08090cae 38%,transparent 70%,#07080a44 100%)!important}
 .landscape-far,.landscape-mid,.landscape-near{height:clamp(170px,23svh,230px)!important;background-size:100% 100%!important;background-position:center bottom!important}
 .landscape-far{height:clamp(195px,27svh,270px)!important}
 .landscape-mid{height:clamp(184px,25svh,250px)!important}
 .landscape-near{height:clamp(160px,22svh,210px)!important}
 .orbital-controls{bottom:10px!important;left:12px!important;right:12px!important}
 .orbit-step{min-height:38px;display:grid;place-items:center;padding:9px 4px!important}
 .orbit-step b{font-size:10px!important}
 .orbit-step span{font-size:8px}
 .closing{min-height:620px;padding-top:82px!important;padding-bottom:220px!important}
 .closing .closing-terrain{height:clamp(150px,26svh,225px)!important;background-size:100% 100%!important}
 .closing .closing-mark{top:50%!important;right:3%!important;width:58vw!important;opacity:.85}
 .clv9-world .clv9-world-mountains{height:190px}
 body.clv9-inner main h1{font-size:clamp(35px,9vw,48px)!important}
 body.clv9-inner main h2{font-size:clamp(28px,7.3vw,39px)!important}
 body.clv9-inner .subhero,body.clv9-inner .experience-intro{padding-top:116px!important;padding-inline:22px!important}
 body.clv9-inner .footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(max-width:390px){
 .story-wrap{padding-inline:17px!important;height:54%!important}
 .story-panel h1{font-size:clamp(35px,8.6vw,40px)!important}
 .story-description{font-size:12px!important}
 .orbit-brand-scene{top:59%!important;width:54vw!important;right:2%!important}
 .story-actions{gap:6px!important}
 .action{font-size:10px!important;padding:9px 11px!important}
}
@media(prefers-reduced-motion:reduce){.clv9-floating,.clv9-world .clv9-orbits,.orbit-sticky .sky-layer,.orbit-sticky .planet-top,.orbit-sticky .planet-right,.orbit-sticky .orbit-brand-scene{animation:none!important;transition:none!important;transform:none!important}}