/* ---- Field Notes / subscribe form ---- */
.field-notes__title { font-size: var(--step-3); margin-bottom: var(--space-3); }
.field-notes__desc { color: var(--text-muted); max-width: var(--maxw-prose); margin-bottom: var(--space-6); }
.subscribe { display: grid; gap: var(--space-3); max-width: 32rem; }
.subscribe__row { display: flex; gap: var(--space-2); }
.subscribe__input { flex: 1 1 auto; min-width: 0; font: inherit; color: var(--text); background: var(--bg-elev); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0.72rem 0.9rem; }
.subscribe__input::placeholder { color: var(--text-dim); }
.subscribe__input:focus-visible { border-color: var(--accent); outline-offset: 1px; }
.subscribe__btn { flex: 0 0 auto; }
.subscribe__consent { display: flex; gap: 0.55rem; align-items: flex-start; font-size: var(--step--1); color: var(--text-muted); line-height: 1.45; cursor: pointer; }
.subscribe__consent input { margin-top: 0.2rem; accent-color: var(--accent); width: 1rem; height: 1rem; flex: 0 0 auto; }
.subscribe__consent a { color: var(--text); text-decoration: underline; text-underline-offset: 2px; }
.subscribe__status { min-height: 1.2em; margin: 0; font-size: var(--step--1); color: var(--text-muted); }
.subscribe__status.is-error { color: #ff8f6b; }
@media (max-width: 480px) { .subscribe__row { flex-direction: column; } .subscribe__btn { width: 100%; justify-content: center; } }

/* ---- Legal / privacy (DRAFT) ---- */
.legal { padding-block: clamp(3rem, 8vw, 6rem); }
.legal__inner { max-width: 70ch; }
.legal h1 { font-size: var(--step-3); margin-bottom: var(--space-2); }
.legal h2 { font-size: var(--step-1); margin: var(--space-7) 0 var(--space-2); }
.legal p { color: var(--text-muted); }
.legal__meta { font-family: var(--font-mono); font-size: var(--step--1); color: var(--text-dim); }
.legal__flag { background: var(--accent-soft); border: 1px solid var(--accent); color: #ffd9cd; font-family: var(--font-mono); font-size: var(--step--1); padding: 0.7rem 1rem; border-radius: var(--radius-sm); }
.legal__flag--foot { margin-top: var(--space-7); }
.legal a { color: var(--text); }
.legal__list { margin: 0 0 var(--space-4); padding-left: 1.2rem; color: var(--text-muted); }
.legal__list li { margin-bottom: 0.3rem; }
