/* ===== FAQ page only (scoped) ===== */
#faq-page .faq-section{ background: var(--color-white); }

#faq-page .faq-group{ margin-bottom: 60px; }

#faq-page .faq-group-title{
  font-size: 18px;
  font-weight: 700;
  color: var(--color-dark);
  padding: 14px 20px;
  background: var(--color-light-gray);
  border-left: 4px solid var(--color-primary);
  margin-bottom: 12px;
  display:flex;
  align-items:center;
  gap:10px;
}
#faq-page .faq-group-title i{ color: var(--color-primary); }

#faq-page .faq-item{ border-bottom: 1px solid rgba(0,0,0,0.08); }

#faq-page .faq-question{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:22px 0;
  cursor:pointer;
  transition: color .3s ease;
}
#faq-page .faq-question:hover{ color: var(--color-primary); }

#faq-page .faq-q-icon{
  width:32px;height:32px;
  background:var(--color-primary);
  color:var(--color-white);
  display:flex;align-items:center;justify-content:center;
  font-family:'Oswald',sans-serif;
  font-size:16px;font-weight:700;
  flex-shrink:0;
}
#faq-page .faq-q-text{
  font-size:15px;
  font-weight:600;
  color:var(--color-dark);
  flex:1;
  line-height:1.5;
  padding-top:4px;
}

#faq-page .faq-toggle{
  width:28px;height:28px;
  border:1px solid rgba(0,0,0,0.15);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  font-size:12px;
  color:var(--color-gray);
  transition: all .3s ease;
  margin-top:2px;
}
#faq-page .faq-item.open .faq-toggle{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#fff;
  transform: rotate(45deg);
}

#faq-page .faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease, padding .3s ease;
}
#faq-page .faq-item.open .faq-answer{ max-height: 700px; }

#faq-page .faq-answer-inner{
  padding: 0 0 24px 48px;
  display:flex;
  gap:16px;
}
#faq-page .faq-a-icon{
  width:32px;height:32px;
  background:var(--color-dark);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:'Oswald',sans-serif;
  font-size:16px;font-weight:700;
  flex-shrink:0;
}
#faq-page .faq-a-text{
  font-size:14px;
  color:var(--color-gray);
  line-height:1.9;
  flex:1;
  padding-top:4px;
}

#faq-page .faq-contact-box{
  background:var(--color-dark);
  padding:50px;
  text-align:center;
  margin-top:80px;
}
#faq-page .faq-contact-box h3{
  font-size:22px;
  font-weight:900;
  color:#fff;
  margin-bottom:12px;
}
#faq-page .faq-contact-box p{
  font-size:14px;
  color:rgba(255,255,255,0.6);
  margin-bottom:30px;
}
#faq-page .faq-contact-btns{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}
#faq-page .faq-tel-btn{
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
  padding:16px 52px 16px 36px;
  background:rgba(255,255,255,0.1);
  color:white;
  border:1px solid rgba(255,255,255,0.3);
}

@media (max-width: 768px){
  #faq-page .faq-answer-inner{ padding-left:16px; }
  #faq-page .faq-contact-box{ padding: 34px 18px; }
}
.cta-box img {
  display: block;
  margin: 0 auto 10px;
}