/* ============ Beta application page (beta.html) ============ */
.beta-page {
    padding: clamp(40px, 8vw, 96px) 0;
    background:
        radial-gradient(60% 80% at 50% -10%, rgba(58, 90, 69, 0.08), transparent 70%);
}
.beta-page__card {
    width: var(--shell-narrow);
    max-width: calc(100% - 40px);
    margin: 0 auto;
    background: var(--surface, #ffffff);
    border: 1px solid var(--line, rgba(20, 40, 28, 0.10));
    border-radius: 18px;
    padding: clamp(24px, 4vw, 44px);
    box-shadow: 0 22px 60px -34px rgba(20, 40, 28, 0.45);
}
.beta-page__card h1 {
    margin: 12px 0 10px;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.1;
}
.beta-page__lead {
    color: var(--text-muted, #5a6b60);
    margin: 0 0 26px;
    max-width: 60ch;
    font-size: 1.05rem;
}

/* Intent / screening question */
.beta-intent {
    border: 0;
    margin: 0 0 4px;
    padding: 0;
    display: grid;
    gap: 10px;
}
.beta-intent legend {
    font-weight: 600;
    margin-bottom: 4px;
    padding: 0;
    font-size: 0.96rem;
}
.beta-intent__opt {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    border: 1px solid var(--line, rgba(20, 40, 28, 0.14));
    border-radius: 12px;
    padding: 12px 14px;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.beta-intent__opt:hover { border-color: var(--moss, #3a5a45); }
.beta-intent__opt:has(input:checked) {
    border-color: var(--moss, #3a5a45);
    background: rgba(58, 90, 69, 0.05);
}
.beta-intent__opt input {
    margin-top: 3px;
    flex: 0 0 auto;
    accent-color: var(--moss, #3a5a45);
    width: 18px;
    height: 18px;
}
.beta-intent__opt span {
    font-size: 0.95rem;
    line-height: 1.45;
}
.beta-intent.is-invalid .beta-intent__opt {
    border-color: var(--danger, #c0392b);
}

/* Honeypot — keep it unreachable/invisible (mirrors the modal form) */
.beta-form__hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.beta-form__submit { margin-top: 6px; justify-self: start; }
.beta-form__msg { margin: 0; font-size: 0.92rem; min-height: 1.2em; }
.beta-form__msg.is-error { color: var(--danger, #c0392b); }
