/* Phone reading sections balance visible space around the text.
   Heroes, pinned scenes, sliders, photo bands and the footer keep their own layout. */
@media (max-width: 700px) {
  :root body .valley-footer.valley-footer,
  :root body .sx-footer.sx-footer { padding-bottom: 40px !important; }

  :root body section.continuous-values,
  :root body section#floor-plans.floor-section,
  :root body section#amenities.amenities-section,
  :root body section#facilities-plan.plan-section,
  :root body section.os4-bd,
  :root body section.os4-co,
  :root body section.ov-vm4,
  :root body section.tl,
  :root body section.wr,
  :root body section.ra,
  :root body section.sx-section#views,
  :root body section.sx-section#compare,
  :root body section.fc-glance,
  :root body section.fc-plan,
  :root body section.gl,
  :root body section.sr-cta,
  :root body .lc-page section.lc-dir,
  :root body .lc-page.lc-amenities section.lc-dir,
  :root body section.sm-list {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
  }

  :root body section.continuous-values .cv-quote { margin-bottom: 0; }

  /* The terrace caption already supplies its own closing space. */
  :root body .sx-page[data-page="our-story"] .os4-pt-band {
    padding-bottom: 0 !important;
  }

  :root body .mp-page .mp-landscape .mp-facts {
    padding-bottom: 60px !important;
  }

  :root body .tc-page .tc-body {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
  }

  /* Match the transition from the final development card into the vision scene. */
  :root body section#why-merdu .usp-stage { padding-top: 60px !important; }

  :root body section#valley-living .development-stage,
  :root body .mp-sp2 .mp-sp2-frame,
  :root body .mp-page #overview .mp-pane,
  :root body .rs-homes .rs-homes-frame,
  :root body .sx-page .sg-visit.sg-visit2 .sg-visit-body,
  :root body .sg-visit .sg-visit-body {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
  }

  :root body .mp-page .mp-gen2 .mp-gen2-card,
  :root body .sg-page .sg-find3-card {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
  }

  :root body .ls .ls-head,
  :root body .mp-landscape .mp-facts { padding-top: 40px !important; }
  :root body .ls .ls-pair:last-child,
  :root body section#register-interest.garden-section .garden-form {
    padding-bottom: 60px !important;
  }
  :root body section#register-interest.garden-section .garden-form {
    padding-top: 40px !important;
  }
  :root body .garden-form .form-status.idle:empty { display: none; }

  /* These heads begin below the fixed 80px site header. */
  :root body section.sm-head {
    padding-top: 120px !important;
    padding-bottom: 60px !important;
  }

  /* Reading-section headings keep their final position while fading in.
     The former 24–28px rise looked like extra top space during a normal scroll. */
  :root body .reveal-section .sx-head,
  :root body .reveal-section [data-rise] {
    transform: none !important;
  }
  :root body .reveal-section.is-visible .sx-head,
  :root body .reveal-section.is-visible [data-rise] {
    transition-property: opacity !important;
    transition-duration: .9s !important;
  }
  :root body .reveal-section.is-visible .section-heading {
    animation: mobile-section-heading-fade .9s ease-out both !important;
  }
}

@keyframes mobile-section-heading-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
