/* Isolated PP Theme entry agreement. The synchronous head link owns first paint. */
html:not(.pp-access-accepted), html:not(.pp-access-accepted) body { overflow: hidden !important; }
html:not(.pp-access-accepted) body::before {
    display: block !important; content: "" !important; position: fixed; inset: 0; z-index: 2147483646;
    background: rgba(22, 35, 63, .68) !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
html.pp-access-modal-ready body::before { display: none !important; }
html:not(.pp-access-accepted) body > :not(#pp-research-access-gate):not(script):not(style):not(link) { pointer-events: none !important; }
html.pp-access-accepted #pp-research-access-gate { display: none !important; }
#pp-research-access-gate {
    --pp-access-top: max(16px, env(safe-area-inset-top));
    --pp-access-bottom: max(16px, env(safe-area-inset-bottom));
    box-sizing: border-box; position: fixed; inset: 16px; z-index: 2147483647;
    top: var(--pp-access-top); bottom: var(--pp-access-bottom);
    width: min(600px, calc(100% - 32px)); height: max-content;
    max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
    max-height: calc(100dvh - var(--pp-access-top) - var(--pp-access-bottom));
    margin: auto; padding: 28px 32px 22px; border: 0; border-radius: 16px;
    overflow: hidden; overscroll-behavior: contain; scrollbar-color: #B0853A #E8ECF4;
    background: #fff; color: #16233F; color-scheme: light;
    box-shadow: 0 24px 72px rgba(22, 35, 63, .3);
    font-family: Poppins, sans-serif; font-size: 15px; line-height: 1.6; text-align: left;
}
#pp-research-access-gate[open] { display: flex; flex-direction: column; }
#pp-research-access-gate .pp-access-brand,
#pp-research-access-gate .pp-access-footer,
#pp-research-access-gate .pp-access-actions { flex-shrink: 0; }
/* One scrollport leaves the action visible without covering text or keyboard focus. */
#pp-research-access-gate #pp-access-form { display: flex; flex-direction: column; min-height: 0; }
#pp-research-access-gate .pp-access-scroll {
    min-height: 0; overflow: auto; overscroll-behavior: contain;
    padding: 6px; margin: -6px -6px 0; scroll-padding: 6px;
    scrollbar-color: #B0853A #E8ECF4;
}
#pp-research-access-gate .pp-access-scroll-hint { display: none; font-size: 12px; line-height: 1.5; margin: 8px 0; color: #344461; }
@media (max-width: 480px), (max-height: 740px) {
    #pp-research-access-gate .pp-access-scroll-hint { display: block; }
}
#pp-research-access-gate::backdrop {
    background: rgba(22, 35, 63, .68);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
#pp-research-access-gate *, #pp-research-access-gate *::before { box-sizing: border-box; }
#pp-research-access-gate ::selection { color: #16233F; background: #E8ECF4; }
#pp-research-access-gate .pp-access-brand { color: #16233F; font-family: 'Figtree', 'Figtree Fallback', sans-serif !important; font-size: 17px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; text-align: center; margin-bottom: 24px; }
#pp-research-access-gate h2 { margin: 0 0 10px; color: #16233F !important; font-family: Poppins, sans-serif !important; font-size: clamp(24px, 4vw, 30px); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; text-transform: none; text-wrap: balance; }
#pp-research-access-gate .pp-access-title-accent { color: #2356A8 !important; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    #pp-research-access-gate .pp-access-title-accent { background-image: linear-gradient(100deg, #2356A8, #3F86D9); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
}
#pp-research-access-gate p { color: #344461; font-family: Poppins, sans-serif !important; margin: 0 0 18px; }
#pp-research-access-gate form { margin: 0; padding: 0; }
#pp-research-access-gate .pp-access-choice {
    display: flex; align-items: flex-start; gap: 12px; margin: 0 0 12px;
    padding: 14px; border: 1px solid #9AA7BC; border-radius: 12px;
    color: #16233F !important; background: #fff; font-family: Poppins, sans-serif !important; font-size: 15px !important; font-weight: 400;
    line-height: 1.55; text-transform: none; letter-spacing: normal; cursor: pointer;
}
#pp-research-access-gate .pp-access-choice:has(input:checked) { background: #E8ECF4; border-color: #16233F; }
#pp-research-access-gate input[type="checkbox"] { appearance: auto; -webkit-appearance: checkbox; flex: 0 0 22px; width: 22px; height: 22px; margin: 1px 0 0; accent-color: #16233F; cursor: pointer; }
#pp-research-access-gate strong { display: block; font-weight: 600; margin-bottom: 6px; }
#pp-research-access-gate .pp-access-terms { display: block; font-size: 14px; line-height: 1.6; }
#pp-research-access-gate #pp-access-help { font-size: 12px; line-height: 1.5; margin: 16px 0 12px; }
#pp-research-access-gate button {
    display: block; width: 100%; min-height: 48px; margin: 0; padding: 12px 18px;
    border: 2px solid transparent !important; border-radius: 12px !important; background: #B0853A !important; color: #16233F !important;
    font: 600 15px/1.4 Poppins, sans-serif !important; cursor: pointer; text-transform: none !important; letter-spacing: normal !important;
    transition: none !important; box-shadow: none !important;
}
#pp-research-access-gate button:hover:not(:disabled) { background: #C39A51 !important; }
#pp-research-access-gate button:disabled { background: #E8ECF4 !important; color: #536079 !important; cursor: not-allowed; opacity: 1; }
/* Later legacy theme rules use !important on generic buttons, labels and focus. */
#pp-research-access-gate :focus-visible { outline: 3px solid #16233F !important; outline-offset: 4px !important; box-shadow: none !important; }
#pp-research-access-gate h2:focus { outline: none !important; }
#pp-research-access-gate .pp-access-footer { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid #E8ECF4; color: #344461; font-size: 12px; text-align: center; }
#pp-research-access-gate .pp-access-noscript { padding: 14px; background: #E8ECF4; }
@media (max-width: 480px) {
    #pp-research-access-gate { padding: 16px; }
    #pp-research-access-gate .pp-access-brand { font-size: 15px; margin-bottom: 16px; }
    #pp-research-access-gate .pp-access-choice { padding: 12px; gap: 10px; }
    #pp-research-access-gate #pp-access-help { margin: 12px 0 8px; }
    #pp-research-access-gate .pp-access-footer { margin-top: 12px; padding-top: 10px; }
}
@media (max-height: 500px) {
    #pp-research-access-gate { padding: 12px 20px; }
    #pp-research-access-gate .pp-access-brand { margin-bottom: 8px; }
    #pp-research-access-gate #pp-access-help { margin: 8px 0; }
    #pp-research-access-gate .pp-access-footer { margin-top: 8px; padding-top: 8px; }
}
@media (forced-colors: active) {
    #pp-research-access-gate { border: 2px solid CanvasText; }
    #pp-research-access-gate button { border-color: ButtonText !important; }
    #pp-research-access-gate .pp-access-title-accent { background: none; color: CanvasText !important; -webkit-text-fill-color: CanvasText; }
}
