.product-visual {
  width: 500px;
  height: 500px;
  max-width: 100%;
}

.hero-product-image {
  width: 500px;
  height: 500px;
  max-width: 100%;
  object-fit: contain;
}

@media (max-width: 767.98px) {
  .product-visual {
    width: min(500px, 100%);
    height: auto;
    aspect-ratio: 1;
  }

  .hero-product-image {
    width: 100%;
    height: 100%;
  }
}

.faq-section {
  padding: 84px 0;
  background: #fffdfa;
}

.faq-section h2 {
  font-size: 38px;
  line-height: 1.15;
  margin-bottom: 16px;
}

.faq-intro {
  max-width: 300px;
  color: #6a6d64;
  line-height: 1.65;
}

.accordion-item {
  border: 0;
  border-bottom: 1px solid #dedbd1;
  background: transparent;
}

.accordion-button {
  padding: 21px 38px 21px 0;
  color: #20221b;
  background: transparent;
  box-shadow: none;
  font-family: "Playfair Display", serif;
  font-size: 20px;
  font-weight: 600;
}

.accordion-button:not(.collapsed) {
  color: #455936;
  background: transparent;
  box-shadow: none;
}

.accordion-button:focus { box-shadow: none; }
.accordion-button::after { background-size: 15px; }

.accordion-body {
  padding: 0 38px 20px 0;
  color: #62665c;
  line-height: 1.7;
}

@media (max-width: 767.98px) {
  .faq-section { padding: 60px 0; }
  .faq-section h2 { font-size: 32px; }
  .accordion-button { font-size: 18px; }
}
