/* Pixel viewport is captured by screen-layout.js, not a dynamic vh/dvh unit. */
html[data-screen-layout="stable"] {
  --screen-frame-gap: 24px;
  scroll-snap-type: none;
  scroll-padding-block: var(--screen-frame-gap);
}
html[data-screen-layout="stable"] #main > section.section {
  scroll-snap-align: none;
  scroll-snap-stop: normal;
  /* Supersede older section-specific 110px anchor offsets in this mode. */
  scroll-margin-block: 0 !important;
}
html[data-screen-layout="stable"] #main > section.section:not(#top) {
  height: auto;
  min-height: calc(var(--dari-screen-height) - var(--screen-frame-gap) * 2);
}
html[data-screen-layout="stable"] body[data-hero-scene="hidden-current"] #top {
  aspect-ratio: auto;
  height: calc(var(--dari-screen-height) - 32px);
  min-height: max(520px, var(--hc-desktop-min-height,520px));
}
body[data-hero-scene="hidden-current"] .hc-layer { object-fit: cover; object-position: center top; }
body[data-hero-scene="hidden-current"] .hc-portrait > img { object-fit: cover; object-position: center top; }
/* Keep the secondary label readable if the responsive cherry boundary crosses it. */
body[data-hero-scene="hidden-current"] .hc-cta-secondary { background:rgb(255 248 232 / .76); }
body[data-hero-scene="hidden-current"] .hc-photo-light { mask-size:cover; -webkit-mask-size:cover; mask-position:center top; -webkit-mask-position:center top; }
body[data-hero-scene="hidden-current"] .site-header {
  position:absolute;
  opacity:1;
  transform:translate3d(0,0,0);
  transition:transform 620ms cubic-bezier(.22,1,.36,1), background-color 650ms ease, border-color 650ms ease, box-shadow 650ms ease;
}
body[data-hero-scene="hidden-current"] .site-header.is-floating { position:fixed; }
body[data-hero-scene="hidden-current"] .site-header:not(.is-floating):not(.nav-open) > .button {
  visibility: hidden;
  pointer-events: none;
}
body[data-hero-scene="hidden-current"] .site-header[data-nav-relocating] { transition:background-color 650ms ease, border-color 650ms ease, box-shadow 650ms ease; }
body[data-hero-scene="hidden-current"] .site-header.is-hidden {
  transform:translate3d(0,calc(-100% - 40px),0);
}
html[data-scroll-free] { scroll-snap-type:none; }
html[data-section-settling] { scroll-behavior:auto !important; }
@media (max-width:900px) {
  html[data-screen-layout="stable"] { --screen-frame-gap:14px; }
  html[data-screen-layout="stable"] body[data-hero-scene="hidden-current"] #top {
    height:auto;
    min-height:calc(var(--dari-screen-height) - 28px);
  }
  .hc-scene { min-height:inherit; }
  .hc-note { display:none; }
  .hc-visual { height:var(--hc-photo-height, 330px); flex:none; aspect-ratio:auto; }
  .hc-photo-light {
    mask-image:linear-gradient(transparent 0 var(--hc-face-safe-y,240px),#000 calc(var(--hc-face-safe-y,240px) + 80px));
    -webkit-mask-image:linear-gradient(transparent 0 var(--hc-face-safe-y,240px),#000 calc(var(--hc-face-safe-y,240px) + 80px));
  }
}
@media (prefers-reduced-motion:reduce) {
  html[data-screen-layout="stable"] { scroll-snap-type:none; scroll-behavior:auto; }
  body[data-hero-scene="hidden-current"] .site-header { transition:none; }
}
