.contact-intro { padding: 28px 0 20px; }
.contact-intro h1 { margin: 0; font-size: clamp(28px, 4vw, 34px); line-height: 1.2; letter-spacing: -.025em; }
.contact-newsletter-section { padding: 0 0 28px; }
.newsletter-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 32px; padding: 20px 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.newsletter-panel h2 { margin: 0 0 4px; font-size: 22px; line-height: 1.3; }
.newsletter-panel p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
.newsletter-signup { gap: 6px; }
.newsletter-signup label { margin: 0; font-size: 14px; }
.newsletter-controls { display: flex; gap: 8px; }
.newsletter-controls input { flex: 1; min-width: 0; padding: 9px 12px; }
.newsletter-controls .button { flex-shrink: 0; min-height: 44px; }
.newsletter-panel .field-help { font-size: 13px; }
.contact-form-section { padding: 0 0 40px; }
.contact-form-section .correction-form { gap: 16px; }
.contact-form-section .correction-form h2 { margin: 0; font-size: 24px; }
.contact-form-section .notice { margin: 0; padding: 10px 14px; font-size: 14px; }
.contact-form-section .sidebar h2 { font-size: 20px; }
@media (max-width: 680px) {
  .contact-intro { padding: 22px 0 16px; }
  .newsletter-panel { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 16px; }
  .contact-newsletter-section { padding-bottom: 24px; }
}
