.home-v2-hero,
.home-v2-section,
.home-v2-assurance {
    --home-v2-ink: #11152f;
    --home-v2-copy: #5b657a;
    --home-v2-purple: #6546f5;
    --home-v2-line: #e3e6ef;
}

.home-v2-hero {
    position: relative;
    z-index: 5;
    overflow: visible;
    background:
        radial-gradient(circle at 12% 10%, rgba(122, 91, 255, .34), transparent 31%),
        radial-gradient(circle at 72% 110%, rgba(69, 183, 255, .19), transparent 38%),
        linear-gradient(135deg, #11142f 0%, #19143d 55%, #251650 100%);
}

.home-v2-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    align-items: center;
    gap: 46px;
    min-height: 540px;
    padding-top: 68px;
    padding-bottom: 68px;
    overflow: visible;
    color: #fff;
}

.home-v2-hero-grid::before,
.home-v2-hero-grid::after {
    position: absolute;
    z-index: 0;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 50%;
    pointer-events: none;
    content: "";
}

.home-v2-hero-grid::before {
    top: 24px;
    left: -100px;
    width: 390px;
    height: 390px;
}

.home-v2-hero-grid::after {
    right: 31%;
    bottom: 0;
    width: 430px;
    height: 430px;
}

.home-v2-hero-copy,
.home-v2-launcher {
    position: relative;
    z-index: 2;
}

.home-v2-eyebrow {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 9px;
    padding: 5px 11px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: rgba(255, 255, 255, .78);
    background: rgba(255, 255, 255, .07);
    font-size: .69rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.home-v2-eyebrow i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #50e49a;
    box-shadow: 0 0 0 4px rgba(80, 228, 154, .13);
}

.home-v2-hero-copy h1 {
    max-width: 710px;
    margin: 21px 0 14px;
    color: #fff;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(2.75rem, 4.7vw, 4.15rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.06em;
}

.home-v2-hero-copy h1 span {
    color: #a993ff;
}

.home-v2-hero-copy > p {
    max-width: 630px;
    margin: 0;
    color: rgba(238, 240, 255, .75);
    font-size: .95rem;
    line-height: 1.65;
}

.home-v2-search-shell {
    position: relative;
    z-index: 15;
    width: min(100%, 690px);
    margin-top: 24px;
}

.home-v2-search-shell .hero-tool-search {
    width: 100%;
    max-width: none;
    min-height: 56px;
    margin: 0;
    padding: 5px 5px 5px 17px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(3, 5, 22, .25);
}

.home-v2-search-shell .hero-tool-search > span {
    color: #6a738a;
}

.home-v2-search-shell .hero-tool-search input {
    padding: 0 13px;
    color: #171b34;
    font-size: .82rem;
}

.home-v2-search-shell .hero-tool-search button {
    min-width: 112px;
    border-radius: 9px;
    background: linear-gradient(135deg, #6b48f7, #5232e7);
    box-shadow: none;
    font-size: .74rem;
}

.smart-search-results {
    position: absolute;
    z-index: 50;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    overflow-y: auto;
    max-height: min(390px, 62vh);
    padding: 7px;
    border: 1px solid #dfe3ed;
    border-radius: 13px;
    color: #151a31;
    background: #fff;
    box-shadow: 0 24px 55px rgba(10, 12, 32, .3);
    text-align: left;
}

.smart-search-results[hidden],
.smart-search-results a[hidden],
.smart-search-empty[hidden] {
    display: none;
}

.smart-search-results a {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    min-height: 58px;
    padding: 8px 10px;
    border-radius: 9px;
}

.smart-search-results a:hover,
.smart-search-results a.is-active {
    background: #f2efff;
}

.smart-search-results a > span:first-child {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 9px;
    color: #6040ed;
    background: #eeeaff;
}

.smart-search-results svg,
.home-v2-launcher-icon svg,
.home-v2-category-icon svg,
.home-v2-tool-icon svg,
.home-v2-assurance-grid svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.smart-search-results a > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.smart-search-results strong {
    font-size: .75rem;
}

.smart-search-results small {
    overflow: hidden;
    margin-top: 3px;
    color: #68758b;
    font-size: .63rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.smart-search-results em {
    padding: 4px 8px;
    border-radius: 999px;
    color: #5a3ce1;
    background: #f0edff;
    font-size: .57rem;
    font-style: normal;
    font-weight: 700;
}

.smart-search-empty {
    margin: 0;
    padding: 16px;
    color: #657188;
    font-size: .7rem;
    text-align: center;
}

.home-v2-quick-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 13px;
}

.home-v2-quick-links strong {
    color: rgba(255, 255, 255, .58);
    font-size: .63rem;
}

.home-v2-quick-links a {
    padding: 5px 9px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: rgba(255, 255, 255, .83);
    background: rgba(255, 255, 255, .065);
    font-size: .58rem;
    font-weight: 650;
}

.home-v2-quick-links a:hover {
    color: #1b1739;
    background: #fff;
}

.home-v2-promises {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 24px;
}

.home-v2-promises span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .72);
    font-size: .67rem;
    font-weight: 650;
}

