.c4y-faq__hero {
    background:linear-gradient(to bottom right, #293665, #293665, rgba(41,54,101,.90));
    position:relative; overflow:hidden;
    width:100vw;
    margin-left:calc(-50vw + 50%);
    margin-right:calc(-50vw + 50%);
    margin-bottom:0;
}
.c4y-faq__hero::before,
.c4y-faq__hero::after {
    content:''; position:absolute; border-radius:50%;
    pointer-events:none;
}
.c4y-faq__hero::before {
    width:18rem; height:18rem; background:rgba(104, 200, 81, .10);
    top:5rem; left:2.5rem; filter:blur(64px);
}
.c4y-faq__hero::after {
    width:24rem; height:24rem; background:rgba(104, 200, 81, .05);
    bottom:2.5rem; right:5rem; filter:blur(64px);
}
.c4y-faq__hero-inner {
    position:relative; z-index:1;
    padding:5rem 1.5rem 4rem;
    text-align:center; max-width:48rem; margin:0 auto;
}
@media (min-width:768px) { .c4y-faq__hero-inner { padding:7rem 2rem 5rem; } }

.c4y-faq__hero-badge {
    display:inline-flex; align-items:center; gap:.5rem;
    background:rgba(104, 200, 81, .20); color:rgb(104, 200, 81);
    border-radius:9999px; padding:.625rem 1.25rem;
    font-size:.875rem; font-weight:500; margin-bottom:1.5rem;
    line-height:1;
}
.c4y-faq__hero-title {
    font-size:2.25rem !important; font-weight:700 !important;
    color:#fff !important; line-height:60px !important;
    font-family:'Space Grotesk','Inter',system-ui,sans-serif !important;
    margin:0 0 1.5rem !important; padding:0 !important;
}
@media (min-width:768px) { .c4y-faq__hero-title { font-size:3rem !important; } }
@media (min-width:1024px) { .c4y-faq__hero-title { font-size:3.75rem !important; } }

.c4y-faq__hero-desc {
    font-size:1.125rem !important; color:rgba(255,255,255,.80) !important;
    max-width:48rem; margin:0 auto 2rem !important; padding:0 !important;
    line-height:28px !important;
}
@media (min-width:768px) { .c4y-faq__hero-desc { font-size:1.25rem !important; } }

.c4y-faq__hero-search-wrap { max-width:36rem; margin:0 auto 2rem; position:relative; }

.c4y-faq__hero-search-icon {
    position:absolute; left:1rem; top:50%; transform:translateY(-50%);
    color:#9ca3af; pointer-events:none; display:flex; z-index:2;
}
.c4y-faq__hero-search-input,
.c4y-faq__hero-search-input[type="text"],
.c4y-faq__hero-search-wrap input[type="text"],
.c4y-faq__hero-search-wrap input {
    width:100% !important;
    padding:0 3rem !important; height:50px !important;
    border:0 !important;
    background:rgba(255,255,255,.95) !important;
    font-size:.875rem !important; font-weight:400 !important; font-family:Inter,system-ui,sans-serif !important;
    color:#141f38 !important;
    outline:none !important;
    box-sizing:border-box !important;
    display:block !important;
    margin:0 !important;
    border-radius:.75rem !important;
    box-shadow:0 10px 15px -3px rgba(0,0,0,.3), 0 4px 6px -4px rgba(0,0,0,.2) !important;
    line-height:1.5 !important;
}
.c4y-faq__hero-search-input:focus,
.c4y-faq__hero-search-wrap input:focus {
    outline:none !important;
    box-shadow:0 10px 15px -3px rgba(0,0,0,.3), 0 4px 6px -4px rgba(0,0,0,.2), 0 0 0 2px rgb(104, 200, 81) !important;
    border:0 !important;
}
.c4y-faq__hero-search-input::placeholder,
.c4y-faq__hero-search-wrap input::placeholder { color:#9ca3af !important; }
.c4y-faq__hero-search-clear {
    position:absolute; right:1rem; top:50%; transform:translateY(-50%);
    background:rgb(228, 231, 236); border:none; border-radius:50%;
    width:1.5rem; height:1.5rem;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; color:#6b7280; transition:background .2s; z-index:2;
}
.c4y-faq__hero-search-clear:hover { background:rgb(228, 231, 236); }

.c4y-faq__hero-stats {
    display:flex; justify-content:center; align-items:center; gap:1.5rem;
    margin-bottom:2rem; flex-wrap:wrap;
    color:rgba(255,255,255,.80); font-size:1rem;
}
.c4y-faq__hero-stats span { display:flex; align-items:center; gap:.5rem; }
.c4y-faq__hero-stats svg { color:rgb(104, 200, 81); flex-shrink:0; }

.c4y-faq__hero-filters { justify-content:center; gap:.5rem; margin-bottom:0; }

.c4y-faq__hero .c4y-faq__hero-filters .c4y-faq__filter,
.c4y-faq__hero .c4y-faq__hero-filters button {
    background:rgba(255,255,255,.10) !important;
    color:rgba(255,255,255,.80) !important;
    border:none !important;
    box-shadow:none !important;
    padding:.5rem 1rem !important;
    border-radius:9999px !important;
    font-size:.875rem !important;
    font-weight:500 !important;
    cursor:pointer !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:.5rem !important;
    line-height:1.25 !important;
    text-decoration:none !important;
    transition:transform .2s ease, background 0s !important;
    transform:scale(1) !important;
    will-change:transform;
}
.c4y-faq__hero .c4y-faq__hero-filters .c4y-faq__filter:hover,
.c4y-faq__hero .c4y-faq__hero-filters button:hover {
    background:rgba(255,255,255,.20) !important;
    color:#fff !important;
    transform:scale(1.02) !important;
}
.c4y-faq__hero .c4y-faq__hero-filters .c4y-faq__filter:active,
.c4y-faq__hero .c4y-faq__hero-filters button:active {
    transform:scale(0.98) !important;
}
.c4y-faq__hero .c4y-faq__hero-filters .c4y-faq__filter--active,
.c4y-faq__hero .c4y-faq__hero-filters button.c4y-faq__filter--active,
.c4y-faq__hero .c4y-faq__hero-filters .c4y-faq__filter--active:hover,
.c4y-faq__hero .c4y-faq__hero-filters button.c4y-faq__filter--active:hover {
    background:rgb(104, 200, 81) !important;
    color:#fff !important;
    box-shadow:none !important;
    transform:scale(1) !important;
}

.c4y-faq { display:flex; flex-direction:column; }

.c4y-faq__search-wrap { width:100%; margin-bottom:1.5rem; }
.c4y-faq__search-inner { position:relative; max-width:36rem; margin:0 auto; }
.c4y-faq__search-icon {
    position:absolute; left:1rem; top:50%; transform:translateY(-50%);
    color:#6b7280; pointer-events:none; display:flex;
}
.c4y-faq__search {
    width:100%; padding:.875rem 3rem .875rem 3rem;
    border:1px solid rgb(228, 231, 236); border-radius:.75rem;
    background:#fff; font-size:1rem; color:#141f38;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    outline:none; box-sizing:border-box; transition:border-color .2s, box-shadow .2s;
}
.c4y-faq__search:focus { border-color:rgb(104, 200, 81); box-shadow:0 0 0 3px rgba(104, 200, 81, .15); }
.c4y-faq__search-clear {
    position:absolute; right:.875rem; top:50%; transform:translateY(-50%);
    background:rgb(228, 231, 236); border:none; border-radius:50%; width:1.375rem; height:1.375rem;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; color:#6b7280; transition:background .2s;
}
.c4y-faq__search-clear:hover { background:rgb(228, 231, 236); }

.c4y-faq__filters {
    display:flex; flex-wrap:wrap; gap:.5rem;
    margin-bottom:1.5rem;
}
.c4y-faq__filter {
    display:inline-flex; align-items:center; gap:.375rem;
    padding:.5rem 1rem; border-radius:9999px; border:none; cursor:pointer;
    font-size:.875rem; font-weight:500;
    background:rgba(20, 31, 56,.08); color:#6b7280;
    transition:all .2s ease;
}
.c4y-faq__filter:hover { background:rgba(20, 31, 56,.14); color:#141f38; }
.c4y-faq__body .c4y-faq__filter--active { background:rgb(104, 200, 81) !important; color:#fff !important; }
.c4y-faq__filter-icon { display:flex; }

.c4y-faq__no-results { text-align:center; padding:4rem 1rem; }
.c4y-faq__no-results-title { font-size:1.25rem; font-weight:600; color:#141f38; margin:0 0 .5rem !important; }
.c4y-faq__no-results-desc { color:#6b7280; margin:0 !important; }

.c4y-faq__body { display:flex; flex-direction:column; gap:2rem; padding:6rem 0 6rem 0; }
.c4y-faq__body.has-info-bar { padding-top:0; }

.c4y-faq__info-bar {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.75rem 0;
    margin:0 0 2rem 0;
}
.c4y-faq__info-bar::before {
    content:'';
    position:absolute;
    top:0; bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:100vw;
    background:rgba(241,245,249,.5);
    border-bottom:1px solid rgb(228, 231, 236);
    z-index:0;
}
.c4y-faq__info-bar > * {
    position:relative;
    z-index:1;
}
.c4y-faq__info-bar-text {
    font-size:1rem !important; color:#6b7280 !important;
    margin:0 !important; padding:0 !important;
}
.c4y-faq__info-bar-clear {
    display:inline-flex; align-items:center; gap:.25rem;
    background:none !important; border:none !important; cursor:pointer;
    font-size:.875rem; color:#6b7280;
    padding:.375rem .75rem; border-radius:.375rem;
    transition:background .15s, color .15s;
    height:2.25rem;
}
.c4y-faq__info-bar-clear:hover {
    background:rgb(104, 200, 81) !important; color:#141f38 !important;
}

.c4y-faq__categories { display:flex; flex-direction:column; gap:2rem; }

.c4y-faq__category {
    background:#fff;
    border:1px solid rgba(229,231,235,.5);
    border-radius:.75rem; overflow:hidden;
    box-shadow:none;
    transition:box-shadow .3s ease;
}
.c4y-faq__category:hover {
    box-shadow:0 20px 25px -5px rgba(20,31,56,.10), 0 8px 10px -6px rgba(20,31,56,.10);
}

.c4y-faq__cat-header {
    display:flex; align-items:center; gap:.75rem;
    padding:1rem 1.5rem;
    background:linear-gradient(to right, rgba(243,244,246,.5), rgba(243,244,246,.3));
    border-bottom:1px solid rgba(229,231,235,.5);
}
.c4y-faq__cat-icon {
    width:2.5rem; height:2.5rem; border-radius:.5rem; flex-shrink:0;
    background:rgba(104, 200, 81, .10);
    display:flex; align-items:center; justify-content:center; color:rgb(104, 200, 81);
}
.c4y-faq__cat-title {
    font-size:1.25rem !important; font-weight:600 !important;
    color:#141f38 !important; margin:0 !important; padding:0 !important; flex:1;
}
.c4y-faq__cat-count {
    font-size:.8125rem; color:#6a717f;
    background:#fff; padding:.25rem .75rem;
    border-radius:9999px;
    white-space:nowrap;
}

.c4y-faq__item { border-bottom:1px solid rgba(229,231,235,.5); }
.c4y-faq__item:last-child { border-bottom:none; }
.c4y-faq__item--hidden { display:none; }

.c4y-faq__trigger {
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding:1rem 1.5rem; background:transparent; border:none; cursor:pointer;
    text-align:left; transition:background .15s;
}
.c4y-faq__trigger:focus,
.c4y-faq__trigger:focus-visible,
.c4y-faq__trigger:active {
    outline:none !important;
    box-shadow:none !important;
}
.c4y-faq__trigger:hover { background:rgba(243,244,246,.30) !important; box-shadow:none !important; }
.c4y-faq__trigger[aria-expanded="true"]:hover { background:rgba(243,244,246,.50) !important; }
.c4y-faq__trigger[aria-expanded="true"] { background:rgba(243,244,246,.50) !important; }
.c4y-faq__trigger[aria-expanded="false"] { background:transparent !important; }

.c4y-faq__q {
    font-size:1rem !important; font-weight:500 !important;
    color:#141f38 !important;
    margin:0 !important; padding:0 !important; line-height:1.5 !important;
}
.c4y-faq__chevron {
    flex-shrink:0; color:#6a717f; transition:transform .25s ease; display:flex;
}
.c4y-faq__trigger[aria-expanded="true"] .c4y-faq__chevron { transform:rotate(180deg); }
.c4y-faq__answer { overflow:hidden; }
.c4y-faq__answer-text {
    padding:0 1.5rem 1rem !important;
    font-size:.9375rem !important; color:#6a717f !important;
    line-height:1.625 !important; margin:0 !important;
}

.c4y-faqhero {
    background:linear-gradient(135deg, #1e3a6e 0%, rgb(20, 31, 56) 50%, #141f38 100%);
    position:relative; overflow:hidden;
}
.c4y-faqhero::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
        radial-gradient(circle at 15% 50%, rgba(104, 200, 81, .08) 0%, transparent 50%),
        radial-gradient(circle at 85% 20%, rgba(104, 200, 81, .06) 0%, transparent 40%);
}
.c4y-faqhero__inner {
    position:relative; z-index:1;
    padding:5rem 2rem 4rem;
    text-align:center; max-width:56rem; margin:0 auto;
}
.c4y-faqhero__badge {
    display:inline-flex; align-items:center; gap:.375rem;
    background:rgba(104, 200, 81, .20); color:rgb(104, 200, 81);
    border-radius:9999px; padding:.375rem 1rem;
    font-size:.8125rem; font-weight:500;
    margin-bottom:1.5rem;
}
.c4y-faqhero__title {
    font-size:clamp(2rem,5vw,3.5rem) !important; font-weight:700 !important;
    color:#fff !important; line-height:1.2 !important;
    font-family:'Space Grotesk','Inter',system-ui,sans-serif !important;
    margin:0 0 1.25rem !important; padding:0 !important;
}
.c4y-faqhero__desc {
    font-size:1.0625rem !important; color:rgba(255,255,255,.75) !important;
    max-width:38rem; margin:0 auto 2rem !important; padding:0 !important;
    line-height:1.7 !important;
}

.c4y-faqhero__search-wrap { max-width:32rem; margin:0 auto 1.5rem; }
.c4y-faqhero__search-box {
    position:relative; background:rgba(255,255,255,.97);
    border-radius:.75rem; box-shadow:0 8px 32px rgba(0,0,0,.25);
}
.c4y-faqhero__search-icon {
    position:absolute; left:1.125rem; top:50%; transform:translateY(-50%);
    color:#9ca3af; pointer-events:none; display:flex;
}
.c4y-faqhero__search {
    width:100%; padding:1.125rem 3rem 1.125rem 3.25rem;
    border:none; border-radius:.75rem; background:transparent;
    font-size:1rem; color:#141f38; outline:none; box-sizing:border-box;
}
.c4y-faqhero__search::placeholder { color:#9ca3af; }
.c4y-faqhero__search-clear {
    position:absolute; right:1rem; top:50%; transform:translateY(-50%);
    background:rgb(228, 231, 236); border:none; border-radius:50%;
    width:1.375rem; height:1.375rem;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; color:#6b7280; transition:background .2s;
}
.c4y-faqhero__search-clear:hover { background:rgb(228, 231, 236); }

.c4y-faqhero__stats {
    display:flex; justify-content:center; gap:1.5rem;
    margin-bottom:1.75rem; flex-wrap:wrap;
}
.c4y-faqhero__stat {
    display:flex; align-items:center; gap:.375rem;
    color:rgba(255,255,255,.75); font-size:.9375rem;
}
.c4y-faqhero__stat svg { color:rgb(104, 200, 81); flex-shrink:0; }

.c4y-faqhero__filters {
    display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center;
}
.c4y-faqhero__filter {
    display:inline-flex; align-items:center; gap:.375rem;
    padding:.5rem 1rem; border-radius:9999px; border:none; cursor:pointer;
    font-size:.875rem; font-weight:500;
    background:rgba(255,255,255,.12); color:rgba(255,255,255,.8);
    transition:all .2s ease;
}
.c4y-faqhero__filter:hover { background:rgba(255,255,255,.20); color:#fff; }
.c4y-faqhero__filter--active { background:rgb(104, 200, 81) !important; color:#fff !important; }

.c4y-faq__category {
    opacity:0;
    transform:translateY(30px);
    transition:opacity .5s ease, transform .5s ease, box-shadow .3s ease;
}
.c4y-faq__category.c4y-faq--visible {
    opacity:1;
    transform:none;
}

.c4y-faq__hero-badge,
.c4y-faq__hero-title,
.c4y-faq__hero-desc,
.c4y-faq__hero-search-wrap,
.c4y-faq__hero-stats,
.c4y-faq__hero-filters {
    opacity:0;
    transform:translateY(20px);
    transition:opacity .6s ease, transform .6s ease;
}
.c4y-faq__hero.c4y-faq__hero--visible .c4y-faq__hero-badge        { opacity:1; transform:none; transition-delay:.0s; }
.c4y-faq__hero.c4y-faq__hero--visible .c4y-faq__hero-title        { opacity:1; transform:none; transition-delay:.15s; }
.c4y-faq__hero.c4y-faq__hero--visible .c4y-faq__hero-desc         { opacity:1; transform:none; transition-delay:.25s; }
.c4y-faq__hero.c4y-faq__hero--visible .c4y-faq__hero-search-wrap  { opacity:1; transform:none; transition-delay:.35s; }
.c4y-faq__hero.c4y-faq__hero--visible .c4y-faq__hero-stats        { opacity:1; transform:none; transition-delay:.45s; }
.c4y-faq__hero.c4y-faq__hero--visible .c4y-faq__hero-filters      { opacity:1; transform:none; transition-delay:.55s; }

@media (max-width:767px) {
    .c4y-faq__hero-title {
        line-height:40px !important;
    }

    .c4y-faq__hero-filters {
        flex-wrap:wrap !important;
        justify-content:center !important;
    }

    .c4y-faq__info-bar-text {
        flex:1 1 auto;
        min-width:0;
    }
    .c4y-faq__info-bar-clear {
        flex-shrink:0;
        white-space:nowrap;
    }
}
