.access-page{background:#f1f2eb;min-height:100dvh}
.access-page .site-header{background:rgba(241,242,235,.93)}
.access-shell{max-width:1240px;min-height:min(780px,calc(100dvh - 78px));display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;margin:0 auto;padding:24px 28px 44px}
.access-intro,.access-panel{min-width:0;border-radius:32px;overflow:hidden}
.access-intro{position:relative;display:flex;flex-direction:column;min-height:650px;padding:clamp(32px,5vw,66px);background:#192a22;color:#f4f7ed;isolation:isolate}
.access-intro::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-235px;bottom:-170px;border:1px solid rgba(223,238,189,.38);border-radius:50%;box-shadow:0 0 0 95px rgba(223,238,189,.045),0 0 0 190px rgba(223,238,189,.035)}
.access-kicker,.access-panel-kicker{margin:0;font-size:11px;letter-spacing:.16em;font-weight:800}
.access-kicker{color:#dce9a8}
.access-intro h1{max-width:540px;margin:100px 0 22px;font-size:clamp(54px,6.7vw,88px);line-height:.91;letter-spacing:-.075em}
.access-intro-text{max-width:390px;margin:0;color:#d2ded4;font-size:20px;line-height:1.45}
.access-orbit{position:relative;flex:1;min-height:130px;margin-top:20px;pointer-events:none}
.access-orbit span{position:absolute;bottom:-15px;right:8%;width:240px;height:240px;border:1px solid rgba(220,233,168,.52);border-radius:50%}
.access-orbit span+span{right:19%;bottom:24px;width:150px;height:150px;border-color:rgba(220,233,168,.34)}
.access-orbit i{position:absolute;right:17%;bottom:85px;width:48px;height:48px;border-radius:50%;background:#dce9a8;box-shadow:0 0 45px rgba(220,233,168,.28)}
.access-intro-foot{position:relative;margin:auto 0 0;padding-top:22px;color:#aebfb3;font-size:12px}
.access-panel{align-self:stretch;padding:clamp(28px,4.3vw,55px);background:#fff;box-shadow:0 20px 50px rgba(22,31,25,.08)}
.access-panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:52px}
.access-mark{font-size:17px;font-weight:850;letter-spacing:-.1em}
.access-preview-tag{padding:8px 11px;border-radius:999px;background:#eef2e2;color:#476244;font-size:10px;font-weight:800;letter-spacing:.11em}
.access-panel-kicker{color:#5b765d}
.access-panel h2{margin:12px 0 10px;font-size:clamp(38px,4vw,54px);line-height:.98;letter-spacing:-.065em}
.access-panel-intro{max-width:420px;margin:0 0 28px;color:#687069;font-size:15px;line-height:1.5}
.access-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.access-role{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;min-height:96px;padding:16px;border:1.5px solid #d9dfd5;border-radius:18px;background:#f9faf6;color:#17251c;text-align:left;cursor:pointer;transition:border-color .25s,transform .25s,background .25s,box-shadow .25s}
.access-role:hover{transform:translateY(-2px);border-color:#718d76}
.access-role.is-selected{border-color:#275a43;background:#edf4e9;box-shadow:inset 0 0 0 1px #275a43}
.access-role-symbol{grid-row:1/3;display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#e0e9d7;color:#20543c;font-size:21px}
.access-role-symbol svg{display:block;width:23px;height:23px}
.access-role strong{font-size:15px;line-height:1.15}
.access-role small{align-self:start;color:#748078;font-size:11px}
.access-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;padding:4px;border-radius:999px;background:#ecf0e8}
.access-mode button{min-height:41px;border:0;border-radius:999px;background:transparent;color:#6c766e;font-size:13px;font-weight:700;cursor:pointer}
.access-mode button.is-selected{background:#192a22;color:white;box-shadow:0 4px 14px rgba(21,34,25,.15)}
.access-form h3{margin:0 0 16px;font-size:21px;letter-spacing:-.045em;text-align:center}
.access-field{margin:0 0 14px}
.access-field[hidden]{display:none}
.access-field label{display:block;margin:0 0 7px;font-size:12px;font-weight:750;color:#354b3d}
.access-field input{display:block;width:100%;min-height:48px;padding:12px 15px;border:1px solid #cbd6cd;border-radius:12px;background:#fbfcf9;color:#17251c;font:inherit;font-size:15px;letter-spacing:0;outline:none;transition:border-color .2s,box-shadow .2s}
.access-field input::placeholder{color:#89968b}
.access-field input:focus{border-color:#315d43;box-shadow:0 0 0 3px rgba(90,140,93,.15)}
.access-submit{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;min-height:50px;margin-top:20px;padding:13px 19px;border:0;border-radius:999px;background:#dce9a8;color:#17241b;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}
.access-submit::before{content:""}
.access-submit>span:first-child{grid-column:2;text-align:center}
.access-submit>span:last-child{grid-column:3;justify-self:end}
.access-submit:hover{transform:translateY(-2px);background:#eaf3bf}
.access-status{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#eff3e9;color:#31513d;font-size:13px;line-height:1.45}
.access-status.is-error{background:#fff0eb;color:#9f3b20}
.access-demo-note{margin:20px 0 0;color:#7c887e;font-size:11px;line-height:1.5}
.access-preview-destination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;padding-top:15px;border-top:1px solid #e1e7dc;font-size:12px;color:#687069}
.access-preview-destination a{color:#20543c;font-weight:800;text-decoration:underline;text-underline-offset:3px;text-align:right}
@media(max-width:850px){.access-shell{grid-template-columns:1fr;max-width:680px}.access-intro{min-height:300px}.access-intro h1{margin:44px 0 16px;font-size:clamp(48px,9vw,70px)}.access-orbit{display:none}.access-intro-foot{margin-top:38px}.access-panel-top{margin-bottom:30px}}
@media(max-width:520px){.access-shell{padding:12px 12px 32px;gap:12px}.access-intro,.access-panel{border-radius:24px}.access-intro{min-height:260px;padding:28px}.access-intro h1{font-size:48px;margin:36px 0 14px}.access-intro-text{font-size:16px}.access-intro-foot{font-size:10px;margin-top:28px}.access-panel{padding:26px 20px}.access-panel h2{font-size:39px}.access-roles{gap:8px}.access-role{grid-template-columns:1fr;padding:12px;min-height:111px}.access-role-symbol{grid-row:auto;width:30px;height:30px;font-size:17px;margin-bottom:8px}.access-role strong{font-size:13px}.access-role small{font-size:10px}}
@media(max-width:520px){.access-role-symbol svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.access-role,.access-submit,.access-field input{transition:none}}
