  :root{
    --bg: #f8fafc;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#475569;
    --accent:#0ea5e9;
    --ring:#2563eb;
    --radius: 18px;
  }

.faq{
    max-width:760px;
    margin:56px auto;
    padding:0 20px;
  }
  .faq h2{
    font-size:clamp(1.4rem, 2.4vw + .6rem, 2rem);
    margin:0 0 18px;
  }
  .faq p.lead{margin:0 0 22px;color:var(--muted)}

  details.faq-item{
    background:var(--card);
    border:1px solid #e5e7eb;
    border-radius:var(--radius);
    margin:12px 0;
    overflow:hidden;
    transition:border-color .25s;
  }

  summary{
    list-style:none;
    cursor:pointer;
    display:grid;
    grid-template-columns:auto 1fr; /* icon first in RTL */
    align-items:center;
    gap:12px;
    padding:18px 20px;
    font-weight:600;
    user-select:none;
  }
  summary::-webkit-details-marker{display:none}

  .chev{
    width:20px;height:20px;
    transition:transform .25s;
  }
  details[open] .chev{transform:rotate(180deg)}

  .answer{
    padding:0 20px 18px;
    color:var(--muted);
  }
  .answer p{margin:10px 0 0}

  details.faq-item:hover{border-color:var(--accent)}