.modal-shell{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:1rem;overflow-y:auto}.modal-shell[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:#1a1a2e8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade-in .2s var(--ease-soft) both}.modal-card{position:relative;width:100%;max-width:36rem;margin:clamp(1rem,6vh,4rem) auto 1rem;border-radius:1.5rem;background:#fff;box-shadow:0 32px 64px #1a1a2e4d;padding:2rem;animation:fade-up .28s var(--ease-soft) both}@media(min-width:640px){.modal-card{padding:2.5rem}}.modal-close{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;color:var(--color-ink-500);transition:all .2s var(--ease-soft);cursor:pointer;background:transparent}.modal-close:hover{background:var(--color-ink-100);color:var(--color-ink-900)}.interest-head{display:flex;align-items:center;gap:.875rem;padding-right:2rem}.interest-head-text{min-width:0}.interest-logo-frame{flex:none;display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;padding:.75rem;border-radius:9999px;background:var(--color-cream-100, #f6f4ef);border:1px solid var(--color-ink-100, rgba(26, 26, 46, .08));box-shadow:0 4px 16px #5b4fe514}.interest-logo-frame[hidden]{display:none}.interest-logo{height:100%;width:100%;max-height:2.5rem;max-width:2.5rem;object-fit:contain}.tab-btn{flex:1;padding:.75rem 1rem;border-radius:9999px;border:none;background:transparent;color:var(--color-ink-600);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s var(--ease-soft)}.tab-btn:hover{color:var(--color-ink-900)}.tab-btn[aria-selected=true]{background:#fff;color:var(--color-lavender-700);box-shadow:0 2px 8px #1a1a2e14}.tab-btn:focus-visible{outline:2px solid var(--color-lavender-500);outline-offset:2px}[data-role-panel][hidden],[data-interest-panel][hidden]{display:none}.pill-primary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border-radius:9999px;border:none;background:var(--color-lavender-600);padding:.625rem 1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600;color:#fff;box-shadow:0 8px 24px #5b4fe540;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.pill-primary:hover{transform:translateY(-2px);background:var(--color-lavender-700);box-shadow:0 12px 32px #5b4fe559}.pill-primary:focus-visible{outline:2px solid var(--color-lavender-500);outline-offset:2px}.plan-nudge{margin-top:1rem;border-radius:1rem;border:1px solid var(--color-lavender-100, #e9ebfd);background:var(--color-lavender-50, #f4f5fe);padding:.75rem 1rem;font-size:.8125rem;line-height:1.6;color:var(--color-ink-600)}.plan-nudge[hidden]{display:none}.plan-nudge-link{font-weight:600;color:var(--color-lavender-700);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color .2s var(--ease-soft)}.plan-nudge-link:hover{color:var(--color-lavender-800)}.plan-nudge-link:focus-visible{outline:2px solid var(--color-lavender-500);outline-offset:2px;border-radius:.25rem}.partner-disclosure{margin-top:1.25rem;border-radius:1rem;border:1px solid var(--color-cream-300, #efe0c6);background:var(--color-cream-100, #fdf8ef);padding:.875rem 1rem;font-size:.8125rem;line-height:1.65;color:var(--color-ink-700)}.partner-disclosure[hidden]{display:none}.partner-refusal{margin-top:1.25rem;border-radius:1rem;border:1px solid var(--color-ink-200, #dcdce6);background:var(--color-ink-50, #f7f7fb);padding:.875rem 1rem;font-size:.875rem;line-height:1.65;color:var(--color-ink-700)}.form-input{margin-top:.5rem;width:100%;border-radius:.75rem;border:1px solid var(--color-ink-200);background:#fff;padding:.75rem 1rem;font-size:.875rem;color:var(--color-ink-900);transition:border-color .2s var(--ease-soft)}.form-input:focus{outline:none;border-color:var(--color-lavender-400);box-shadow:0 0 0 3px #9b87ff2e}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-card{animation:none}.pill-primary{transition:none}.pill-primary:hover{transform:none}}
