/* Shared viewport scenes, navigation and responsive spacing for all E2GO pages. */
:root{--header-height:82px;--scene-pad:clamp(24px,4vw,108px)}
html{height:100%;scroll-padding:0}body{height:100%;overflow:hidden}


.scene-flow{height:100svh;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-y:none;outline:none}.scene-flow::-webkit-scrollbar{display:none}.scene{width:100%;height:100svh;min-height:100svh;max-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;position:relative;overflow:hidden;isolation:isolate}
.scene.section-pad{padding:calc(var(--header-height) + clamp(24px,4vh,60px)) var(--scene-pad) clamp(24px,4vh,60px);display:flex;flex-direction:column}.scene-scroll{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#a8ad9d transparent;overscroll-behavior-y:auto}.scene-nav{position:fixed;right:15px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3px;z-index:25}.scene-nav button{position:relative;width:25px;height:25px;padding:0;display:grid;place-items:center}.scene-nav button:after{content:'';width:5px;height:5px;border-radius:50%;background:#737c6c;box-shadow:0 0 0 3px #f5f5ef70;transition:background .3s,transform .3s}.scene-nav button[aria-current="true"]:after{background:var(--orange);transform:scale(1.6)}.scene-nav button span{position:absolute;right:32px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:3px;font-size:10px;white-space:nowrap;opacity:0;pointer-events:none;transform:translateX(6px);transition:.25s}.scene-nav button:hover span,.scene-nav button:focus-visible span{opacity:1;transform:none}

/* Scene content enters after its background has settled. */
.js-motion .scene .reveal{transition-delay:.12s!important}.js-motion .scene.is-active .reveal{opacity:1;transform:none}
@media(min-width:1800px){.scene.section-pad{padding-top:calc(var(--header-height) + 6vh);padding-bottom:5vh}}
@media(max-height:800px) and (min-width:761px){:root{--header-height:70px}.scene.section-pad{padding-top:calc(var(--header-height) + 20px);padding-bottom:22px}}
@media(max-width:760px){:root{--header-height:68px;--scene-pad:24px}.scene-nav{right:3px;gap:1px}.scene-nav button{width:19px;height:22px}.scene-nav button:after{width:4px;height:4px;box-shadow:none}.scene-nav button span{display:none}.scene.section-pad{padding:calc(var(--header-height) + 24px) 24px 24px}.scene-scroll{scrollbar-width:none}}
@media(prefers-reduced-motion:reduce){.scene-flow{scroll-behavior:auto}.js-motion .scene .reveal{opacity:1;transform:none}}

/* Reuse the section's inner scrolling on short viewports, without changing snap height. */
.scene-scroll--compact{display:contents}
@media(max-height:600px){
  .scene-scroll--compact{display:block;min-height:0;flex:1;width:100%;overflow-y:auto;overflow-x:hidden}
}
