.suagfaq,
.suagfaq * { box-sizing: border-box; }
.suagfaq {
    width: 100%;
    overflow: hidden;
    background: #fbfbff;
    color: #07143f;
    font-family: Inter, Arial, sans-serif;
    padding: 36px 20px;
}
.suagfaq__inner {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
}
.suagfaq__header {
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    align-items: center;
    gap: 24px;
    margin-bottom: 20px;
}
.suagfaq__header.no-visual { grid-template-columns: 1fr; }
.suagfaq__intro { min-width: 0; }
.suagfaq__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 14px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: #7444ef;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}
.suagfaq__eyebrow-icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.suagfaq__eyebrow-icon svg,
.suagfaq__eyebrow-icon i { width: 1em; height: 1em; color: inherit; fill: currentColor; }
.suagfaq__heading {
    margin: 0;
    max-width: 560px;
    color: #07143f;
    font-family: Manrope, Inter, Arial, sans-serif;
    font-size: clamp(40px, 4.5vw, 64px);
    line-height: 1.03;
    letter-spacing: -.035em;
    font-weight: 800;
}
.suagfaq__heading > span { display: block; }
.suagfaq__highlight {
    --suagfaq-highlight-start: #7a42ef;
    --suagfaq-highlight-end: #2b65ef;
    background: linear-gradient(90deg, var(--suagfaq-highlight-start), var(--suagfaq-highlight-end));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.suagfaq__description {
    max-width: 520px;
    margin-top: 15px;
    color: #415174;
    font-size: 17px;
    line-height: 1.62;
}
.suagfaq__heading-line {
    display: block;
    width: 54px;
    height: 3px;
    margin-top: 16px;
    border-radius: 999px;
    background: linear-gradient(90deg, #7349ef, #2d64ee);
}
.suagfaq__visual {
    min-width: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.suagfaq__visual img {
    display: block;
    width: 100%;
    max-width: 760px;
    height: auto;
    object-fit: contain;
}

.suagfaq__faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}
.suagfaq__column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.suagfaq__item {
    --suagfaq-accent: #8b46ef;
    --suagfaq-icon-bg: #f3ecff;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e3e8f8;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(36, 62, 140, .055);
}
.suagfaq__item.is-open { border-left: 5px solid var(--suagfaq-accent); }
.suagfaq__faq-button {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 58px 1px 58px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border: 0;
    margin: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    white-space: normal !important;
}
.suagfaq__number {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #f7f4ff;
    color: var(--suagfaq-accent);
    font-size: 19px;
    font-weight: 800;
    line-height: 1;
}
.suagfaq__divider {
    width: 1px;
    height: 44px;
    background: #dfe5f4;
}
.suagfaq__icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 16px;
    color: var(--suagfaq-accent);
    background: var(--suagfaq-icon-bg);
    font-size: 26px;
}
.suagfaq__icon i { color: inherit !important; font-size: 1em !important; line-height: 1; }
.suagfaq__icon svg { width: 1em !important; height: 1em !important; color: inherit !important; fill: currentColor !important; }
.suagfaq__question {
    min-width: 0;
    color: #07143f;
    font-family: Manrope, Inter, Arial, sans-serif;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.28;
    overflow-wrap: anywhere;
    word-break: normal;
    white-space: normal !important;
}
.suagfaq__toggle {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    border: 2px solid var(--suagfaq-accent);
    border-radius: 50%;
    background: #fff;
    color: var(--suagfaq-accent);
    font-size: 23px;
    font-weight: 500;
    line-height: 1;
}
.suagfaq__minus { display: none; }
.suagfaq__item.is-open .suagfaq__toggle { background: var(--suagfaq-accent); color: #fff; }
.suagfaq__item.is-open .suagfaq__plus { display: none; }
.suagfaq__item.is-open .suagfaq__minus { display: inline; }
.suagfaq__answer-wrap[hidden] { display: none !important; }
.suagfaq__answer {
    padding: 0 55px 15px 185px;
    color: #415174;
    font-size: 14px;
    line-height: 1.55;
}
.suagfaq__answer p { margin: 0 0 8px; }
.suagfaq__answer p:last-child { margin-bottom: 0; }

.suagfaq__cta {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    margin-top: 18px;
    padding: 16px 24px;
    overflow: hidden;
    border: 1px solid #dce6fa;
    border-radius: 16px;
    background: #f1f6ff;
}
.suagfaq__cta-visual { align-self: stretch; min-height: 104px; }
.suagfaq__cta-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 14px;
}
.suagfaq__cta-copy h3 {
    margin: 0 0 6px;
    color: #07143f;
    font-family: Manrope, Inter, Arial, sans-serif;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
}
.suagfaq__cta-copy p { margin: 0; color: #415174; font-size: 15px; line-height: 1.5; }
.suagfaq__cta-buttons { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.suagfaq__button {
    min-height: 54px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 2px solid #6546ee;
    border-radius: 10px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    transition: transform .2s ease, box-shadow .2s ease;
}
.suagfaq__button:hover { transform: translateY(-2px); }
.suagfaq__button--primary { color: #fff; background: linear-gradient(90deg, #2359f1, #7542ef); box-shadow: 0 10px 24px rgba(89,67,235,.20); }
.suagfaq__button--secondary { color: #3f46d7; background: #fff; }
.suagfaq__button-icon { display: inline-flex; align-items: center; justify-content: center; font-size: 18px; }
.suagfaq__button-icon svg { width: 1em; height: 1em; fill: currentColor; }

@media (max-width: 1100px) {
    .suagfaq__header { grid-template-columns: minmax(0, 45%) minmax(0, 55%); }
    .suagfaq__heading { font-size: clamp(36px, 5vw, 52px); }
    .suagfaq__faq-button { grid-template-columns: 50px 1px 50px minmax(0, 1fr) 32px; gap: 10px; }
    .suagfaq__number, .suagfaq__icon { width: 50px; height: 50px; }
    .suagfaq__answer { padding-left: 161px; }
    .suagfaq__cta { grid-template-columns: 140px minmax(0, 1fr); }
    .suagfaq__cta-buttons { grid-column: 2; justify-content: flex-start; }
}

@media (max-width: 900px) {
    .suagfaq { padding-left: 16px !important; padding-right: 16px !important; }
    .suagfaq__header { grid-template-columns: 1fr !important; gap: 18px !important; }
    .suagfaq__intro { text-align: center; }
    .suagfaq__heading, .suagfaq__description { margin-left: auto; margin-right: auto; }
    .suagfaq__heading-line { margin-left: auto; margin-right: auto; }
    .suagfaq__visual { justify-content: center; }
    .suagfaq__visual img { max-width: 720px; }
    .suagfaq__faq-grid { grid-template-columns: 1fr; }
    .suagfaq__cta { grid-template-columns: 120px minmax(0, 1fr); gap: 18px; }
}

@media (max-width: 640px) {
    .suagfaq { padding-top: 26px !important; padding-bottom: 26px !important; }
    .suagfaq__heading { font-size: clamp(32px, 10vw, 42px); }
    .suagfaq__description { font-size: 15px; }
    .suagfaq__faq-button {
        grid-template-columns: 45px 45px minmax(0, 1fr) 30px;
        gap: 9px;
        padding: 10px 11px !important;
    }
    .suagfaq__divider { display: none; }
    .suagfaq__number, .suagfaq__icon { width: 45px !important; height: 45px !important; }
    .suagfaq__icon { font-size: 21px !important; border-radius: 13px; }
    .suagfaq__question { font-size: 15px; }
    .suagfaq__answer { padding: 0 18px 14px 110px; font-size: 13.5px; }
    .suagfaq__cta { grid-template-columns: 1fr; text-align: center; padding: 14px !important; }
    .suagfaq__cta-visual { min-height: 150px; max-width: 260px; width: 100%; margin: 0 auto; }
    .suagfaq__cta-buttons { grid-column: auto; flex-direction: column; width: 100%; }
    .suagfaq__button { width: 100%; }
}

@media (max-width: 420px) {
    .suagfaq__faq-button { grid-template-columns: 38px minmax(0, 1fr) 28px; }
    .suagfaq__icon { display: none; }
    .suagfaq__number { width: 38px !important; height: 38px !important; font-size: 14px; }
    .suagfaq__answer { padding-left: 58px; }
}

/* Theme-proof FAQ row layout fix — 2026.29.64 */
.suagfaq .suagfaq__item {
    background: #ffffff;
}

.suagfaq .suagfaq__faq-button,
.suagfaq .suagfaq__faq-button:hover,
.suagfaq .suagfaq__faq-button:focus,
.suagfaq .suagfaq__faq-button:active {
    display: grid !important;
    grid-template-columns: 58px 1px 58px minmax(0, 1fr) 34px !important;
    align-items: center !important;
    justify-content: initial !important;
    justify-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 11px 14px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: inherit !important;
    text-align: left !important;
    white-space: normal !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    transform: none !important;
}

.suagfaq .suagfaq__number,
.suagfaq .suagfaq__icon,
.suagfaq .suagfaq__toggle {
    flex: none !important;
    margin: 0 !important;
}

.suagfaq .suagfaq__number {
    width: 58px !important;
    height: 58px !important;
    justify-self: start !important;
    text-align: center !important;
}

.suagfaq .suagfaq__divider {
    display: block !important;
    width: 1px !important;
    height: 44px !important;
    justify-self: center !important;
}

.suagfaq .suagfaq__icon {
    width: 58px !important;
    height: 58px !important;
    justify-self: start !important;
}

.suagfaq .suagfaq__question {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #07143f;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
}

.suagfaq .suagfaq__toggle {
    position: static !important;
    width: 30px !important;
    height: 30px !important;
    justify-self: end !important;
    align-self: center !important;
    padding: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
}

.suagfaq .suagfaq__answer-wrap {
    background: transparent !important;
}

.suagfaq .suagfaq__answer {
    text-align: left !important;
}

@media (max-width: 1100px) {
    .suagfaq .suagfaq__faq-button,
    .suagfaq .suagfaq__faq-button:hover,
    .suagfaq .suagfaq__faq-button:focus,
    .suagfaq .suagfaq__faq-button:active {
        grid-template-columns: 50px 1px 50px minmax(0, 1fr) 32px !important;
        gap: 10px !important;
    }
    .suagfaq .suagfaq__number,
    .suagfaq .suagfaq__icon {
        width: 50px !important;
        height: 50px !important;
    }
}

@media (max-width: 640px) {
    .suagfaq .suagfaq__faq-button,
    .suagfaq .suagfaq__faq-button:hover,
    .suagfaq .suagfaq__faq-button:focus,
    .suagfaq .suagfaq__faq-button:active {
        grid-template-columns: 44px 44px minmax(0, 1fr) 30px !important;
        gap: 9px !important;
        padding: 10px 11px !important;
    }
    .suagfaq .suagfaq__divider { display: none !important; }
    .suagfaq .suagfaq__number,
    .suagfaq .suagfaq__icon {
        width: 44px !important;
        height: 44px !important;
    }
    .suagfaq .suagfaq__question {
        font-size: 15px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 420px) {
    .suagfaq .suagfaq__faq-button,
    .suagfaq .suagfaq__faq-button:hover,
    .suagfaq .suagfaq__faq-button:focus,
    .suagfaq .suagfaq__faq-button:active {
        grid-template-columns: 38px minmax(0, 1fr) 28px !important;
        gap: 9px !important;
    }
    .suagfaq .suagfaq__icon { display: none !important; }
    .suagfaq .suagfaq__number {
        width: 38px !important;
        height: 38px !important;
    }
}


/* Compact + sleek refinement + reliable open toggle visibility — 2026.29.65 */
.suagfaq {
    padding: 28px 18px;
}
.suagfaq__header {
    gap: 18px;
    margin-bottom: 16px;
}
.suagfaq__eyebrow {
    gap: 8px;
    padding: 6px 12px;
    margin-bottom: 12px;
    font-size: 13px;
}
.suagfaq__heading {
    max-width: 540px;
    font-size: clamp(36px, 4.1vw, 58px);
}
.suagfaq__description {
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.55;
}
.suagfaq__heading-line {
    width: 48px;
    margin-top: 14px;
}
.suagfaq__faq-grid {
    gap: 12px;
}
.suagfaq__column {
    gap: 8px;
}
.suagfaq__item {
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(36, 62, 140, .05);
}
.suagfaq__faq-button {
    grid-template-columns: 54px 1px 54px minmax(0, 1fr) 32px;
    gap: 10px;
    padding: 10px 12px;
}
.suagfaq__number,
.suagfaq__icon {
    width: 54px;
    height: 54px;
}
.suagfaq__number {
    border-radius: 12px;
    font-size: 17px;
}
.suagfaq__icon {
    border-radius: 14px;
    font-size: 24px;
}
.suagfaq__question {
    font-size: 16px;
    line-height: 1.26;
}
.suagfaq__toggle {
    position: relative;
    width: 28px;
    height: 28px;
    font-size: 20px;
    font-weight: 700;
    overflow: hidden;
}
.suagfaq__plus,
.suagfaq__minus {
    position: absolute;
    inset: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: inherit !important;
    fill: currentColor !important;
    line-height: 1;
    font-size: 18px;
    font-weight: 700;
    transition: opacity .18s ease, visibility .18s ease;
}
.suagfaq__plus {
    opacity: 1;
    visibility: visible;
}
.suagfaq__minus {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-1px);
}
.suagfaq__item.is-open .suagfaq__toggle {
    background: var(--suagfaq-accent) !important;
    border-color: var(--suagfaq-accent) !important;
    color: #fff !important;
}
.suagfaq__item.is-open .suagfaq__plus {
    opacity: 0;
    visibility: hidden;
}
.suagfaq__item.is-open .suagfaq__minus {
    opacity: 1;
    visibility: visible;
}
.suagfaq__answer {
    padding: 0 46px 14px 172px;
    font-size: 13.5px;
    line-height: 1.52;
}
.suagfaq__cta {
    grid-template-columns: 156px minmax(0, 1fr) auto;
    gap: 18px;
    margin-top: 16px;
    padding: 14px 18px;
    border-radius: 14px;
}
.suagfaq__cta-visual {
    min-height: 96px;
}
.suagfaq__cta-copy h3 {
    margin-bottom: 4px;
    font-size: 21px;
}
.suagfaq__cta-copy p {
    font-size: 14px;
    line-height: 1.45;
}
.suagfaq__cta-buttons {
    gap: 12px;
}
.suagfaq__button {
    min-height: 50px;
    padding: 0 22px;
    border-radius: 10px;
    font-size: 15px;
}

.suagfaq .suagfaq__faq-button,
.suagfaq .suagfaq__faq-button:hover,
.suagfaq .suagfaq__faq-button:focus,
.suagfaq .suagfaq__faq-button:active {
    grid-template-columns: 54px 1px 54px minmax(0, 1fr) 32px !important;
    gap: 10px !important;
    padding: 10px 12px !important;
}
.suagfaq .suagfaq__number,
.suagfaq .suagfaq__icon {
    width: 54px !important;
    height: 54px !important;
}
.suagfaq .suagfaq__divider {
    height: 40px !important;
}
.suagfaq .suagfaq__toggle,
.suagfaq .suagfaq__toggle:hover,
.suagfaq .suagfaq__toggle:focus {
    width: 28px !important;
    height: 28px !important;
    background: #fff !important;
    border-color: var(--suagfaq-accent) !important;
    color: var(--suagfaq-accent) !important;
}
.suagfaq .suagfaq__item.is-open .suagfaq__toggle,
.suagfaq .suagfaq__item.is-open .suagfaq__toggle:hover,
.suagfaq .suagfaq__item.is-open .suagfaq__toggle:focus {
    background: var(--suagfaq-accent) !important;
    border-color: var(--suagfaq-accent) !important;
    color: #fff !important;
}
.suagfaq .suagfaq__item.is-open .suagfaq__plus { opacity: 0 !important; visibility: hidden !important; }
.suagfaq .suagfaq__item.is-open .suagfaq__minus { opacity: 1 !important; visibility: visible !important; }
.suagfaq .suagfaq__plus,
.suagfaq .suagfaq__minus { text-indent: 0 !important; }

@media (max-width: 1100px) {
    .suagfaq { padding: 24px 16px; }
    .suagfaq__faq-button {
        grid-template-columns: 48px 1px 48px minmax(0, 1fr) 30px;
        gap: 9px;
    }
    .suagfaq__number,
    .suagfaq__icon {
        width: 48px;
        height: 48px;
    }
    .suagfaq__number { font-size: 16px; }
    .suagfaq__icon { font-size: 22px; }
    .suagfaq__question { font-size: 15px; }
    .suagfaq__answer { padding-left: 155px; }
    .suagfaq .suagfaq__faq-button,
    .suagfaq .suagfaq__faq-button:hover,
    .suagfaq .suagfaq__faq-button:focus,
    .suagfaq .suagfaq__faq-button:active {
        grid-template-columns: 48px 1px 48px minmax(0, 1fr) 30px !important;
        gap: 9px !important;
    }
    .suagfaq .suagfaq__number,
    .suagfaq .suagfaq__icon {
        width: 48px !important;
        height: 48px !important;
    }
}

@media (max-width: 900px) {
    .suagfaq { padding-left: 14px !important; padding-right: 14px !important; }
    .suagfaq__header { gap: 16px !important; }
    .suagfaq__cta {
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 14px;
    }
}

@media (max-width: 640px) {
    .suagfaq { padding-top: 22px !important; padding-bottom: 22px !important; }
    .suagfaq__faq-button {
        grid-template-columns: 42px 42px minmax(0, 1fr) 28px;
        gap: 8px;
        padding: 9px 10px;
    }
    .suagfaq__number,
    .suagfaq__icon {
        width: 42px;
        height: 42px;
    }
    .suagfaq__number { font-size: 14px; }
    .suagfaq__icon { font-size: 20px; }
    .suagfaq__question {
        font-size: 14px;
        line-height: 1.32;
    }
    .suagfaq__toggle {
        width: 26px;
        height: 26px;
    }
    .suagfaq__answer {
        padding: 0 16px 12px 102px;
        font-size: 13px;
    }
    .suagfaq__cta {
        padding: 14px !important;
    }
    .suagfaq .suagfaq__faq-button,
    .suagfaq .suagfaq__faq-button:hover,
    .suagfaq .suagfaq__faq-button:focus,
    .suagfaq .suagfaq__faq-button:active {
        grid-template-columns: 42px 42px minmax(0, 1fr) 28px !important;
        gap: 8px !important;
        padding: 9px 10px !important;
    }
    .suagfaq .suagfaq__number,
    .suagfaq .suagfaq__icon {
        width: 42px !important;
        height: 42px !important;
    }
    .suagfaq .suagfaq__toggle {
        width: 26px !important;
        height: 26px !important;
    }
}

@media (max-width: 420px) {
    .suagfaq__faq-button {
        grid-template-columns: 36px minmax(0, 1fr) 26px;
    }
    .suagfaq__number {
        width: 36px;
        height: 36px;
    }
    .suagfaq__answer {
        padding-left: 54px;
    }
    .suagfaq .suagfaq__faq-button,
    .suagfaq .suagfaq__faq-button:hover,
    .suagfaq .suagfaq__faq-button:focus,
    .suagfaq .suagfaq__faq-button:active {
        grid-template-columns: 36px minmax(0, 1fr) 26px !important;
    }
    .suagfaq .suagfaq__number {
        width: 36px !important;
        height: 36px !important;
    }
}

/* Bulletproof FAQ toggle glyphs — 2026.29.66 */
.suagfaq .suagfaq__toggle {
    position: relative !important;
    overflow: visible !important;
    font-size: 0 !important;
    line-height: 0 !important;
}
.suagfaq .suagfaq__toggle > .suagfaq__plus,
.suagfaq .suagfaq__toggle > .suagfaq__minus {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}
.suagfaq .suagfaq__toggle::before,
.suagfaq .suagfaq__toggle::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    width: 11px !important;
    height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: var(--suagfaq-accent) !important;
    box-shadow: none !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    z-index: 3 !important;
}
.suagfaq .suagfaq__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg) !important;
}
.suagfaq .suagfaq__item.is-open .suagfaq__toggle::before,
.suagfaq .suagfaq__item.is-open .suagfaq__toggle::after {
    background: #ffffff !important;
}
.suagfaq .suagfaq__item.is-open .suagfaq__toggle::after {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(0) !important;
}
@media (max-width: 640px) {
    .suagfaq .suagfaq__toggle::before,
    .suagfaq .suagfaq__toggle::after {
        width: 10px !important;
        height: 2px !important;
    }
}
