/* Shared disclosure stays in document flow; it never overlays page content. */
#qf-recaptcha-disclosure{box-sizing:border-box;clear:both;position:static;display:block;width:100%;margin:0;padding:12px 24px;text-align:center;color:#505051;background:transparent;font:400 12px/1.5 Inter,system-ui,sans-serif;flex-shrink:0}
/* Google-documented badge treatment; interactive challenge widgets stay visible. */
.grecaptcha-badge{visibility:hidden!important}
/* A short portal page fills the viewport, without fixing the notice over content. */
html.participant-portal-page body:has(>#qf-recaptcha-disclosure),body.researcher-portal:has(>#qf-recaptcha-disclosure){min-height:100dvh;display:flex;flex-direction:column;padding-bottom:0!important}
html.participant-portal-page body:has(>#qf-recaptcha-disclosure)>main,body.researcher-portal:has(>#qf-recaptcha-disclosure)>main{padding-bottom:24px!important}
body:has(>#qf-recaptcha-disclosure)>#qf-recaptcha-disclosure{margin: auto 0 0;min-height:0}
/* Staff navigation wraps main in a layout container; trim its legacy footer reserve. */
body.researcher-portal:has(>#qf-recaptcha-disclosure)>.researcher-portal-layout{padding-bottom:24px!important}
