/* Public account pages share the hospital form's brand and typography. */
.access-page{background:#f5f9fc;padding-bottom:72px;color:var(--public-ink)}
.access-page svg,.access-paths svg{width:21px;height:21px;flex-shrink:0}
.access-hero{position:relative;overflow:hidden;padding:48px 0 75px;background:linear-gradient(115deg,#eaf5fc 0%,#f0faf6 75%,#e9f6f0)}
.access-hero:after{content:"";position:absolute;width:290px;height:290px;right:5%;top:-170px;border:1px solid #a9d5d750;border-radius:50%;box-shadow:0 0 0 44px #b4dde124,0 0 0 90px #b4dde116;pointer-events:none}
.access-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.13em;line-height:1.5;color:#0c7d77;text-transform:uppercase}
.access-eyebrow svg{width:17px;height:17px}
.access-hero h1{position:relative;z-index:1;margin:13px 0 14px;max-width:900px;font-size:clamp(30px,3.5vw,44px);font-weight:780;letter-spacing:-.04em;line-height:1.18}
.access-hero h1 em{display:block;font-style:normal;color:#157c78}
.access-hero p{position:relative;z-index:1;max-width:670px;margin:0;font-size:14px;line-height:1.75;color:#536b7f}
.access-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);align-items:start;gap:26px;margin-top:-33px}
.access-card{min-width:0;padding:32px;background:#fff;border:1px solid #dfe9ee;border-radius:22px;box-shadow:0 18px 55px #173c5410}
.access-card-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.access-card-symbol{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:14px;color:#1769d2;background:linear-gradient(135deg,#e5f1ff,#e4f7ef)}
.access-card-symbol svg{width:24px;height:24px}
.access-card h2{margin:5px 0 0;font-size:24px;line-height:1.25;font-weight:760;letter-spacing:-.025em}
.access-intro{margin:0 0 24px;color:#62778a;font-size:13px;line-height:1.75}
.access-form{margin:0}
.access-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.access-field{min-width:0;margin-bottom:18px}
.access-label,.access-form label:not(.access-terms label){display:block;margin:0 0 7px;color:#293f54;font-family:inherit;font-size:12px;font-weight:730;line-height:1.5}
.access-input{position:relative;display:block}
.access-input-icon{position:absolute;top:0;left:14px;height:49px;display:flex;align-items:center;color:#8a9bad;pointer-events:none;transition:color .2s}
.access-input-icon svg{width:18px;height:18px}
.access-page .access-control{display:block;box-sizing:border-box;width:100%;min-height:49px;padding:12px 44px;border:1px solid #d9e4eb;border-radius:11px;outline:none;background:#f8fafc;color:#18334b;font-family:inherit;font-size:13px;font-weight:500;line-height:1.5;box-shadow:none;transition:background .2s,border-color .2s,box-shadow .2s}
.access-page .access-control::placeholder{color:#899cab;opacity:1}
.access-page .access-control:focus{border-color:#3186cf;background:#fff;box-shadow:0 0 0 4px #238ac313}
.access-input:focus-within .access-input-icon{color:#126faf}
.access-page .access-plain{padding-inline:15px;margin:0 0 20px}
.access-password-toggle{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:39px;height:39px;border:0;border-radius:8px;background:transparent;color:#6c8294;cursor:pointer;transition:background .2s,color .2s}
.access-password-toggle:hover,.access-password-toggle[aria-pressed=true]{background:#e6f2f6;color:#087f7c}
.access-password-toggle svg{width:18px;height:18px}
.access-page .access-terms{font-size:12px;color:#617387;line-height:1.7}
.access-page .access-terms label{display:block;position:relative;padding-left:25px;font-size:12px;line-height:1.7;font-weight:500}
.access-page .access-terms input{position:absolute;left:0;top:0;width:16px;height:16px;margin-top:3px;accent-color:#138c78}
.access-page .access-terms a,.access-form-links a,.access-team-link a{color:#1769b9;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.access-page .access-terms .form-check{display:flex;align-items:flex-start;gap:9px;padding:0}
.access-page .access-terms .form-check-input{position:static;float:none;margin-left:0}
.access-page .access-terms .form-check-label{display:block;padding-left:0}
.access-form-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;margin:-3px 0 22px}
.access-submit{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:51px;padding:13px 19px;border:0;border-radius:11px;background:linear-gradient(115deg,#1768c7,#138d84);color:#fff;font:inherit;font-size:14px;font-weight:750;cursor:pointer;box-shadow:0 9px 22px #1768c71c;transition:transform .2s,box-shadow .2s,filter .2s}
.access-submit svg{width:18px;height:18px;transition:transform .2s}
.access-submit:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 13px 27px #1768c72a}
.access-submit:hover svg{transform:translateX(4px)}
.access-form-note{display:flex;justify-content:center;align-items:flex-start;gap:7px;color:#79909f;font-size:11px;line-height:1.6;margin:13px 0 0}
.access-form-note svg{width:14px;height:14px;flex-shrink:0;margin-top:2px}
.access-team-link{margin:18px 0 0;font-size:12px;color:#63798b;line-height:1.65}
.access-divider{display:flex;align-items:center;gap:12px;margin:27px 0 16px;color:#8a9dab;font-size:9px;font-weight:750;letter-spacing:.09em;line-height:1.5}
.access-divider:before,.access-divider:after{content:"";height:1px;flex:1;background:#e5edf2}
.access-divider span{flex-shrink:1;text-align:center}
.access-paths{display:grid;gap:10px;min-width:0}
.public-site .access-path{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #dfebf0;border-radius:12px;background:#fbfdfe;color:#23445c;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.access-path-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:#eaf4fa;color:#176aa6;border-radius:10px}
.access-path:nth-child(2) .access-path-icon{background:#e9f7f0;color:#138266}
.access-path>span:nth-child(2){min-width:0;flex:1}
.access-path strong{display:block;font-size:12px;line-height:1.5;font-weight:750}
.access-path small{display:block;margin-top:2px;color:#7b8e9c;font-size:10px;line-height:1.5}
.access-path-arrow{margin-left:auto;display:flex;color:#91a6b4}
.access-path-arrow svg{width:16px;height:16px;transition:transform .2s}
.public-site .access-path:hover{background:#f0f8fa;border-color:#b8d5df;transform:translateY(-2px);box-shadow:0 6px 15px #17587608}
.access-path:hover .access-path-arrow svg{transform:translateX(3px)}
.access-story{position:relative;overflow:hidden;padding:35px 29px 28px;border-radius:22px;background:linear-gradient(145deg,#102f50,#125376 62%,#147969);color:#fff}
.access-story:after{content:"";position:absolute;width:240px;height:240px;right:-125px;top:-110px;border:1px solid #ffffff22;border-radius:50%;box-shadow:0 0 0 35px #ffffff05,0 0 0 70px #ffffff04;pointer-events:none}
.access-story-orbit{display:grid;place-items:center;width:67px;height:67px;border:1px solid #ffffff26;border-radius:20px;color:#9ae7d0;background:#ffffff0a;margin-bottom:26px;transform:rotate(-8deg)}
.access-story-orbit svg{width:40px;height:40px}
.access-story .access-eyebrow{color:#97d8cb;font-size:9px}
.access-story h2{font-size:30px;line-height:1.22;letter-spacing:-.035em;margin:13px 0;font-weight:730;color:#fff}
.access-story>p{font-size:12px;line-height:1.7;margin:0 0 29px;color:#bfd7e1}
.access-benefit{display:flex;gap:12px;align-items:flex-start;padding:17px 0;border-top:1px solid #ffffff17}
.access-benefit>span{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:9px;background:#ffffff0d;color:#a0ead5}
.access-benefit svg{width:17px;height:17px}
.access-benefit strong{display:block;font-size:12px;font-weight:680;line-height:1.5}
.access-benefit small{display:block;font-size:11px;line-height:1.65;color:#c1d6df;margin-top:3px}
.access-partner-note{display:flex;gap:12px;align-items:flex-start;padding:22px 8px;color:#48687e}
.access-partner-note>span{display:grid;place-items:center;flex-shrink:0;width:33px;height:33px;border-radius:10px;color:#167b7a;background:#e4f2f0}
.access-partner-note strong{font-size:12px;font-weight:750}
.access-partner-note p{margin:5px 0 0;font-size:11px;line-height:1.7;color:#6e8495}
.access-partner-note a{color:#176da4;text-decoration:underline;text-underline-offset:3px}
.access-error{display:block;min-height:0;color:#bd344b;font-size:11px;line-height:1.5;margin:5px 0 0}
.access-field.has-error .access-control,.access-control.is-invalid{border-color:#cd5669}
.access-error-summary,.access-alert{padding:13px 15px;margin-bottom:20px;border:1px solid #f1d3d9;border-radius:10px;background:#fff6f7;color:#a62b45;font-size:12px;line-height:1.6}
.access-error-summary p{margin:0 0 4px}.access-error-summary ul{margin:0;padding-left:18px}
.access-alert.is-success{color:#17694e;background:#f0faf4;border-color:#cbe5d6}
.access-page :is(a,button,input):focus-visible,.access-paths a:focus-visible{outline:3px solid #72bac7;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.access-card,.access-aside{animation:access-rise .55s both}.access-aside{animation-delay:.1s}}
@keyframes access-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.access-layout{grid-template-columns:minmax(0,1.35fr) minmax(250px,.9fr);gap:18px}.access-card{padding:25px}.access-form-grid{grid-template-columns:1fr;gap:0}.access-story{padding:29px 23px}.access-story h2{font-size:27px}.access-card h2{font-size:22px}}
@media(max-width:680px){.access-page{padding-bottom:45px}.access-layout{grid-template-columns:1fr;margin-top:-24px;gap:24px}.access-hero{padding:31px 0 55px}.access-hero h1{font-size:30px}.access-hero p{font-size:12px}.access-card{padding:24px 20px;border-radius:17px}.access-card h2{font-size:21px}.access-card-symbol{width:43px;height:43px}.access-story{border-radius:17px}.access-story-orbit{display:none}.access-story h2 br{display:none}.access-story h2{font-size:25px}.access-story>p{margin-bottom:20px}.access-benefit{padding:14px 0}.access-hero .public-container,.access-layout{width:calc(100% - 28px)}.access-page .access-control{font-size:16px}.access-path small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.access-page *,.access-paths *{animation:none!important;transition:none!important}}
