.posthopper-access{min-height:100vh;background:#f5f7fb;color:#15233b;display:grid;place-items:center;padding:24px}
.posthopper-access .access-page{width:min(100%,520px);margin:0;padding:clamp(28px,6vw,48px);background:#fff;border:1px solid #dfe6f2;border-radius:18px;box-shadow:0 18px 52px #15233b12}
.posthopper-access .access-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px}
.posthopper-access .company-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#315fba;color:#fff;font-weight:800;font-size:23px}
.posthopper-access .access-brand strong{display:block;color:#15233b;font-size:19px;letter-spacing:-.04em;line-height:1.1}
.posthopper-access .access-brand small{display:block;color:#6e7b90;font-size:11px;margin-top:3px}
.posthopper-access h1{margin:0 0 14px;color:#15233b;font-size:clamp(27px,5vw,36px)}
.posthopper-access p{color:#52647e;line-height:1.6}
.posthopper-access .access-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:28px 0}
.posthopper-access .button,.posthopper-access button{background:#315fba;border-color:#315fba;border-radius:8px;color:#fff;min-height:44px}
.posthopper-access .button:hover,.posthopper-access button:hover{background:#254d9c}
.posthopper-access a{color:#315fba}
.posthopper-access .access-note{margin:26px 0 0;padding-top:18px;border-top:1px solid #e0e6f0;font-size:13px}
.posthopper-access label{display:block;margin-top:18px;font-weight:650}
.posthopper-access input{display:block;width:100%;margin-top:7px;border:1px solid #b9c7dc;border-radius:8px;padding:12px;font:inherit}
.posthopper-access form button{margin-top:22px}
.posthopper-access :focus-visible{outline:3px solid #82a9ee;outline-offset:3px}
@media(max-width:560px){.posthopper-access{padding:12px;place-items:start center}.posthopper-access .access-page{margin-top:20px;padding:26px 22px}}
