/* ===== CONTAINER OVERRIDE ===== */
.container { max-width:860px; }

/* ===== FAQ ACCORDION ===== */
.faq-section { background:var(--white); }

.faq-category { margin-bottom:3.5rem; }
.faq-category:last-child { margin-bottom:0; }
.faq-category-title { font-weight:600; font-size:1.15rem; letter-spacing:-0.01em; color:var(--black); margin-bottom:1rem; padding-bottom:0.75rem; border-bottom:2px solid var(--sand); }

.faq-item { border-bottom:1px solid var(--sand-light); }
.faq-question { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.25rem 0; cursor:pointer; width:100%; background:none; border:none; font-family:'Manrope',sans-serif; font-size:1.02rem; font-weight:500; color:var(--black); text-align:left; line-height:1.5; transition:color 0.3s; }
.faq-question:hover { color:var(--accent); }
.faq-icon { flex-shrink:0; width:20px; height:20px; position:relative; transition:transform 0.35s cubic-bezier(0.4,0,0.2,1); }
.faq-icon::before, .faq-icon::after { content:''; position:absolute; background:var(--gray-light); transition:all 0.35s cubic-bezier(0.4,0,0.2,1); }
.faq-icon::before { width:14px; height:1.5px; top:50%; left:50%; transform:translate(-50%,-50%); }
.faq-icon::after { width:1.5px; height:14px; top:50%; left:50%; transform:translate(-50%,-50%); }
.faq-item.open .faq-icon::after { transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.faq-item.open .faq-question { color:var(--accent); }

.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1), padding 0.35s; }
.faq-answer-inner { padding:0 0 1.5rem; font-size:0.98rem; color:var(--gray-dark); line-height:1.85; max-width:720px; }
