/* ============================================================
   FAQ
   ============================================================ */
.faq-sec{background:var(--paper);padding:120px 0}
.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:start}
.faq-left h2{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,5vw,64px);letter-spacing:-0.04em;line-height:0.95;margin:0 0 24px}
.faq-left p{font-family:var(--f-body);font-size:17px;line-height:1.55;color:#2A2A28;margin:0 0 24px;max-width:380px}
.faq-left .help{
  padding:20px;background:#fff;border:1px solid var(--rule-soft);
  font-family:var(--f-mono);font-size:12px;line-height:1.6;letter-spacing:0.02em;color:var(--ink);
  max-width:340px;
}
.faq-left .help b{font-family:var(--f-display);font-weight:800;font-size:14px;display:block;margin-bottom:6px;letter-spacing:-0.01em}
.faq-left .help a{color:var(--blue);text-decoration:underline}

.faq{background:#fff;border:1px solid var(--rule-soft)}
.qa{border-bottom:1px solid var(--rule-soft)}
.qa:last-child{border-bottom:0}
.qa summary{
  list-style:none;cursor:pointer;
  padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-family:var(--f-display);font-weight:700;font-size:19px;letter-spacing:-0.01em;color:var(--black);
}
.qa summary::-webkit-details-marker{display:none}
.qa summary .qmark{font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:0.1em;margin-right:16px;display:inline-block;min-width:24px;font-weight:500}
.qa summary .qtext{flex:1}
.qa summary .qicon{width:32px;height:32px;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;transition:transform .2s, background .15s;font-family:var(--f-display);font-weight:700}
.qa[open] summary .qicon{transform:rotate(45deg);background:var(--yellow);color:var(--black)}
.qa .answer{padding:0 28px 26px 76px;font-family:var(--f-body);font-size:16px;line-height:1.6;color:#2A2A28;max-width:720px}
.qa .answer b{color:var(--black);font-weight:600}
.qa summary:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.qa summary:hover{background:#FAFAF8}

@media (max-width:900px){
  .faq-sec{padding:80px 0}
  .faq-grid{grid-template-columns:1fr;gap:32px}
  .qa summary{padding:22px;font-size:17px;gap:14px}
  .qa summary .qmark{margin-right:8px;min-width:0}
  .qa .answer{padding:0 22px 22px 22px}
}
