/* Seção de dúvidas frequentes FTM Nobreak */
#faq { scroll-margin-top: 105px; }
.faq-section { padding: 106px 0 96px; background: radial-gradient(circle at 8% 12%, rgba(41,200,242,.12), transparent 25%), #eef3f5; color: #07121a; }
.faq-layout { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); align-items: start; gap: clamp(42px, 6vw, 100px); }
.faq-intro { position: sticky; top: 125px; padding-top: 20px; }
.faq-intro .section-kicker { color: #087fa1; }
.faq-intro h2 { max-width: 470px; font-size: clamp(39px, 4.5vw, 58px); line-height: 1.08; letter-spacing: -.055em; }
.faq-intro h2 em { color: #087fa1; font-style: normal; }
.faq-intro > p { max-width: 445px; margin: 25px 0; color: #526371; font-size: 16px; line-height: 1.75; }
.faq-proof { display: flex; flex-wrap: wrap; gap: 9px; max-width: 390px; margin-bottom: 28px; }
.faq-proof span { padding: 8px 11px; border: 1px solid #d5e1e6; border-radius: 999px; background: rgba(255,255,255,.7); color: #314852; font-size: 11px; font-weight: 700; }
.faq-intro-cta { background: #07121a; color: #fff; box-shadow: 0 12px 26px rgba(4,17,31,.14); }
.faq-intro-cta:hover { background: #0d3041; }
.faq-groups { display: grid; gap: 29px; }
.faq-group { min-width: 0; }
.faq-group h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: #087fa1; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.faq-group h3::before { content: ''; width: 25px; height: 2px; background: #29c8f2; }
.faq-group details { overflow: hidden; margin-bottom: 9px; border: 1px solid #dae4e9; border-radius: 13px; background: #fff; box-shadow: 0 7px 22px rgba(5,23,32,.035); transition: border-color .2s, box-shadow .2s; }
.faq-group details[open] { border-color: #79cee7; box-shadow: 0 12px 30px rgba(5,42,60,.09); }
.faq-group summary { display: grid; grid-template-columns: 29px 1fr 33px; align-items: center; gap: 14px; min-height: 76px; padding: 17px 18px; color: #10202a; cursor: pointer; list-style: none; font-size: 16px; font-weight: 700; line-height: 1.45; }
.faq-group summary::-webkit-details-marker { display: none; }
.faq-group summary:hover, .faq-group details[open] summary { color: #087fa1; }
.faq-group summary:focus-visible { outline: 2px solid #087fa1; outline-offset: -4px; border-radius: 12px; }
.faq-number { align-self: start; padding-top: 3px; color: #058fb8; font: 800 11px 'Manrope', sans-serif; }
.faq-toggle { display: grid; place-items: center; position: relative; width: 32px; height: 32px; border-radius: 9px; background: #e8f8fc; }
.faq-toggle::before, .faq-toggle::after { content: ''; position: absolute; width: 12px; height: 2px; background: #078bb4; border-radius: 1px; }
.faq-toggle::after { transform: rotate(90deg); transition: transform .2s; }
.faq-group details[open] .faq-toggle::after { transform: rotate(0); }
.faq-answer { padding: 0 63px 20px 61px; }
.faq-answer p { margin: 0; color: #4b5f6b; font-size: 16px; line-height: 1.7; }
.faq-bottom { display: flex; justify-content: space-between; align-items: center; gap: 36px; margin-top: 67px; padding: 32px 36px; border-radius: 18px; color: #fff; background: radial-gradient(circle at 90% 20%, rgba(41,200,242,.16), transparent 45%), #081a25; box-shadow: 0 20px 45px rgba(4,20,30,.12); }
.faq-bottom-label { display: block; margin-bottom: 8px; color: #29c8f2; font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.faq-bottom h3 { font-size: clamp(19px, 2vw, 24px); letter-spacing: -.03em; }
.faq-bottom p { margin: 8px 0 0; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.6; }
.faq-bottom .button { flex: 0 0 auto; }


@media (max-width: 900px) { .faq-layout { grid-template-columns: 1fr; gap: 42px; } .faq-intro { position: static; padding: 0; } .faq-intro h2 { max-width: 680px; } .faq-intro > p { max-width: 700px; } }
@media (max-width: 720px) { .faq-section { padding: 76px 0; } .faq-intro h2 { font-size: clamp(36px, 9vw, 47px); } .faq-groups { gap: 22px; } .faq-group summary { min-height: 70px; grid-template-columns: 22px 1fr 30px; gap: 9px; padding: 14px 12px; font-size: 15px; } .faq-answer { padding: 0 44px 18px 43px; } .faq-bottom { display: grid; margin-top: 43px; padding: 26px 22px; } .faq-bottom .button { width: 100%; } }
