/* /contact: flat square layout, matches the rest of the site */
html body .contact-main {
  background-color: #fff;
  background-image:
    radial-gradient(900px 340px at 50% 0, rgba(26,158,114,.10), transparent 70%),
    linear-gradient(rgba(11,61,46,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,61,46,.05) 1px, transparent 1px);
  background-size: auto, 44px 44px, 44px 44px;
  background-repeat: no-repeat, repeat, repeat;
  padding: 72px 0 88px;
}
html body .contact-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 32px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  align-items: start;
}
html body .contact-form-section {
  background: #fff;
  border: 1px solid #dbe6e1;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 44px;
}
html body .contact-form-section h2 {
  font-size: clamp(26px, 3vw, 34px); font-weight: 600; letter-spacing: -.02em;
  color: #0B3D2E; margin: 0 0 26px;
}
html body .contact-form-section label {
  display: block; margin-bottom: 8px;
  font-size: 13.5px; font-weight: 600; color: #0B3D2E; letter-spacing: .01em;
}
html body .contact-form-section input[type="text"],
html body .contact-form-section input[type="email"],
html body .contact-form-section input[type="tel"],
html body .contact-form-section select,
html body .contact-form-section textarea {
  width: 100%;
  padding: 14px 16px;
  font-size: 16px; font-family: inherit; color: #0f1f1a;
  background: #fff;
  border: 1px solid #cddad4;
  border-radius: 0 !important;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
html body .contact-form-section textarea { min-height: 170px; resize: vertical; }
html body .contact-form-section input:focus,
html body .contact-form-section select:focus,
html body .contact-form-section textarea:focus {
  outline: 0; border-color: #1A9E72; box-shadow: 0 0 0 3px rgba(26,158,114,.16);
}
html body .contact-form-section .form-group { margin-bottom: 22px; }
html body .contact-form-section .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
html body .contact-form-section button[type="submit"] {
  width: 100%;
  padding: 16px 28px;
  font-size: 16px; font-weight: 600; font-family: inherit; color: #fff;
  background: #1A9E72; border: 0; border-radius: 0 !important; cursor: pointer;
  transition: background .2s ease;
}
html body .contact-form-section button[type="submit"]:hover { background: #148a65; }
html body .contact-form-section .error { margin-top: 6px; font-size: 13px; color: #c0392b; }
html body .contact-form-section .success-msg {
  background: #e8f6f0; border: 1px solid #b7e2d0; color: #0b5a40;
  border-radius: 0 !important; padding: 14px 18px; margin-bottom: 24px; font-size: 15px;
}

/* quick info panel */
html body .contact-info {
  background-color: #07261d !important;
  background-image:
    radial-gradient(500px 220px at 50% 0, rgba(26,158,114,.28), transparent 70%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: auto, 36px 36px, 36px 36px !important;
  background-repeat: no-repeat, repeat, repeat !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  padding: 40px 36px;
  color: #fff;
}
html body .contact-info h3 {
  color: #fff; font-size: 22px; font-weight: 600; letter-spacing: -.01em; margin: 0 0 18px;
}
html body .contact-info .contact-info-item {
  padding: 18px 0; border: 0; border-top: 1px solid rgba(255,255,255,.14);
}
html body .contact-info .contact-info-label {
  font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: #6fdcb4; margin-bottom: 6px;
}
html body .contact-info .contact-info-value,
html body .contact-info .contact-info-value a { color: #fff; font-size: 16px; text-decoration: none; }
html body .contact-info .contact-info-value a:hover { color: #6fdcb4; }

/* lower sections (their styles are inline, so match by attribute) */
html body section[style*="background: white"] {
  background-color: #fff !important;
  background-image:
    linear-gradient(rgba(11,61,46,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,61,46,.045) 1px, transparent 1px) !important;
  background-size: 44px 44px !important;
}
html body section[style*="linear-gradient(135deg, #F9FAFB"] {
  background-color: #f2f8f5 !important;
  background-image:
    linear-gradient(rgba(11,61,46,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,61,46,.06) 1px, transparent 1px) !important;
  background-size: 44px 44px !important;
}
html body [style*="width: 80px; height: 80px"] {
  border-radius: 0 !important;
  background: #fff !important;
  border: 1px solid #1A9E72 !important;
}
html body [style*="border-radius: 14px"] {
  border-radius: 0 !important;
  border: 1px solid #dbe6e1 !important;
  transition: none !important;
}

@media (max-width: 900px) {
  html body .contact-container { grid-template-columns: 1fr; }
  html body .contact-form-section { padding: 30px 22px; }
}
@media (max-width: 560px) {
  html body .contact-form-section .grid-2 { grid-template-columns: 1fr; gap: 22px; }
  html body .contact-info { padding: 32px 24px; }
}



/* popup form only: square corners (m-light-v1) */
html body .modal-content { border-radius: 0 !important; }
html body .modal-form-group input, html body .modal-form-group textarea, html body .modal-file-upload { border-radius: 0 !important; }
html body .modal-submit { border-radius: 0 !important; }
html body .project-carousel .project-item { border-radius: 0 !important; box-shadow: none !important; }
html body .modal-close { border-radius: 0 !important; }

/* questionnaire: dark green theme, square corners (q-dark-v1) */
html body .questionnaire-section { background-color: #07110e !important; color: #d6e6df;
  background-image: radial-gradient(ellipse 70% 40% at 50% 0%, rgba(26,158,114,.22), transparent 70%), linear-gradient(rgba(26,158,114,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(26,158,114,.07) 1px, transparent 1px) !important;
  background-size: auto, 44px 44px, 44px 44px !important; }
html body .questionnaire-header h2 { color: #fff !important; }
html body .questionnaire-header p { color: #a7c1b6 !important; }
html body .step-indicator .step-dot { border-radius: 0 !important; background: rgba(61,219,160,.25) !important; }
html body .step-indicator .step-dot.active { background: #3ddba0 !important; }
html body .questionnaire-form-card { background: rgba(255,255,255,.03) !important; border: 1px solid rgba(61,219,160,.28) !important; border-radius: 0 !important; box-shadow: none !important; }
html body .questionnaire-form-card .step-title { color: #fff !important; }
html body .option-card { background: rgba(26,158,114,.08) !important; border: 1px solid rgba(61,219,160,.35) !important; border-radius: 0 !important; color: #d6e6df !important; box-shadow: none !important; }
html body .option-card:hover { border-color: #3ddba0 !important; color: #fff !important; }
html body .option-card.selected, html body .option-card.active { background: rgba(26,158,114,.3) !important; border-color: #3ddba0 !important; color: #fff !important; }
html body .questionnaire-form-card .btn-primary { border-radius: 0 !important; }
html body .questionnaire-form-card .btn-secondary { background: transparent !important; border: 1px solid rgba(214,230,223,.3) !important; color: #d6e6df !important; border-radius: 0 !important; }
html body .privacy-notice { background: rgba(26,158,114,.08) !important; border-radius: 0 !important; box-shadow: none !important; color: #cfe3da !important; }


/* popup: right panel in forest green (m-green-v2) */
html body .modal-right { background-color: #0B3D2E !important; background-image: linear-gradient(135deg, #12604a, #0B3D2E) !important; }
html body .modal-projects h3 { color: #fff !important; }
html body .project-carousel .project-item { background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.2) !important; }
html body .project-carousel .project-item:hover { border-color: #3ddba0 !important; }
html body .project-carousel .project-item a { color: #fff !important; }
html body .project-carousel .project-item .project-desc { color: #c4ddd2 !important; }
html body .modal-submit { background: linear-gradient(135deg, #1A9E72, #0f7a58) !important; }
