/* ONLYDROP v447 — unrestricted native scroll with delayed soft settling.
   The page follows the scroll wheel/trackpad freely, including intermediate
   positions. Only after movement stops does JS glide to the closest of three
   stable compositions. Native mandatory snap caused unwanted abrupt jumps. */

.od-home-scroll-anchor,
.od-home-snap-stop { display:none; }

@media (min-width:901px) and (min-height:640px) {
  html body #views #home.view-panel {
    height:100dvh !important;
    max-height:100dvh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior-y:contain !important;
    scroll-snap-type:none !important;
    overflow-anchor:none !important;
    scroll-behavior:auto !important;
    scrollbar-width:none !important;
  }
  html body #views #home.view-panel::-webkit-scrollbar {
    display:none !important;
  }

  /* A 1px marker gives the first snap point a stable layout box without
     turning the sticky artwork itself into a constantly-moving snap target. */
  html body #views #home > .od-home-scroll-anchor {
    display:block !important;
    height:1px !important;
    min-height:1px !important;
    scroll-snap-align:none !important;
    scroll-snap-stop:normal !important;
    pointer-events:none !important;
  }
  html body #views #home > .od-home-snap-stop {
    display:block !important;
    width:100% !important;
    height:100dvh !important;
    min-height:100dvh !important;
    scroll-snap-align:none !important;
    scroll-snap-stop:normal !important;
    pointer-events:none !important;
    background:transparent !important;
  }

  /* The existing UI and card grid remain pinned inside the viewport
     as the native scroll travels past the three invisible snap anchors. */
  html body #views #home .index-screen {
    position:sticky !important;
    top:0 !important;
    z-index:2 !important;
    width:100% !important;
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:0 !important;
    overflow:hidden !important;
    padding-top:var(--od-scroll-top-pad,clamp(44px,5.6vh,66px)) !important;
    padding-right:var(--od-scroll-side-pad,clamp(24px,3.35vw,68px)) !important;
    padding-bottom:var(--od-scroll-bottom-pad,clamp(13px,1.7vh,21px)) !important;
    padding-left:var(--od-scroll-side-pad,clamp(24px,3.35vw,68px)) !important;
    gap:var(--od-scroll-gap,clamp(6px,.85vh,12px)) !important;
    transition:none !important;
  }

  /* The grid alone expands horizontally. The name, location and bottom
     links retain their ORIGINAL left/right coordinates at every scroll
     position; the margin compensates for the changing page padding. */
  html body #views #home .index-intro,
  html body #views #home .index-topline,
  html body #views #home .index-footer.od-footer-v76 {
    margin-left:var(--od-scroll-static-inset,0px) !important;
    margin-right:var(--od-scroll-static-inset,0px) !important;
  }

  /* Reflowable title container with an unchanged font-face and unchanged
     internal horizontal glyph-fit: ONLY the outer two-line composition
     is scaled uniformly. Its reserved height follows the same scale. */
  html body #views #home .index-intro {
    position:relative !important;
    z-index:6 !important;
    flex:0 0 auto !important;
    min-height:var(--od-scroll-intro-height,clamp(137px,19vh,200px)) !important;
    max-height:var(--od-scroll-intro-height,clamp(137px,19vh,200px)) !important;
    height:var(--od-scroll-intro-height,clamp(137px,19vh,200px)) !important;
    padding:0 !important;
    align-items:center !important;
    isolation:isolate;
    transition:none !important;
  }
  html body #views #home .index-name-block {
    position:relative !important;
    z-index:7 !important;
    zoom:1 !important;
    translate:none !important;
    transform:none !important;
    min-width:0 !important;
  }
  html body #views #home .index-name-block > .od-home-title-scale {
    display:block !important;
    position:relative !important;
    width:min(100%,620px) !important;
    height:var(--od-scroll-title-height,auto) !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  html body #views #home .od-home-title-scale > h1.index-name-lockup {
    transform:scale(var(--od-scroll-title-scale,1)) !important;
    transform-origin:top left !important;
    transition:none !important;
    margin:0 !important;
  }
  html body #views #home .index-name-lockup .name-line-primary,
  html body #views #home .index-name-lockup .name-line-secondary {
    transition:none !important;
    /* Intentionally do not override their original scaleX fitting. */
  }
  html body #views #home .index-name-block .index-alias {
    position:relative !important;
    z-index:7 !important;
    font-size:var(--od-scroll-subtitle-size,clamp(10px,.85vw,13px)) !important;
    margin-top:var(--od-scroll-subtitle-gap,clamp(3px,.7vh,8px)) !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    transition:none !important;
  }
  html body #views #home .index-3d-stage {
    height:var(--od-scroll-stage-height,clamp(104px,15vh,162px)) !important;
    min-height:0 !important;
    opacity:var(--od-scroll-stage-opacity,1) !important;
    pointer-events:none !important;
    transition:none !important;
    overflow:hidden !important;
  }

  html body #views #home .category-menu {
    position:relative !important;
    z-index:2 !important;
    flex:1 1 0 !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:translate3d(0,var(--od-scroll-gallery-y,0px),0) !important;
    transition:none !important;
    will-change:transform;
  }

  html body #views #home .index-screen > .od-reflection-floor-space {
    flex:0 0 var(--od-scroll-reflection-height,clamp(78px,11vh,116px)) !important;
    height:var(--od-scroll-reflection-height,clamp(78px,11vh,116px)) !important;
    min-height:0 !important;
    max-height:var(--od-scroll-reflection-height,clamp(78px,11vh,116px)) !important;
    transition:none !important;
  }
  html body #views #home .index-screen > canvas#odReflectionV185.is-ready {
    opacity:var(--od-scroll-reflection-opacity,1) !important;
  }

  html body #views #home .index-atmosphere > .od-index-background-art {
    transform-origin:50% 0% !important;
    transform:translate3d(-50%,var(--od-scroll-art-y,0px),0)
              scale(var(--od-scroll-art-scale,1)) !important;
    opacity:var(--od-scroll-art-opacity,1) !important;
    transition:none !important;
    will-change:transform,opacity;
  }

  html body #views #home .index-footer.od-footer-v76 {
    flex:0 0 auto !important;
    min-height:32px !important;
    position:relative !important;
    z-index:9 !important;
  }

  /* The crosses were removed from the HTML; this guards against cached
     markup while preserving the animated top hover rail. */
  html body #views #home .category-card .od-corner-cross,
  html body #views #home .category-card .od-corner-cross::before,
  html body #views #home .category-card .od-corner-cross::after {
    display:none !important;
    content:none !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  html body #views #home.view-panel {
    scroll-behavior:auto !important;
  }
}
