/* Home: reserve consent space, use natural scroll when the full content cannot fit. */
body:has(.visual-hero) #ce-cc{position:relative!important;inset:auto!important;z-index:3;box-sizing:border-box;width:calc(100% - 32px);max-width:1180px;margin:12px auto!important;padding:12px 16px!important;box-shadow:none!important;scroll-margin-top:85px}
body:has(.visual-hero) #ce-cc p{font-size:13px!important;line-height:1.5!important;margin-bottom:10px!important}
body:has(.visual-hero) #ce-cc .r{grid-template-columns:repeat(3,minmax(0,1fr));max-width:520px;gap:8px!important}
body:has(.visual-hero) #ce-cc button{min-height:44px!important}
.visual-hero .eyebrow{text-align:center!important;align-self:stretch!important}
@media(min-width:901px){.visual-hero .wrap{min-height:max(340px,calc(100dvh - var(--ce-header-h,71px) - var(--ce-nav-h,0px) - var(--ce-ticker-h,50px) - var(--ce-consent-h,0px) - 24px));padding:32px 32px 130px!important}.visual-hero .wrap .cta-row{margin-top:24px!important}}
@media(max-width:900px){.visual-hero{--home-media:min(56.25vw,max(80px,calc(100dvh - var(--ce-header-h,57px) - var(--ce-nav-h,64px) - var(--ce-ticker-h,42px) - var(--ce-consent-h,0px) - 300px)))}.visual-hero .wrap,.visual-hero:has(.hero-video.on) .wrap{min-height:calc(100dvh - var(--ce-header-h,57px) - var(--ce-nav-h,64px) - var(--ce-ticker-h,42px) - var(--ce-consent-h,0px) - 24px);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.visual-hero .cta-row{flex-shrink:0}}
body:has(.visual-hero):not(:has(#ce-cc)) .visual-hero .wrap{min-height:calc(100dvh - var(--ce-header-h,57px) - var(--ce-nav-h,0px) - var(--ce-ticker-h,42px))}
body:has(.visual-hero) #ce-cc{max-height:calc(100dvh - var(--ce-header-h,57px) - var(--ce-nav-h,64px) - 24px);overflow:auto}
body:has(.visual-hero) #ce-cc .r{position:sticky;bottom:-1px;background:#fff;padding-top:8px}
@media(min-width:901px) and (max-height:700px){.visual-hero .wrap{padding:24px 32px 80px!important}}
body:has(.visual-hero) #ce-cc label{min-height:44px;box-sizing:border-box;padding:4px 0;cursor:pointer}
body:has(.visual-hero){overflow-anchor:none}
body:has(.visual-hero) #ce-cc{display:flex;flex-direction:column;overflow:hidden}
body:has(.visual-hero) #ce-cc>p,body:has(.visual-hero) #ce-cc>.r{flex-shrink:0}
body:has(.visual-hero) #ce-cc #ce-cc-opts{min-height:0;overflow:auto}
body:has(.visual-hero) #ce-cc .r{position:static;bottom:auto}
/* Extreme narrow/zoom fallback: keep all copy and controls in normal readable flow. */
@media(max-width:300px){body:has(.visual-hero) header{position:relative!important}body:has(.visual-hero) #ce-cc{max-height:none;overflow:visible}body:has(.visual-hero) #ce-cc #ce-cc-opts{overflow:visible}body:has(.visual-hero) #ce-cc .r{grid-template-columns:1fr!important}body:has(.visual-hero) .ce-bnav{position:relative!important}body:has(.visual-hero) .visual-hero .wrap{min-height:0!important}}
