.app-access-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.app-access { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:72px; align-items:start; }
.app-access-copy { min-width:0; max-width:520px; }
.app-access-copy h2 { margin:18px 0; font-size:36px; font-weight:600; line-height:1.15; text-wrap:balance; }
.app-access-copy > p,.app-access-success p { color:#55565d; font-size:16px; line-height:1.7; }
.app-email-form { display:grid; gap:16px; margin-top:28px; }
.app-email-form[hidden],.app-access-success[hidden] { display:none; }
.app-email-form > label { font-size:14px; font-weight:600; }
.app-email-form > input { box-sizing:border-box; width:100%; min-width:0; min-height:52px; padding:14px 16px; border:1px solid #bdbdc4; border-radius:6px; color:#202025; background:#fff; font:inherit; }
.app-email-form > input:focus-visible,.app-access-button:focus-visible,.app-install-help summary:focus-visible { outline:3px solid #ae007f; outline-offset:4px; }
.app-email-form .app-consent { display:flex; align-items:flex-start; gap:12px; font-size:13px; line-height:1.6; font-weight:400; cursor:pointer; padding:8px 0; }
.app-consent input { width:18px; height:18px; flex:none; margin:2px 0 0; accent-color:#cc0099; }
.app-access-button { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; border:0; border-radius:6px; min-height:52px; width:100%; padding:14px 20px; background:#cd009a; color:#fff; font:inherit; font-size:15px; font-weight:600; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; transition:background .2s; }
.app-access-button:hover { background:#ab0080; }
.app-access-button:disabled { cursor:wait; opacity:.65; }
.app-email-form small { color:#67676e; font-size:12px; line-height:1.7; }
.app-access-message { font-size:14px; line-height:1.6; margin:0; color:#a60042; }
.app-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.app-access-photo { margin:0; overflow:hidden; border-radius:6px; }
.app-access-photo img { display:block; width:100%; height:auto; }
.app-access-success { margin-top:28px; }
.app-access-success h3 { font-size:24px; margin:0 0 12px; }
.app-install-help { margin-top:24px; padding-top:20px; border-top:1px solid #dedee4; }
.app-install-help summary { cursor:pointer; font-size:14px; line-height:1.7; }
.app-install-help p { font-size:14px; }
@media(max-width:700px) {
  .app-access { grid-template-columns:1fr; gap:40px; }
  .app-access-copy h2 { font-size:28px; }
  .app-access-copy { max-width:none; }
  .app-access-photo { max-width:440px; }
}
@media(prefers-reduced-motion:reduce) { .app-access-button { transition:none; } }
