/* Desktop scene steps; touch screens use native scrolling and light snapping. */
:root{scroll-padding-top:var(--header)}
.chapter{scroll-snap-align:start;scroll-snap-stop:normal;scroll-margin-top:0}
.chapter.hero{scroll-margin-top:calc(-1 * var(--header))}
html.scene-guided{scroll-behavior:auto;scroll-snap-type:none}
html.scene-native{scroll-behavior:smooth;scroll-snap-type:y proximity}
html[data-scene-navigation="ready"] .hero{min-height:100svh}
html[data-scene-navigation="ready"] .hero-inner{flex:1}
html[data-scene-navigation="ready"] .chapter:not(.hero){min-height:calc(100svh - var(--header))!important;display:flex;flex-direction:column;justify-content:space-between}
.scene-navigation button{width:27px;height:27px;border:1px solid #8698bd60;border-radius:50%;background:#faf8f1e8;color:#0639e4;display:grid;place-items:center;font-size:16px;line-height:1;margin:7px 0;padding:0;cursor:pointer;transition:background .2s,color .2s}
.scene-navigation button:hover{background:#ffdb38;color:#05235a}
.scene-navigation button:disabled{opacity:.25;cursor:default}
.scene-navigation button:focus-visible{outline:3px solid #ffdb38;outline-offset:3px}
html.scene-native .scene-navigation button{width:44px;height:44px}
.scene-enter>.wrap{animation:scene-enter-v24 .65s cubic-bezier(.22,.7,.22,1) both}
@keyframes scene-enter-v24{from{opacity:.88;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){html.scene-native .scene-navigation{display:none}}
@media(prefers-reduced-motion:reduce){html.scene-native{scroll-behavior:auto;scroll-snap-type:none}.scene-enter>.wrap{animation:none}}
