/* GV Máquinas — perguntas frequentes (home e página dedicada) */
.s-faq { background: var(--ink-deep, #21252C); color: #fff; padding-block: clamp(64px, 9vw, 120px); }
.s-faq .faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 6vw, 96px); align-items: start; }
.s-faq h2 { font: 700 clamp(2rem, 4.4vw, 3.4rem)/1.04 var(--font-title); letter-spacing: var(--track-title); margin: 0 0 1rem; color: #fff; text-wrap: balance; }
.s-faq .faq-intro p { color: var(--on-dark, #D5DAE0); max-width: 40ch; }
.s-faq .faq-intro .btn { margin-top: 1rem; }
.faq-list details { border-bottom: 1px solid rgba(255,255,255,.22); }
.faq-list details:first-child { border-top: 2px solid rgba(255,255,255,.55); }
.faq-list summary, .faq-page summary { font: 700 1.15rem/1.3 var(--font-title); letter-spacing: var(--track-title); padding: 20px 48px 20px 0; cursor: pointer; list-style: none; position: relative; }
.faq-list summary { color: #fff; }
.faq-list summary::-webkit-details-marker, .faq-page summary::-webkit-details-marker { display: none; }
.faq-list summary::after, .faq-page summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font-size: 2rem; font-weight: 400; line-height: 1; color: #8DB8D8; transition: transform .35s var(--ease, ease); }
.faq-list details[open] summary::after, .faq-page details[open] summary::after { transform: rotate(45deg); }
.faq-list details p { color: var(--on-dark, #D5DAE0); max-width: 66ch; padding-bottom: 14px; margin: 0; }
.faq-list summary:focus-visible, .faq-page summary:focus-visible { outline: 3px solid #8DB8D8; outline-offset: 2px; }

.faq-page { max-width: 880px; }
.faq-grupo { margin-bottom: clamp(36px, 5vw, 64px); }
.faq-grupo h2 { font: 700 clamp(1.5rem, 2.6vw, 2rem)/1.15 var(--font-title); letter-spacing: var(--track-title); margin: 0 0 .6rem; color: var(--ink, #292E35); }
.faq-page details { border-bottom: 1px solid rgba(41,46,53,.2); }
.faq-page details:first-of-type { border-top: 2px solid var(--ink, #292E35); }
.faq-page summary { color: var(--ink, #292E35); }
.faq-page summary::after { color: #417EA9; }
.faq-page details p { color: #3A414A; max-width: 66ch; padding-bottom: 14px; margin: 0; }
@media (max-width: 900px) { .s-faq .faq-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .faq-list summary::after, .faq-page summary::after { transition: none; } }
