/* Scroll a pannelli — stile index */
html.snap-enabled{scroll-behavior:auto}
.snap-panel{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;position:relative}
.snap-panel > *{width:100%}
.snap-panel--light{background:var(--warm)}
.snap-panel--footer{min-height:auto;padding:0;justify-content:flex-end}
.snap-panel--footer footer{width:100%}
.snap-panel .site-hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;width:100%}
.snap-panel .steps-strip{flex:1;display:flex;align-items:center}
.snap-panel .classroom-section{flex:1;display:flex;align-items:center}
.snap-panel .sinapsi-section{flex:1;display:flex;align-items:center}
.snap-panel .sinapsi-section .section-inner{width:100%}
.snap-panel .bg-slate{flex:1;display:flex;align-items:center}
.snap-panel .bg-slate > .section-inner{width:100%}
.snap-panel .bg-teal-light{flex:1;display:flex;align-items:center}
.snap-panel .bg-teal-light > .section-inner{width:100%}
.snap-panel--cta{display:flex;align-items:center;justify-content:center;padding:72px 5%}
.snap-panel--cta .cta-bar{margin:0;width:100%;max-width:1100px;border-radius:24px}
.snap-panel--scroll{align-items:flex-start;padding-top:88px;padding-bottom:48px}
.snap-panel--scroll > .section-inner,
.snap-panel--scroll > .steps-inner,
.snap-panel--scroll > .classroom-inner{width:100%;max-width:1100px;margin:0 auto}

aside.snap-dots{position:fixed;right:32px;left:auto;top:50%;bottom:auto;transform:translateY(-50%);z-index:400;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;margin:0;width:auto;pointer-events:none}
aside.snap-dots .snap-dot{pointer-events:auto}
.snap-dot{width:7px;height:7px;border-radius:50%;border:none;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:height .45s cubic-bezier(.22,1,.36,1),background .35s ease,border-radius .45s cubic-bezier(.22,1,.36,1),opacity .35s ease;opacity:.7}
.snap-dot:hover{opacity:1;background:rgba(255,255,255,.6)}
.snap-dot.active{height:28px;border-radius:4px;background:var(--teal-mid);opacity:1;box-shadow:0 0 16px rgba(20,184,166,.35)}
.snap-dot.on-light{background:rgba(15,25,35,.2)}
.snap-dot.on-light:hover{background:rgba(15,25,35,.35)}
.snap-dot.on-light.active{background:var(--teal);box-shadow:0 0 12px rgba(13,148,136,.25)}
.snap-scroll-hint{position:absolute;bottom:28px;right:32px;left:auto;transform:none;display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,.4);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;animation:hint-bounce 2.4s ease-in-out infinite;pointer-events:none;z-index:2}
.snap-scroll-hint svg{width:16px;height:16px;opacity:.65}
@keyframes hint-bounce{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(5px);opacity:1}}

@media(max-width:900px){
  html.snap-enabled .snap-panel{min-height:auto}
  aside.snap-dots,.snap-scroll-hint{display:none}
}
@media(prefers-reduced-motion:reduce){
  aside.snap-dots,.snap-scroll-hint{display:none}
}
