/* Kassa Prosto SPb V47: continuous scroll, unified vertical rhythm, quiet aerial depth.
   Safe for Tilda T123 when embedded as <style>. No scroll hijacking. */
#top.kp-float.kp-float-home main{scroll-snap-type:none;overflow-x:clip}
#top.kp-float.kp-float-home main > .kp-float-section:not(#hero):not(#site-footer){
  padding-top:clamp(52px,4.5vw,72px);
  padding-bottom:clamp(52px,4.5vw,72px);
}
#top.kp-float.kp-float-home #process.kp-float-section{padding-top:clamp(40px,3.5vw,60px)}
#top.kp-float.kp-float-home #directions.kp-float-section{padding-bottom:clamp(48px,4vw,64px)}
#top.kp-float.kp-float-home #experience.kp-float-section{padding-top:clamp(48px,4vw,64px)}
#top.kp-float.kp-float-home #faq.kp-float-section{padding-top:clamp(44px,3.6vw,60px)}
#top.kp-float.kp-float-home #contact.kp-float-section{padding-bottom:clamp(48px,4vw,64px)}
/* Keep the 64px transition artwork while avoiding dead bands. */
#top.kp-float.kp-float-home main > .kp-float-section:not(#hero) > .kp-float-transition{
  pointer-events:none;
  transform:translateZ(0);
}
/* Atmosphere is confined to decorative layers and never covers text. */
#top.kp-float.kp-float-home main > :is(#directions,#process,#experience,#pricing,#services,#faq,#contact) > .kp-float-art {
  z-index:0;
  opacity:.66;
  contain:paint;
}
#top.kp-float.kp-float-home main > :is(#directions,#process,#experience,#pricing,#services,#faq,#contact) > .kp-float-art svg {
  filter:drop-shadow(0 16px 30px rgba(60,105,135,.055));
  transform-origin:center;
  animation:kp-v47-atmosphere 28s ease-in-out infinite alternate;
}
#top.kp-float.kp-float-home main > :is(#directions,#process,#experience,#pricing,#services,#faq,#contact) > .kp-float-art svg:nth-child(2){
  animation-duration:34s;
  animation-direction:alternate-reverse;
  opacity:.65;
}
@keyframes kp-v47-atmosphere {
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(0,-12px,0) scale(1.012)}
}
/* Avoid heavy movement, paint work, or cramped sections on smaller screens. */
@media(max-width:1100px){
 #top.kp-float.kp-float-home main > .kp-float-section:not(#hero):not(#site-footer){padding-top:56px;padding-bottom:56px}
 #top.kp-float.kp-float-home #process.kp-float-section,#top.kp-float.kp-float-home #faq.kp-float-section{padding-top:48px}
}
@media(max-width:800px){
 #top.kp-float.kp-float-home main > .kp-float-section:not(#hero):not(#site-footer){padding-top:44px;padding-bottom:48px}
 #top.kp-float.kp-float-home #process.kp-float-section,#top.kp-float.kp-float-home #faq.kp-float-section{padding-top:40px}
 #top.kp-float.kp-float-home main > :is(#directions,#process,#experience,#pricing,#services,#faq,#contact) > .kp-float-art svg{
  animation:none;filter:none;transform:none
 }
}
@media(prefers-reduced-motion:reduce){
 #top.kp-float.kp-float-home main > .kp-float-section > .kp-float-art svg{animation:none!important;transform:none!important}
}
/* Homepage anchors use the single sticky-header offset from html scroll-padding-top. */
#top.kp-float.kp-float-home main > .kp-float-section{scroll-margin-top:0}

/* A quiet volumetric air layer on light chapters: CSS only, no overlay above text. */
#top.kp-float.kp-float-home main > section:is(#directions,#process,#experience,#pricing,#faq){
 background-image:
  radial-gradient(ellipse 48% 24% at 105% 12%,rgba(255,255,255,.57) 0%,rgba(255,255,255,.23) 60%,transparent 100%),
  radial-gradient(ellipse 39% 27% at -10% 85%,rgba(157,194,219,.20) 0%,rgba(184,210,230,.11) 48%,transparent 100%);
 background-repeat:no-repeat;
}
/* Use the browser's native scrolling; anchors glide, wheel scroll is untouched. */
html:has(> body.kp-float-home){scroll-behavior:smooth;scroll-snap-type:none}
@media(max-width:800px){
 #top.kp-float.kp-float-home main > section:is(#directions,#process,#experience,#pricing,#faq){
  background-image:radial-gradient(ellipse 85% 22% at 102% 5%,rgba(255,255,255,.50),transparent 94%);
 }
}
@media(prefers-reduced-motion:reduce){
 html:has(> body.kp-float-home){scroll-behavior:auto}
}
