/* faq.css */
.faq-section { background:var(--cream2); padding:6rem 0; }
.faq-inner   { max-width:840px; margin:0 auto; padding:0 40px; }
.faq-header  { text-align:center; margin-bottom:3.5rem; }
.faq-gold-line { display:block; width:56px; height:1.5px; background:var(--gold); margin:0 auto 1.5rem; }
.faq-heading { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,2.9rem); font-weight:600; color:var(--charcoal); }
.faq-list    { display:flex; flex-direction:column; gap:8px; }
.faq-item    { background:#fff; border:1px solid var(--border-light); border-radius:14px; overflow:hidden; opacity:0; transform:translateY(18px); transition:opacity .5s,transform .5s; }
.faq-item.visible { opacity:1; transform:translateY(0); }
.faq-btn     { width:100%; display:flex; align-items:center; justify-content:space-between; padding:1.5rem 2rem; background:none; border:none; cursor:pointer; text-align:left; }
.faq-question { font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--charcoal); font-weight:600; }
.faq-icon    { transition:transform .35s; flex-shrink:0; }
.faq-open .faq-icon { transform:rotate(45deg); }
.faq-body    { max-height:0; overflow:hidden; transition:max-height .45s ease; }
.faq-answer  { padding:0 2rem 1.5rem; color:var(--mid); font-size:.88rem; line-height:1.8; }
@media (max-width:640px) { .faq-section { padding:4rem 0; } .faq-inner { padding:0 22px; } }
