/* Homepage-only correction: let content determine height and keep the footer in flow. */
html.home-page{height:auto!important;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important}
html.home-page body.home{height:auto!important;min-height:100dvh;display:flex;flex-direction:column;overflow:visible!important}
body.home>header,body.home>footer{flex-shrink:0}
body.home>.home-main{flex:1 0 auto;height:auto!important;min-height:0!important}
body.home>.home-main>.hero{min-width:0;padding-top:clamp(24px,4dvh,56px);padding-bottom:clamp(24px,4dvh,56px)}
body.home .hero-title-line{display:block}
body.home .hero p+p{margin-top:clamp(10px,1.5dvh,16px)}
body.home>.home-main>.home-links{min-width:0;grid-template-rows:repeat(4,minmax(min-content,1fr))}
body.home>.home-main>.home-links>a{min-height:110px}
body.home>footer{position:relative;z-index:2;min-height:44px;height:auto;padding-top:10px;padding-bottom:10px;gap:12px;flex-wrap:wrap}
@media(min-width:861px){body.home .hero h1{font-size:clamp(2.6rem,min(5.2vw,8.2dvh),6.65rem);line-height:.98}body.home .hero p{margin-top:clamp(18px,2.5dvh,28px)}}
@media(min-width:1280px){body.home .hero h1{font-size:clamp(3.25rem,min(4vw,7dvh),5.8rem)}body.home .hero-title-sentence{white-space:nowrap}body.home .hero-title-line{display:inline}}
@media(max-width:860px){body.home>.home-main{grid-template-rows:auto auto}body.home>.home-main>.hero{min-height:0;padding:24px 20px}body.home .hero-title-line{display:block}body.home>.home-main>.home-links>a{min-height:90px}body.home>footer{min-height:34px}}
