/* Cache-safe corporate refinements */
.faq {
  display: grid !important;
  grid-template-columns: 170px minmax(0, 1fr) !important;
  gap: 72px !important;
  align-items: start;
  padding-top: 18px !important;
  padding-bottom: 148px !important;
}

.faq > .section-tag {
  padding-top: 10px;
  white-space: nowrap;
}

.faq > div:last-child {
  display: block !important;
  min-width: 0;
}

.faq .faq-head {
  display: grid !important;
  grid-template-columns: minmax(360px, .9fr) minmax(260px, .55fr) !important;
  gap: 72px !important;
  align-items: end !important;
  margin-bottom: 52px !important;
}

.faq .faq-head h2 {
  margin: 0 !important;
  font: 700 clamp(42px, 4.1vw, 60px)/1.05 Manrope, sans-serif !important;
  letter-spacing: -.055em !important;
}

.faq .faq-head p {
  max-width: 390px;
  margin: 0 0 6px !important;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.faq .faq-list {
  width: 100%;
  border-top: 1px solid #bec4bf !important;
  counter-reset: faq-item;
}

.faq .faq-list details {
  display: block;
  counter-increment: faq-item;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #d0d3cf !important;
  background: transparent;
}

.faq .faq-list details[open] {
  background: #f1f2ec !important;
}

.faq .faq-list summary {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 36px !important;
  gap: 20px !important;
  align-items: center !important;
  width: 100%;
  padding: 25px 18px 25px 14px !important;
  color: var(--ink);
  font: 700 15px/1.5 Manrope, sans-serif !important;
  letter-spacing: -.012em;
  list-style: none !important;
  cursor: pointer;
}

.faq .faq-list summary::before {
  content: counter(faq-item, decimal-leading-zero);
  color: #8a928c;
  font: 700 10px/1 Manrope, sans-serif;
  letter-spacing: .08em;
}

.faq .faq-list summary::marker,
.faq .faq-list summary::-webkit-details-marker {
  display: none !important;
  content: "" !important;
}

.faq .faq-list summary > span {
  display: grid !important;
  place-items: center;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #b9bfba !important;
  border-radius: 50%;
  background: transparent;
  font: 400 19px/1 Manrope, sans-serif !important;
  transition: transform .2s ease, background-color .2s ease;
}

.faq .faq-list details[open] summary {
  padding-bottom: 14px !important;
}

.faq .faq-list details[open] summary > span {
  transform: rotate(45deg);
  border-color: var(--lime) !important;
  background: var(--lime) !important;
}

.faq .faq-list details > p {
  max-width: 820px;
  margin: 0 !important;
  padding: 0 72px 28px 76px !important;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}

.faq .faq-list details:not([open]) > p {
  display: none;
}

.faq .faq-list details:hover:not([open]) {
  background: #f7f7f2;
}

@media (max-width: 960px) {
  .faq {
    grid-template-columns: 130px minmax(0, 1fr) !important;
    gap: 38px !important;
  }

  .faq .faq-head {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-bottom: 38px !important;
  }
}

@media (max-width: 720px) {
  .faq {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding-top: 0 !important;
    padding-bottom: 96px !important;
  }

  .faq > .section-tag {
    padding-top: 0;
  }

  .faq .faq-head h2 {
    font-size: 42px !important;
  }

  .faq .faq-list summary {
    grid-template-columns: 34px minmax(0, 1fr) 32px !important;
    gap: 13px !important;
    padding: 22px 6px !important;
    font-size: 14px !important;
  }

  .faq .faq-list summary > span {
    width: 30px !important;
    height: 30px !important;
  }

  .faq .faq-list details > p {
    padding: 0 42px 24px 47px !important;
    font-size: 13px;
  }
}

@media (max-width: 430px) {
  .faq .faq-head h2 {
    font-size: 38px !important;
  }

  .faq .faq-list summary {
    grid-template-columns: minmax(0, 1fr) 30px !important;
  }

  .faq .faq-list summary::before {
    display: none;
  }

  .faq .faq-list details > p {
    padding-left: 0 !important;
    padding-right: 36px !important;
  }
}

/* Separate sales contacts in footer */
footer .footer-grid {
  display: grid;
  grid-template-columns: .85fr 1fr 1fr .95fr !important;
  gap: 32px !important;
  align-items: stretch;
}

.footer-contact-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 92px;
  padding: 17px 20px;
  border: 1px solid #ffffff1f;
  background: #ffffff08;
}

footer .footer-contact-card > .footer-role {
  display: block;
  margin: 0 0 8px;
  color: #9ba69f;
  font: 700 9px/1 Manrope, sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.footer-contact-card > b {
  color: #fff;
  font: 700 15px/1.2 Manrope, sans-serif;
}

.footer-contact-card .contact-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px;
  margin-top: 8px;
  color: var(--lime);
  font-size: 11px;
}

.footer-contact-card .contact-link > span {
  margin: 0;
  color: inherit;
  font-size: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.footer-contact-card .contact-link i {
  font-style: normal;
  font-size: 14px;
}

footer .footer-grid > p {
  align-self: end;
}

@media (max-width: 900px) {
  footer .footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  footer .footer-grid > .brand,
  footer .footer-grid > p {
    grid-column: 1 / -1;
  }

  footer .footer-grid > p {
    margin-top: 8px;
  }
}

@media (max-width: 560px) {
  footer .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  footer .footer-grid > .brand,
  footer .footer-grid > p {
    grid-column: auto;
  }

  .footer-contact-card {
    min-height: 88px;
  }
}
