/* home-page: section height tuning (promoted from staging) — unified media-query ladder.
   Extends index.html @media (max-width:3432px) and (max-height:1308px) rules;
   vars + selectors live in the same block (no two-phase desync). */

/* Structural baseline — desktop h≤1308 */
@media (min-width:768px) and (max-height:1308px) {
  body.home-page {
    --section-1-min-h: 90svh;
    --section-2-min-h: 75vh;
    --section-3-min-h: 85vh;
    --section-4-min-h: 85vh;
    --section-5-min-h: 70vh;
    --section-stack-overlap: -3rem;
    --section-stack-overlap-deep: -3.5rem;
    --section-scroll-pad: calc(var(--header-inflow-height) + .5rem);
  }
  body.home-page .hero-section { min-height: var(--section-1-min-h) !important; }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: var(--section-2-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: 3.5rem !important;
  }
  body.home-page .sticky-dark-section {
    min-height: var(--section-3-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap-deep) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: 3.5rem !important;
  }
  body.home-page #boek-sectie {
    min-height: var(--section-4-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap-deep) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: 3.5rem !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: var(--section-5-min-h) !important;
    max-height: none !important;
    display: flex;
    flex-direction: column;
    justify-content: center !important;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
    margin-top: var(--section-stack-overlap-deep) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: 3.5rem !important;
  }
  body.home-page #offerte > .max-w-container-max,
  body.home-page #offerte > .site-content-width { min-height: auto !important; }
}

/* Tier A — h≤900: tighter vars; hero + offerte with full spacing (beats sb-footer-after-cta) */
@media (min-width:768px) and (max-height:900px) {
  body.home-page {
    --section-1-min-h: 83svh;
    --section-2-min-h: 64vh;
    --section-3-min-h: 74vh;
    --section-4-min-h: 74vh;
    --section-5-min-h: 60vh;
    --section-stack-overlap: -2rem;
    --section-stack-overlap-deep: -2.5rem;
    --section-scroll-pad: calc(var(--header-inflow-height) + 1rem);
  }
  body.home-page .hero-section {
    min-height: var(--section-1-min-h) !important;
    padding-top: 2rem !important;
  }
  body.home-page.sb-footer-after-cta #offerte,
  body.home-page.sb-footer-after-cta .scroll-reveal-cta,
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: var(--section-5-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
    margin-bottom: var(--section-stack-overlap-deep) !important;
  }
  body.home-page #offerte > .max-w-container-max,
  body.home-page #offerte > .site-content-width { min-height: auto !important; }
}

/* h≤800 laptop — preserved tuned vars + middle sections */
@media (min-width:768px) and (max-height:800px) {
  body.home-page {
    --section-1-min-h: 80svh;
    --section-2-min-h: 58vh;
    --section-3-min-h: 68vh;
    --section-4-min-h: 68vh;
    --section-5-min-h: 55vh;
    --section-stack-overlap: -2rem;
    --section-stack-overlap-deep: 0;
    --section-scroll-pad: calc(var(--header-inflow-height) + 1.15rem);
  }
  body.home-page .hero-section {
    min-height: var(--section-1-min-h) !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
  }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: var(--section-2-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
  }
  body.home-page .sticky-dark-section {
    min-height: var(--section-3-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
  }
  body.home-page #boek-sectie {
    min-height: var(--section-4-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
    margin-bottom: var(--section-stack-overlap-deep) !important;
  }
  body.home-page #werkzaamheden > .site-content-width,
  body.home-page .sticky-dark-section > .site-content-width,
  body.home-page #boek-sectie > .site-content-width {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
  }
  body.home-page.sb-footer-after-cta #site-footer-enhanced,
  body.home-page.sb-footer-after-cta .sb-footer {
    margin-top: -3rem !important;
  }
}

/* Tier B — h≤800 portrait tablet: #werkzaamheden height override (not iPad Pro h>800) */
@media (min-width:768px) and (max-height:800px) and (max-width:1366px) and (orientation:portrait) {
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 70vh !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
  }
}

