:root {
  --fsl-contact-navy: #12365b;
  --fsl-contact-blue: #176da3;
  --fsl-contact-sky: #eaf4fb;
  --fsl-contact-ink: #1d2a38;
  --fsl-contact-muted: #5f6f7f;
  --fsl-contact-line: #d7e1ea;
  --fsl-contact-gold: #b7791f;
}

.fsl-contact-hero {
  background: linear-gradient(135deg, #0f2f50 0%, #1d5a87 100%);
  color: #fff;
  padding: 44px 0 52px;
}

.fsl-contact-breadcrumb { display: flex; gap: 9px; font-size: 14px; margin-bottom: 31px; }
.fsl-contact-breadcrumb a { color: #fff; font-weight: 700; text-decoration: underline; }
.fsl-contact-breadcrumb span { color: rgba(255, 255, 255, .8); }
.fsl-contact-eyebrow { color: #f0c36c; font-size: 12px; font-weight: 700; letter-spacing: .12em; margin: 0 0 10px; text-transform: uppercase; }
.fsl-contact-hero h1 { color: #fff; font-size: clamp(36px, 5vw, 54px); line-height: 1.08; margin: 0 0 15px; }
.fsl-contact-hero p:last-child { color: rgba(255, 255, 255, .9); font-size: 19px; line-height: 1.6; margin: 0; max-width: 700px; }

.fsl-contact-main { background: #f7fafc; color: var(--fsl-contact-ink); padding: 42px 0 62px; }
.fsl-contact-grid { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 330px; }
.fsl-contact-form-card, .fsl-contact-help-card { background: #fff; border: 1px solid var(--fsl-contact-line); border-radius: 14px; box-shadow: 0 12px 28px rgba(18, 54, 91, .06); }
.fsl-contact-form-card { padding: 34px; }
.fsl-contact-form-card h2, .fsl-contact-help-card h2 { color: var(--fsl-contact-navy); font-size: 25px; line-height: 1.25; margin: 0 0 12px; }
.fsl-contact-intro { color: var(--fsl-contact-muted); font-size: 16px; line-height: 1.65; margin-bottom: 26px; }
.fsl-contact-intro a, .fsl-contact-help-card a { color: var(--fsl-contact-blue); font-weight: 700; text-decoration: underline; }
.fsl-contact-form-card .form-control { border-color: #bdcbd7; border-radius: 7px; min-height: 54px; }
.fsl-contact-form-card textarea.form-control { min-height: 145px; padding-top: 24px; resize: vertical; }
.fsl-contact-form-card .form-control:focus { border-color: var(--fsl-contact-blue); box-shadow: 0 0 0 .2rem rgba(23, 109, 163, .16); }
.fsl-contact-form-card .btn { align-items: center; display: inline-flex; gap: 10px; justify-content: center; min-width: 185px; }
.fsl-contact-captcha { color: var(--fsl-contact-muted); font-size: 13px; margin: 14px 0 0; }
.fsl-contact-help { display: grid; gap: 17px; align-content: start; }
.fsl-contact-help-card { padding: 24px; }
.fsl-contact-help-card h2 { font-size: 20px; }
.fsl-contact-help-card p { color: var(--fsl-contact-muted); line-height: 1.6; margin: 0 0 14px; }
.fsl-contact-help-card a { display: inline-block; }
.fsl-contact-help-card a i, .fsl-contact-form-card .btn i { font-size: 12px; }
.fsl-contact-help-card--muted { background: var(--fsl-contact-sky); border-color: #c8dfed; }
.fsl-contact-icon { align-items: center; background: #eef6fb; border-radius: 50%; color: var(--fsl-contact-blue); display: inline-flex; height: 38px; justify-content: center; margin-bottom: 14px; width: 38px; }
.fsl-contact-help-card--muted .fsl-contact-icon { background: #fff; }
.fsl-contact-form-card .alert { margin-bottom: 20px; }

@media (max-width: 991px) {
  .fsl-contact-grid { grid-template-columns: 1fr; }
  .fsl-contact-help { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
  .fsl-contact-hero { padding: 31px 0 39px; }
  .fsl-contact-hero p:last-child { font-size: 17px; }
  .fsl-contact-main { padding: 27px 0 44px; }
  .fsl-contact-form-card { padding: 25px 20px; }
  .fsl-contact-help { grid-template-columns: 1fr; }
  .fsl-contact-form-card .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .fsl-contact-form-card .form-control { transition: none; }
}
