.portal-page{min-height:100vh;display:flex;flex-direction:column;background:var(--pale)}
.portal-header{height:96px}
.portal-return{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:650;color:var(--blue);white-space:nowrap}
.portal-return:hover{text-decoration:underline;text-underline-offset:4px}
.portal-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:88px;padding-top:80px;padding-bottom:85px;flex:1}
.portal-intro h1{font-size:clamp(43px,4.6vw,62px);line-height:1.05;letter-spacing:-.045em;font-weight:650;margin:18px 0 22px;color:var(--navy)}
.portal-lede{font-size:25px;line-height:1.45;letter-spacing:-.025em;color:var(--blue);margin:0 0 18px}
.portal-description{font-size:15px;line-height:1.85;max-width:470px;color:var(--muted)}
.portal-features{padding:0;margin:34px 0 0;list-style:none;display:grid;gap:20px}
.portal-features li{display:flex;gap:18px;align-items:flex-start}
.portal-features li>span{font-size:11px;font-weight:650;letter-spacing:.08em;line-height:26px;color:var(--blue);width:22px;flex-shrink:0}
.portal-features strong{font-size:15px;font-weight:650;color:var(--navy)}
.portal-features p{font-size:13px;line-height:1.7;color:var(--muted);margin:3px 0 0}
.portal-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:10px;padding:36px;box-shadow:var(--shadow);min-width:0}
.portal-lock{height:54px;width:54px;display:grid;place-items:center;background:#edf1fc;color:var(--blue);border-radius:12px;margin-bottom:27px}
.portal-card h2{font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-.035em;color:var(--navy);margin:14px 0}
.portal-sign-in-copy{font-size:14px;line-height:1.8;color:var(--muted)}
.portal-sign-in{width:100%;margin-top:26px;min-height:53px;justify-content:space-between;gap:12px;font-size:14px}
.portal-sign-in>span{font-size:20px;font-weight:400}
.portal-session-note{margin:13px 0 27px;font-size:12px;line-height:1.7;color:var(--muted)}
.portal-access-help{border-top:1px solid var(--line);padding-top:22px;color:var(--navy)}
.portal-access-help strong{font-size:13px}
.portal-access-help p{margin:5px 0 0;font-size:12px;line-height:1.8;color:var(--muted)}
.portal-preview-note{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.7;color:var(--muted);margin:21px 0 0}
.portal-preview-note>span{width:6px;height:6px;border-radius:50%;background:#647cae;flex-shrink:0;margin-top:6px}
.portal-footer{background:#fff;border-top:1px solid var(--line);padding:23px 0;color:var(--muted)}
.portal-footer .container{display:flex;gap:24px;align-items:center;justify-content:space-between;font-size:11px}
.portal-footer p{margin:0}
.portal-footer a{color:var(--blue);font-weight:650}
@media(max-width:1100px){.portal-main{gap:42px;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr)}.portal-card{padding:30px}.portal-header .brand{width:260px}}
@media(max-width:800px){.portal-main{grid-template-columns:1fr;gap:36px;max-width:620px;padding-top:42px;padding-bottom:50px}.portal-intro h1{font-size:44px}.portal-lede{font-size:23px}.portal-description{max-width:none}.portal-features{gap:15px;margin-top:26px}.portal-card{padding:30px}.portal-card h2{max-width:360px}.portal-header{height:auto;min-height:85px;padding-block:16px;flex-wrap:wrap;gap:14px}.portal-header .brand{max-width:100%;width:260px}.portal-return{font-size:12px}.portal-footer .container{flex-wrap:wrap;gap:10px 24px}}
@media(max-width:450px){.portal-header{padding-block:18px}.portal-return{width:100%}.portal-main{padding-top:34px}.portal-intro h1{font-size:40px}.portal-lede{font-size:21px}.portal-description{font-size:14px}.portal-card{padding:27px 23px}.portal-card h2{font-size:28px}.portal-sign-in{padding:14px 17px;font-size:13px}.portal-footer .container{display:grid;gap:8px}}
