.hv-intro,
.hv-section,
.hv-cta {
  --hv-red: #c51e2b;
  --hv-ink: #151a1e;
  --hv-muted: #5d666e;
  --hv-line: #dfe3e6;
  color: var(--hv-ink);
}

.hv-intro {
  padding: 78px 0;
  background: #fff;
  border-top: 1px solid #eceff1;
}

.hv-kicker,
.hv-heading > span,
.hv-cta-inner > div > span {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--hv-red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hv-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr);
  gap: 58px;
  align-items: start;
}

.hv-intro h2,
.hv-heading h2,
.hv-cta h2 {
  margin: 0 0 20px;
  color: var(--hv-ink);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.hv-lead {
  color: #30383e;
  font-size: 19px;
  line-height: 1.7;
}

.hv-intro p,
.hv-heading p,
.hv-card p,
.hv-use-grid p,
.hv-standard-note p,
.hv-location-grid p,
.hv-faq-list p,
.hv-cta p {
  line-height: 1.7;
}

.hv-answer {
  padding: 32px;
  background: var(--hv-ink);
  border-top: 5px solid var(--hv-red);
  color: #fff;
  box-shadow: 0 18px 50px rgba(16, 22, 27, .16);
}

.hv-answer > span,
.hv-standard-tag {
  color: #ff9ea5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hv-answer h3 { margin: 13px 0 12px; color: #fff; font-size: 25px; line-height: 1.2; }
.hv-answer p { margin: 0; color: #dce1e4; }

.hv-section { padding: 82px 0; }
.hv-soft { background: #f5f6f7; }
.hv-heading { max-width: 780px; margin-bottom: 38px; }
.hv-heading p { margin: 0; color: var(--hv-muted); font-size: 17px; }

.hv-card-grid,
.hv-use-grid,
.hv-check-grid,
.hv-location-grid { display: grid; gap: 20px; }
.hv-card-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.hv-card {
  padding: 30px;
  background: #fff;
  border: 1px solid var(--hv-line);
  transition: transform .2s ease, box-shadow .2s ease;
}
.hv-card:hover { transform: translateY(-4px); box-shadow: 0 15px 36px rgba(18, 24, 28, .09); }
.hv-number { margin-bottom: 34px; color: var(--hv-red); font-weight: 800; }
.hv-card h3 { margin: 0 0 11px; font-size: 22px; }
.hv-card p { margin: 0; color: var(--hv-muted); }

.hv-check-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hv-check-grid > div { padding: 23px 24px; border: 1px solid var(--hv-line); border-left: 4px solid var(--hv-red); }
.hv-check-grid strong, .hv-check-grid span { display: block; }
.hv-check-grid strong { margin-bottom: 7px; font-size: 17px; }
.hv-check-grid span { color: var(--hv-muted); line-height: 1.5; }

.hv-standard-note {
  display: grid;
  grid-template-columns: .8fr 1.5fr auto;
  gap: 30px;
  align-items: center;
  margin-top: 34px;
  padding: 28px 30px;
  background: #fff7f7;
  border: 1px solid #f0c9cc;
}
.hv-standard-note h3 { margin: 7px 0 0; font-size: 20px; }
.hv-standard-note p { margin: 0; color: #4b555c; }
.hv-standard-note a { color: var(--hv-red); font-weight: 800; white-space: nowrap; }

.hv-dark { background: #161b1f; color: #fff; }
.hv-dark .hv-heading h2 { color: #fff; }
.hv-dark .hv-heading > span { color: #ff7c85; }
.hv-use-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hv-use-grid article { min-height: 180px; padding: 28px; background: #20272c; border-top: 3px solid var(--hv-red); }
.hv-use-grid h3 { margin: 0 0 13px; color: #fff; font-size: 20px; }
.hv-use-grid p { margin: 0; color: #c9d0d4; }

.hv-locations { background: #fff; }
.hv-location-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hv-location-grid article { padding: 22px 23px; background: #fafafa; border: 1px solid var(--hv-line); }
.hv-location-grid h3 { margin: 0 0 8px; font-size: 17px; }
.hv-location-grid p { margin: 0; color: var(--hv-muted); font-size: 14px; }
.hv-location-grid .hv-featured-location { background: #fff2f3; border-color: #e4a4aa; }
.hv-location-note { margin: 28px 0 0; padding: 17px 20px; color: var(--hv-muted); background: #f5f6f7; border-left: 4px solid var(--hv-red); }

.hv-faq-wrap { display: grid; grid-template-columns: .8fr 1.4fr; gap: 58px; align-items: start; }
.hv-faq-list details { background: #fff; border: 1px solid var(--hv-line); border-bottom: 0; }
.hv-faq-list details:last-child { border-bottom: 1px solid var(--hv-line); }
.hv-faq-list summary { position: relative; padding: 21px 52px 21px 22px; cursor: pointer; font-weight: 800; list-style: none; }
.hv-faq-list summary::-webkit-details-marker { display: none; }
.hv-faq-list summary::after { content: '+'; position: absolute; right: 22px; top: 17px; color: var(--hv-red); font-size: 24px; }
.hv-faq-list details[open] summary::after { content: '−'; }
.hv-faq-list p { margin: 0; padding: 0 22px 22px; color: var(--hv-muted); }

.hv-cta { padding: 58px 0; background: var(--hv-red); color: #fff; }
.hv-cta-inner { display: flex; gap: 35px; align-items: center; justify-content: space-between; }
.hv-cta-inner > div > span { margin-bottom: 8px; color: #ffd5d8; }
.hv-cta h2 { margin-bottom: 7px; color: #fff; font-size: clamp(28px, 3vw, 40px); }
.hv-cta p { margin: 0; color: #ffe8ea; }
.hv-cta a { display: inline-flex; gap: 10px; align-items: center; padding: 16px 22px; background: #fff; color: var(--hv-red); font-weight: 800; white-space: nowrap; }

@media (max-width: 991px) {
  .hv-intro-grid,
  .hv-faq-wrap { grid-template-columns: 1fr; gap: 34px; }
  .hv-card-grid-3,
  .hv-check-grid,
  .hv-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hv-use-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hv-standard-note { grid-template-columns: 1fr; }
}

@media (max-width: 575px) {
  .hv-intro,
  .hv-section { padding: 56px 0; }
  .hv-card-grid-3,
  .hv-check-grid,
  .hv-location-grid,
  .hv-use-grid { grid-template-columns: 1fr; }
  .hv-intro h2,
  .hv-heading h2 { font-size: 31px; }
  .hv-lead { font-size: 17px; }
  .hv-answer { padding: 26px; }
  .hv-cta-inner { align-items: flex-start; flex-direction: column; }
}
