pe-subscribe { display: block; scroll-margin-top: 24px; }
pe-subscribe .subscribe-card { padding: 56px max(20px, 4.5vw); background: #f3f0e7; color: #171918; border-top: 1px solid #17191830; }
pe-subscribe .subscribe-card .subscribe-eyebrow { font: 11px monospace; letter-spacing: 1.4px; }
pe-subscribe .subscribe-card .subscribe-title { font-size: clamp(32px, 4vw, 52px); font-weight: 600; line-height: 1.08; letter-spacing: -.04em; margin: 20px 0; max-width: 780px; }
pe-subscribe .subscribe-card .subscribe-description { font-size: 18px; line-height: 1.6; max-width: 670px; margin: 0 0 26px; }
pe-subscribe .subscribe-card .subscribe-form { max-width: 670px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 16px; }
pe-subscribe .subscribe-card .subscribe-field { display: flex; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 600; }
pe-subscribe input { width: 100%; min-width: 0; min-height: 46px; padding: 12px 14px; border: 1px solid #171918; border-radius: 0; background: #fff; color: #171918; font: 16px Arial, Helvetica, sans-serif; }
pe-subscribe .subscribe-card .subscribe-wide { grid-column: 1 / -1; }
pe-subscribe .subscribe-card .subscribe-challenge { min-height: 65px; }
pe-subscribe .subscribe-card .subscribe-button, pe-subscribe .subscribe-card .subscribe-retry { min-height: 46px; padding: 12px 18px; border: 1px solid #171918; background: #d4ed98; color: #171918; font: 600 14px Arial, Helvetica, sans-serif; cursor: pointer; }
pe-subscribe .subscribe-card .subscribe-button:disabled { opacity: .6; cursor: default; }
pe-subscribe .subscribe-card .subscribe-error { color: #922b24; font-size: 14px; line-height: 1.5; margin: 0; }
pe-subscribe .subscribe-card .subscribe-status, pe-subscribe .subscribe-card .subscribe-consent, pe-subscribe .subscribe-card .subscribe-fallback { font-size: 13px; line-height: 1.6; margin: 0; max-width: 670px; }
pe-subscribe .subscribe-card .subscribe-consent { margin-top: 18px; }
pe-subscribe .subscribe-card .subscribe-success { font-size: 18px; line-height: 1.6; max-width: 670px; }
.subscribe-success-visual, .subscribe-success-text { display: inline; }
.subscribe-success-character { color: inherit; background-color: transparent; white-space: pre-wrap; box-decoration-break: clone; -webkit-box-decoration-break: clone; transition: background-color .08s ease, color .08s ease; }
.subscribe-success-character.is-revealed { color: #171918; background-color: #d4ed98; }
.subscribe-success-carrier { display: inline-block; margin-inline-start: .08em; color: #171918; font-size: .82em; line-height: 1; vertical-align: .02em; animation: subscribe-carrier 420ms ease-in-out infinite alternate; }
.subscribe-success-carrier[hidden] { display: none; }
@keyframes subscribe-carrier { to { transform: translateY(-2px) rotate(22deg); } }
@media (prefers-reduced-motion: reduce) {
  .subscribe-success-character { transition: none; }
  .subscribe-success-carrier { animation: none; }
}
pe-subscribe [hidden] { display: none !important; }
pe-subscribe :is(input, button, a):focus-visible { outline: 3px solid #343280; outline-offset: 4px; }
@media (max-width: 600px) {
  pe-subscribe .subscribe-card { padding-block: 40px; }
  pe-subscribe .subscribe-card .subscribe-form { grid-template-columns: minmax(0, 1fr); }
  pe-subscribe .subscribe-card .subscribe-description { font-size: 16px; }
  pe-subscribe .subscribe-card .subscribe-button { width: 100%; }
}

/* Center the shared signup block while preserving readable field alignment. */
pe-subscribe .subscribe-card > :is(.subscribe-eyebrow, .subscribe-title, .subscribe-description, .subscribe-form, .subscribe-consent, .subscribe-success, .subscribe-fallback) {
  width: 100%;
  max-width: 670px;
  margin-inline: auto;
}
pe-subscribe .subscribe-card > .subscribe-eyebrow { display: block; }
