.hdr__access {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  flex: none; margin-left: auto; min-height: 44px; padding: 0 16px;
  border: 1px solid #6a34e6; border-radius: 12px; background: #6a34e6;
  color: white; font: 700 14px/1 var(--f-label);
  transition: background .2s, transform .18s;
}
.hdr__access .ico { width: 17px; height: 17px; }
.hdr__cta { margin-left: 0; }
@media (hover: hover) { .hdr__access:hover { background: #5a28d1; } }
.hdr__access:active { transform: scale(.97); }
.access { --access-fg: #16112e; --access-muted: #57526e; --access-bg: #fff;
  --access-border: #e7e4ef; --access-soft: #f0eafe; --access-pill: #f7f4fe;
  --access-action: #6a34e6; --access-accent: #4b1fc4;
  background: var(--access-bg); color: var(--access-fg);
  position: fixed; inset: 0; margin: auto;
  width: min(960px, calc(100vw - 32px));
  max-width: calc(100vw - 32px); max-height: min(850px, calc(100dvh - 32px));
  padding: 0; border: 0; border-radius: 32px;
  box-shadow: 0 32px 80px -24px rgba(20,11,56,.55), 0 4px 16px rgba(20,11,56,.12);
  overflow: auto; overscroll-behavior: contain;
  font-family: 'Plus Jakarta Sans', var(--f-label);
}
.access:not([open]) { display: none; }
.access::backdrop { background: rgba(20,11,56,.67); backdrop-filter: blur(5px); }
.access__inside { padding: 40px; }
.access__handle { display: none; }
.access__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.access__eyebrow { color: var(--access-accent); text-transform: uppercase;
  font: 800 12px/1.3 var(--f-label); letter-spacing: .14em; }
.access__eyebrow span { color: #9a3fe3; font-size: 15px; padding-right: 7px; }
.access__heading h2 { font: 800 clamp(25px, 3.3vw, 40px)/1.12 'Plus Jakarta Sans', var(--f-title);
  letter-spacing: -.04em; margin-top: 14px; color: var(--access-fg); }
.access__heading > p:last-child { color: var(--access-muted);
  font: 500 16px/1.5 var(--f-label); margin-top: 10px; }
.access__close { display: grid; place-items: center; flex: none; width: 44px; height: 44px;
  border: 0; border-radius: 12px; background: var(--access-pill); color: var(--access-fg); }
.access__close { font: 400 32px/1 var(--f-label); }
.access__close:hover { background: var(--access-soft); }
.access__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.access__card { min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: 22px;
  background: var(--access-bg); border: 1px solid var(--access-border); border-radius: 16px;
  box-shadow: 0 1px 2px rgba(22,17,46,.06); }
.access__symbol { display: grid; place-items: center; width: 52px; height: 52px;
  border-radius: 12px; background: var(--access-soft); color: var(--access-accent); }
.access__symbol .ico { width: 26px; height: 26px; }
.access__info { flex: 1; }
.access__info h3 { font: 800 21px/1.2 'Plus Jakarta Sans', var(--f-title); letter-spacing: -.03em; }
.access__info p { color: var(--access-muted); font: 500 15px/1.5 var(--f-label); margin-top: 6px; }
.access__go { display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 10px 18px; border-radius: 12px; background: var(--access-action);
  color: #fff; text-decoration: none; font: 700 15px/1 var(--f-label); }
.access__go .ico, .access__alternative .ico { width: 18px; height: 18px; }
.access__go:hover { background: #5a28d1; }
.access__alternative { min-height: 28px; display: flex; justify-content: center; align-items: center;
  gap: 6px; text-align: center; color: var(--access-accent); font: 700 12px/1.3 var(--f-label);
  text-decoration: underline; text-underline-offset: 3px; }
.access__foot { border-top: 1px solid var(--access-border); margin-top: 28px; padding-top: 20px;
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.access__foot > p { font: 500 15px/1.4 var(--f-label); color: var(--access-muted); }
.access__foot > p a { color: var(--access-accent); font-weight: 800; text-underline-offset: 2px; }
.access__theme { display: inline-flex; gap: 2px; padding: 3px; border-radius: 13px;
  background: rgba(120,106,170,.14); }
.access__theme button { border: 0; border-radius: 10px; min-height: 40px; padding: 0 13px;
  background: transparent; color: var(--access-muted); font: 700 13px/1 var(--f-label); }
.access__theme button[aria-pressed="true"] { background: var(--access-bg);
  box-shadow: 0 1px 3px rgba(22,17,46,.12); color: var(--access-accent); }
.access[data-access-theme="dark"] {
  --access-fg: #f7f4ff; --access-muted: #d6cfee; --access-bg: #1b1048;
  --access-border: #48366d; --access-soft: #2b1f63; --access-pill: #30205c;
  --access-action: #6a34e6; --access-accent: #cdbbff;
}
.access[data-access-theme="dark"] .access__card { background: #21134f; }
.access[data-access-theme="dark"] .access__theme button[aria-pressed="true"] { background: #39286b; }
@media (max-width: 860px) {
  .hdr__access { padding: 0 12px; margin-left: 0; }
  .hdr__in .segmenu { margin-left: auto; min-width: 0; }
  .hdr__in .segmenu__btn { max-width: 100%; }
  .hdr__in .segmenu__cur { overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 640px) {
  .hdr__in { gap: 8px; }
  .hdr__access { min-height: 42px; width: 44px; min-width: 44px; padding: 0; font-size: 13px; }
  .hdr__access span { display: none; }
  .hdr__access .ico { width: 19px; height: 19px; }
  .hdr__in .segmenu__btn { max-width: none; }
  .hdr__in .segmenu__lbl { max-width: none; overflow: visible; text-overflow: clip; }
  .access { inset: auto 0 0; margin: 0; width: 100%; max-width: 100%;
    height: auto; max-height: calc(100dvh - 68px); border-radius: 24px 24px 0 0;
    padding-bottom: env(safe-area-inset-bottom); }
  .access__inside { padding: 10px 20px 20px; }
  .access__handle { display: block; width: 48px; height: 5px; border-radius: 8px;
    margin: 0 auto 15px; background: var(--access-border); }
  .access__head { gap: 12px; }
  .access__heading h2 { font-size: 26px; margin-top: 12px; }
  .access__heading > p:last-child { font-size: 14px; }
  .access__cards { grid-template-columns: 1fr; margin-top: 18px; gap: 12px; }
  .access__card { display: grid; grid-template-columns: 44px 1fr;
    grid-template-areas: 'icon text' 'button button' 'other other'; gap: 10px 12px; padding: 14px; }
  .access__symbol { grid-area: icon; width: 44px; height: 44px; }
  .access__symbol .ico { width: 22px; height: 22px; }
  .access__info { grid-area: text; }
  .access__info h3 { font-size: 18px; }
  .access__info p { font-size: 13px; }
  .access__go { grid-area: button; min-height: 48px; }
  .access__alternative { grid-area: other; }
  .access__foot { margin-top: 18px; padding-top: 14px; }
  .access__foot > p { font-size: 13px; }
}
@media (max-width: 360px) {
  .hdr__access { font-size: 0; gap: 0; min-width: 44px; padding: 0 10px; }
  .hdr__access .ico { width: 21px; height: 21px; }
  .hdr__in .segmenu__btn { padding: 0 7px 0 9px; }
  .hdr__in .segmenu__lbl { font-size: 12px; }
}
html.access-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .hdr__access { transition: none; } }
