/* A compact homepage rhythm designed around one primary section per desktop viewport. */
@media(min-width:981px){
    .home-page main>section:not(.hero){padding-top:clamp(46px,6vh,68px);padding-bottom:clamp(46px,6vh,68px)}
    .home-page .hero{min-height:calc(100svh - 112px)}
    .home-page .hero-content{padding:clamp(70px,10vh,105px) 0}
    .home-page .hero-points{margin-top:clamp(30px,5vh,52px)}
    .home-page .credential-strip{padding:20px 0}
    .home-page .section-head{margin-bottom:clamp(28px,4vh,42px)}
    .home-page .section-head h2{font-size:clamp(2.4rem,3.4vw,3.65rem)}
    .home-page .visual-card{min-height:clamp(300px,46vh,390px)}

    .home-page .personalised-section .section-head{margin-bottom:38px}
    .home-page .personalised-section{padding-top:44px;padding-bottom:44px}
    .home-page .context-list{gap:8px}
    .home-page .context-list article{padding:10px 12px}
    .home-page .context-visual{height:76px}
    .home-page .technology-intro{margin-bottom:36px}
    .home-page .technology-section{padding-top:36px;padding-bottom:36px}
    .home-page .technology-card{min-height:clamp(260px,30vh,290px)}
    .home-page .technology-card>div{padding:24px}
    .home-page .technology-card.is-expanded{min-height:390px}

    .home-page .analysis-showcase-grid{min-height:clamp(500px,72vh,610px)}
    .home-page .analysis-portrait{height:clamp(480px,68vh,570px)}
    .home-page .analysis-showcase h2{font-size:clamp(2.6rem,4vw,4.45rem)}
    .home-page main>.section-soft:not(.real-patient-section) .doctor-media-image img{width:100%;height:clamp(380px,62vh,520px);object-fit:cover;object-position:center 22%}
    .home-page main>.section-soft:not(.real-patient-section) .split{gap:clamp(38px,5vw,65px)}
    .home-page .journey-visual img{height:clamp(330px,50vh,440px);aspect-ratio:auto}

    .home-page .real-patient-section{padding-top:clamp(36px,5vh,56px);padding-bottom:clamp(36px,5vh,56px)}
    .home-page .real-patient-section .real-patient-comparisons .compare{height:clamp(320px,52vh,445px)}
    .home-page .transformation-scroll-section{min-height:auto;padding-top:clamp(42px,5vh,62px);padding-bottom:clamp(42px,5vh,62px)}
    .home-page .qoves-transform-layout{min-height:auto}
    .home-page .qoves-transform-gallery{height:clamp(430px,62vh,560px);grid-auto-rows:175px;padding:clamp(145px,20vh,190px) 8px!important;scroll-padding-block:clamp(145px,20vh,190px)}
    .home-page .qoves-transform-gallery img,.home-page .qoves-transform-gallery figure:nth-child(3n) img{height:175px!important}
    .home-page .qoves-transform-heading h2{font-size:clamp(2.5rem,3.8vw,4.2rem);margin-bottom:22px}

    .home-page .confidence-visual-head{margin-bottom:30px}
    .home-page .confidence-visual-head h2{font-size:clamp(2.5rem,4vw,4.25rem)}
    .home-page .confidence-visual-image{height:clamp(125px,19vh,160px)}
    .home-page .confidence-visual-copy{padding:18px}
    .home-page .confidence-visual-copy>p{min-height:50px;margin-top:10px}
    .home-page .confidence-icon-list{margin-top:10px}
    .home-page .confidence-icon-list div{padding:7px 0}

    .home-page .consultation-planner-section{padding-top:44px;padding-bottom:44px}
    .home-page .planner-shell{padding:clamp(30px,4vh,44px)}
    .home-page .planner-intro{margin-bottom:24px}
    .home-page .planner-intro h2{font-size:clamp(2.35rem,3.5vw,3.7rem);margin-bottom:12px}
    .home-page .planner-step{padding:17px 0}
    .home-page .planner-step h3{margin-bottom:9px}
    .home-page .planner-result{padding:17px 22px;margin-top:12px}
    .home-page .planner-quick-form{margin-top:14px;padding:20px}
    .home-page .planner-quick-intro{margin-bottom:13px}

    .home-page .community-journey{min-height:clamp(500px,72vh,570px);padding:0}
    .home-page .community-journey-content{min-height:clamp(350px,51vh,410px);padding-top:38px;padding-bottom:28px}
    .home-page .community-journey-copy h2{font-size:clamp(2.5rem,3.8vw,4rem)}
    .home-page .community-journey-rail article{min-height:105px}
    .home-page .cta-band{padding:48px 0}
    .home-page .cta-box{padding:clamp(42px,6vh,60px)}
}

@media(max-width:980px){
    .home-page main>section:not(.hero){padding-top:64px;padding-bottom:64px}
    .home-page .section-head{margin-bottom:34px}
}

@media(max-width:650px){
    .home-page main>section:not(.hero){padding-top:52px;padding-bottom:52px}
    .home-page .section-head{margin-bottom:28px}
    .home-page .credential-strip{padding:22px 0}

    /* Vertical focus reel with deliberate gaps and scroll chaining at both ends. */
    .home-page .transformation-scroll-section{overflow:visible}
    .home-page .qoves-transform-gallery{display:block!important;width:100%;height:min(68svh,560px);max-width:370px;margin-inline:auto;padding:170px 6px!important;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;scroll-padding-block:170px;overscroll-behavior-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:linear-gradient(#fff,#f7faf8 18%,#f7faf8 82%,#fff)}
    .home-page .qoves-transform-gallery .transformation-result{display:grid;height:220px;min-height:220px;margin:0 0 14px;scroll-snap-align:center}
    .home-page .qoves-transform-gallery .transformation-result:last-child{margin-bottom:0}
    .home-page .qoves-transform-gallery .transformation-result figure{height:220px}
    .home-page .qoves-transform-gallery .transformation-result img,
    .home-page .qoves-transform-gallery .transformation-result figure:nth-child(3n) img{width:100%;height:220px!important;min-height:0!important;aspect-ratio:auto;object-fit:cover}

    /* Keep community copy and cards in normal flow so their boxes cannot overlap. */
    .home-page .community-journey{min-height:0;padding:0!important;overflow:hidden}
    .home-page .community-journey-content{display:block;min-height:0;padding-top:52px;padding-bottom:30px}
    .home-page .community-journey-copy{max-width:100%}
    .home-page .community-journey-button{width:100%;margin-top:24px}
    .home-page .community-journey-rail{position:relative;right:auto;bottom:auto;left:auto;padding:0 14px 24px}
    .home-page .community-journey-rail article{flex-basis:calc(100vw - 52px);min-height:150px}
}
