.newsletter-section{
  position:relative;
  overflow:hidden;
  padding:58px 0;
  background:linear-gradient(118deg,#082d5f,#128e55 60%,#0e6855);
  color:#fff;
}
.newsletter-section:before,
.newsletter-section:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  pointer-events:none;
}
.newsletter-section:before{width:320px;height:320px;right:-110px;top:-130px}
.newsletter-section:after{width:220px;height:220px;left:-80px;bottom:-120px}
.newsletter-wrap{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:44px;
  align-items:center;
}
.newsletter-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  font-size:.79rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.newsletter-copy h2{
  margin:14px 0 12px;
  color:#fff;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.03;
}
.newsletter-copy p{
  max-width:680px;
  margin:0;
  font-size:1.08rem;
  line-height:1.7;
  color:rgba(255,255,255,.9);
}
.newsletter-points{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:20px;
  font-size:.95rem;
  font-weight:700;
}
.newsletter-card{
  background:#fff;
  color:#173047;
  border-radius:22px;
  padding:28px;
  box-shadow:0 22px 55px rgba(0,0,0,.18);
}
.newsletter-form>label{
  display:block;
  margin-bottom:9px;
  font-weight:800;
  color:#082d5f;
}
.newsletter-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}
.newsletter-row input[type=email]{
  width:100%;
  min-width:0;
  height:52px;
  border:1px solid #cbd5e1;
  border-radius:11px;
  padding:0 15px;
  font:inherit;
  background:#fff;
  color:#172a3a;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.newsletter-row input[type=email]:focus{
  border-color:#4eaa32;
  box-shadow:0 0 0 4px rgba(78,170,50,.12);
}
.newsletter-submit{
  min-height:52px;
  border:0;
  border-radius:11px;
  padding:0 19px;
  background:#4eaa32;
  color:#fff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .15s,filter .15s;
}
.newsletter-submit:hover{filter:brightness(.95);transform:translateY(-1px)}
.newsletter-submit:disabled{opacity:.65;cursor:wait;transform:none}
.newsletter-consent{margin-top:15px}
.newsletter-consent label{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:.86rem;
  line-height:1.45;
  color:#41576b;
}
.newsletter-consent input{margin-top:3px;accent-color:#4eaa32}
.newsletter-privacy{
  margin:11px 0 0;
  font-size:.78rem;
  color:#6b7d8f;
}
.newsletter-privacy a{color:#082d5f;text-decoration:underline}
.newsletter-message{
  min-height:22px;
  margin-top:12px;
  font-size:.9rem;
  font-weight:700;
}
.newsletter-message.is-success{color:#2f7d22}
.newsletter-message.is-error{color:#b42318}
.newsletter-hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
}
@media(max-width:900px){
  .newsletter-wrap{grid-template-columns:1fr;gap:28px}
}
@media(max-width:620px){
  .newsletter-section{padding:42px 0}
  .newsletter-card{padding:20px;border-radius:17px}
  .newsletter-row{grid-template-columns:1fr}
  .newsletter-submit{width:100%}
  .newsletter-copy h2{font-size:2rem}
}
