/* PortLev email capture widget — shared styles.
   Loaded once per page, cached across the site. Markup lives in
   components/email-capture.html; behavior in assets/email-capture.js.
   Brand-aligned 2026-07-08: amber accent (#f59e0b), Manrope headline,
   12px radius to match the site design system. */
.plv-capture {
  background: #0b0b0c;
  color: #f5f3ee;
  padding: 56px 24px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.plv-capture-inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: left;
}
.plv-capture-kicker {
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #f59e0b;
  margin: 0 0 14px;
}
.plv-capture-title {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 800;
  font-size: clamp(24px, 3.4vw, 34px);
  line-height: 1.2;
  margin: 0 0 14px;
  color: #f5f3ee;
}
.plv-capture-sub {
  font-size: 15px;
  line-height: 1.6;
  color: #a3a098;
  margin: 0 0 28px;
  max-width: 56ch;
}
.plv-capture-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}
.plv-capture-form input[type="email"] {
  flex: 1 1 260px;
  min-width: 0;
  padding: 14px 16px;
  background: #15151a;
  border: 1px solid #2a2a30;
  border-radius: 12px;
  color: #f5f3ee;
  font-size: 15px;
  font-family: inherit;
}
.plv-capture-form input[type="email"]:focus {
  outline: none;
  border-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.25);
}
.plv-capture-form input[name="website"] {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.plv-capture-btn {
  position: relative;
  padding: 14px 22px;
  background: #f59e0b;
  color: #0b0b0c;
  border: none;
  border-radius: 12px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 120ms ease, transform 120ms ease;
  min-width: 180px;
}
.plv-capture-btn:hover { background: #fbbf24; }
.plv-capture-btn:active { transform: translateY(1px); }
.plv-capture-btn:disabled { opacity: 0.7; cursor: progress; }
.plv-capture-btn-spinner {
  display: none;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(11,11,12,0.3);
  border-top-color: #0b0b0c;
  border-radius: 50%;
  animation: plv-spin 600ms linear infinite;
  margin-left: 8px;
  vertical-align: middle;
}
.plv-capture-btn.is-loading .plv-capture-btn-spinner { display: inline-block; }
@keyframes plv-spin { to { transform: rotate(360deg); } }
.plv-capture-status {
  margin: 18px 0 0;
  min-height: 22px;
  font-size: 14px;
  color: #a3a098;
}
.plv-capture-status.is-success { color: #8ad59a; }
.plv-capture-status.is-error   { color: #e58e8e; }
.plv-capture-fineprint {
  margin: 16px 0 0;
  font-size: 12px;
  color: #6b6964;
}
.plv-sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
  .plv-capture-btn-spinner { animation: none; }
}
