.newsletter-section {
  position: relative;
  overflow: hidden;
  padding: 92px 0;
  background: radial-gradient(circle at 12% 15%, rgba(35, 83, 146, .42), transparent 40%), #111e31;
  color: #fff;
}
.newsletter-section::before {
  content: '';
  position: absolute;
  width: 440px;
  height: 440px;
  right: -290px;
  top: -230px;
  border: 1px solid rgba(203, 245, 97, .19);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(98, 152, 224, .035), 0 0 0 140px rgba(98, 152, 224, .025);
  pointer-events: none;
}
.newsletter-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  align-items: center;
  gap: clamp(40px, 6vw, 95px);
}
.newsletter-eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  color: #cbf561;
  font: 800 11px 'Manrope', sans-serif;
  letter-spacing: .14em;
  margin: 0 0 20px;
}
.newsletter-signal {
  width: 8px;
  height: 8px;
  display: inline-block;
  background: #cbf561;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(203, 245, 97, .14);
}
.newsletter-edition { color: #92a7bf; font-size: 9px; font-weight: 700; }
.newsletter-intro h2 {
  font: 800 clamp(42px, 4.5vw, 66px)/1.09 'Manrope', sans-serif;
  letter-spacing: -.07em;
  margin: 0 0 23px;
}
.newsletter-intro h2 span { color: #cbf561; }
.newsletter-intro > p:not(.newsletter-eyebrow) {
  font-size: 16px;
  line-height: 1.8;
  max-width: 540px;
  color: #bcc9d9;
  margin: 0;
}
.newsletter-topics { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.newsletter-topics span {
  padding: 9px 12px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 100px;
  font-size: 11px;
  font-weight: 700;
  color: #e3e9f2;
}
.newsletter-intro .newsletter-note { color: #8199b4 !important; font-size: 11px !important; margin-top: 25px !important; }
.newsletter-card {
  padding: clamp(26px, 3vw, 38px);
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 23px 75px rgba(0, 5, 20, .22);
  color: #14243a;
}
.newsletter-status {
  display: inline-block;
  background: #eaf5d7;
  color: #3c6534;
  border-radius: 100px;
  padding: 7px 12px;
  font: 800 9px 'Manrope', sans-serif;
  letter-spacing: .08em;
}
.newsletter-card h3 { font: 800 clamp(24px, 2.5vw, 33px)/1.2 'Manrope', sans-serif; letter-spacing: -.055em; margin: 20px 0 11px; }
.newsletter-card > p { font-size: 12px; line-height: 1.7; color: #66778b; margin: 0 0 22px; }
.newsletter-label, .newsletter-preferences legend {
  display: block;
  color: #273850;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 9px;
}
#newsletter-email {
  width: 100%;
  border: 1px solid #cbd7e1;
  border-radius: 13px;
  background: #f7f9fb;
  padding: 15px;
  font-size: 14px;
  color: #14243a;
  min-width: 0;
}
#newsletter-email:focus { background: #fff; border-color: #356ddb; }
.newsletter-preferences { padding: 0; margin: 20px 0 17px; border: 0; min-width: 0; }
.newsletter-preferences label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 9px;
  font-size: 12px;
  color: #465a70;
}
.newsletter-preferences input, .newsletter-consent input { width: 16px; height: 16px; flex: 0 0 auto; accent-color: #174db2; }
.newsletter-consent { display: flex; align-items: flex-start; gap: 10px; color: #526377; font-size: 11px; line-height: 1.6; }
.newsletter-consent input { margin-top: 2px; }
.newsletter-consent a { text-decoration: underline; color: #145cba; font-weight: 800; text-underline-offset: 2px; }
.newsletter-submit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-align: left;
  background: #cbf561;
  color: #152b29;
  border: 0;
  border-radius: 100px;
  padding: 16px 19px;
  margin-top: 21px;
  font-size: 13px;
  font-weight: 800;
}
.newsletter-submit:hover { background: #b9e84b; }
.newsletter-submit span { font-size: 20px; }
.newsletter-feedback { margin: 12px 0 0; min-height: 22px; font-size: 11px; line-height: 1.5; color: #6a7d8e; }
.newsletter-feedback.is-error { color: #a72c39; }
.newsletter-feedback.is-success { color: #22682c; }
@media (max-width: 900px) {
  .newsletter-section { padding: 72px 0; }
  .newsletter-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .newsletter-card { max-width: 640px; }
}
@media (max-width: 460px) {
  .newsletter-section { padding: 60px 0; }
  .newsletter-intro h2 { font-size: clamp(40px, 11.5vw, 50px); }
  .newsletter-intro > p:not(.newsletter-eyebrow) { font-size: 14px; }
  .newsletter-edition { flex-basis: 100%; margin-left: 17px; }
  .newsletter-card { padding: 24px 20px; border-radius: 18px; }
  .newsletter-submit { font-size: 12px; padding: 14px 17px; }
}
