:root {
  --bg: #fdfdfd;
  --ink: #333639;
  --ink-70: rgba(51, 54, 57, 0.7);
  --ink-30: rgba(51, 54, 57, 0.3);
  --accent: #ffc85e;
  --surface: #f4f7f5;
  --container: 1400px;
  --white-60: rgba(253, 253, 253, 0.6);
  --black-70: rgba(51, 54, 57, 0.70);
}


html {
  scroll-behavior: smooth;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 40px;
  border: 0;
  background: var(--accent);
  color: var(--ink);
  text-decoration: none;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: normal;
  cursor: pointer;
}

.btn-dark {
  background: var(--ink);
  color: #fdfdfd;
}

.section-tag {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  position: relative;
  padding: 0 14px 0 12px;
  border-left: 2px solid var(--accent);
  background: var(--surface);
  color: #6f7378;
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
}

.section-tag::after {
  content: "";
  position: absolute;
  right: -15px;
  top: 0;
  width: 15px;
  height: 40px;
  background: inherit;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.single-hero {
  position: relative;
  padding: 216px 0 401px;
  background:
    linear-gradient(rgba(51, 54, 57, 0.35), rgba(51, 54, 57, 0.35)),
    var(--single-hero-bg, url("../../images/pages/service-single/hero.webp")) center top/cover no-repeat;
  color: #fdfdfd;
}

.single-hero--service-1 { --single-hero-bg: url("../../images/pages/services/service-1.webp"); }
.single-hero--service-2 { --single-hero-bg: url("../../images/pages/services/service-7.webp"); }
.single-hero--service-3 { --single-hero-bg: url("../../images/pages/services/service-3.webp"); }
.single-hero--service-4 { --single-hero-bg: url("../../images/pages/services/service-4.webp"); }
.single-hero--service-5 { --single-hero-bg: url("../../images/pages/services/service-5.webp"); }
.single-hero--service-6 { --single-hero-bg: url("../../images/pages/services/service-5.webp"); }
.single-hero--service-7 { --single-hero-bg: url("../../images/pages/services/service-6.webp"); }
.single-hero--service-8 { --single-hero-bg: url("../../images/pages/services/service-8.webp"); }
.single-hero--service-9 { --single-hero-bg: url("../../images/pages/service-single/hero.webp"); }
.single-hero--service-10 { --single-hero-bg: url("../../images/pages/services/service-4.webp"); }

.single-hero__content {
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

.single-hero h1 {
  width: 980px;
  max-width: 100%;
  margin: 0 auto 20px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 61px;
  font-weight: 700;
  line-height: normal;
}

.single-hero__content p {
  margin-bottom: 20px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 31px;
  font-weight: 700;
  line-height: normal;
}

.intro-panel {
  position: relative;
  z-index: 2;
  margin-top: -60px;
}

.intro-panel__inner {
  width: 920px;
  min-height: 288px;
  margin: 0 auto;
  padding: 40px 120px;
  font-weight: 400;
  color: var(--black);
  background: var(--surface);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 40px 100%, 0 calc(100% - 40px));

  font-family: 'Onest', sans-serif;
  font-size: 20px;
  line-height: normal;
}

.intro-panel p {
  font-size: 20px;
  line-height: normal;
}

.intro-panel p + p {
  margin-top: 26px;
}

.switching {
  padding-top: 160px;
}

.switching__grid {
  display: grid;
  grid-template-columns: 680px 680px;
  gap: 40px;
  align-items: center;
}

.switching__content h2,
.benefits h2,
.section-head h2,
.faq-section__content h2 {
  margin-top: 20px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 49px;
  font-weight: 700;
  line-height: normal;
}

.switching__content > p:not(.section-tag) {
  margin-top: 20px;
  font-size: 16px;
  line-height: normal;
  color: var(--black-70);
  font-weight: 400;
}

.switching__content > p:not(.section-tag) + p {
  margin-top: 0;
}
.switching.switching-matters .switching__content > p.section-tag ~ p {
  margin-bottom: 12px;
  color: var(--black-70);
  font-family: 'Onest', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}
.switching.switching-matters .switching__content > p.section-tag ~ p:last-child {
  margin-bottom: 0;
}

.switching__image {
  position: relative;
  width: 100%;
  height: 500px;
  background: url("../../images/pages/service-single/intro.webp") center/cover no-repeat;
  overflow: hidden;
}

.switching__image::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 80px;
  background: var(--bg);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.benefits {
  margin-top: 160px;
  padding: 241px 0;
  background:
    linear-gradient(90deg, rgba(253, 253, 253, 1) 15%, rgba(253, 253, 253, 0) 100%),
    url("../../images/pages/service-single/benefits-bg.webp") center/cover no-repeat;
}

.benefits__content {
  width: 674px;
}

.benefits .section-tag {
  background: var(--black-70);
  color: var(--accent);
  border-left-color: var(--accent);
}

.benefits__list {
  display: grid;
  gap: 20px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.benefits__list li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 46px;
  color: var(--white);
  font-family: 'Onest', sans-serif;
  padding: 10px 20px 10px 18px;
  background: var(--black-70);
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  clip-path: polygon(16px 0, 100% 0, 100% 100%, 16px 100%, 0 50%);
}

.benefits__list li svg {
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}

.process {
  padding: 126px 0 0;
}

.section-head {
  width: 920px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

.section-head > p:not(.section-tag) {
  margin-top: 20px;
  color: var(--black-70);
  text-align: center;
  font-family: 'Onest', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;;
}

.process__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 47px;
}

.step-card {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 20px;
  height: 216px;
  padding: 20px 20px 40px;
  background: var(--surface);
}

.step-card__tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  position: relative;
  padding: 5px 5px 5px 10px;
  border-left: 3px solid var(--ink);
  background: var(--accent);
}

