.container.tr-faq-shell {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.tr-faq-shell > .section-inner,
.tr-faq-shell > .section-inner > .section-body { width: 100%; }

.tr-faq-page {
    --tr-amber-50: #fffbeb;
    --tr-amber-100: #fef3c7;
    --tr-amber-200: #fde68a;
    --tr-amber-300: #fcd34d;
    --tr-amber-400: #fbbf24;
    --tr-amber-500: #f59e0b;
    --tr-amber-600: #d97706;
    --tr-amber-700: #b45309;
    --tr-amber-800: #92400e;
    --tr-amber-950: #451a03;
    --tr-ink: #1c1917;
    --tr-muted: #57534e;
    color: var(--tr-ink);
}

.tr-faq-hero {
    position: relative;
    overflow: hidden;
    padding: 6.3rem 0 5.4rem;
    color: #fff;
    background:
        radial-gradient(circle at 12% 12%, rgba(245, 158, 11, .22), transparent 32%),
        linear-gradient(135deg, #1c1917 0%, #292524 56%, #451a03 128%);
}

.tr-faq-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .1;
    background-image: radial-gradient(rgba(255,255,255,.9) 1px, transparent 1px);
    background-size: 30px 30px;
}

.tr-faq-hero .container { z-index: 2; }
.tr-faq-orb { position: absolute; border-radius: 999px; filter: blur(4px); opacity: .35; }
.tr-faq-orb-one { width: 330px; height: 330px; right: -120px; top: -130px; background: var(--tr-amber-500); }
.tr-faq-orb-two { width: 180px; height: 180px; left: 45%; bottom: -120px; background: var(--tr-amber-800); }

.tr-faq-eyebrow,
.tr-faq-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.tr-faq-eyebrow {
    margin-bottom: 1.35rem;
    padding: .55rem .85rem;
    color: var(--tr-amber-100);
    border: 1px solid rgba(251,191,36,.35);
    border-radius: 999px;
    background: rgba(245,158,11,.11);
}

.tr-faq-kicker { color: var(--tr-amber-600); }

.tr-faq-hero h1 {
    max-width: 820px;
    margin: 0;
    font-size: clamp(2.65rem, 5vw, 4.9rem);
    line-height: .99;
    letter-spacing: -.05em;
    font-weight: 800;
}

.tr-faq-hero p {
    max-width: 760px;
    margin: 1.5rem 0 0;
    color: rgba(255,255,255,.74);
    font-size: 1.08rem;
    line-height: 1.75;
}

.tr-faq-search {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .8rem;
    max-width: 720px;
    margin-top: 2rem;
    padding: .52rem .55rem .52rem 1rem;
    border: 1px solid rgba(253,230,138,.3);
    border-radius: 1rem;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(12px);
}

.tr-faq-search > i { color: var(--tr-amber-300); font-size: 1.05rem; }
.tr-faq-search input {
    min-width: 0;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font-size: 1rem;
}
.tr-faq-search input::placeholder { color: rgba(255,255,255,.55); }
.tr-faq-search button {
    border: 0;
    border-radius: .72rem;
    padding: .72rem 1.15rem;
    color: #fff;
    background: var(--tr-amber-600);
    font-weight: 700;
}

.tr-faq-hero-card {
    padding: 1.7rem;
    border: 1px solid rgba(253,230,138,.22);
    border-radius: 1.4rem;
    background: rgba(255,255,255,.065);
    box-shadow: 0 26px 70px rgba(0,0,0,.2);
    backdrop-filter: blur(12px);
}

.tr-faq-card-label { color: var(--tr-amber-300); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tr-faq-hero-card h2 { margin: .45rem 0 1.2rem; font-size: 1.55rem; color: #fff; }
.tr-faq-hero-card a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: .8rem;
    align-items: center;
    padding: 1rem 0;
    color: #fff;
    text-decoration: none;
    border-top: 1px solid rgba(255,255,255,.1);
}
.tr-faq-hero-card a > i:first-child { color: var(--tr-amber-300); font-size: 1.2rem; }
.tr-faq-hero-card small { display: block; color: rgba(255,255,255,.58); margin-top: .15rem; }

.tr-faq-category-wrap { padding: 1.5rem 0; border-bottom: 1px solid #e7e5e4; background: #fff; }
.tr-faq-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .75rem; }
.tr-faq-category-grid a {
    display: flex;
    gap: .7rem;
    align-items: center;
    min-width: 0;
    padding: .9rem;
    border: 1px solid #e7e5e4;
    border-radius: .95rem;
    color: var(--tr-ink);
    text-decoration: none;
    background: #fff;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.tr-faq-category-grid a:hover { transform: translateY(-2px); border-color: var(--tr-amber-300); box-shadow: 0 12px 30px rgba(69,26,3,.08); }
.tr-faq-category-grid a.is-active { border-color: var(--tr-amber-400); background: var(--tr-amber-50); }
.tr-faq-category-grid a > i { flex: 0 0 auto; display: grid; place-items: center; width: 2.15rem; height: 2.15rem; border-radius: .7rem; color: var(--tr-amber-800); background: var(--tr-amber-100); }
.tr-faq-category-grid span { min-width: 0; }
.tr-faq-category-grid strong { display: block; font-size: .84rem; line-height: 1.25; }
.tr-faq-category-grid small { display: block; margin-top: .18rem; color: #78716c; font-size: .72rem; }

.tr-faq-content-wrap { padding: 4.5rem 0 5.5rem; background: #fafaf9; }
.tr-faq-results-bar { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2.5rem; padding: 1.2rem 1.35rem; border: 1px solid var(--tr-amber-200); border-radius: 1rem; background: var(--tr-amber-50); }
.tr-faq-results-bar h2 { margin: .2rem 0 0; font-size: 1.25rem; }
.tr-faq-results-bar a { color: var(--tr-amber-800); font-weight: 700; text-decoration: none; }

.tr-faq-group + .tr-faq-group { margin-top: 4.4rem; }
.tr-faq-group-heading { max-width: 760px; margin-bottom: 1.6rem; }
.tr-faq-group-heading h2 { margin: .35rem 0 .5rem; font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.03em; }
.tr-faq-group-heading p { margin: 0; color: var(--tr-muted); line-height: 1.7; }

.tr-faq-accordion { display: grid; gap: .8rem; }
.tr-faq-accordion .accordion-item { overflow: hidden; border: 1px solid #e7e5e4; border-radius: 1rem; background: #fff; box-shadow: 0 8px 24px rgba(28,25,23,.04); }
.tr-faq-accordion .accordion-button { gap: 1rem; padding: 1.2rem 1.3rem; color: var(--tr-ink); background: #fff; font-size: 1rem; font-weight: 700; box-shadow: none; }
.tr-faq-accordion .accordion-button:not(.collapsed) { color: var(--tr-amber-800); background: var(--tr-amber-50); }
.tr-faq-accordion .accordion-button::after { display: none; }
.tr-faq-accordion .accordion-button-icon { display: grid; place-items: center; width: 2rem; height: 2rem; margin-left: auto; border-radius: .6rem; color: var(--tr-amber-800); background: var(--tr-amber-100); transition: transform .2s ease; }
.tr-faq-accordion .accordion-button:not(.collapsed) .accordion-button-icon { transform: rotate(180deg); }
.tr-faq-accordion .accordion-body { padding: 0 1.3rem 1.35rem; color: var(--tr-muted); line-height: 1.8; }
.tr-faq-accordion .accordion-body p:last-child { margin-bottom: 0; }
.tr-faq-accordion .accordion-body a { color: var(--tr-amber-700); font-weight: 700; }

.tr-faq-empty { padding: 4rem 1.5rem; text-align: center; border: 1px dashed #d6d3d1; border-radius: 1.4rem; background: #fff; }
.tr-faq-empty > span { display: grid; place-items: center; width: 4rem; height: 4rem; margin: 0 auto 1.2rem; border-radius: 1.2rem; color: var(--tr-amber-800); background: var(--tr-amber-100); font-size: 1.5rem; }
.tr-faq-empty h2 { margin-bottom: .5rem; }
.tr-faq-empty p { max-width: 680px; margin: 0 auto 1.4rem; color: var(--tr-muted); }
.tr-faq-empty > div { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }

.tr-faq-bottom-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 4.6rem;
    padding: 2.3rem;
    border-radius: 1.5rem;
    color: #fff;
    background: linear-gradient(135deg, #292524, #451a03);
}
.tr-faq-bottom-cta h2 { margin: .35rem 0 .55rem; color: #fff; font-size: clamp(1.6rem, 3vw, 2.25rem); }
.tr-faq-bottom-cta p { max-width: 780px; margin: 0; color: rgba(255,255,255,.68); line-height: 1.7; }
.tr-faq-bottom-cta .tr-faq-kicker { color: var(--tr-amber-300); }
.tr-faq-bottom-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .7rem; }

@media (max-width: 1199.98px) {
    .tr-faq-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .tr-faq-hero { padding: 4.6rem 0 4rem; }
    .tr-faq-search { grid-template-columns: auto 1fr; }
    .tr-faq-search button { grid-column: 1 / -1; width: 100%; }
    .tr-faq-category-grid { grid-template-columns: 1fr 1fr; }
    .tr-faq-content-wrap { padding: 3.4rem 0 4rem; }
    .tr-faq-results-bar, .tr-faq-bottom-cta { align-items: flex-start; flex-direction: column; }
    .tr-faq-bottom-actions { width: 100%; }
    .tr-faq-bottom-actions .btn { flex: 1 1 100%; }
}

@media (max-width: 479.98px) {
    .tr-faq-category-grid { grid-template-columns: 1fr; }
    .tr-faq-bottom-cta { padding: 1.5rem; }
}
