/* Fallbacks for when the Byte2MB theme is not active. Zero specificity, so the theme wins. */
:where(:root) {
  --b2m-paper: #07090d;
  --b2m-surface: #0d1117;
  --b2m-surface-2: #121821;
  --b2m-ink: #e6e8ee;
  --b2m-muted: #8b93a7;
  --b2m-amber: #f5b43c;
  --b2m-amber-deep: #e0a02a;
  --b2m-amber-ink: #14100a;
  --b2m-amber-text: #f5b43c;
  --b2m-rule: #ffffff14;
  --b2m-rule-strong: #ffffff29;
  --b2m-focus: #f5b43c;
  --b2m-danger: #ff9a9a;
  --b2m-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

.b2m-signup {
  --b2m-sans: "Source Sans 3", system-ui, "Segoe UI", sans-serif;
  font-family: var(--b2m-sans);
  color: var(--b2m-ink);
  position: relative;
}

.b2m-signup .b2m-kicker {
  margin: 0 0 0.6rem;
  font-family: var(--b2m-mono);
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--b2m-muted);
}

.b2m-signup-title {
  font-family: var(--b2m-sans);
  font-weight: 600;
  font-size: 1.25rem;
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 0 0 0.4rem;
}

.b2m-signup-note {
  margin: 0 0 0.85rem;
  color: var(--b2m-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

.b2m-signup-row {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.b2m-signup input[type="email"] {
  width: 100%;
  min-height: 48px;
  border-radius: 999px;
  border: 1px solid var(--b2m-rule-strong);
  background: var(--b2m-surface);
  color: var(--b2m-ink);
  padding: 0 1.1rem;
  font-family: var(--b2m-sans);
  font-size: 1rem;
}

.b2m-signup input[type="email"]::placeholder { color: var(--b2m-muted); opacity: 1; }
.b2m-signup input[type="email"]:focus-visible,
.b2m-signup button:focus-visible,
.b2m-signup-linkedin:focus-visible {
  outline: 2px solid var(--b2m-focus);
  outline-offset: 2px;
}

.b2m-signup button {
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  background: var(--b2m-amber);
  color: var(--b2m-amber-ink);
  font-family: var(--b2m-sans);
  font-weight: 600;
  font-size: 1rem;
  padding: 0 1.4rem;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}

.b2m-signup button:hover { background: var(--b2m-amber-deep); }
.b2m-signup button:active { transform: translateY(1px); }
.b2m-signup button:disabled { opacity: 0.65; cursor: progress; }

.b2m-signup-linkedin {
  display: inline-block;
  margin-top: 1rem;
  color: var(--b2m-ink);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--b2m-amber);
}

.b2m-signup-status {
  margin: 0.75rem 0 0;
  font-weight: 600;
  font-size: 0.9375rem;
}

.b2m-signup-status.is-error { color: var(--b2m-danger); }

.b2m-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Hero: pill row, one muted line underneath. */
.b2m-signup--hero .b2m-signup-row { order: 1; }
.b2m-signup--hero { display: flex; flex-direction: column; }
.b2m-signup--hero .b2m-signup-note { order: 2; margin: 0.75rem 0 0; font-size: 0.8125rem; }
.b2m-signup--hero .b2m-signup-status { order: 3; }

/* Inline (shortcode) card. */
.b2m-signup--inline {
  background: var(--b2m-surface);
  border: 1px solid var(--b2m-rule);
  border-radius: 12px;
  padding: 1.25rem;
}

/* Band: compact Linear-style newsletter between hairlines. */
.b2m-signup--band {
  text-align: center;
  border-top: 1px solid var(--b2m-rule);
  border-bottom: 1px solid var(--b2m-rule);
  padding: 2.25rem 1rem;
}
.b2m-signup--band .b2m-kicker { display: none; }
.b2m-signup--band .b2m-signup-title { font-size: 1.5rem; font-weight: 500; margin-bottom: 0.4rem; }
.b2m-signup--band .b2m-signup-note { margin-bottom: 1.1rem; }
.b2m-signup--band .b2m-signup-row { align-items: center; justify-content: center; }
.b2m-signup--band input[type="email"] { max-width: 280px; min-height: 40px; border-radius: 8px; }
.b2m-signup--band button { min-height: 40px; border-radius: 8px; padding: 0 1.1rem; font-size: 0.9375rem; }

/* Pre-footer: Retool-scale statement, square field, amber submit. */
.b2m-signup--prefooter { text-align: left; }
.b2m-signup--prefooter .b2m-kicker { color: var(--b2m-amber-text); }
.b2m-signup--prefooter .b2m-signup-title {
  font-weight: 300;
  font-size: clamp(2.25rem, 6vw, 3.5rem);
  letter-spacing: -0.03em;
  line-height: 1.05;
  max-width: 20ch;
  margin: 0 0 1rem;
  text-wrap: balance;
}
.b2m-signup--prefooter .b2m-signup-note { max-width: 46ch; margin-bottom: 1.5rem; }
.b2m-signup--prefooter .b2m-signup-row { max-width: 560px; gap: 0; }
.b2m-signup--prefooter input[type="email"] {
  border-radius: 0;
  min-height: 56px;
  background: transparent;
  border-color: var(--b2m-rule-strong);
}
.b2m-signup--prefooter button {
  border-radius: 0;
  min-height: 56px;
  font-family: var(--b2m-mono);
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
}

/* Footer column variant. */
.b2m-signup--footer { background: transparent; border: 0; padding: 0; }

@media (min-width: 560px) {
  .b2m-signup--hero .b2m-signup-row,
  .b2m-signup--inline .b2m-signup-row,
  .b2m-signup--band .b2m-signup-row,
  .b2m-signup--prefooter .b2m-signup-row { flex-direction: row; }
  .b2m-signup--hero .b2m-signup-row input,
  .b2m-signup--inline .b2m-signup-row input,
  .b2m-signup--prefooter .b2m-signup-row input { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .b2m-signup button { transition: none; }
}
