.email-stage .step-title { margin-bottom: 1.25rem; }
.email-row {
    display: flex;
    align-items: stretch;
    gap: .625rem;
    margin-bottom: .35rem;
}
.email-field-wrap {
    flex: 1;
    min-width: 0;
    position: relative;
}
.email-field {
    width: 100%;
    min-height: 64px;
    border: 2px solid var(--purple);
    border-radius: 14px;
    padding: 1.8rem 1.05rem .55rem;
    color: var(--text);
    background: #fff;
    font: inherit;
    font-size: 1rem;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
    -webkit-appearance: none;
}
.email-field:focus {
    border-color: var(--purple-d);
    box-shadow: 0 0 0 3px rgba(85, 46, 146, .12);
}
.email-field-wrap.email-error .email-field { border-color: #c53030; }
.email-field-label {
    position: absolute;
    left: 1.1rem;
    top: .6rem;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 700;
    pointer-events: none;
}
.email-send-btn {
    flex: 0 0 54px;
    min-height: 64px;
    border: 0;
    border-radius: 14px;
    background: var(--purple);
    color: #fff;
    font: inherit;
    font-size: 1.55rem;
    cursor: pointer;
    transition: background .12s, transform .12s;
    -webkit-tap-highlight-color: transparent;
}
.email-send-btn:hover { background: var(--purple-d); }
.email-send-btn:active { transform: scale(.97); }
.email-error-message {
    min-height: 1.25rem;
    margin: .15rem 0 0;
    color: #b42318;
    font-size: .82rem;
}
.email-skip {
    display: block;
    width: 100%;
    margin: .3rem 0 1.5rem;
    padding: .65rem 0;
    border: 0;
    background: none;
    color: var(--muted);
    font: inherit;
    font-size: .92rem;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}
.email-skip:hover { color: var(--purple); }
.email-perks-intro {
    margin: 0 0 .35rem;
    color: var(--text);
    font-size: .95rem;
}
.email-perks {
    margin: 0;
    padding: 0;
    color: var(--text);
    font-size: .92rem;
    line-height: 1.85;
    list-style: none;
}
.privacy-toggle {
    display: inline-block;
    margin-top: 1rem;
    padding: .35rem 0;
    border: 0;
    background: none;
    color: var(--purple);
    font: inherit;
    font-size: .9rem;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}
.privacy-panel {
    margin-top: .75rem;
    padding: 1rem;
    border: 1.5px solid var(--border);
    border-radius: 10px;
    background: #fff;
    color: var(--text);
    max-height: min(55vh, 520px);
    overflow: auto;
}
.privacy-panel[hidden] { display: none; }
.privacy-status { margin: 0; color: var(--muted); font-size: .85rem; }
.privacy-error a { color: var(--purple); font-weight: 700; }
.privacy-policy { font-size: .8rem; line-height: 1.55; }
.privacy-policy h2 { margin: 1.25rem 0 .45rem; color: var(--purple); font-size: 1.05rem; }
.privacy-policy h2:first-child { margin-top: 0; }
.privacy-policy h3 { margin: .9rem 0 .3rem; font-size: .92rem; }
.privacy-policy p { margin: .4rem 0; }
.privacy-policy ul, .privacy-policy ol { margin: .35rem 0 .7rem; padding-left: 1.2rem; }
.privacy-policy li { margin: .2rem 0; }
.privacy-policy table { width: 100%; border-collapse: collapse; }
.privacy-policy th, .privacy-policy td { padding: .35rem; border: 1px solid var(--border); text-align: left; }

@media (max-width: 380px) {
    .email-send-btn { flex-basis: 50px; }
    .email-field { font-size: .95rem; }
}
