body.access-page { margin:0; min-height:100vh; display:flex; flex-direction:column; background:#f7f8fa; color:#202a35; font:14px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif; }
.access-page * { box-sizing:border-box; }
.access-page a { color:#315d7d; }
.access-page :focus-visible { outline:2px solid #d76a13; outline-offset:4px; }
.access-skip { position:absolute; top:-80px; left:20px; z-index:1; padding:10px; background:#fff; }
.access-skip:focus { top:10px; }
.access-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:32px; }
.access-brand { display:flex; gap:9px; align-items:center; color:#202a35!important; font-size:20px; font-weight:650; letter-spacing:-.5px; text-decoration:none; }
.access-brand span { width:7px; height:23px; border-radius:3px; background:#d76a13; }
.access-context { font-size:12px; color:#687482; }
.access-main { flex:1; display:flex; justify-content:center; align-items:flex-start; padding:52px 24px 80px; min-width:0; }
.access-panel { width:100%; max-width:400px; }
.access-companies { max-width:500px; }
.access-eyebrow { color:#687482; text-transform:uppercase; letter-spacing:1.5px; font-size:10px; font-weight:600; margin-bottom:12px; }
.access-panel h1 { font-size:28px; line-height:1.2; letter-spacing:-.8px; font-weight:600; margin:0 0 10px; }
.access-description { font-size:14px; color:#687482; margin:0 0 28px; }
.access-form { padding:28px; border:1px solid #e4e8ed; border-radius:10px; background:#fff; }
.access-field { display:block; font-size:13px; font-weight:500; margin-bottom:8px; }
.access-input { width:100%; margin:0 0 20px; padding:11px 12px; border:1px solid #dce2e9; border-radius:5px; background:#fff; color:#202a35; font:14px/1.5 system-ui,sans-serif; }
.access-input::placeholder { color:#7d8793; opacity:1; }
.access-primary { display:block; width:100%; background:#315d7d; border:1px solid #315d7d; border-radius:5px; color:#fff!important; text-align:center; text-decoration:none; font:500 14px/1.5 system-ui,sans-serif; min-height:44px; padding:11px 15px; cursor:pointer; }
.access-primary:hover { background:#274b65; border-color:#274b65; }
.access-company-list { border:0; padding:0; margin:0; min-width:0; }
.access-choice { display:flex; align-items:center; gap:13px; padding:16px; margin-bottom:10px; border:1px solid #e4e8ed; border-radius:7px; background:#fff; cursor:pointer; }
.access-choice:has(input:checked) { border-color:#315d7d; background:#f4f8fb; }
.access-choice:focus-within { outline:2px solid #d76a13; outline-offset:3px; }
.access-initial { width:36px; height:36px; flex-shrink:0; display:grid; place-items:center; border-radius:6px; background:#edf0f3; font-size:12px; color:#687482; }
.access-company-description { flex:1; min-width:0; overflow-wrap:anywhere; }
.access-company-description strong { display:block; font-size:14px; font-weight:500; }
.access-company-description > span { display:block; color:#687482; font-size:12px; margin-top:4px; }
.access-choice input { accent-color:#315d7d; width:16px; height:16px; flex-shrink:0; }
.access-companies .access-primary { margin-top:24px; }
.access-back { display:block; width:fit-content; margin:20px auto 0; padding:5px; font-size:12px; color:#687482!important; text-align:center; text-decoration:none; }
.access-back:hover { text-decoration:underline; }
.access-message { margin:0 0 24px; color:#687482; overflow-wrap:anywhere; }
.access-footer { display:flex; justify-content:space-between; gap:16px; border-top:1px solid #e4e8ed; margin:0 32px; padding:18px 0 22px; color:#687482; font-size:11px; }
.access-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:540px) { .access-header { padding:24px 20px; } .access-context { display:none; } .access-main { padding:36px 20px 56px; } .access-form { padding:22px; } .access-input { font-size:16px; } .access-footer { margin:0 20px; flex-wrap:wrap; } }
