.js-subscribe {
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border, #e4e4dd);
}
.js-sub-label {
  display: block;
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-muted, #6b6b63);
  margin-bottom: var(--space-2);
}
.js-sub-row { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.js-sub-input {
  flex: 1 1 12rem; min-width: 0; padding: 0.55rem 0.7rem; font: inherit;
  border: 1px solid var(--color-border, #cfcfc7); border-radius: 6px;
  background: var(--color-surface, #fff); color: inherit;
}
.js-sub-input:focus { outline: 2px solid var(--color-accent, #01696f); outline-offset: 1px; }
.js-sub-btn {
  flex: 0 0 auto; padding: 0.55rem 1.1rem; font: inherit; font-weight: 600;
  color: #f6f6f2; background: var(--color-accent, #01696f);
  border: none; border-radius: 6px; cursor: pointer;
}
.js-sub-btn:disabled { opacity: 0.6; cursor: default; }
.js-sub-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.js-sub-turnstile { margin-top: var(--space-3); }
.js-sub-status { margin-top: var(--space-3); font-size: 0.85rem; }
.js-sub-status[data-tone="error"]   { color: #b4351f; }
.js-sub-status[data-tone="success"] { color: var(--color-accent, #01696f); }
.js-sub-fine { margin-top: var(--space-2); font-size: 0.75rem; color: var(--color-text-muted, #6b6b63); }





