/* Hallmark · component: pilot opt-in checkbox · genre: modern-minimal
 * theme: studied-DNA (source: landing-codex) · no new motion
 * Native checked/unchecked, hover, focus, pressed and disabled states;
 * loading, error and success belong to the enclosing request form.
 * Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 */
/* Native popovers otherwise reset inherited text to the browser's default ink. */
.ram { color: var(--g-text); }
.ram label.ram-pilot {
  display: flex;
  align-items: flex-start;
  gap: var(--fp-space-sm);
  min-height: 44px;
  margin: var(--fp-space-md) 0 0;
  padding: var(--fp-space-sm) 0;
  border-top: 1px solid var(--g-border);
  color: var(--g-text-2);
  font-family: inherit;
  font-size: var(--fp-text-sm);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  cursor: pointer;
}
.ram label.ram-pilot input[type="checkbox"] {
  appearance: auto;
  color-scheme: inherit;
  accent-color: var(--g-blue);
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 1px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  cursor: pointer;
}
.ram-pilot small { display: block; margin-top: var(--fp-space-2xs); color: var(--g-text-3); font-size: var(--fp-text-xs); }
.ram label.ram-pilot input:focus-visible,
.ram label.ram-pilot.is-focus input { outline: 2px solid var(--fp-color-focus); outline-offset: 3px; }
.ram label.ram-pilot:active,
.ram label.ram-pilot.is-active { color: var(--g-text); }
.ram label.ram-pilot:has(input:disabled) { opacity: 0.55; cursor: not-allowed; }
.ram label.ram-pilot input:disabled { cursor: not-allowed; }
@media (hover: hover) {
  .ram label.ram-pilot:hover:not(:has(input:disabled)),
  .ram label.ram-pilot.is-hover { color: var(--g-text); }
}

/* Compact email-first signup, shared across all entry points. */
.ram { position: relative; }
.ram-close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; border-radius: 8px; background: transparent; color: var(--g-text-2); font: inherit; font-size: 24px; cursor: pointer; }
.ram-close:focus-visible, .ram input[type="email"]:focus-visible, .ram-actions button:focus-visible { outline: 2px solid var(--fp-color-focus); outline-offset: 3px; }
.ram-close:active { background: var(--g-bg); }
.ram input[type="email"] { min-height: 48px; font-size: 16px; }
.ram label.ram-pilot { border-top: 0; margin-top: 12px; padding: 0; }
.ram-actions { margin-top: 20px; }
.ram-actions button { width: 100%; min-height: 48px; }
@media (hover: hover) { .ram-close:hover { background: var(--g-bg); color: var(--g-text); } }
