.tb-nav-menu {
    position: relative;
}

.tb-nav .links .tb-nav-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--ink-soft);
    font: inherit;
    font-size: 14.5px;
    font-weight: 600;
    cursor: pointer;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.tb-nav .links .tb-nav-trigger:hover,
.tb-nav .links .tb-nav-trigger[aria-expanded="true"],
.tb-nav-menu:hover .tb-nav-trigger {
    color: var(--evergreen);
    background: var(--mint);
    box-shadow: inset 0 0 0 1px rgba(14, 59, 46, .12);
}

.tb-nav .links .tb-nav-trigger i {
    font-size: 10px;
    transition: transform .2s ease;
}

.tb-nav .links .tb-nav-trigger[aria-expanded="true"] i,
.tb-nav-menu:hover .tb-nav-trigger i {
    transform: rotate(180deg);
}

.tb-nav-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(760px, calc(100vw - 40px));
    padding: 30px 20px 32px;
    border: 1px solid rgba(17, 32, 26, .08);
    border-top: 0;
    border-radius: 0 0 20px 20px;
    background: var(--paper);
    box-shadow: 0 24px 52px rgba(14, 59, 46, .12);
    opacity: 0;
    visibility: hidden;
    transform: translate(-35%, -5px);
    transition: opacity .18s ease, transform .18s ease;
}

.tb-nav-dropdown.open,
.tb-nav-menu:hover .tb-nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translate(-35%, 0);
}

.tb-nav-group {
    min-width: 0;
    padding: 0 24px;
}

.tb-nav-group + .tb-nav-group {
    border-left: 1px solid rgba(17, 32, 26, .12);
}

.tb-nav-group > p {
    margin: 0 0 16px;
    color: var(--ink);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.tb-nav .links .tb-nav-group > a {
    display: block;
    min-width: 0;
    padding: 8px 0;
    border-radius: 0;
    color: var(--ink-faint);
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.35;
}

.tb-nav .links .tb-nav-group > a:hover,
.tb-nav .links .tb-nav-group > a:focus-visible {
    color: var(--evergreen);
    text-decoration: underline;
    text-decoration-color: var(--lime-dark);
    text-underline-offset: 4px;
    outline: none;
}

.tb-mobile-solutions {
    border-bottom: 1px dashed var(--line);
}

.tb-mobile-solutions summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 0;
    color: var(--ink);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.tb-mobile-solutions summary::-webkit-details-marker {
    display: none;
}

.tb-mobile-solutions summary::after {
    content: "+";
    color: var(--evergreen);
    font-size: 20px;
    line-height: 1;
}

.tb-mobile-solutions[open] summary::after {
    content: "−";
}

.tb-mobile-solutions .tb-mobile-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0 0 14px;
}

.tb-mobile-solutions .tb-mobile-group {
    min-width: 0;
}

.tb-mobile-solutions .tb-mobile-group > span {
    display: block;
    min-height: 34px;
    padding: 2px 6px 7px;
    color: var(--evergreen-2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.3;
    text-transform: uppercase;
}

.tb-mobile .tb-mobile-solutions a {
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    font-size: 13px;
    line-height: 1.35;
}

.tb-home-solutions {
    padding-top: clamp(84px, 12vh, 140px);
}

.tb-home-solutions .head {
    max-width: 780px;
}

.tb-home-solutions .head h2.disp em {
    color: var(--evergreen-2);
}

.tb-home-solutions .head .lede {
    margin-top: 18px;
    max-width: 680px;
}

.tb-home-fit {
    position: relative;
    overflow: hidden;
}

.tb-home-fit::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    top: 5%;
    right: -260px;
    background: radial-gradient(circle, rgba(201, 242, 111, .22), rgba(191, 232, 207, .08) 45%, transparent 70%);
    pointer-events: none;
}

.tb-home-fit .wrap {
    position: relative;
}

.tb-home-fit .tbp-card {
    min-height: 238px;
}

.tb-home-fit .tbp-card .ic {
    margin-bottom: 18px;
}

.tb-home-price-link {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}

.tb-home-price-link a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--evergreen);
    font-weight: 800;
    text-decoration: none;
}

