.d-hp.d-hp--faq .d-faq-shell {
  width: min(100% - 100px, 1340px);
  margin-inline: auto;
}

.d-hp.d-hp--faq .d-faq-hero {
  min-height: 594px;
  padding: 102px 0 96px;
  background: var(--dhp-yellow);
}

.d-hp.d-hp--faq .d-faq-hero__inner { max-width: 1280px; }
.d-hp.d-hp--faq .d-faq-kicker { margin: 0 0 34px; font-size: 13px; font-weight: 900; letter-spacing: .16em; }
.d-hp.d-hp--faq .d-faq-kicker::after { display: block; width: 64px; height: 5px; margin-top: 17px; content: ""; background: var(--dhp-blue); border-radius: 50%; transform: rotate(-2deg); }
.d-hp.d-hp--faq .d-faq-hero h1 { max-width: 620px; margin: 0; font-size: 72px; line-height: 1.18; letter-spacing: -.055em; }
.d-hp.d-hp--faq .d-faq-hero h1 span,
.d-hp.d-hp--faq .d-faq-hero__lead span,
.d-hp.d-hp--faq .d-faq-contact h2 span { display: block; }
.d-hp.d-hp--faq .d-faq-hero h1::after { display: block; width: 204px; height: 8px; margin-top: 14px; content: ""; background: var(--dhp-ink); border-radius: 50%; transform: rotate(1deg); }
.d-hp.d-hp--faq .d-faq-hero__lead { margin: 30px 0 0; font-size: 20px; font-weight: 700; line-height: 1.9; }

.d-hp.d-hp--faq .d-faq-content { padding: 112px 0 132px; background: var(--dhp-paper); }
.d-hp.d-hp--faq .d-faq-group { display: grid; grid-template-columns: 220px minmax(0, 1010px); justify-content: center; gap: 110px; margin-bottom: 220px; }
.d-hp.d-hp--faq .d-faq-group:last-child { margin-bottom: 0; }
.d-hp.d-hp--faq .d-faq-group__label h2 { margin: 6px 0 0; font-size: 14px; line-height: 1.5; }
.d-hp.d-hp--faq .d-faq-group__label span { display: block; width: 90px; height: 6px; margin-top: 17px; background: var(--dhp-blue); border-radius: 50%; transform: rotate(-1deg); }
.d-hp.d-hp--faq .d-faq-group__items { border-top: 6px solid var(--dhp-blue); }
.d-hp.d-hp--faq .d-faq-group__items .d-faq-details:first-child { border-top: 0; }
.d-hp.d-hp--faq .d-faq-group__items .d-faq-details:last-child { border-bottom: 0; }

.d-hp.d-hp--faq .d-faq-contact { padding: 80px 0 72px; color: var(--dhp-white); background: var(--dhp-orange); }
.d-hp.d-hp--faq .d-faq-contact__inner { display: grid; min-height: 176px; grid-template-columns: 700px 230px; align-items: start; justify-content: start; gap: 103px; }
.d-hp.d-hp--faq .d-faq-contact h2 { margin: 0; font-size: 48px; line-height: 1.25; letter-spacing: -.035em; }
.d-hp.d-hp--faq .d-faq-contact p { margin: 22px 0 0; font-size: 18px; line-height: 1.9; }
.d-hp.d-hp--faq .d-faq-contact .d-cta { margin-top: 71px; }
.d-hp.d-hp--faq .d-faq-contact .d-cta__link { color: var(--dhp-white); background: transparent; }

@media (max-width: 1099px) and (min-width: 768px) {
  .d-hp.d-hp--faq .d-faq-shell { width: min(100% - 64px, 960px); }
  .d-hp.d-hp--faq .d-faq-group { grid-template-columns: 2fr 6fr; gap: 20px; }
  .d-hp.d-hp--faq .d-faq-contact__inner { grid-template-columns: minmax(0, 1fr) 230px; gap: 32px; }
  .d-hp.d-hp--faq .d-faq-contact h2 { font-size: 38px; }
}

@media (max-width: 767px) {
  .d-hp.d-hp--faq .d-faq-shell { width: calc(100% - 40px); }
  .d-hp.d-hp--faq .d-faq-hero { min-height: 406px; padding: 64px 0 54px; }
  .d-hp.d-hp--faq .d-faq-kicker { margin-bottom: 23px; font-size: 11px; }
  .d-hp.d-hp--faq .d-faq-kicker::after { width: 50px; height: 3px; margin-top: 12px; }
  .d-hp.d-hp--faq .d-faq-hero h1 { max-width: 315px; font-size: 40px; line-height: 1.18; }
  .d-hp.d-hp--faq .d-faq-hero h1::after { width: 168px; height: 8px; margin-top: 13px; }
  .d-hp.d-hp--faq .d-faq-hero__lead { margin-top: 30px; font-size: 18px; line-height: 1.8; }
  .d-hp.d-hp--faq .d-faq-content { padding: 68px 0 76px; }
  .d-hp.d-hp--faq .d-faq-group { display: block; margin-bottom: 67px; }
  .d-hp.d-hp--faq .d-faq-group__label { margin-bottom: 30px; }
  .d-hp.d-hp--faq .d-faq-group:nth-child(1) .d-faq-group__label { transform: translateY(0); }
  .d-hp.d-hp--faq .d-faq-group:nth-child(2) .d-faq-group__label { transform: translateY(0); }
  .d-hp.d-hp--faq .d-faq-group:nth-child(3) .d-faq-group__label {
    margin-bottom: 50px;
    transform: translateY(20px);
  }
  .d-hp.d-hp--faq .d-faq-group__label h2 { font-size: 14px; }
  .d-hp.d-hp--faq .d-faq-group__label span { width: 90px; height: 6px; margin-top: 16px; }
  .d-hp.d-hp--faq .d-faq-contact { padding: 48px 0 54px; }
  .d-hp.d-hp--faq .d-faq-contact__inner { display: block; min-height: 0; }
  .d-hp.d-hp--faq .d-faq-contact h2 { font-size: 32px; line-height: 1.3; }
  .d-hp.d-hp--faq .d-faq-contact p { margin-top: 14px; font-size: 16px; line-height: 1.9; }
  .d-hp.d-hp--faq .d-faq-contact .d-cta { margin-top: 70px; }
  .d-hp.d-hp--faq .d-faq-contact .d-cta__link { min-height: 60px; }
}
