/* FAQ Article */

.faq-article { font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; background: #0A0A0A; color: var(--foreground); overflow: hidden; max-width: 800px; font-size: 20px; }

.faq-article strong { color: var(--brand); }
/* FAQ Headings */
.faq-article h1 { color: var(--foreground); font-size: 32px; margin: 0 0 16px; }
.faq-article h2,.faq-article h3,.faq-article h4,.faq-article h5,.faq-article h6 { color:var(--foreground); font-family:var(--font-rajdhani),Helvetica,Arial,sans-serif; font-weight:700; line-height:1.2; letter-spacing:var(--tracking-tight,-0.011em); }
.faq-article h2 { font-size:28px; font-weight:700; color:var(--foreground); margin:28px 0 12px; padding-bottom:6px; border-bottom:2px solid var(--brand); }
.faq-article h3 { font-size:25px; font-weight:700; font-style:italic; color:var(--foreground); margin:24px 0 10px; }
.faq-article h4 { font-size:23px; font-weight:700; color:var(--foreground); margin:20px 0 8px; }
.faq-article h5 { font-size:21px; margin:18px 0 8px; }
.faq-article h6 { font-size:20px; color:var(--foreground); margin:16px 0 6px; text-transform:uppercase; letter-spacing:.02em; }

.faq-article p { color: var(--text-muted); }
.faq-article ol { color: var(--text-muted); margin: 0; padding-left: 1.25rem; font-size: 20px; }
.faq-article li { margin: 0.35em 0; }
.faq-article a { color: var(--brand); font-size: 20px; text-decoration: underline; text-underline-offset: 2px; transition: color var(--transition-default); }
.faq-article a:hover { color: var(--foreground); }
.faq-article a:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.faq-article button { display: inline-flex; height: 54px; min-width: 220px; width: auto; padding: 0 1.5rem; flex-shrink: 0; align-items: center; justify-content: center; border: 0; border-radius: 9999px; background: #F66C33; color: #000; font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 600; line-height: 1; cursor: pointer; text-decoration: none; transition: background-color var(--transition-default); }
.faq-article button:hover { background: #e55d26; }
.faq-article button:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }

/* FAQ Banner */

.faq-banner { display: flex; gap: 14px; background: var(--surface); padding: 10px 14px; border-left: 4px solid var(--brand); margin: 12px 22px 0; }
.faq-banner__icon { flex: none; color: var(--brand); line-height: 1; padding-top: 2px; }
.faq-banner__body { min-width: 0; }
.faq-banner strong { display: block; margin-bottom: 6px; color: var(--foreground); font-size: 24px; }
.faq-banner p { margin: 0; color: var(--text-muted); font-size: 20px; }
.faq-banner__body > :last-child { margin-bottom: 0; }

/* FAQ Tabs */

.faq-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px 22px 0; }
.faq-tab { background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 8px 14px; cursor: pointer; color: var(--foreground); font-family: var(--font-rajdhani), sans-serif; font-size: 24px; transition: border-color var(--transition-default), background var(--transition-default); }
.faq-tab:hover { border-color: var(--brand); }
.faq-tab.is-active { border-color: var(--brand); background: #2a1a10; color: var(--brand); }

.faq-subpanel { display: none; padding: 20px 22px 22px; }
.faq-subpanel.is-active { display: block; }

/* FAQ Table */

.faq-article table { width: 100%; border-collapse: collapse; margin: 14px 0; font-family: var(--font-rajdhani), sans-serif; font-size: 20px; border: 2px solid var(--brand); border-radius: 6px; overflow: hidden; }
.faq-article caption { caption-side: top; text-align: left; color: var(--foreground); font-weight: 700; margin-bottom: 8px; font-size: 24px; }
.faq-article thead th { background: var(--brand); color: #0A0A0A; text-align: left; padding: 10px 14px; font-weight: 700; letter-spacing: var(--tracking-tight, -0.011em); font-size: 24px; }
.faq-article thead th:not(:last-child) { border-right: 1px solid rgba(10, 10, 10, 0.3); }
.faq-article tbody td { padding: 10px 14px; border: 1px solid var(--border); color: var(--text-muted); vertical-align: top; font-size: 20px; }
.faq-article tbody td:first-child { font-weight: 700; color: var(--brand); background: #141313; width: 30%; }
.faq-article tbody tr:hover td { color: var(--foreground); }
.faq-article tbody tr:hover td:first-child { background: #2a1a10; }

/* FAQ Squared List */

ul.faq-squares { list-style: none; color: var(--text-muted); margin: 14px 0; padding-left: 0; font-size: 20px; }
ul.faq-squares li { display: flex; align-items: flex-start; gap: 10px; margin: 0.5em 0; }
ul.faq-squares .faq-square-marker { flex: 0 0 12px; width: 12px; height: 12px; margin-top: 0.35em; background: var(--brand); border-radius: 4px; display: inline-block; }

/* FAQ Dropdown */

.faq-dropdown { margin: 14px 0; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); overflow: hidden; }
.faq-dropdown summary { cursor: pointer; padding: 12px 16px; font-size: 24px; font-weight: 700; color: var(--foreground); list-style: none; background: #141313; display: flex; align-items: center; justify-content: space-between; transition: background var(--transition-default); }
.faq-dropdown summary::-webkit-details-marker { display: none; }
.faq-dropdown summary:hover { background: #2a1a10; }
.faq-dropdown .faq-dropdown__chev { width: 14px; height: 14px; color: var(--brand); transition: transform var(--transition-default); flex-shrink: 0; }
.faq-dropdown[open] .faq-dropdown__chev { transform: rotate(180deg); }
.faq-dropdown__body { padding: 14px 18px; color: var(--text-muted); font-size: 20px; line-height: 1.55; background: #1c1410; }
.faq-dropdown__body p { margin: 0 0 8px; }
.faq-dropdown__body p:last-child { margin-bottom: 0; }
.faq-dropdown__body strong { color: var(--foreground); }

/* FAQ Accordion */

.faq-accordion { display: flex; flex-direction: column; gap: 12px; }
.faq-accordion__item { position: relative; border: 1px solid var(--border); }
.faq-accordion__trigger { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 16px 24px; background: #141313; border: 0; text-align: left; cursor: pointer; font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 700; font-size: 21px; line-height: 1.2; letter-spacing: var(--tracking-tight, -0.011em); color: var(--foreground); transition: color var(--transition-default); }
@media (min-width: 768px) { .faq-accordion__trigger { font-size: 25px; } }
.faq-accordion__chev { flex: none; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .14); color: var(--foreground); transition: transform var(--transition-default), background-color var(--transition-default); }
.faq-accordion__trigger:hover .faq-accordion__chev { background: rgba(255, 255, 255, .28); }
.faq-accordion__trigger[aria-expanded="true"] .faq-accordion__chev { transform: rotate(180deg); }
.faq-accordion__panel { display: none; background: var(--surface); padding: 16px 24px; border-top: 1px solid var(--border); }
.faq-accordion__item.is-open > .faq-accordion__panel { display: block; }
.faq-accordion__panel p { font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 400; font-size: 17px; line-height: 1.55; color: var(--text-muted); margin: 0 0 12px; }
.faq-accordion__panel p:last-child { margin-bottom: 0; }
.faq-accordion__panel a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }

/* FAQ Steps */

.faq-steps { display: flex; flex-direction: column; gap: 16px; margin: 16px 0 24px; }
.faq-step { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 16px; align-items: start; }
.faq-step__badge { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--brand); color: var(--brand); background: rgba(253, 97, 32, .1); font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 800; font-size: 19px; line-height: 1; }
.faq-step__action { font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 700; font-size: 18px; color: var(--foreground); margin: 0 0 4px; line-height: 1.2; }
.faq-step__desc { font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 400; font-size: 20px; color: var(--text-muted); line-height: 1.55; margin: 0; }

/* FAQ Diagnose */

.faq-diag-steps { display: flex; flex-direction: column; gap: 12px; }
.faq-diag-step { position: relative; background: #141313; border: 1px solid var(--border); padding: 16px 24px; }
.faq-diag-step__index { font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; color: var(--brand); margin: 0 0 4px; }
.faq-diag-step__title { font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 800; font-size: 21px; line-height: 1.2; letter-spacing: var(--tracking-tight, -0.011em); color: var(--foreground); margin: 0 0 8px; }
@media (min-width: 768px) { .faq-diag-step__title { font-size: 24px; } }
.faq-diag-step__desc { font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 400; font-size: 17px; line-height: 1.55; color: var(--text-muted); margin: 0; }
.faq-diag-ask { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 600; font-size: 20px; color: var(--text-muted); }
.faq-diag-ask__label { margin-right: 8px; }
.faq-diag-answer { min-width: 84px; padding: 0.35em 1.2em; border: 1px solid var(--border); background: transparent; color: var(--foreground); font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 700; font-size: 19px; letter-spacing: var(--tracking-tight, -0.011em); border-radius: 9999px; cursor: pointer; transition: background-color var(--transition-default), border-color var(--transition-default), color var(--transition-default); }
.faq-diag-answer:hover { border-color: var(--brand); color: var(--brand); }
.faq-diag-answer[aria-pressed="true"] { background: var(--brand); border-color: var(--brand); color: #0A0A0A; }
.faq-diag-step.is-answered .faq-diag-answer:not([aria-pressed="true"]) { opacity: 1; color: var(--text-muted); border-color: var(--border); }
.faq-diag-step.is-answered .faq-diag-answer { pointer-events: none; }
.faq-diag-outcome { display: flex; gap: 16px; padding: 16px 24px; border-left: 3px solid var(--brand); background: var(--surface); font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 600; font-size: 17px; line-height: 1.55; color: var(--foreground); margin-top: 4px; }
.faq-diag-outcome__icon { flex: none; line-height: 1; padding-top: 3px; color: var(--brand); }
.faq-diag-outcome__body { min-width: 0; }
.faq-diag-outcome__body p { margin: 0 0 12px; }
.faq-diag-outcome__body p:last-child { margin-bottom: 0; }
.faq-diag-outcome__lead { color: var(--brand); font-weight: 700; }
.faq-diag-reset { align-self: flex-start; background: none; border: 0; padding: 0; font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 700; font-size: 16px; letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); cursor: pointer; transition: color var(--transition-default); }
.faq-diag-reset:hover { color: var(--brand); }
.faq-diag-progress { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }

/* FAQ Buttons & Links */

.faq-article .faq-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 700; font-size: 22px; line-height: 1; letter-spacing: .01em; text-decoration: none; border-radius: 9999px; border: 2px solid transparent; padding: 0.8em 2.2em; cursor: pointer; transition: background-color var(--transition-default), border-color var(--transition-default), color var(--transition-default); }
.faq-article .faq-btn--sm { font-size: 19px; padding: 0.7em 1.7em; }
.faq-article .faq-btn--xs { font-size: 16px; padding: 0.6em 1.4em; }
.faq-article .faq-btn--primary { background: var(--brand); color: #0A0A0A; }
.faq-article .faq-btn--primary:hover { background: #e55d26; }
.faq-article .faq-btn--ghost { background: transparent; color: var(--foreground); border-color: rgba(255, 255, 255, 0.55); }
.faq-article .faq-btn--ghost:hover { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.4); }
.faq-article .faq-btn--light { background: var(--foreground); color: #0A0A0A; }
.faq-article .faq-btn--light:hover { background: #e2e2e2; }
.faq-article .faq-btn--cancel { background: var(--border); color: #0A0A0A; }
.faq-article .faq-btn--cancel:hover { background: #b4b4b4; }
.faq-link-accent { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-rajdhani), Helvetica, Arial, sans-serif; font-weight: 700; font-size: 16px; letter-spacing: .01em; text-decoration: none; color: var(--text-muted); transition: color var(--transition-default); }
.faq-link-accent .faq-arrow { display: inline-block; transition: transform var(--transition-default); }
.faq-link-accent:hover, .faq-link-accent:focus-visible { color: var(--brand); }
.faq-link-accent:hover .faq-arrow, .faq-link-accent:focus-visible .faq-arrow { transform: translateX(4px); }