.home-v2-promises i {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border-radius: 50%;
    color: #0d6e3e;
    background: #78efb2;
    font-size: .56rem;
    font-style: normal;
}

.home-v2-launcher {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 21px;
    color: var(--home-v2-ink);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 25px 55px rgba(4, 5, 24, .25);
    backdrop-filter: blur(18px);
}

.home-v2-launcher > header,
.home-v2-launcher > footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.home-v2-launcher > header {
    padding: 1px 2px 15px;
}

.home-v2-launcher > header span,
.home-v2-section-head > div > span,
.home-v2-assurance-copy > span {
    display: block;
    color: #6b4bf0;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-v2-launcher h2 {
    margin: 3px 0 0;
    color: #161a33;
    font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif;
    font-size: 1.12rem;
    letter-spacing: -.025em;
}

.home-v2-launcher > header > b {
    padding: 5px 8px;
    border-radius: 999px;
    color: #087b45;
    background: #e7f8ef;
    font-size: .57rem;
    white-space: nowrap;
}

.home-v2-launcher-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.home-v2-launcher-grid > a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 68px;
    padding: 9px;
    border: 1px solid #e5e7ef;
    border-radius: 11px;
    background: #fafbfe;
    transition: .18s ease;
}

.home-v2-launcher-grid > a:hover {
    border-color: #c7baf8;
    background: #f5f2ff;
    transform: translateY(-2px);
}

.home-v2-launcher-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 9px;
    color: #6040ed;
    background: #eeeaff;
}

.home-v2-launcher-grid > a:nth-child(3n + 2) .home-v2-launcher-icon {
    color: #087e48;
    background: #e6f8ee;
}

.home-v2-launcher-grid > a:nth-child(3n) .home-v2-launcher-icon {
    color: #df7513;
    background: #fff1e4;
}

.home-v2-launcher-grid > a > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.home-v2-launcher-grid strong {
    overflow: hidden;
    color: #171c35;
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-v2-launcher-grid small {
    overflow: hidden;
    margin-top: 4px;
    color: #707b8e;
    font-size: .57rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-v2-launcher-grid > a > b {
    color: #7663bb;
    font-size: .72rem;
}

.home-v2-launcher > footer {
    margin-top: 14px;
    padding: 13px 2px 0;
    border-top: 1px solid #e7e9f0;
}

.home-v2-launcher > footer span,
.home-v2-launcher > footer a {
    font-size: .63rem;
    font-weight: 700;
}

.home-v2-launcher > footer span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #68758a;
}

.home-v2-launcher > footer span i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #20bb70;
}

.home-v2-launcher > footer a {
    color: #5b3fe7;
}

.home-v2-section {
    position: relative;
    padding: 68px 0;
}

