/* Public FAQ: native disclosure controls and text available without the app runtime. */
#dc-root, #dc-root > .sc-host { height: auto !important; }
.nm-faq { background: #FFFDF9; color: #123C34; border-top: 1px solid #EFE0C4; font-family: Figtree, "Helvetica Neue", Arial, sans-serif; }
.nm-faq *, .nm-faq *::before, .nm-faq *::after { box-sizing: border-box; }
.nm-faq__layout { max-width: 1180px; margin: 0 auto; padding: 88px 32px 80px; display: grid; grid-template-columns: minmax(240px, .78fr) minmax(0, 1.55fr); gap: 72px; align-items: start; }
.nm-faq__intro { position: sticky; top: 100px; }
.nm-faq__kicker { margin: 0 0 16px; font: 500 12px/1.5 "IBM Plex Mono", monospace; letter-spacing: .14em; text-transform: uppercase; color: #46604D; }
.nm-faq h2 { margin: 0 0 18px; font-size: clamp(30px, 3.3vw, 40px); font-weight: 800; line-height: 1.1; letter-spacing: -.035em; text-wrap: pretty; }
.nm-faq__intro > p:not(.nm-faq__kicker) { margin: 0; color: #46604D; font-size: 16px; line-height: 1.6; }
.nm-faq__topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.nm-faq__topics a { padding: 9px 13px; border: 1px solid #D6E4DC; border-radius: 100px; color: #123C34; font-size: 13px; line-height: 1.4; font-weight: 600; text-decoration: none; }
.nm-faq__topics a:hover, .nm-faq__topics a:focus-visible { background: #E8F1D8; border-color: #1D6B5F; }
.nm-faq__group { margin: 0 0 32px; scroll-margin-top: 96px; }
.nm-faq__group h3 { margin: 0 0 12px; color: #46604D; font-size: 14px; line-height: 1.5; font-weight: 600; letter-spacing: .02em; }
.nm-faq details { margin-top: 10px; border: 1px solid #E7D6B0; border-radius: 16px; background: #FFFFFF; scroll-margin-top: 96px; }
.nm-faq details[open] { border-color: #1D6B5F; }
.nm-faq summary { display: flex; align-items: center; gap: 18px; min-height: 68px; padding: 19px 20px; list-style: none; cursor: pointer; color: #123C34; font-size: 16px; line-height: 1.45; font-weight: 700; text-align: left; }
.nm-faq summary::-webkit-details-marker { display: none; }
.nm-faq summary::after { content: ""; flex: 0 0 28px; width: 28px; height: 28px; margin-left: auto; border-radius: 50%; background-color: #FDF2DC; background-image: linear-gradient(#123C34, #123C34), linear-gradient(#123C34, #123C34); background-size: 12px 2px, 2px 12px; background-position: center; background-repeat: no-repeat; }
.nm-faq details[open] summary::after { background-color: #E8F1D8; background-image: linear-gradient(#123C34, #123C34); background-size: 12px 2px; }
.nm-faq summary:hover { color: #1D6B5F; }
.nm-faq a:focus-visible, .nm-faq summary:focus-visible { outline: 3px solid #1D6B5F; outline-offset: 4px; border-radius: 12px; }
.nm-faq__answer { padding: 0 20px 22px; color: #46604D; font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.nm-faq__answer p { margin: 0 0 12px; }
.nm-faq__answer p:last-of-type { margin-bottom: 0; }
.nm-faq__answer a, .nm-faq__contact a { color: #1D6B5F; text-decoration: underline; text-underline-offset: 3px; }
.nm-faq__answer .nm-faq__permalink { display: inline-block; margin-top: 16px; color: #46604D; font-size: 12px; }
.nm-faq__contact { margin: 8px 0 0; padding-top: 24px; border-top: 1px solid #EFE0C4; color: #46604D; font-size: 15px; line-height: 1.65; }
.nm-faq__updated { display: block; margin-top: 10px; font-size: 12px; }
#perguntas-frequentes { scroll-margin-top: 78px; }
@media (max-width: 760px) {
  .nm-faq__layout { grid-template-columns: minmax(0, 1fr); gap: 30px; padding: 52px 20px; }
  .nm-faq__intro { position: static; }
  .nm-faq h2 { max-width: 420px; }
  .nm-faq summary { padding: 17px 16px; gap: 12px; font-size: 15px; }
  .nm-faq__answer { padding: 0 16px 20px; }
}
@media print {
  .nm-faq__intro { position: static; }
  .nm-faq__layout { display: block; padding: 24px 0; }
  .nm-faq__topics, .nm-faq__permalink { display: none !important; }
}
