/* Newsletter composition. Keep navigation and form behavior in their shared
   owners; use one field treatment and a clear reading order on this page. */
.newsletter-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  grid-template-areas: "heading heading" "photo form";
  column-gap: clamp(40px, 6vw, 100px);
  row-gap: 48px;
  align-items: start;
  padding-block: 64px 90px;
}
.newsletter-story { display: contents; }
.newsletter-heading {
  grid-area: heading;
  width: 100%;
  max-width: 840px;
  margin-inline: auto;
  text-align: center;
}
.newsletter-heading .eyebrow {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}
.newsletter-heading h1 { margin: 16px 0 20px; }
.newsletter-intro {
  font-size: 19px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 620px;
  margin-inline: auto;
  text-wrap: pretty;
}
.newsletter-photo { grid-area: photo; min-width: 0; }
.newsletter-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: 50% 65%;
  border-radius: 20px;
}
.newsletter-photo figcaption { font-size: 14px; line-height: 1.6; color: var(--muted); margin-top: 14px; }
.newsletter-page .newsletter-form {
  grid-area: form;
  min-width: 0;
  width: 100%;
  max-width: 520px;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
}
#main .newsletter-form .form-head h2 {
  --title-size: var(--heading-support-size);
  --title-leading: 1.25;
  --title-tracking: -.025em;
}
.newsletter-form .form-head p { margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.newsletter-page .newsletter-form .cr-form-fields { margin-top: 24px; }
.newsletter-page .newsletter-form .cr-form-fields > * { order: 0; }
.newsletter-page .newsletter-form .cr-form-actions { margin-top: 24px; }
.newsletter-page .newsletter-form .form-privacy { max-width: none; margin-top: 14px; }
.newsletter-page .newsletter-form .cr-form-action-controls { margin-top: 24px; }
.newsletter-page .integration-note { border-top: 1px solid var(--line); padding-block: 23px 25px; }
@media (max-width: 1050px) {
  .newsletter-layout { column-gap: 40px; row-gap: 36px; }
}
@media (max-width: 760px) {
  .newsletter-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "form" "photo";
    row-gap: 30px;
    padding-block: 32px 56px;
  }
  .newsletter-heading { max-width: none; margin: 0; text-align: left; }
  .newsletter-heading h1 { margin: 12px 0 16px; max-width: 15ch; }
  .newsletter-intro { font-size: 17px; line-height: 1.55; margin: 0; max-width: 36ch; }
  .newsletter-page .newsletter-form { max-width: none; margin: 0; padding-top: 26px; border-top: 1px solid var(--contact-line); }
  .newsletter-form .form-head { margin-bottom: 0; }
  .newsletter-page .newsletter-form .cr-form-fields { margin-top: 22px; }
  .newsletter-photo { margin-top: 10px; }
  .newsletter-photo img { aspect-ratio: 4 / 3; border-radius: 16px; }
}