.home-v2-categories {
    background: #fff;
}

.home-v2-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr) auto;
    align-items: end;
    gap: 28px;
    margin-bottom: 28px;
}

.home-v2-section-head h2,
.home-v2-assurance-copy h2 {
    margin: 5px 0 0;
    color: var(--home-v2-ink);
    font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif;
    font-size: clamp(1.7rem, 2.4vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: -.045em;
}

.home-v2-section-head > p {
    margin: 0;
    color: var(--home-v2-copy);
    font-size: .79rem;
    line-height: 1.6;
}

.home-v2-section-head > a,
.home-v2-assurance-copy > a {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 13px;
    border: 1px solid #ded9fb;
    border-radius: 9px;
    color: #5b3de3;
    background: #f8f6ff;
    font-size: .68rem;
    font-weight: 750;
    white-space: nowrap;
}

.home-v2-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.home-v2-category-card {
    position: relative;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    min-height: 114px;
    padding: 14px;
    overflow: hidden;
    border: 1px solid var(--home-v2-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(25, 34, 58, .04);
    transition: .18s ease;
}

.home-v2-category-card::after {
    position: absolute;
    right: -25px;
    bottom: -40px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #f0edff;
    opacity: .55;
    content: "";
}

.home-v2-category-card:hover {
    border-color: #c7bbf7;
    box-shadow: 0 13px 30px rgba(38, 35, 76, .08);
    transform: translateY(-3px);
}

.home-v2-category-icon {
    position: relative;
    z-index: 1;
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 13px;
    color: #6040ed;
    background: #eeeaff;
}

.home-v2-category-card:nth-child(4n + 2) .home-v2-category-icon {
    color: #057f48;
    background: #e6f8ee;
}

.home-v2-category-card:nth-child(4n + 3) .home-v2-category-icon {
    color: #1974df;
    background: #e9f3ff;
}

.home-v2-category-card:nth-child(4n) .home-v2-category-icon {
    color: #df7413;
    background: #fff1e3;
}

.home-v2-category-copy {
    position: relative;
    z-index: 1;
    display: grid;
    min-width: 0;
}

.home-v2-category-copy small {
    color: #7a6db0;
    font-size: .54rem;
    font-weight: 750;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.home-v2-category-copy strong {
    margin-top: 4px;
    color: #171c35;
    font-size: .8rem;
    line-height: 1.3;
}

.home-v2-category-copy em {
    display: block;
    overflow: hidden;
    margin-top: 5px;
    color: #69758a;
    font-size: .58rem;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-v2-category-card > b {
    position: relative;
    z-index: 1;
    align-self: start;
    color: #7c70a7;
    font-size: .72rem;
}

.home-v2-popular {
    border-top: 1px solid #ebeaf2;
    border-bottom: 1px solid #e8e7f0;
    background:
        radial-gradient(circle at 90% 15%, rgba(104, 71, 240, .07), transparent 27%),
        #f7f7fb;
}

.home-v2-tool-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
}

.home-v2-tool-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 82px;
    padding: 11px 12px;
    border: 1px solid #e0e3eb;
    border-radius: 12px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 6px 18px rgba(26, 35, 57, .035);
    transition: .18s ease;
}

.home-v2-tool-card:hover {
    border-color: #bfb2f4;
    box-shadow: 0 12px 27px rgba(39, 35, 77, .08);
    transform: translateY(-2px);
}

.home-v2-tool-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 10px;
    color: #6040ed;
    background: #eeeaff;
}

.home-v2-tool-card:nth-child(4n + 2) .home-v2-tool-icon {
    color: #087f49;
    background: #e6f8ee;
}

.home-v2-tool-card:nth-child(4n + 3) .home-v2-tool-icon {
    color: #1c73d8;
    background: #eaf3ff;
}

.home-v2-tool-card:nth-child(4n) .home-v2-tool-icon {
    color: #df7513;
    background: #fff1e4;
}

.home-v2-tool-copy {
    display: grid;
    min-width: 0;
}

.home-v2-tool-copy strong {
    overflow: hidden;
    color: #171c35;
    font-size: .72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-v2-tool-copy small {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 4px;
    color: #68758a;
    font-size: .59rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-v2-tool-card > b {
    color: #7569a1;
    font-size: .72rem;
}

.home-v2-assurance {
    padding: 68px 0 74px;
    border-top: 1px solid #e4e3ef;
    background:
        radial-gradient(circle at 86% 18%, rgba(114, 77, 244, .12), transparent 28%),
        linear-gradient(135deg, #fafaff, #f4f1ff);
}

.home-v2-assurance-card {
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
    align-items: center;
    gap: 50px;
}

.home-v2-assurance-copy > p {
    max-width: 490px;
    margin: 12px 0 18px;
    color: #5d687c;
    font-size: .76rem;
    line-height: 1.65;
}

.home-v2-assurance-copy > a {
    width: max-content;
}

.home-v2-assurance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.home-v2-assurance-grid article {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    min-height: 76px;
    padding: 11px 13px;
    border: 1px solid #e1e2ed;
    border-radius: 12px;
    background: rgba(255, 255, 255, .88);
}

.home-v2-assurance-grid article > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 11px;
    color: #6040ed;
    background: #eeeaff;
}

.home-v2-assurance-grid article:nth-child(2) > span {
    color: #087f49;
    background: #e6f8ee;
}

.home-v2-assurance-grid article:nth-child(3) > span {
    color: #df7413;
    background: #fff1e3;
}

.home-v2-assurance-grid article:nth-child(4) > span {
    color: #1d73d9;
    background: #eaf3ff;
}

.home-v2-assurance-grid article > div {
    display: grid;
}

.home-v2-assurance-grid strong {
    color: #181d35;
    font-size: .72rem;
}

.home-v2-assurance-grid small {
    margin-top: 4px;
    color: #69758a;
    font-size: .59rem;
}

.home-v2-empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 25px;
    color: #69758a;
    text-align: center;
}

@media (max-width: 1100px) {
    .home-v2-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .home-v2-launcher {
        width: 100%;
    }

    .home-v2-category-grid,
    .home-v2-tool-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .home-v2-hero {
        padding: 0;
    }

    .home-v2-hero-grid {
        min-height: 0;
        padding-top: 46px;
        padding-bottom: 46px;
    }

    .home-v2-section,
    .home-v2-assurance {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .home-v2-section-head {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 14px;
    }

    .home-v2-section-head > p {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .home-v2-section-head > a {
        grid-column: 2;
        grid-row: 1;
    }

    .home-v2-assurance-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }
}

@media (max-width: 620px) {
    .home-v2-hero-grid {
        padding-top: 38px;
        padding-bottom: 38px;
    }

    .home-v2-hero-copy h1 {
        font-size: clamp(2.25rem, 11vw, 3.2rem);
    }

    .home-v2-hero-copy h1 br {
        display: none;
    }

    .home-v2-search-shell .hero-tool-search {
        display: grid;
        grid-template-columns: 26px minmax(0, 1fr);
        padding: 7px 8px;
    }

    .home-v2-search-shell .hero-tool-search button {
        grid-column: 1 / -1;
        min-height: 42px;
        margin-top: 5px;
    }

    .smart-search-results a {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .smart-search-results em {
        display: none;
    }

    .home-v2-launcher-grid,
    .home-v2-category-grid,
    .home-v2-tool-grid,
    .home-v2-assurance-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-v2-section-head {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
    }

    .home-v2-section-head > a {
        align-self: flex-start;
    }

}

@media (max-width: 430px) {
    .home-v2-launcher-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-v2-promises {
        gap: 10px 14px;
    }

    .home-v2-category-card {
        grid-template-columns: 46px minmax(0, 1fr) auto;
    }

    .home-v2-category-icon {
        width: 46px;
        height: 46px;
    }
}
