.phone-access,
.phone-access * { box-sizing: border-box; }
.phone-access {
  width: min(480px, calc(100vw - 32px));
  max-height: calc(100svh - 32px);
  margin: auto;
  padding: 40px 32px 28px;
  border: 1px solid #303033;
  border-radius: 24px;
  background: #111113;
  color: #f5f5f5;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: dark;
  box-shadow: 0 32px 120px #0008;
  overscroll-behavior: contain;
}
.phone-access::backdrop { background: #000b; backdrop-filter: blur(12px); }
.phone-access h2 { margin: 0 24px 14px 0; font-size: 28px; line-height: 1.2; letter-spacing: -.03em; font-weight: 550; }
.phone-access-description { margin: 0 0 28px; color: #b3b3bb; font-size: 15px; line-height: 1.6; }
.phone-access-close { position: absolute; top: 12px; right: 14px; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #b3b3bb; font: 26px/1 sans-serif; cursor: pointer; }
.phone-access-close:hover { background: #29292d; color: #fff; }
.phone-access-form { display: flex; flex-direction: column; }
.phone-access-form label { margin: 0 0 8px; color: #e8e8ed; font-size: 13px; line-height: 1.5; }
.phone-access-form label span { margin-left: 6px; color: #8e8e98; font-size: 12px; }
.phone-access-form input,
.phone-access-form textarea { width: 100%; margin: 0 0 20px; padding: 12px 14px; border: 1px solid #39393f; border-radius: 10px; background: #1b1b1f; color: #fff; font-family: inherit; font-size: 16px; line-height: 1.5; }
.phone-access-form textarea { min-height: 96px; max-height: 220px; resize: vertical; }
.phone-access-form input::placeholder,
.phone-access-form textarea::placeholder { color: #85858f; }
.phone-access-form [aria-invalid="true"] { border-color: #fb8989; }
.phone-access-form input:disabled,
.phone-access-form textarea:disabled { opacity: .7; }
.phone-access-privacy { margin: -2px 0 24px; color: #90909b; font-size: 12px; line-height: 1.6; }
.phone-access-privacy a { color: #bdbdc7; text-underline-offset: 3px; }
.phone-access-submit { min-height: 46px; padding: 12px 20px; border: 0; border-radius: 999px; background: #f4f4f6; color: #101012; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.phone-access-submit:hover:not(:disabled) { background: #dcdce0; }
.phone-access-submit:disabled { cursor: default; opacity: .65; }
.phone-access-status { margin: 14px 0 0; color: #c7d9c7; font-size: 13px; line-height: 1.55; }
.phone-access-status:empty { margin: 0; }
.phone-access-status.is-error { color: #ffadad; }
.phone-access :focus-visible { outline: 2px solid #b9d5ff; outline-offset: 3px; }
@media (max-width: 540px) {
  .phone-access { padding: 36px 24px 24px; border-radius: 20px; }
  .phone-access h2 { font-size: 25px; }
}
