/* Contact newsletter section (ported from Next.js) */
.contact-newsletter-section .cardsSection{display: grid;grid-template-columns: 1fr 1fr;gap: 2rem;margin: 6rem auto 0;}
.contact-newsletter-section .newsletterSection{background: linear-gradient(135deg, #fef3f0 0%, #fde8e0 50%, #fdd9c8 100%);border-radius: 16px;padding: 80px 80px;display: flex;flex-direction: column;gap: 12px;min-height: 200px;transition: transform 0.3s ease; grid-column: 1/-1;}
.contact-newsletter-section .card{background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 50%, #bfdbfe 100%);border-radius: 16px;padding: 80px 0 80px 80px;display: flex;flex-direction: column;gap: 42px;min-height: 200px;transition: transform 0.3s ease;display: none;}
.contact-newsletter-section .card:hover, .contact-newsletter-section .newsletterSection:hover{transform: translateY(-4px);}
.contact-newsletter-section .title{font-size: 48px;font-family: 'P22 Mackinac Pro', serif;font-weight: 500;color: #2d3748;margin: 0;line-height: 1.2;width: 100%;margin-bottom: 30px;}
.contact-newsletter-section .description{font-family: 'Avenir Next', sans-serif;font-size: 18px;font-weight: 500;color: #6d717b;line-height: 1.6;max-width: 380px;margin: 0;flex-grow: 1;}
.contact-newsletter-section .link{background: none;border: none;font-family: var(--font-pp-neue-montreal);font-size: 1rem;font-weight: 500;color: var(--primary, #333f5b);text-decoration: none;display: inline-flex;align-items: center;gap: 0.5rem;cursor: pointer;transition: all 0.2s ease;padding: 0;margin-left: auto;margin-top: 12px;}
.contact-newsletter-section .link:hover{color: #2a3548;}
.contact-newsletter-section .link:disabled{opacity: 0.6;cursor: not-allowed;}
.contact-newsletter-section .arrow{font-size: 18px;transition: transform 0.3s ease;}
.contact-newsletter-section .link:hover .arrow{transform: translateX(4px);}
.contact-newsletter-section .errorMessage{color: #ef4444;font-size: 0.875rem;margin-top: 8px;font-family: var(--font-pp-neue-montreal);}
@media (max-width: 1024px){
  .contact-newsletter-section .cardsSection{grid-template-columns: 1fr;gap: 1.5rem;margin-top: 4rem;}
}
@media (max-width: 768px){
  .contact-newsletter-section .newsletterSection, .contact-newsletter-section .card{padding: 32px 24px;gap: 24px;}
  .contact-newsletter-section .title{font-size: 25px;}
  .contact-newsletter-section .description{font-size: 15px;}
}

/* Newsletter modal */
.newsletterModalOverlay{position: fixed;top: 0;left: 0;right: 0;bottom: 0;width: 100vw;height: 100vh;background: rgba(0, 0, 0, 0.6);display: none;align-items: center;justify-content: center;z-index: 9999;padding: 24px;backdrop-filter: blur(4px);}
.newsletterModalOverlay.is-open{display: flex;}
.newsletterModal{background: #fafbfd;border-radius: 16px;padding: clamp(2rem, 4vw, 2.5rem);max-width: 480px;width: 100%;position: relative;box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);animation: newsletterModalSlideIn 0.3s ease-out;}

@keyframes newsletterModalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.newsletterModalClose{position: absolute;top: 1rem;right: 1rem;background: none;border: none;font-size: 1.5rem;color: #666;cursor: pointer;width: 32px;height: 32px;display: flex;align-items: center;justify-content: center;border-radius: 50%;transition: all 0.2s ease;}
.newsletterModalClose:hover{background: #f0f0f0;color: var(--primary, #333f5b);}
.newsletterModalTitle{font-family: var(--font-p22-mackinac-pro);font-size: clamp(1.5rem, 3vw, 1.75rem);font-weight: 500;color: var(--primary, #333f5b);margin: 0 0 12px 0;line-height: 1.3;}
.newsletterModalDescription{font-family: var(--font-pp-neue-montreal);font-size: 1rem;color: #666;margin: 0 0 24px 0;line-height: 1.5;}
.newsletterModalForm{display: flex;flex-direction: column;gap: 16px;}
.newsletterEmailInput{width: 100%;padding: 0.875rem 1rem;border: 2px solid #e1e5e9;border-radius: 8px;font-family: var(--font-pp-neue-montreal);font-size: 1rem;transition: border-color 0.2s ease;background: #fff;}
.newsletterEmailInput:focus{outline: none;border-color: var(--primary, #333f5b);}
.newsletterEmailInput:disabled{background: #f8f9fa;color: #999;}
.newsletterSubmitButton{background: var(--primary, #333f5b);color: #fff;border: none;padding: 0.875rem 1.5rem;border-radius: 8px;font-family: var(--font-pp-neue-montreal);font-size: 1rem;font-weight: 500;cursor: pointer;transition: all 0.2s ease;}
.newsletterSubmitButton:hover:not(:disabled){background: #2a3548;transform: translateY(-1px);}
.newsletterSubmitButton:disabled{background: #ccc;cursor: not-allowed;transform: none;}
.newsletterModalError{color: #ef4444;font-size: 0.9rem;margin-top: 12px;font-family: var(--font-pp-neue-montreal);}
.newsletterSuccess{text-align: center;}
.newsletterSuccessIcon{width: 56px;height: 56px;border-radius: 50%;background: #22c55e;color: #fff;display: inline-flex;align-items: center;justify-content: center;font-size: 28px;margin-bottom: 16px;}
.newsletterSuccessTitle{font-family: var(--font-p22-mackinac-pro);font-size: 24px;margin-bottom: 8px;color: #333f5b;}
.newsletterSuccessMessage{font-size: 16px;color: #6d717b;line-height: 1.5;}

@media (max-width: 480px){
  .newsletterModalClose{top: 6px;right: 6px;}
  .newsletterModal{margin: 16px;padding: 1.5rem;}
  .contact-newsletter-section .title{margin-bottom: 16px;}
}