
  .ab-modal-bd{position:fixed;inset:0;z-index:9800;background:rgba(15,23,42,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:20px;font-family:'Manrope',-apple-system,system-ui,sans-serif;animation:abFade .25s ease-out}
  .ab-modal-bd.open{display:flex}
  @keyframes abFade{from{opacity:0}to{opacity:1}}
  .ab-modal{background:#fff;max-width:460px;width:100%;max-height:92vh;overflow-y:auto;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 4px 16px rgba(0,0,0,.18);padding:32px 30px 28px;position:relative;animation:abSlide .3s cubic-bezier(.2,.7,.2,1);color:#18181b}
  @keyframes abSlide{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
  .ab-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.04);border:0;cursor:pointer;font-size:18px;color:#71717a;display:flex;align-items:center;justify-content:center;transition:background .15s}
  .ab-x:hover{background:rgba(0,0,0,.08);color:#18181b}
  .ab-eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#c2410c;margin-bottom:8px}
  .ab-title{font-family:'Playfair Display',serif;font-size:26px;line-height:1.15;font-weight:600;letter-spacing:-.015em;margin-bottom:8px;text-wrap:balance}
  .ab-sub{font-size:14px;color:#71717a;margin-bottom:22px;line-height:1.5}
  .ab-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
  .ab-field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
  .ab-label{font-size:11px;font-weight:600;color:#71717a;letter-spacing:.04em;text-transform:uppercase}
  .ab-input{width:100%;padding:12px 14px;border:1.5px solid #e7e5e4;border-radius:11px;font-size:16px;font-family:inherit;color:#18181b;outline:none;transition:border-color .15s,box-shadow .15s;background:#fafaf9}/* 16px (not 15) so iOS Safari doesn't auto-zoom the signup form on focus */
  .ab-input:focus{border-color:#c2410c;background:#fff;box-shadow:0 0 0 4px rgba(194,65,12,.12)}
  .ab-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#71717a;line-height:1.5;margin:14px 0 18px;padding:12px;background:#fafaf9;border-radius:10px;border:1px solid #e7e5e4}
  .ab-consent input{margin-top:2px;accent-color:#c2410c;flex-shrink:0}
  .ab-consent a{color:#c2410c;font-weight:600}
  .ab-submit{width:100%;padding:14px 20px;background:linear-gradient(135deg,#c2410c,#9b2f00);color:#fff;border:0;border-radius:100px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;letter-spacing:.01em;box-shadow:0 10px 28px rgba(194,65,12,.32);transition:transform .15s,box-shadow .15s,opacity .15s}
  .ab-submit:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(194,65,12,.4)}
  .ab-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}
  .ab-err{font-size:13px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;margin-bottom:14px;display:none}
  .ab-err.on{display:block}
  .ab-footer-note{text-align:center;font-size:11px;color:#a8a29e;margin-top:14px;letter-spacing:.04em}
  /* OTP step */
  .ab-otp-row{display:flex;justify-content:center;gap:8px;margin:6px 0 18px}
  .ab-otp-input{width:48px;height:56px;text-align:center;font-family:'Playfair Display',serif;font-size:24px;font-weight:700;border:1.5px solid #e7e5e4;border-radius:11px;outline:none;background:#fafaf9;color:#18181b;-moz-appearance:textfield}
  .ab-otp-input::-webkit-outer-spin-button,.ab-otp-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
  .ab-otp-input:focus{border-color:#c2410c;background:#fff;box-shadow:0 0 0 4px rgba(194,65,12,.12)}
  .ab-resend{background:none;border:0;color:#c2410c;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;padding:4px 8px;margin:0 auto;display:block}
  .ab-resend:disabled{color:#a8a29e;cursor:not-allowed}
  .ab-back{background:none;border:0;color:#71717a;font-size:13px;cursor:pointer;font-family:inherit;padding:4px 0;margin-bottom:6px;display:inline-flex;align-items:center;gap:4px}
  .ab-back:hover{color:#18181b}
  /* dark mode */
  [data-theme="dark"] .ab-modal{background:#1a1a1a;color:#fafaf9}
  [data-theme="dark"] .ab-input,[data-theme="dark"] .ab-otp-input{background:#0c0a09;border-color:#3f3f3f;color:#fafaf9}
  [data-theme="dark"] .ab-input:focus,[data-theme="dark"] .ab-otp-input:focus{background:#0c0a09;border-color:#c2410c}
  [data-theme="dark"] .ab-consent{background:#0c0a09;border-color:#3f3f3f;color:#a8a29e}
  [data-theme="dark"] .ab-x{background:rgba(255,255,255,.06);color:#a8a29e}
  [data-theme="dark"] .ab-x:hover{background:rgba(255,255,255,.12);color:#fafaf9}
  [data-theme="dark"] .ab-sub,[data-theme="dark"] .ab-label{color:#a8a29e}
  @media (max-width:480px){.ab-row{grid-template-columns:1fr}.ab-modal{padding:26px 22px 22px}.ab-otp-input{width:42px;height:52px;font-size:22px}}
