.contact-page {
  background: #f5f8fb;
}

.contact-intro {
  background: linear-gradient(135deg, #062b5f 0%, #087db8 100%);
  color: #fff;
  padding: 72px 0 66px;
}

.contact-intro .eyebrow,
.contact-intro h1,
.contact-intro p {
  color: #fff;
}

.contact-intro h1 {
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  margin-bottom: 1rem;
}

.contact-intro p {
  font-size: 1.15rem;
  max-width: 780px;
  margin-bottom: 0;
}

.quote-layout {
  padding: 70px 0 80px;
}

.quote-form-card,
.contact-panel {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 35px rgba(6, 43, 95, .1);
}

.quote-form-card {
  padding: clamp(1.4rem, 4vw, 2.5rem);
}

.form-section + .form-section {
  border-top: 1px solid #dbe4ec;
  margin-top: 2rem;
  padding-top: 2rem;
}

.form-section h2 {
  color: var(--hhod-navy);
  font-size: 1.65rem;
  margin-bottom: 1.25rem;
}

.form-label,
.form-check-label,
.form-section legend {
  color: var(--hhod-navy);
  font-weight: 700;
}

.form-section legend {
  font-family: 'Oswald', Arial, sans-serif;
  font-size: 1.12rem;
  margin-bottom: .75rem;
}

.form-control,
.form-select {
  border-color: #aebdca;
  min-height: 48px;
}

textarea.form-control {
  min-height: 150px;
}

.choice-panel,
.conditional-panel {
  background: #f2f6f9;
  border-left: 4px solid var(--hhod-blue);
  border-radius: 8px;
  margin-top: 1rem;
  padding: 1.15rem;
}

.conditional-panel[hidden] {
  display: none !important;
}

.choice-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem 1.4rem;
}

.form-help {
  color: #526578;
  font-size: .92rem;
}

.form-status {
  border-radius: 8px;
  display: none;
  margin-bottom: 1.5rem;
  padding: .9rem 1rem;
}

.form-status.is-visible {
  display: block;
}

.form-status.info {
  background: #e8f3fa;
  color: #063d69;
}

.form-status.success {
  background: #e5f4ea;
  border: 1px solid #9bcbaa;
  color: #175c2f;
}

.form-status.error {
  background: #fdebec;
  color: #842029;
}

.invalid-feedback[hidden] {
  display: none !important;
}

.hp-field {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

.contact-panel {
  padding: 2rem;
  position: sticky;
  top: 2rem;
}

.contact-panel h2 {
  color: var(--hhod-navy);
  font-size: 1.7rem;
}

.contact-method {
  border-top: 1px solid #dbe4ec;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}

.contact-method span {
  color: #526578;
  display: block;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .08em;
  margin-bottom: .25rem;
  text-transform: uppercase;
}

.contact-method a {
  color: var(--hhod-blue);
  font-size: 1.08rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

@media (max-width: 991px) {
  .contact-panel {
    position: static;
  }
}

@media (max-width: 575px) {
  .contact-intro {
    padding: 52px 0 48px;
  }

  .quote-layout {
    padding: 45px 0 55px;
  }

  .choice-grid {
    display: grid;
    gap: .65rem;
  }
}