/* Tier C — h≤700: extra reductions + complete section overrides */
@media (min-width:768px) and (max-height:700px) {
  body.home-page {
    --section-1-min-h: 72svh;
    --section-2-min-h: 48vh;
    --section-3-min-h: 56vh;
    --section-4-min-h: 56vh;
    --section-5-min-h: 44vh;
    --section-stack-overlap: -2.5rem;
    --section-stack-overlap-deep: 0;
    --section-scroll-pad: calc(var(--header-inflow-height) + 1.5rem);
  }
  body.home-page .hero-section { min-height: var(--section-1-min-h) !important; }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: var(--section-2-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
  }
  body.home-page .sticky-dark-section {
    min-height: var(--section-3-min-h) !important;
    max-height: none !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
  }
  body.home-page #boek-sectie {
    min-height: var(--section-4-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
    margin-bottom: var(--section-stack-overlap-deep) !important;
  }
  body.home-page.sb-footer-after-cta #offerte,
  body.home-page.sb-footer-after-cta .scroll-reveal-cta,
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: var(--section-5-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
    margin-bottom: var(--section-stack-overlap-deep) !important;
  }
  body.home-page #werkzaamheden > .site-content-width,
  body.home-page .sticky-dark-section > .site-content-width,
  body.home-page #boek-sectie > .site-content-width,
  body.home-page #offerte > .max-w-container-max,
  body.home-page #offerte > .site-content-width {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
  }
  body.home-page #offerte > .max-w-container-max,
  body.home-page #offerte > .site-content-width { min-height: auto !important; }
}

/* Mobile portrait — hero spacing (phones only) */
@media (max-width: 767px) and (orientation: portrait) {
  body.home-page .hero-section {
    margin-top: 0 !important;
    padding-top: calc(0px + 2rem) !important;
  }
}

/* Tablet portrait — iPad Mini class (~768–819px wide) */
@media (min-width: 768px) and (max-width: 819px) and (orientation: portrait) {
  body.home-page .hero-section {
    min-height: 100vh !important;
    padding-top: 3rem !important;
  }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 100vh !important;
    max-height: none !important;
  }
  body.home-page .sticky-dark-section {
    min-height: 150vh !important;
    max-height: none !important;
  }
  body.home-page #boek-sectie {
    min-height: 150vh !important;
    max-height: none !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: 115vh !important;
    max-height: none !important;
  }
  body.home-page.sb-footer-after-cta #offerte,
  body.home-page.sb-footer-after-cta .scroll-reveal-cta {
    margin-bottom: 0 !important;
    padding-bottom: 2rem !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer {
    margin-top: 0 !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer__surface {
    padding-top: 110px !important;
  }
}

/* Tablet portrait — iPad Air class (~820–1023px wide) */
@media (min-width: 820px) and (max-width: 1023px) and (orientation: portrait) {
  body.home-page .hero-section {
    min-height: 90svh !important;
    padding-top: 3rem !important;
  }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 90vh !important;
    max-height: none !important;
  }
  body.home-page .sticky-dark-section {
    min-height: 130vh !important;
    max-height: none !important;
  }
  body.home-page #boek-sectie {
    min-height: 125vh !important;
    max-height: none !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: 100vh !important;
    max-height: none !important;
  }
  body.home-page.sb-footer-after-cta #offerte,
  body.home-page.sb-footer-after-cta .scroll-reveal-cta {
    margin-bottom: 0 !important;
    padding-bottom: 2.5rem !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer {
    margin-top: 0 !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer__surface {
    padding-top: 80px !important;
  }
}

/* Tablet portrait — iPad Pro class (~1024px+ wide) */
@media (min-width: 1024px) and (orientation: portrait) {
  body.home-page .hero-section {
    min-height: 80svh !important;
    padding-top: 3rem !important;
  }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 80vh !important;
    max-height: none !important;
  }
  body.home-page .sticky-dark-section {
    min-height: 110vh !important;
    max-height: none !important;
  }
  body.home-page #boek-sectie {
    min-height: 80vh !important;
    max-height: none !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: 60vh !important;
    max-height: none !important;
  }
  body.home-page.sb-footer-after-cta #offerte,
  body.home-page.sb-footer-after-cta .scroll-reveal-cta {
    margin-bottom: 0 !important;
    padding-bottom: 1rem !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer {
    margin-top: 0 !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer__surface {
    padding-top: 110px !important;
  }
}

/* Laptop — 13" laptops, iPad landscape (1024–1439px wide).
   Landscape only so iPad Pro portrait (1024px) keeps portrait blocks above.
   min-height:801px defers to height ladder (Tier A / h≤800 / Tier C). */
@media (min-width: 1024px) and (max-width: 1439px) and (orientation: landscape) and (min-height: 801px) and (max-height: 1308px) {
  body.home-page {
    --section-1-min-h: 100svh;
    --section-2-min-h: 100svh;
    --section-3-min-h: 130svh;
    --section-4-min-h: 110svh;
    --section-5-min-h: 90svh;
    --section-stack-overlap: -3rem;
    --section-stack-overlap-deep: -3.5rem;
    --section-scroll-pad: calc(var(--header-inflow-height) + 6.5rem);
  }
  body.home-page .hero-section {
    min-height: var(--section-1-min-h) !important;
    margin-top: -3rem !important;
  }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    max-height: none !important;
    margin-top: -3rem !important;
  }
  body.home-page .sticky-dark-section {
    min-height: var(--section-3-min-h) !important;
    max-height: none !important;
    margin-top: -3rem !important;
  }
  body.home-page #boek-sectie {
    min-height: var(--section-4-min-h) !important;
    max-height: none !important;
    margin-top: -3rem !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: var(--section-5-min-h) !important;
    max-height: none !important;
    display: flex;
    flex-direction: column;
    justify-content: center !important;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
    margin-top: -3rem !important;
  }
  body.home-page #offerte > .max-w-container-max,
  body.home-page #offerte > .site-content-width { min-height: auto !important; }
  body.home-page.sb-footer-after-cta #offerte,
  body.home-page.sb-footer-after-cta .scroll-reveal-cta {
    margin-bottom: 0 !important;
    padding-bottom: 2.5rem !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer {
    margin-top: 0 !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer__surface {
    padding-top: 90px !important;
  }
}

/* Desktop — standard monitors (1440–1919px wide). Comfortable baseline heights. */
@media (min-width: 1440px) and (max-width: 1919px) and (min-height: 801px) and (max-height: 1308px) {
  body.home-page {
    --section-1-min-h: 100svh;
    --section-2-min-h: 100svh;
    --section-3-min-h: 130svh;
    --section-4-min-h: 110svh;
    --section-5-min-h: 90svh;
    --section-stack-overlap: -3rem;
    --section-stack-overlap-deep: -3.5rem;
    --section-scroll-pad: calc(var(--header-inflow-height) + 6.5rem);
  }
  body.home-page .hero-section {
    min-height: var(--section-1-min-h) !important;
    margin-top: -3rem !important;
  }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    max-height: none !important;
    margin-top: -3rem !important;
    padding: 0 !important;
  }
  body.home-page .sticky-dark-section {
    min-height: var(--section-3-min-h) !important;
    max-height: none !important;
    margin-top: -3rem !important;
    padding: 0 !important;
  }
  body.home-page #boek-sectie {
    min-height: var(--section-4-min-h) !important;
    max-height: none !important;
    margin-top: -3rem !important;
    padding: 0 !important;
  }
  body.home-page #offerte > .max-w-container-max,
  body.home-page #offerte > .site-content-width { min-height: auto !important; }
  body.home-page.sb-footer-after-cta .sb-footer {
    margin-top: 0 !important;
  }
  body.home-page.sb-footer-after-cta .sb-footer__surface {
    padding-top: 80px !important;
  }
}

