/* ═══ FAQ ═══════════════════════════════════════════════════ */
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start}
.faq-list{display:flex;flex-direction:column;gap:12px}
details.q{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2px 24px;
  box-shadow:var(--sh-s);transition:border-color .3s,box-shadow .3s}
details.q[open]{border-color:var(--ivory-3);box-shadow:var(--sh-m)}
details.q summary{list-style:none;cursor:pointer;padding:19px 0;display:flex;align-items:center;
  justify-content:space-between;gap:18px;font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--navy-deep)}
details.q summary::-webkit-details-marker{display:none}
.sign{width:28px;height:28px;border-radius:999px;flex:none;display:grid;place-items:center;
  background:var(--ivory-2);color:var(--steel);font-weight:600;
  box-shadow:inset 0 1px 3px rgba(27,58,92,.12),inset 0 0 0 1px rgba(255,255,255,.7);
  transition:transform .35s var(--ease),background .3s,color .3s}
details.q[open] .sign{transform:rotate(45deg);background:var(--gold-pale);color:var(--gold-deep)}
details.q .a{padding:0 0 20px;color:var(--text-2);font-size:14.5px;max-width:66ch}
.faq-grid > .reveal > .shd{font-size:calc(clamp(28px,3.3vw,40px) * var(--h-scale,1));margin:20px 0 16px}
.faq-grid .lede{font-size:16px}
