/* ===== FAQ accordion ===== */
.faq-section{padding:54px 0}
.faq-heading{font-size:clamp(2rem,4vw,3rem);margin:0 0 8px}
.faq-intro{color:var(--ink-soft);font-size:1.05rem;margin-bottom:32px}
.faq-grid{display:grid;gap:14px;max-width:720px}
.faq-item{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:box-shadow .2s}
.faq-item:hover{box-shadow:var(--shadow-sm)}
.faq-toggle{width:100%;padding:22px;text-align:left;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--body);font-weight:700;font-size:1.05rem;color:var(--ink);transition:background .2s}
.faq-toggle:hover{background:var(--cream-2)}
.faq-toggle .faq-icon{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:1.2rem;transition:transform .3s}
.faq-item.open .faq-toggle .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 22px;border-top:1px solid var(--line)}
.faq-item.open .faq-answer{max-height:1000px;padding:22px}
.faq-answer p{margin:0 0 12px;color:var(--ink-soft);font-size:1rem}
.faq-answer p:last-child{margin-bottom:0}
.faq-answer ul,.faq-answer ol{margin:0 0 12px 20px;padding:0}
.faq-answer li{margin-bottom:8px;color:var(--ink-soft)}
@media(max-width:900px){.faq-grid{max-width:100%}}
