.newsletter-section{padding:32px 0 56px}
.newsletter-banner{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:44px 48px;border:1px solid #b8dfe7;border-radius:36px;background:linear-gradient(110deg,#ccecf2,#e0f3f7);box-shadow:0 12px 32px rgba(23,61,80,.04)}
.newsletter-copy{flex:1;min-width:0}
.newsletter-copy h2{margin:0 0 14px;color:#173d50;font-size:clamp(26px,2.5vw,36px);font-weight:800;line-height:1.35}
.newsletter-copy p{margin:0;color:#526f7c;font-size:18px;line-height:1.7}
.newsletter-banner .newsletter-banner-form{display:block;flex:0 1 560px;min-width:0;width:100%;margin:0}
.newsletter-email-label{display:block;margin-bottom:8px;color:#173d50;font-size:15px;font-weight:600}
.newsletter-banner-controls{display:flex;gap:12px;align-items:stretch}
.newsletter-banner-controls input{min-width:0;flex:1;width:100%;padding:16px;border:1px solid #bfdde4;border-radius:14px;background:#fff;color:#173d50;font:inherit}
.newsletter-banner-controls input:focus{outline:2px solid #007f96;outline-offset:2px}
.newsletter-banner-controls .btn{flex-shrink:0;white-space:nowrap;border-radius:14px;padding:16px 22px;display:flex;align-items:center;justify-content:center;gap:10px}
footer .footer-grid.footer-grid--compact{grid-template-columns:1.5fr 1fr 1fr 1fr!important}
@media(max-width:980px){.newsletter-banner{flex-direction:column;align-items:stretch;gap:24px;padding:32px}.newsletter-banner .newsletter-banner-form{flex:auto}footer .footer-grid.footer-grid--compact{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){.newsletter-section{padding:24px 0 36px}.newsletter-banner{padding:26px 22px;border-radius:26px}.newsletter-copy p{font-size:16px}.newsletter-banner-controls{flex-direction:column}.newsletter-banner-controls .btn{width:100%}footer .footer-grid.footer-grid--compact{grid-template-columns:1fr!important}}