@media (min-width: 1440px) and (max-width: 1919px) and (min-height: 801px) and (max-height: 1308px) {
  body.home-page.sb-footer-after-cta #offerte,
  body.home-page.sb-footer-after-cta .scroll-reveal-cta,
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: var(--section-5-min-h) !important;
    max-height: none !important;
    margin-top: var(--section-stack-overlap) !important;
    padding-top: var(--section-scroll-pad) !important;
    padding-bottom: var(--section-scroll-pad) !important;
    margin-bottom: var(--section-stack-overlap-deep) !important;
    padding: 0 !important;
  }
}

@media (min-width: 1440px) and (max-width: 1919px) and (min-height: 801px) and (max-height: 1308px) {
  body.home-page.sb-footer-after-cta #offerte,
  body.home-page.sb-footer-after-cta .scroll-reveal-cta,
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: var(--section-5-min-h) !important;
    max-height: none !important;
    padding: 0 !important;
    min-height: 100svh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
  }
}

/* Large desktop — 1080p+ wide, ultrawide (1920px+). Per-section heights. */
@media (min-width: 1920px) and (min-height: 801px) and (max-height: 1308px) {
  body.home-page .hero-section {
    min-height: 120vh !important;
  }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
  body.home-page .sticky-dark-section {
    min-height: 120vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
  body.home-page #boek-sectie {
    min-height: 120vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
  body.home-page #offerte > .max-w-container-max,
  body.home-page #offerte > .site-content-width { min-height: auto !important; }
  body.home-page.sb-footer-after-cta .sb-footer {
    margin-top: 0 !important;
  }
  body.home-page #site-footer-enhanced .sb-footer__surface,
  body.home-page .sb-footer__surface {
    min-height: 100vh !important;
    display: flex !important;
    justify-content: center !important;
    flex-direction: column !important;
    border-top-left-radius: 40px !important;
    border-top-right-radius: 40px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
}

/* Tall laptop — landscape 1024–1439px, h>1308 (4K / tall external displays) */
@media (min-width: 1024px) and (max-width: 1439px) and (orientation: landscape) and (min-height: 1309px) {
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 50vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
  body.home-page .sticky-dark-section {
    min-height: 55vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
  body.home-page #boek-sectie {
    min-height: 50vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: 45vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
}

/* Tall desktop — 1440–1919px wide, h>1308 */
@media (min-width: 1440px) and (max-width: 1919px) and (min-height: 1309px) {
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 50vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
  body.home-page .sticky-dark-section {
    min-height: 55vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
  body.home-page #boek-sectie {
    min-height: 50vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: 45vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
}

/* Tall large desktop — 1920px+ wide, h>1308 (beats index min-height:auto @ min-height:1000px) */
@media (min-width: 1920px) and (min-height: 1309px) {
  body.home-page .hero-section {
    min-height: 90vh !important;
  }
  body.home-page #werkzaamheden,
  body.home-page .sticky-light-section#werkzaamheden {
    min-height: 55vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
  body.home-page .sticky-dark-section {
    min-height: 70vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
  body.home-page #boek-sectie {
    min-height: 70vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
  body.home-page #offerte,
  body.home-page .scroll-reveal-cta {
    min-height: 60vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
  body.home-page #site-footer-enhanced .sb-footer__surface,
  body.home-page .sb-footer__surface {
    min-height: 60vh !important;
    display: flex !important;
    justify-content: center !important;
    flex-direction: column !important;
    border-top-left-radius: 40px !important;
    border-top-right-radius: 40px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
}


body.home-page #site-footer-enhanced .sb-footer__inner, body.home-page .sb-footer__inner {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (min-width: 1920px) {
    body.home-page .hero-section {
        min-height: 100svh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding-top: 3rem !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Utrecht local sections — #werkgebied, #projecten-beeld, #faq (constructeur-utrecht) */
body.home-page #werkgebied,
body.home-page #projecten-beeld,
body.home-page #faq {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border-top-left-radius: 48px !important;
  border-top-right-radius: 48px !important;
}

@media (min-width:768px) and (max-height:1308px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 75vh !important;
    max-height: none !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width:768px) and (max-height:900px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 64vh !important;
    max-height: none !important;
    margin-top: -2rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width:768px) and (max-height:800px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 58vh !important;
    max-height: none !important;
    margin-top: -2rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width:768px) and (max-height:700px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 48vh !important;
    max-height: none !important;
    margin-top: -2.5rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 768px) and (max-width: 819px) and (orientation: portrait) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 90vh !important;
    max-height: none !important;
    margin-top: -3rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 820px) and (max-width: 1023px) and (orientation: portrait) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 85vh !important;
    max-height: none !important;
    margin-top: -3rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 1024px) and (orientation: portrait) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 80vh !important;
    max-height: none !important;
    margin-top: -3rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 1024px) and (max-width: 1439px) and (orientation: landscape) and (min-height: 801px) and (max-height: 1308px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 85svh !important;
    max-height: none !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 1440px) and (max-width: 1919px) and (min-height: 801px) and (max-height: 1308px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 85svh !important;
    max-height: none !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 1920px) and (min-height: 801px) and (max-height: 1308px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 80vh !important;
    max-height: none !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 1024px) and (max-width: 1439px) and (orientation: landscape) and (min-height: 1309px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 50vh !important;
    padding-top: 0 !important;
    padding-bottom: 3rem !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
}

@media (min-width: 1440px) and (max-width: 1919px) and (min-height: 1309px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 50vh !important;
    padding-top: 0 !important;
    padding-bottom: 3rem !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
  }
}

@media (min-width: 1920px) and (min-height: 1309px) {
  body.home-page #werkgebied,
  body.home-page #projecten-beeld,
  body.home-page #faq {
    min-height: 55vh !important;
    padding-top: 0 !important;
    margin-top: -3rem !important;
    margin-bottom: 0 !important;
    padding-bottom: 3rem !important;
  }
}
