body { color:#333; background:#fff; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.page-wrap { min-height: 750px; padding: 0; }
.img-responsive { width:100%; height:auto; display:block; }

.title { text-align:center; margin:10px 0; }
.title span { font-size: clamp(20px, 2.2vw, 28px); }
.subtitle { text-align:center; margin-bottom:12px; font-size: clamp(16px, 1.8vw, 20px); }

.intro p { font-size: clamp(14px, 1.6vw, 18px); margin:10px 15px; }
.pad { margin:10px 15px; }
.left { text-align:left; }
.center { text-align:center; }
.bold { font-weight:700; }
.emph { font-style: italic; color:#333; opacity:.9; }
.lead-14 { font-size: clamp(14px, 1.5vw, 17px); }
.lead-16 { font-size: clamp(16px, 1.7vw, 19px); }
.lead-18 { font-size: clamp(18px, 2vw, 22px); }

.cta-bar {
  background:#1c2333; color:#fff; text-align:center;
  padding:10px 0; margin:14px 0; border-radius:8px;
  font-size: clamp(18px, 2vw, 22px);
  font-family: "Trebuchet MS", Geneva, sans-serif;
}

.band { background:#1c2333; text-align:center; padding:6px 0; margin:16px 0 10px; border-radius:8px; }
.band .title { color:#fff; margin:0; }

.prog { margin:8px 24px 12px; }
.prog li { margin:6px 0; }

#homeCarousel { margin: 12px 0 16px; }
#homeCarousel .item img { width:100%; height:auto; display:block; }

.form-group { padding:0 15px; }
.control-label.required::after { content:" *"; color:#d9534f; }
.consent, .footer-note { margin:10px 15px; }
.dealer .btn { margin-top:8px; }

.btn-white {
  display:inline-block;
  background:#fff; color:#1c2333; border:2px solid #1c2333;
  padding:10px 18px; border-radius:6px; text-decoration:none;
}
.btn-white:hover { background:#1c2333; color:#fff; text-decoration:none; }

.map-wrap {
  width: 100%;
  height: 50vh;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  margin: 12px 0;
}

.map-wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.map-actions { text-align:center; margin: 8px 0 16px; }


.sep { margin: 16px auto; width: 96%; border-top: 1px solid #eee; }

@media (max-width: 991px){
  .control-label { text-align:left !important; margin-bottom:6px; }
}
@media (max-width: 480px){
  .intro p, .lead-intro, .consent, .footer-note { margin:10px 12px; }
  .cta-bar, .band { border-radius: 6px; }
}
