/* Scoped portal chooser; account forms use their shared authentication theme. */
.gx-auth-wrap.access-page{min-height:100svh;padding:0 28px 28px;background:radial-gradient(ellipse at 50% 0,#eee3f3 0,transparent 52%),#faf9fc}
.access-page .access-container{width:100%;max-width:1200px;margin:auto}
.access-page .access-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid #e8e1ed}
.access-page .access-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex-shrink:0}
.access-page .access-brand img{width:68px;height:44px;object-fit:contain}
.access-page .access-brand>span{font-size:21px;font-weight:600;line-height:1.1;letter-spacing:-.6px}
.access-page .access-brand small{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase}
.access-page .access-home{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 13px;border:1px solid #e5ddea;border-radius:9px;background:#ffffffb3;color:#615569;font-size:12px;text-decoration:none;transition:background .18s,border-color .18s}
.access-page .access-home:hover{background:white;border-color:#cdb6d6;color:var(--brand)}
.access-page .access-hub{max-width:100%;margin:0;padding-top:42px}
.access-page .access-hub:focus{outline:none}
.access-page .access-intro{text-align:center;max-width:700px;margin:0 auto 32px}
.access-page .access-eyebrow{display: inline-flex;align-items: center;gap: 8px;margin-bottom: 20px;padding: 7px 12px;border-radius: 999px;background: #ffffffa6;color: var(--brand);font-size: 12px;font-weight: 500;letter-spacing: .5px;line-height: 1.4;}
.access-page .access-eyebrow::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.access-page .access-intro h1{margin:0 0 16px;color:var(--ink);font-size:clamp(31px,3.7vw,46px);font-weight:500;line-height:1.14;letter-spacing:-1.7px;text-wrap:balance}
.access-page .access-intro h1 span{color:var(--brand)}
.access-page .access-intro>p{max-width:540px;margin:auto;color:var(--muted);font-size:14px;line-height:1.75;text-wrap:pretty}
.access-page .access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.access-page .access-option{--portal-ink:#6c287b;--portal-soft:#f3eaf7;position:relative;display:flex;flex-direction:column;min-width:0;padding:20px;background:#fff;border:1px solid #e5dce9;border-radius:0;box-shadow:0 5px 20px #34213f05;transition:transform .2s,border-color .2s,box-shadow .2s}
.access-page .access-option-author{background:linear-gradient(155deg,#fff 55%,#fcf9fd)}
.access-page .access-option-university{--portal-ink:#6c287b;--portal-soft:#f3eaf7;background:linear-gradient(155deg,#fff 55%,#f6f9fd)}
.access-page .access-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}
.access-page .access-icon{display:grid;place-items:center;flex-shrink:0;}
.access-page svg{display:block;width:30px;height:30px}
.access-page .access-badge{padding:5px 10px;border:1px solid #e9e2ee;border-radius:999px;background:#faf8fc;color:#685a72;font-size:10px;font-weight:500;line-height:1.5;text-align:center}
.access-page .access-card-label{margin-bottom:7px;color:var(--portal-ink);font-size:9px;font-weight:600;letter-spacing:1.35px}
.access-page .access-option h2{margin:0 0 5px;color:var(--ink);font-size:25px;font-weight:500;line-height:1.2;letter-spacing:-.5px}
.access-page .access-description{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.3;text-wrap:pretty}
.access-page .access-features{display:grid;gap:5px;margin:0 0 20px;padding:0;list-style:none}
.access-page .access-features li{display:flex;align-items:baseline;gap:9px;color:#51475a;font-size:12px;line-height:1.6}
.access-page .access-features li::before{content:'✓';flex-shrink:0;color:var(--portal-ink);font-size:12px;font-weight:600}
.access-page .access-requirement{margin:0;padding-top:16px;border-top:1px solid #eee8f2;color:#76687e;font-size:11px;line-height:1.7}
.access-page .access-card-actions{margin-top:auto;padding-top:21px}
.access-page .access-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 16px;border:1px solid #d8c4df;border-radius:9px;background:white;color:var(--brand);font-size:13px;font-weight:600;line-height:1.5;text-align:center;text-decoration:none;transition:background .18s,border-color .18s,box-shadow .18s}
.access-page .access-card-actions>.access-button{justify-content:space-between;width:100%}
.access-page .access-button>span{transition:transform .18s}
.access-page .access-button:hover>span{transform:translate(2px,-2px)}
.access-page .access-button-primary{border-color:var(--brand);background:var(--brand);color:white;box-shadow:0 4px 10px #6c287b16}
.access-page .access-button-primary:hover{border-color:var(--brand-hover);background:var(--brand-hover);color:white}
.access-page .access-button-outline:hover{border-color:#b99ac5;background:#f7f0fa;box-shadow:0 3px 10px #6c287b0a}
.access-page .access-card-actions>p{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.2;text-align:center}
.access-page .access-card-actions>p a{display:inline-flex;align-items:center;gap:5px;min-height:38px;font-weight:600;text-decoration:none}
.access-page a:focus-visible{outline:3px solid #b080c2;outline-offset:4px;border-radius:6px}
.access-page .access-help{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:17px;border-top:1px solid #e9e2ee;color:var(--muted);font-size:11px;line-height:1.8}
.access-page .access-help p{margin:0}
.access-page .access-help a{display:inline-block;padding:6px 0;font-weight:600;text-decoration:none}
.access-page .access-help>span{font-size:10px;color:#7f7389}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.access-page .access-option:hover{transform:translateY(-4px);border-color:#cbb2d5;box-shadow:0 12px 28px #34213f0b}}
@media(min-width:961px){.access-page .access-description.access-page .access-features{min-height:88px}}
@media(min-width:601px) and (max-width:960px){.access-page .access-options{grid-template-columns:repeat(2,minmax(0,1fr))}.access-page .access-option-university{grid-column:1/-1}.access-page .access-option-university .access-features{grid-template-columns:repeat(3,minmax(0,1fr))}.access-page .access-option-university .access-description{max-width:600px}}
@media(max-width:600px){.gx-auth-wrap.access-page{padding:0 16px 22px}.access-page .access-topbar{padding:14px 0;gap:10px}.access-page .access-brand{gap:7px}.access-page .access-brand img{width:48px;height:34px}.access-page .access-brand>span{font-size:17px}.access-page .access-brand small{font-size:12px;letter-spacing:1px}.access-page .access-home{gap:5px;padding:7px 9px;font-size:10px;min-height:40px}.access-page .access-hub{padding-top:29px}.access-page .access-intro{margin-bottom:25px}.access-page .access-intro h1{font-size:33px;letter-spacing:-1.15px}.access-page .access-intro>p{font-size:13px;line-height:1.75}.access-page .access-eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:15px}.access-page .access-options{grid-template-columns:minmax(0,1fr);gap:17px}.access-page .access-option{padding:25px 22px;border-radius:15px}.access-page .access-option h2{font-size:24px}.access-page .access-card-top{margin-bottom:20px}.access-page .access-description{margin-bottom:17px}.access-page .access-features{gap:10px;margin-bottom:18px}.access-page .access-card-actions{padding-top:18px}.access-page .access-help{justify-content:center;text-align:center;gap:4px;margin-top:22px;padding-top:13px}}
@media(prefers-reduced-motion:reduce){.access-page .access-option,.access-page .access-button,.access-page .access-button>span,.access-page .access-home{transition:none}}
