.logo-image {
  width: clamp(180px, 24vw, 220px) !important;
}

.form-group label,
.form-row .form-group label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.required-mark {
  color: #b42318;
  font-weight: 600;
}

.landing-field-hint,
.landing-field-error {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.5;
}

.landing-field-hint {
  color: rgba(19, 52, 79, 0.68);
}

.landing-field-error {
  color: #b42318;
}

.form-group.is-invalid input,
.form-group.is-invalid select,
.form-group.is-invalid textarea,
.form-row .form-group.is-invalid input,
.form-row .form-group.is-invalid select,
.form-row .form-group.is-invalid textarea {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12) !important;
}

.form-group.is-valid input,
.form-group.is-valid select,
.form-group.is-valid textarea,
.form-row .form-group.is-valid input,
.form-row .form-group.is-valid select,
.form-row .form-group.is-valid textarea {
  border-color: rgba(46, 125, 91, 0.48) !important;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(19, 52, 79, 0.18);
  outline-offset: 2px;
  box-shadow: 0 0 0 1px #13344f;
}

@media (max-width: 768px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .header-inner {
    gap: 16px;
    flex-wrap: wrap;
  }

  .header-nav {
    gap: 18px !important;
    flex-wrap: wrap;
  }

  .contact-grid {
    grid-template-columns: 1fr !important;
  }
}