.step-card__tag-arrow {
  position: absolute;
  right: -10px;
  top: 0;
  bottom: 0;
  width: 10px;
}

.step-card__tag-arrow img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  max-width: none;
}

.step-card__tag span {
  color: var(--ink);
  font-family: "Onest", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
  white-space: nowrap;
}

.step-card__body {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.step-card__title {
  margin: 0;
  color: var(--ink);
  font-family: "Onest", sans-serif;
  font-size: 25px;
  font-weight: 600;
  line-height: normal;
}

.step-card__desc {
  margin: 0;
  color: var(--ink-70);
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}

.process__action {
  margin-top: 40px;
  text-align: center;
}

.standards {
  padding-top: 160px;
}

.standards .section-head > p:not(.section-tag) {
  font-size: 20px;
}

.standards__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 40px;
}

.standard-card {
  min-height: 228px;
  padding: 40px;
  background: var(--surface);
  border-left: 5px solid var(--accent);
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}

.standard-card:nth-child(3),
.standard-card:nth-child(4) {
  min-height: 280px;
}

.standard-card:nth-child(5),
.standard-card:nth-child(6) {
  min-height: 254px;
}

.standard-card img {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

.standard-card h3 {
  margin-top: 20px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 25px;
  font-weight: 600;
  line-height: normal;
}

.standard-card p {
  margin-top: 10px;
  font-size: 20px;
  line-height: normal;
  color: var(--black-70);
  font-family: 'Onest', sans-serif;
  font-weight: 400;
}



.faq-section {
  padding-top: 160px;
}

.faq-section__grid {
  display: grid;
  grid-template-columns: 680px 680px;
  gap: 40px;
  align-items: start;
}

.faq-section__content {
  padding-left: 9px;
}

.faq-section__content > p:not(.section-tag) {
  margin-top: 20px;
  font-size: 16px;
  line-height: normal;
  color: var(--black-70);
  font-family: 'Onest', sans-serif;
  font-weight: 400;
}

.faq-section__content .btn {
  margin-top: 20px;
}

.faq-list {
  position: relative;
}

.faq-item {
  background: var(--surface);
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 20px;
}

.faq-item__question {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 20px;
  cursor: pointer;
  width: 100%;
  background: none;
  border: none;
  text-align: left;
}

.faq-item__question-text {
  flex: 1;
  color: var(--ink);
  font-family: "Onest", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  min-width: 0;
}

.faq-item__btn {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  position: relative;
}

.faq-item__btn-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.faq-item__btn-icon {
  position: absolute;
  left: 50%;
  top: calc(50% - 3px);
  transform: translate(-50%, -50%) rotate(0deg);
  width: 24px;
  height: 24px;
  display: block;
  opacity: 1;
  transition: opacity 0.2s, transform 0.2s;
}

.faq-item__btn-icon--close {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.faq-item--open .faq-item__btn-icon--open {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item--open .faq-item__btn-icon--close {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-item__answer {
  display: none;
  padding: 0 20px 20px;
}

.faq-item--open .faq-item__answer {
  display: block;
}

.faq-item__answer-text {
  color: var(--ink-70);
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}

.faq-item__answer-text p {
  margin-bottom: 15px;
}

.faq-item__answer-text p:last-child {
  margin-bottom: 0;
}