.tb-home-price-link a i {
    font-size: 12px;
    transition: transform .25s ease;
}

.tb-home-price-link a:hover i {
    transform: translateX(4px);
}

.tb-home-confidence {
    padding-top: 0;
    padding-bottom: clamp(20px, 3vh, 36px);
}

/* High-contrast secondary actions on every dark green CTA surface. */
.tb .btn-ghost.btn-on-dark,
.tb .tb-final .btn-ghost {
    color: #fff !important;
    border: 2px solid #fff;
}

.tb .btn-ghost.btn-on-dark:hover,
.tb .tb-final .btn-ghost:hover {
    color: #fff !important;
    border-color: #fff;
    background: rgba(255, 255, 255, .1);
}

.tb-home-cta {
    margin-top: 52px;
    padding: clamp(30px, 5vw, 50px);
    border-radius: var(--r-xl);
    background:
        radial-gradient(520px 240px at 90% -20%, rgba(201, 242, 111, .24), transparent 70%),
        var(--evergreen);
    color: var(--cream);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 36px;
    align-items: center;
    box-shadow: var(--shadow);
}

.tb-home-cta .eyebrow {
    color: var(--lime);
}

.tb-home-cta .eyebrow .dot {
    background: var(--lime);
}

.tb-home-cta h3 {
    color: var(--cream);
    font-size: clamp(25px, 3.2vw, 38px);
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 14px 0 10px;
    max-width: 620px;
}

.tb-home-cta p {
    color: rgba(250, 246, 239, .76);
    max-width: 660px;
}

.tb-home-cta .ctas {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.tb-home-faq {
    padding-top: clamp(36px, 5vh, 56px);
}

.tb-home-faq .tbp-head {
    max-width: 820px;
}

@media (max-width: 900px) {
    .tb-home-cta {
        grid-template-columns: 1fr;
    }

    .tb-home-cta .ctas {
        justify-content: flex-start;
    }

    .tb-home-solutions .tb-pillar .ic {
        grid-column: 1;
        grid-row: 1;
    }

    .tb-home-solutions .tb-pillar h3 {
        grid-column: 2;
        grid-row: 1;
    }

    .tb-home-solutions .tb-pillar p {
        grid-column: 2;
        grid-row: 2;
    }

    .tb-home-solutions .tb-pillar .arr {
        grid-column: 3;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 767px) {
    .tb-home-solutions {
        padding-top: 76px;
    }

    .tb-home-fit .tbp-card {
        min-height: 0;
    }

    .tb-home-cta .ctas a {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .tb-mobile-solutions .tb-mobile-groups {
        grid-template-columns: 1fr;
    }

    .tb-mobile-solutions .tb-mobile-group > span {
        min-height: 0;
        padding-top: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tb-nav-dropdown,
    .tb-nav .links .tb-nav-trigger i {
        transition: none;
    }

    .tb-home-price-link a i {
        transition: none;
    }
}
/* Keep the announcement separate from both the dark product heroes and the
   warm navigation surface while retaining the TeyaHealth green palette. */
.tb-announce {
    background: #123B30;
    color: #FAF6EF;
}

.tb-announce a {
    color: #D8F47A;
}

.tbp-hero {
    background: linear-gradient(135deg, #FAF6EF 0%, #E4EFE0 100%);
}

.tbp-hero .eyebrow,
.tbp-hero h1 {
    color: #123B30;
}

.tbp-hero h1 em {
    color: #2F6B4F;
}

.tbp-hero .eyebrow .dot {
    background: #79A85B;
}

.tbp-hero h1 em {
    text-decoration: underline;
    text-decoration-color: #B8E45C;
    text-decoration-thickness: .18em;
    text-underline-offset: .08em;
    text-decoration-skip-ink: none;
}

.tbp-hero .lede {
    color: #5C6A64;
}

.tb .tbp-hero .btn-ghost.btn-on-dark {
    border-color: rgba(18, 59, 48, .34);
    color: #123B30 !important;
}

.tb .tbp-hero .btn-ghost.btn-on-dark:hover {
    border-color: #123B30;
    background: rgba(18, 59, 48, .06);
}
