.page-faq__hero-section { background: linear-gradient(180deg, #2F6BFF 0%, #6FA3FF 100%); padding-top: 10px; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #ffffff; min-height: 400px; }
.page-faq__hero-image { width: 100%; height: auto; display: block; object-fit: cover; position: relative; z-index: 1; }
.page-faq__hero-content { position: relative; z-index: 2; padding: 20px; max-width: 800px; margin-top: 20px; }
.page-faq__hero-title { font-weight: bold; line-height: 1.2; letter-spacing: -0.02em; margin-bottom: 15px; color: #ffffff; }
.page-faq__hero-description { font-size: 1.1em; margin-bottom: 30px; color: #f0f0f0; }
.page-faq__cta-buttons { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }

.page-faq__section { padding: 40px 20px; background-color: #F4F7FB; color: #1F2D3D; }
.page-faq__container { max-width: 960px; margin: 0 auto; }
.page-faq__section-title { font-size: 2.2em; font-weight: bold; text-align: center; margin-bottom: 20px; color: #1F2D3D; }
.page-faq__section-description { font-size: 1.1em; text-align: center; margin-bottom: 40px; color: #4A5568; }

.page-faq__faq-list { display: grid; gap: 15px; }
.page-faq__faq-item { background: #FFFFFF; border: 1px solid #D6E2FF; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); }
.page-faq__faq-question { display: flex; justify-content: space-between; align-items: center; padding: 18px 25px; cursor: pointer; font-weight: bold; color: #1F2D3D; font-size: 1.1em; position: relative; list-style: none; }
.page-faq__faq-question::-webkit-details-marker, .page-faq__faq-question::marker { display: none; }
.page-faq__faq-qtext { flex-grow: 1; }
.page-faq__faq-toggle { font-size: 1.5em; line-height: 1; margin-left: 15px; transition: transform 0.3s ease; color: #2F6BFF; }
.page-faq__faq-item[open] .page-faq__faq-toggle { transform: rotate(45deg); }
.page-faq__faq-answer { padding: 0 25px 25px; font-size: 1em; line-height: 1.6; color: #4A5568; max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }
.page-faq__faq-item[open] .page-faq__faq-answer { max-height: 2000px; /* Large enough to cover content */ transition: max-height 0.5s ease-in; }
.page-faq__faq-answer p { margin-bottom: 15px; }
.page-faq__faq-answer ul, .page-faq__faq-answer ol { margin-left: 20px; margin-bottom: 15px; }
.page-faq__faq-answer li { margin-bottom: 8px; }
.page-faq__faq-image { max-width: 100%; height: auto; display: block; margin: 20px auto; border-radius: 8px; }

.page-faq__cta-bottom { background: linear-gradient(180deg, #2F6BFF 0%, #6FA3FF 100%); padding: 60px 20px; text-align: center; color: #ffffff; }
.page-faq__cta-bottom .page-faq__container { max-width: 800px; }
.page-faq__cta-title { font-size: 2.2em; font-weight: bold; margin-bottom: 15px; color: #ffffff; }
.page-faq__cta-description { font-size: 1.1em; margin-bottom: 30px; color: #f0f0f0; }

.page-faq__btn-primary, .page-faq__btn-secondary { display: inline-flex; align-items: center; justify-content: center; padding: 12px 28px; border-radius: 8px; font-weight: bold; text-decoration: none; transition: all 0.3s ease; white-space: normal; word-wrap: break-word; box-sizing: border-box; }
.page-faq__btn-primary { background: linear-gradient(180deg, #4A8BFF 0%, #2F6BFF 100%); color: #ffffff; border: 2px solid transparent; box-shadow: 0 4px 15px rgba(47, 107, 255, 0.3); }
.page-faq__btn-primary:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(47, 107, 255, 0.4); }
.page-faq__btn-secondary { background: #ffffff; color: #2F6BFF; border: 2px solid #2F6BFF; }
.page-faq__btn-secondary:hover { background: #e0eaff; color: #2F6BFF; transform: translateY(-3px); box-shadow: 0 4px 10px rgba(47, 107, 255, 0.2); }
.page-faq__text-link { color: #2F6BFF; text-decoration: underline; font-weight: bold; }
.page-faq__text-link:hover { color: #6FA3FF; }

.page-faq img { max-width: 100%; height: auto; display: block; }

@media (max-width: 1024px) {
  .page-faq__hero-title { font-size: clamp(2em, 5vw, 2.8em); }
  .page-faq__section-title, .page-faq__cta-title { font-size: clamp(1.8em, 4vw, 2.2em); }
  .page-faq__hero-content { padding: 15px; }
  .page-faq__cta-buttons { gap: 15px; }
  .page-faq__faq-question { padding: 15px 20px; font-size: 1em; }
  .page-faq__faq-answer { padding: 0 20px 20px; }
}

@media (max-width: 768px) {
  .page-faq__hero-section { min-height: 300px; padding-top: 10px; }
  .page-faq__hero-image { max-height: 250px; object-fit: cover; }
  .page-faq__hero-content { margin-top: 10px; padding: 10px; }
  .page-faq__hero-title { font-size: clamp(1.8em, 7vw, 2.5em); margin-bottom: 10px; }
  .page-faq__hero-description { font-size: 0.95em; margin-bottom: 20px; }
  .page-faq__cta-buttons { flex-direction: column; gap: 10px; width: 100%; max-width: 100%; box-sizing: border-box; padding: 0 15px; }
  .page-faq__btn-primary, .page-faq__btn-secondary {
    max-width: 100% !important;
    width: 100% !important;
    padding: 12px 15px !important;
    font-size: 1em !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    box-sizing: border-box !important;
  }

  .page-faq__section { padding: 30px 15px; }
  .page-faq__container { padding-left: 15px; padding-right: 15px; max-width: 100%; width: 100%; box-sizing: border-box; }
  .page-faq__section-title, .page-faq__cta-title { font-size: clamp(1.6em, 6vw, 2em); margin-bottom: 15px; }
  .page-faq__section-description, .page-faq__cta-description { font-size: 0.9em; margin-bottom: 25px; }

  .page-faq__faq-question { padding: 12px 18px; font-size: 0.95em; }
  .page-faq__faq-answer { padding: 0 18px 18px; font-size: 0.9em; }
  .page-faq__faq-image {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }

  .page-faq__cta-bottom { padding: 40px 15px; }
  .page-faq__cta-bottom .page-faq__container { padding-left: 15px; padding-right: 15px; max-width: 100%; width: 100%; box-sizing: border-box; }

  .page-faq img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
}