.solution-faq h2 { font-size:var(--step-section); line-height:1.1; letter-spacing:-.035em; }
.solution-faq { padding-block: var(--section); }
.solution-faq__inner { display: grid; grid-template-columns: 1fr 3fr; gap: clamp(32px,5vw,72px); }
.solution-faq details { border-bottom: 1px solid var(--rule); }
.solution-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; padding-block: 24px; color: var(--ink); font-size: var(--step-intro); font-weight: 800; line-height: 1.45; }
.solution-faq summary::-webkit-details-marker { display: none; }
.solution-faq summary span { position: relative; width: 16px; height: 16px; flex: none; }
.solution-faq summary span::before,.solution-faq summary span::after { content: ''; position: absolute; inset: 7px 0 auto; height: 1.5px; background: currentColor; }
.solution-faq summary span::after { transform: rotate(90deg); }
.solution-faq details[open] summary span::after { transform: rotate(0); }
.solution-faq details p { max-width: 72ch; padding-bottom: 28px; line-height: 1.7; font-size: var(--step-intro); }
.solution-faq summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }

@media(max-width:760px){ .solution-faq__inner { grid-template-columns:1fr; } }
