/* Final visual polish: readable footer, mild page colours, guaranteed viewport fit */
html,body{overflow:hidden}
footer{background:#090b10!important;color:#fff!important;padding:12px 0 9px!important}
.footer-simple{min-height:34px!important;padding-bottom:9px!important;gap:22px}
.footer-contact{font-size:13px!important;color:#d7dce4!important;gap:20px!important}
.footer-contact strong{font-size:11px!important;color:#fff!important;letter-spacing:.8px}
.footer-contact span{white-space:nowrap}
.footer-bottom{padding-top:9px!important;font-size:11px!important;color:#b8c0cc!important}
.footer-bottom a{font-size:13px!important;color:#f5c85b!important;font-weight:800!important;text-decoration:none!important}
.footer-bottom a:hover{text-decoration:underline!important}
body:not(.home-page){display:flex;flex-direction:column;height:100svh;min-height:100svh;overflow:hidden}
body:not(.home-page) main{height:auto!important;min-height:0!important;flex:1 1 auto!important;overflow:hidden!important}
body:not(.home-page) main>.section,body:not(.home-page) main>.funding{height:100%!important;min-height:0!important;overflow:hidden!important}
/* Mild background variation by destination */
body:not(.home-page):has(.op-card.featured) main{background:#fbf7ef}
body:not(.home-page):has(.op-card.patron) main{background:#f3f8f5}
body:not(.home-page):has(.op-card.donate) main{background:#f7f3fa}
body:not(.home-page):has(.funding) main{background:#fff8ed}
body:not(.home-page) .section{background:transparent!important}
body:not(.home-page) .funding{background:transparent!important}
.home-section{background:linear-gradient(180deg,#fbfaf7 0%,#fff 100%)}
@media(max-width:600px){
 footer{padding:9px 0 7px!important}
 .footer-contact{font-size:11px!important;gap:6px 14px!important}
 .footer-contact strong{font-size:10px!important}
 .footer-bottom{padding-top:7px!important;font-size:10px!important}
 .footer-bottom a{font-size:12px!important}
}
/* Mobile: natural vertical scrolling for every phone size; desktop remains fixed. */
@media(max-width:900px){
 html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
 body.home-page{height:auto!important;min-height:100svh!important;overflow-x:hidden!important;overflow-y:auto!important}
 body.home-page main{height:auto!important;min-height:0!important;overflow:visible!important;display:block!important}
 body.home-page .home-section{height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}
 body.home-page .home-layout{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:1fr!important;align-items:start!important;padding:40px 0 34px!important;gap:28px!important}
 body.home-page .home-intro h1{font-size:clamp(34px,9vw,46px)!important;line-height:1.05!important;letter-spacing:-1.8px!important}
 body.home-page .home-intro .hero-copy{font-size:16px!important;line-height:1.55!important}
 body.home-page .home-support{width:100%!important;box-sizing:border-box!important}
 body:not(.home-page){height:auto!important;min-height:100svh!important;overflow-x:hidden!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important}
 body:not(.home-page) main{height:auto!important;min-height:0!important;flex:0 0 auto!important;overflow:visible!important}
 body:not(.home-page) main>.section,body:not(.home-page) main>.funding{height:auto!important;min-height:0!important;overflow:visible!important}
 body:not(.home-page) main>.section{padding:34px 0!important}
 body:not(.home-page) .funding{padding:34px 0 28px!important}
 footer{margin-top:0!important}
}
