.access-page { min-height: 100vh; background: #ffffff; }
.access-shell { display: grid; width: min(100%, 1080px); margin: 0 auto; gap: 28px; padding: 48px 20px 76px; }
.access-hero { display: grid; max-width: 820px; gap: 14px; }
.access-hero h1 { color: var(--ink); font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif; font-size: clamp(38px, 7vw, 66px); font-weight: 800; letter-spacing: -0.045em; line-height: 0.98; }
.access-hero > p:last-child { max-width: 760px; color: #4c5561; font-size: clamp(18px, 2.5vw, 22px); font-weight: 650; line-height: 1.5; }
.access-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.75fr); align-items: start; gap: 24px; }
.access-form-card, .access-explainer { border: 1px solid rgba(18, 55, 82, 0.12); border-radius: 18px; background: #fff; box-shadow: 0 20px 50px rgba(49, 60, 73, 0.08); }
.access-form-card { padding: clamp(22px, 4vw, 36px); }
.access-card-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.access-card-heading > .material-symbols-outlined { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: rgba(44, 151, 212, 0.12); color: var(--brand-blue); font-size: 27px; }
.access-card-heading h2, .access-explainer h2 { color: var(--ink); font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif; font-size: 24px; line-height: 1.15; }
.access-card-heading p, .access-field-note { color: #707985; font-size: 14px; font-weight: 650; }
#organizationAccessForm { display: grid; gap: 18px; }
#organizationAccessForm label, .access-field > label { display: grid; gap: 7px; color: #29313b; font-size: 15px; font-weight: 800; }
#organizationAccessForm label > span:not(.access-certification span) { color: #76808c; font-size: 13px; }
#organizationAccessForm input, #organizationAccessForm textarea { width: 100%; border: 1px solid #ccd4dc; border-radius: 10px; padding: 12px 13px; background: #fff; color: #17202a; font: inherit; font-size: 16px; }
#organizationAccessForm input:focus, #organizationAccessForm textarea:focus { border-color: var(--brand-blue); box-shadow: 0 0 0 3px rgba(44, 151, 212, 0.14); outline: none; }
.access-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.access-organization-picker { position: relative; }
.access-organization-results { position: absolute; z-index: 10; width: 100%; top: calc(100% - 17px); overflow: hidden; border: 1px solid #cbd5df; border-radius: 12px; background: #fff; box-shadow: 0 18px 40px rgba(31, 45, 58, 0.16); }
.access-organization-result { display: grid; width: 100%; gap: 2px; border: 0; border-bottom: 1px solid #edf0f3; border-radius: 0; padding: 11px 13px; background: #fff; color: #1f2c37; text-align: left; }
.access-organization-result:last-child { border-bottom: 0; }
.access-organization-result:hover, .access-organization-result:focus { background: #f2f9fd; }
.access-organization-result strong { font-size: 15px; }
.access-organization-result small { color: #6a7480; font-size: 12px; }
.access-certification { grid-template-columns: auto 1fr !important; align-items: start; gap: 11px !important; border-radius: 12px; padding: 14px; background: #f6f8fa; font-weight: 700 !important; line-height: 1.45; }
.access-certification input { width: 19px !important; height: 19px; margin-top: 2px; }
.access-honeypot { position: absolute !important; left: -10000px; opacity: 0; }
.access-submit-row { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.access-submit-row button { border: 0; border-radius: 999px; padding: 13px 22px; background: var(--brand-orange); color: #fff; font-size: 16px; font-weight: 850; }
.access-submit-row button:disabled { cursor: wait; opacity: 0.62; }
.access-status { flex: 1 1 240px; margin: 0; color: #4b5560; font-size: 14px; font-weight: 750; }
.access-status.is-error { color: #a3362d; }
.access-status.is-success { color: #2f6d4d; }
.access-explainer { display: grid; gap: 22px; padding: 26px; }
.access-explainer ol { display: grid; gap: 19px; margin: 0; padding: 0; list-style: none; }
.access-explainer li { display: grid; grid-template-columns: 32px 1fr; gap: 11px; }
.access-explainer li > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #edf7fc; color: #1473a4; font-size: 13px; font-weight: 900; }
.access-explainer strong, .access-new-org strong { color: #26323d; font-size: 15px; }
.access-explainer p, .access-new-org p { margin: 3px 0 0; color: #69737e; font-size: 14px; font-weight: 650; line-height: 1.45; }
.access-new-org { display: grid; grid-template-columns: 34px 1fr; gap: 11px; border-radius: 13px; padding: 15px; background: #fff4e8; }
.access-new-org > .material-symbols-outlined { color: var(--brand-orange); }
.access-new-org a { color: #a95109; font-weight: 850; }
@media (max-width: 820px) { .access-layout { grid-template-columns: 1fr; } }
@media (max-width: 580px) { .access-shell { padding-top: 30px; } .access-form-grid { grid-template-columns: 1fr; } .access-submit-row { align-items: stretch; } .access-submit-row button { width: 100%; } }
