/* Shared subscription controls stay legible in the footer and The Letter. */
.s13-newsletter-field-label { display: block; margin-bottom: .2rem; color: var(--s13-secondary); font: var(--s13-hero-label-font); letter-spacing: var(--s13-hero-label-tracking); text-transform: uppercase; }
.s13-newsletter-error,
.letter-editorial .s13-newsletter-error { max-width: 52ch; margin: .55rem 0 0; color: var(--s13-ink); font: 400 .8125rem/1.5 var(--s13-body); letter-spacing: 0; text-transform: none; }
.s13-newsletter-error[hidden] { display: none !important; }
:is(.letter-form,.footer-newsletter form) [aria-invalid="true"] { outline: 1px solid var(--s13-ink); outline-offset: 4px; }
:is(.letter-form,.footer-newsletter form)[aria-busy="true"] { cursor: progress; }
:is(.letter-form,.footer-newsletter form)[aria-busy="true"] button[type="submit"] { cursor: progress; }
:is(.letter-form,.footer-newsletter form) button[type="submit"] > span { min-width: 9ch; }
/* Shared progress styling also serves the standalone confirmation screen. */
.letter-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1rem;
  margin: 0 0 2.5rem;
  padding: 0;
  list-style: none;
  color: var(--s13-muted);
  font: 400 .6875rem/1.5 var(--s13-body);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.letter-steps li { display: flex; gap: .45em; padding-top: .75rem; border-top: 1px solid var(--s13-line); }
.letter-steps .is-current { color: var(--s13-ink); border-top-color: currentColor; }
.letter-steps .is-complete { color: var(--s13-secondary); }
.letter-step-number { flex-shrink: 0; }
@media (max-width:840px) {
  .letter-steps { gap: .75rem; }
  .letter-steps .letter-step-number { display: none; }
}
@media (max-width:480px) {
  .letter-steps { gap: .5rem; font-size: .625rem; letter-spacing: .02em; }
}
.footer-newsletter .s13-newsletter-helper { max-width: 48ch; margin-top: .75rem; }
/* The footer keeps one reading paragraph and one compact subscription form. */
.footer-newsletter--letter .footer-newsletter-entry .letter-steps { margin-bottom: 2rem; }
.footer-newsletter--letter .footer-newsletter-copy p { text-wrap: balance; }
.footer-newsletter--letter .footer-newsletter-field input { padding: 1rem 0 .75rem; font-size: 1.5rem; line-height: 1.3; }
.footer-newsletter--letter form { display: flex; flex-direction: column; gap: 1.5rem; }
.footer-newsletter--letter .footer-newsletter-consent { margin: 0; }
.footer-newsletter--letter .footer-newsletter-consent > span { text-wrap: balance; }
.footer-newsletter--letter .footer-newsletter-consent a { white-space: nowrap; }
.footer-newsletter-submit { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; }
.footer-newsletter-submit .s13-action-button { flex: 0 0 11rem; width: 11rem; min-width: 11rem; min-height: 44px; }
.footer-newsletter-submit .s13-newsletter-helper { flex: 1 1 12rem; max-width: 34ch; margin: 0; text-wrap: pretty; }
@media (min-width:961px) {
  .footer-newsletter--letter { grid-template-rows: 44px auto; row-gap: 1.5rem; align-items: start; }
  .footer-newsletter--letter :is(.footer-newsletter-copy,.footer-newsletter-entry) { display: contents; }
  .footer-newsletter--letter .footer-newsletter-copy > .footer-letter-label { grid-column: 1; grid-row: 1; align-self: start; }
  .footer-newsletter--letter .footer-newsletter-copy-body { grid-column: 1; grid-row: 2; transform: translateY(-6px); }
  .footer-newsletter--letter .footer-newsletter-copy-body h2 { margin-top: 0; }
  .footer-newsletter--letter .footer-newsletter-entry > .letter-steps { grid-column: 2; grid-row: 1; min-height: 44px; margin: 0; }
  .footer-newsletter--letter .footer-newsletter-entry > .letter-steps li { align-items: center; padding-top: 0; }
  .footer-newsletter--letter .footer-newsletter-form-body { grid-column: 2; grid-row: 2; min-width: 0; }
}
@media (max-width:620px) {
  .footer-newsletter-submit { flex-direction: column; align-items: stretch; }
  .footer-newsletter-submit .s13-action-button { flex: none; width: 100%; min-width: 0; }
  .footer-newsletter-submit .s13-newsletter-helper { flex: none; max-width: none; }
}

/* Target only the feedback around this form, preserving the footer rhythm. */
@media (min-width:961px) {
  .footer-newsletter form > .s13-newsletter-error:not([hidden]) { margin-top: -.7rem; }
  .footer-newsletter form > .s13-newsletter-helper { margin-top: -.5rem; }
}
.s13-menu-panel .s13-menu-directory > .s13-menu-newsletter { grid-column: 1; grid-row: 7; align-self: start; justify-self: start; min-height: 44px; margin-top: 1rem; color: var(--s13-secondary); }
.s13-menu-panel .s13-menu-newsletter:is(:hover,:focus-visible) { color: var(--s13-accent); }
/* The secondary action must fit above the floor on shorter desktop windows. */
@media (min-width:841px) {
  .s13-menu-panel .s13-menu-primary a { font-size: clamp(2.85rem,3.8vw,5.7rem); }
}
@media (min-width:841px) and (max-width:1360px) {
  .s13-menu-panel .s13-menu-primary a { font-size: clamp(2.85rem,5.9vw,4.75rem); }
}
@media (min-width:841px) and (max-height:900px) {
  .s13-menu-panel .s13-menu-grid {
    --s13-menu-utility-space: 14.5rem;
    --s13-menu-row: min(clamp(5.25rem,8.5vh,7.2rem),max(3.5rem,calc((100dvh - var(--s13-menu-offset,0px) - var(--s13-listening-obstruction,0px) - var(--s13-header-row) - var(--s13-menu-utility-space)) / 5)));
    padding-block: clamp(1rem,2.5vh,2rem);
  }
  .s13-menu-panel .s13-menu-directory > .s13-menu-newsletter { margin-top: .5rem; }
}
@media (min-width:841px) and (max-width:1360px) and (max-height:900px) {
  .s13-menu-panel .s13-menu-intro { display: none; }
}
@media (min-width:841px) and (max-width:1200px) and (max-height:900px) {
  .s13-menu-panel .s13-menu-grid { --s13-menu-utility-space: 18.5rem; }
}
@media (min-width:841px) and (max-width:1200px) {
  .s13-menu-panel .s13-menu-directory > .s13-saved-entry--menu { grid-row: 8; }
}
@media (max-width:840px) {
  .s13-menu-panel .s13-menu-directory > .s13-menu-newsletter { grid-row: 3; margin-top: .25rem; }
  .s13-menu-panel .s13-menu-directory > .s13-menu-feed { grid-row: 4; }
}
