/* Scoped welcome/access presentation. Existing storefront styling stays intact. */
#access-gate.welcome-access{position:fixed;inset:0;z-index:1000;display:block;overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:44px 24px;color:#15233d;text-align:center}
#access-gate.welcome-access.hidden{display:none}body.welcome-access-open{overflow:hidden}
.welcome-access *{box-sizing:border-box}.welcome-shell{width:100%;max-width:850px;margin:0 auto}.welcome-wordmark{align-items:center;margin:0 auto 36px;font-size:28px;letter-spacing:3px;font-weight:900;line-height:1;display:flex;flex-direction:column}.welcome-wordmark span{font-size:8px;letter-spacing:4px;margin-top:9px;font-weight:500}
.welcome-panel{background:#edf4fd;border:1px solid #e3edf9;border-radius:30px;padding:58px 48px 34px}.welcome-eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;color:#2355b8;margin:0 0 20px}.welcome-panel h1{font-size:clamp(40px,6vw,68px);font-weight:750;letter-spacing:-2.8px;line-height:1.08;margin:0 0 22px}.welcome-description{color:#536782;font-size:18px;line-height:1.6;max-width:540px;margin:0 auto 30px}
.welcome-access button{font:inherit;min-height:48px;cursor:pointer;border-radius:12px;padding:14px 26px}.welcome-access .welcome-primary{background:#164dff;color:#fff;border:1px solid #164dff;font-weight:600;width:auto;display:inline-flex;align-items:center;justify-content:center;gap:25px}.welcome-primary:hover:not(:disabled){background:#103dcc}.welcome-access button:disabled{opacity:.45;cursor:not-allowed}.welcome-helper{font-size:13px;color:#5a6b82;line-height:1.55;margin:15px auto 0}.welcome-note{border-top:1px solid #d5e2f2;padding-top:25px;margin:34px auto 0;max-width:570px}.welcome-note h2{font-size:18px;letter-spacing:0;line-height:1.4;margin:0 0 8px}.welcome-note p{font-size:14px;color:#536782;line-height:1.65;margin:0}.welcome-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:20px}.welcome-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#52627c;text-decoration:underline;text-underline-offset:4px}
.welcome-access :focus-visible{outline:3px solid #164dff;outline-offset:4px}.welcome-access [hidden]{display:none!important}.welcome-access h1:focus,.welcome-access h2:focus{outline:none}.research-panel{text-align:left;padding:32px 40px}.research-panel h2{font-size:clamp(27px,4vw,36px);letter-spacing:-1px;line-height:1.15;margin:0 0 15px}.research-panel .welcome-description{font-size:15px;margin:0 0 24px;max-width:none}.research-type-label{font-size:14px;font-weight:600;display:block;margin:0 0 8px}.research-panel select{font:inherit;width:100%;min-height:48px;background:#fff;border:1px solid #9faec2;border-radius:9px;padding:12px;color:#182c4c;margin-bottom:20px}.research-check{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;margin:16px 0}.research-check input{width:20px;height:20px;flex:none;margin:2px 0;accent-color:#164dff}.research-check a{color:#174db5;text-decoration:underline;text-underline-offset:3px}.welcome-actions{display:flex;gap:12px;flex-wrap:wrap}.welcome-access .welcome-secondary{background:#fff;color:#183a72;border:1px solid #a9bdd8}.research-panel .welcome-helper{margin-top:16px}.research-panel [role=status]{color:#8a263a;font-size:14px;line-height:1.5;margin:0 0 16px}.research-panel [role=status]:empty{margin:0}.welcome-noscript{font-size:14px;line-height:1.6}
@media(max-width:600px){#access-gate.welcome-access{padding:24px 16px}.welcome-wordmark{margin-bottom:24px;font-size:25px}.welcome-panel{padding:36px 22px 26px;border-radius:22px}.welcome-panel h1{letter-spacing:-1.7px;font-size:42px}.welcome-description{font-size:16px;margin-bottom:25px}.welcome-access .welcome-primary{width:100%}.welcome-note{margin-top:26px;padding-top:23px}.research-panel{padding:26px 20px}.research-panel h2{font-size:29px}.research-panel select{font-size:16px}.research-check{font-size:14px}.welcome-actions{display:grid;grid-template-columns:1fr}.welcome-links{margin-top:14px;gap:10px 24px}}
@media(prefers-reduced-motion:reduce){.welcome-access{scroll-behavior:auto}}
#access-gate #enter-site-button{font-size:16px}.research-check{min-height:44px;padding-block:5px}
