/*
 * TranslateSwift Homepage V2
 * Page-scoped editorial layout. Shared WordPress markup and integrations stay
 * intact; only the V2 preview receives these styles.
 */

body.ts-homepage-v2-page {
    background: #fff;
    color: #151817;
}

body.ts-homepage-v2-page .ts-services-mega-backdrop {
    display: none;
}

body.ts-homepage-v2-page #pre-footer {
    display: none !important;
}

/* Shared header, restyled only for the V2 preview. */
body.ts-homepage-v2-page #main-navigation {
    position: sticky;
    z-index: 10050;
    top: 0;
    overflow: visible;
    padding: 10px 0 0;
    background: transparent;
    isolation: isolate;
}

body.admin-bar.ts-homepage-v2-page #main-navigation {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar.ts-homepage-v2-page #main-navigation {
        top: 46px;
    }
}

@media (max-width: 600px) {
    body.admin-bar.ts-homepage-v2-page #main-navigation {
        top: 0;
    }
}

body.ts-homepage-v2-page #navigation,
body.ts-homepage-v2-page #navigation.affix {
    position: relative !important;
    top: auto !important;
    width: auto !important;
    overflow: visible;
}

body.ts-homepage-v2-page #navigation,
body.ts-homepage-v2-page #navigation.affix,
body.ts-homepage-v2-page #navigation .navbar {
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.ts-homepage-v2-page #navigation .navbar,
body.ts-homepage-v2-page #navigation .navbar-collapse {
    overflow: visible;
}

body.ts-homepage-v2-page #navigation #order_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin: 0;
    padding: 0 20px;
    color: #fff !important;
    font: 700 13px/1 "Open Sans", Arial, sans-serif;
    text-decoration: none;
    background: #cb264d !important;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 7px 18px rgba(203, 38, 77, .2);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

body.ts-homepage-v2-page #navigation #order_button:hover,
body.ts-homepage-v2-page #navigation #order_button:focus-visible {
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-1px);
    background: #ad1f40 !important;
    box-shadow: 0 10px 24px rgba(203, 38, 77, .28);
}

@media (min-width: 769px) {
    body.ts-homepage-v2-page #navigation .navbar > .container {
        position: relative;
        display: flex;
        align-items: center;
        width: min(1280px, calc(100% - 40px));
        max-width: 1280px;
        min-height: 62px;
        margin: 0 auto;
        padding: 7px 14px 7px 18px;
        background: rgba(255, 255, 255, .96);
        border: 1px solid rgba(42, 50, 48, .07);
        border-radius: 11px;
        box-shadow: 0 8px 24px rgba(35, 43, 41, .035);
    }

    body.ts-homepage-v2-page #navigation .navbar > .container > .row {
        display: flex;
        align-items: center;
        width: 100%;
        margin: 0;
    }

    body.ts-homepage-v2-page #navigation .navbar > .container > .row > .col-md-3 {
        float: none;
        flex: 0 0 27%;
        width: 27%;
        padding: 0;
    }

    body.ts-homepage-v2-page #navigation .navbar > .container > .row > .col-md-9 {
        float: none !important;
        flex: 1 1 auto;
        width: auto;
        padding: 0;
    }

    body.ts-homepage-v2-page #navigation .navbar-header,
    body.ts-homepage-v2-page #navigation .navbar-brand {
        margin: 0 !important;
    }

    body.ts-homepage-v2-page #navigation .navbar-brand {
        display: flex;
        align-items: center;
        height: auto;
        padding: 0;
    }

    body.ts-homepage-v2-page #navigation .navbar-brand img {
        width: 205px;
        max-width: 100%;
        height: auto;
    }

    body.ts-homepage-v2-page #navigation .navbar-collapse {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        margin: 0;
        padding: 0;
    }

    body.ts-homepage-v2-page #navigation #menu-primary-menu {
        margin: 0 12px 0 0;
    }

    body.ts-homepage-v2-page #navigation #menu-primary-menu > li > a {
        margin: 0;
        padding: 13px 10px;
        color: #424846;
        font: 500 13px/1 "Open Sans", Arial, sans-serif;
        text-decoration: none;
    }

    body.ts-homepage-v2-page #navigation #menu-primary-menu > li > a:hover,
    body.ts-homepage-v2-page #navigation #menu-primary-menu > li > a:focus-visible,
    body.ts-homepage-v2-page #navigation #menu-primary-menu > li.current-menu-item > a,
    body.ts-homepage-v2-page #navigation #menu-primary-menu > li.current_page_item > a {
        color: #cb264d;
    }

    body.ts-homepage-v2-page #navigation .ts-header-actions {
        gap: 8px;
        margin: 0;
    }

    body.ts-homepage-v2-page #navigation .ts-language-trigger {
        width: 40px;
        min-width: 40px;
        height: 40px;
        padding: 0 8px;
        border-radius: 999px;
    }

    body.ts-homepage-v2-page #navigation #main-menu-top,
    body.ts-homepage-v2-page #navigation #fixed-collapse-navbar,
    body.ts-homepage-v2-page #navigation #menu-primary-menu,
    body.ts-homepage-v2-page #navigation .menu-item-services {
        position: static;
    }

    body.ts-homepage-v2-page #navigation #sub-services {
        display: none !important;
    }

    body.ts-homepage-v2-page #navigation .menu-item-services > #nav-services {
        border-radius: 999px;
        transition: color 160ms ease, background-color 160ms ease;
    }

    body.ts-homepage-v2-page #navigation .menu-item-services:hover > #nav-services,
    body.ts-homepage-v2-page #navigation .menu-item-services:focus-within > #nav-services,
    body.ts-homepage-v2-page #navigation .menu-item-services.is-services-open > #nav-services {
        color: #1c1c1b;
        background: #f4f4ef;
    }

    body.ts-homepage-v2-page #navigation .menu-item-services > #nav-services .fa {
        transition: transform 160ms ease;
    }

    body.ts-homepage-v2-page #navigation .menu-item-services:hover > #nav-services .fa,
    body.ts-homepage-v2-page #navigation .menu-item-services:focus-within > #nav-services .fa,
    body.ts-homepage-v2-page #navigation .menu-item-services.is-services-open > #nav-services .fa {
        transform: rotate(180deg);
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega {
        position: absolute;
        z-index: 10020;
        top: calc(100% + 4px);
        right: 0;
        left: 0;
        display: block;
        width: auto;
        max-height: calc(100svh - 92px);
        margin: 0;
        overflow: auto;
        overscroll-behavior: contain;
        color: #1c1c1b;
        font-family: "Open Sans", Arial, sans-serif;
        background: #fff;
        border: 1px solid #edece8;
        border-radius: 16px;
        box-shadow: 0 1px 2px rgba(28, 28, 27, .024), 0 1px 8px rgba(28, 28, 27, .04);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-6px);
        transform-origin: top center;
        transition: opacity 150ms ease, transform 150ms ease, visibility 0s linear 150ms;
        visibility: hidden;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 100%;
        left: 0;
        height: 6px;
    }

    body.ts-homepage-v2-page #navigation .menu-item-services:hover > .ts-services-mega,
    body.ts-homepage-v2-page #navigation .menu-item-services:focus-within > .ts-services-mega,
    body.ts-homepage-v2-page #navigation .menu-item-services.is-services-open > .ts-services-mega {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
        visibility: visible;
    }

    body.ts-homepage-v2-page #navigation .menu-item-services.is-services-dismissed > .ts-services-mega {
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(-6px) !important;
        visibility: hidden !important;
    }

    body.ts-homepage-v2-page .ts-services-mega-backdrop {
        position: fixed;
        z-index: 10040;
        inset: 0;
        display: block;
        background: rgba(255, 255, 255, .58);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        opacity: 0;
        pointer-events: none;
        transition: opacity 150ms ease, visibility 0s linear 150ms;
        visibility: hidden;
    }

    body.ts-homepage-v2-page.is-services-mega-open .ts-services-mega-backdrop {
        opacity: 1;
        pointer-events: auto;
        transition-delay: 0s;
        visibility: visible;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__layout {
        display: grid;
        grid-template-columns: 212px minmax(0, 1fr);
        min-height: 374px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__rail {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 16px 14px;
        background: #fafaf7;
        border-right: 1px solid #f0efeb;
        border-radius: 15px 0 0 15px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 40px;
        margin: 0;
        padding: 0 11px;
        color: #343432;
        font: 500 14px/1 "Open Sans", Arial, sans-serif;
        text-align: left;
        background: transparent;
        border: 0;
        border-radius: 8px;
        box-shadow: none;
        cursor: pointer;
        appearance: none;
        transition: color 140ms ease, background-color 140ms ease;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab:hover,
    body.ts-homepage-v2-page #navigation .ts-services-mega__tab:focus-visible {
        color: #294853;
        background: #e9f0f2;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab.is-active,
    body.ts-homepage-v2-page #navigation .ts-services-mega__tab[aria-selected="true"] {
        color: #294853;
        background: #e9f0f2;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab:focus-visible,
    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:focus-visible,
    body.ts-homepage-v2-page #navigation .ts-services-mega__footer-link:focus-visible {
        outline: 2px solid #cb264d;
        outline-offset: 2px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab-copy {
        min-width: 0;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab-copy > span {
        display: block;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab-copy small {
        display: none;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab-arrow {
        flex: 0 0 auto;
        margin-left: 10px;
        font-size: 20px;
        font-weight: 400;
        line-height: 1;
        opacity: 0;
        transform: translateX(-3px);
        transition: opacity 140ms ease, transform 140ms ease;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__tab.is-active .ts-services-mega__tab-arrow,
    body.ts-homepage-v2-page #navigation .ts-services-mega__tab[aria-selected="true"] .ts-services-mega__tab-arrow {
        opacity: 1;
        transform: translateX(0);
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__panels {
        min-width: 0;
        padding: 18px 18px 0 30px;
        background: #fff;
        border-radius: 0 15px 15px 0;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__panel {
        display: flex;
        flex-direction: column;
        min-height: 355px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega.is-enhanced .ts-services-mega__panel[hidden] {
        display: none !important;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__panel h2 {
        margin: 0 0 10px;
        color: rgba(28, 28, 27, .63);
        font-size: 14px;
        font-weight: 400;
        line-height: 21px;
        text-transform: none;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links {
        display: grid;
        flex: 0 0 auto;
        grid-template-rows: repeat(var(--ts-mega-rows, 6), minmax(42px, auto));
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        column-gap: 34px;
        row-gap: 2px;
        align-content: start;
        min-height: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links li {
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links a {
        display: flex;
        align-items: center;
        gap: 10px;
        min-width: 0;
        min-height: 42px;
        padding: 4px 10px;
        overflow: hidden;
        color: #1c1c1b;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.45;
        text-decoration: none;
        border-radius: 8px;
        transition: color 140ms ease, background-color 140ms ease;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:hover,
    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:focus-visible {
        color: #1c1c1b;
        text-decoration: none;
        background: #e9f0f2;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__link-label {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links--country {
        flex: 0 0 auto;
        grid-template-rows: repeat(2, minmax(54px, auto));
        column-gap: 24px;
        row-gap: 2px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links--country + .ts-services-mega__footer-link {
        margin-top: auto;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links--country a {
        align-items: center;
        min-height: 54px;
        padding: 6px 10px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__link-copy {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__link-copy strong {
        color: #1c1c1b;
        font-size: 14px;
        font-weight: 650;
        line-height: 1.3;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__link-copy .ts-services-mega__link-label {
        color: rgba(28, 28, 27, .63);
        font-size: 12px;
        line-height: 1.4;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:hover .ts-services-mega__link-copy strong,
    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:focus-visible .ts-services-mega__link-copy strong {
        color: #1c1c1b;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:hover .ts-services-mega__link-copy .ts-services-mega__link-label,
    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:focus-visible .ts-services-mega__link-copy .ts-services-mega__link-label {
        color: rgba(28, 28, 27, .66);
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__flag,
    body.ts-homepage-v2-page #navigation .ts-services-mega__item-icon {
        display: inline-flex;
        flex: 0 0 26px;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 20px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__flag {
        overflow: hidden;
        font-size: 20px;
        line-height: 20px;
        border-radius: 3px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__item-icon {
        color: #536b75;
        background: #f2f5f4;
        border-radius: 5px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:hover .ts-services-mega__item-icon,
    body.ts-homepage-v2-page #navigation .ts-services-mega__links a:focus-visible .ts-services-mega__item-icon {
        color: #294853;
        background: rgba(255, 255, 255, .94);
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__item-icon svg {
        width: 15px;
        height: 15px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.6;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__footer-link {
        display: flex;
        flex: 0 0 55px;
        align-items: center;
        justify-content: flex-start;
        margin-top: auto;
        padding: 0 8px 0 0;
        color: rgba(28, 28, 27, .68);
        font-size: 14px;
        font-weight: 400;
        line-height: 21px;
        text-decoration: none;
        border-top: 1px solid #e0ded7;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__footer-link:hover {
        color: #cb264d;
        text-decoration: none;
    }
}

@media (min-width: 1024px) {
    body.ts-homepage-v2-page #navigation .navbar > .container > .row > .col-md-3 {
        flex-basis: auto;
        width: auto;
    }

    body.ts-homepage-v2-page #navigation .navbar > .container > .row > .col-md-9 {
        min-width: 0;
    }

    body.ts-homepage-v2-page #navigation #menu-primary-menu {
        margin: 0 auto;
    }
}

@media (min-width: 769px) and (max-width: 1050px) {
    body.ts-homepage-v2-page #navigation .ts-services-mega__layout {
        grid-template-columns: 184px minmax(0, 1fr);
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__panels {
        padding-right: 14px;
        padding-left: 20px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links {
        column-gap: 10px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega__links a {
        gap: 7px;
        padding-right: 6px;
        padding-left: 6px;
        font-size: 12.5px;
    }
}

/* Page foundation. */
.ts-home-v2,
.ts-home-v2 *,
.ts-home-v2 *::before,
.ts-home-v2 *::after {
    box-sizing: border-box;
}

.ts-home-v2 {
    --ts-home-primary: #3f5a67;
    --ts-home-secondary: #cb264d;
    --ts-home-eyebrow-size: 14px;
    --ts-home-ink: #151817;
    --ts-home-copy: #565d5a;
    --ts-home-muted: #7b827f;
    --ts-home-line: #e8e9e5;
    --ts-home-warm: #fbfaf6;
    --ts-home-cream: #f8f5ed;
    overflow: hidden;
    color: var(--ts-home-ink);
    font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    background: #fff;
}

.ts-home-v2 h1,
.ts-home-v2 h2,
.ts-home-v2 h3,
.ts-home-v2 p,
.ts-home-v2 ul,
.ts-home-v2 ol,
.ts-home-v2 figure,
.ts-home-v2 blockquote {
    margin: 0;
}

.ts-home-v2 ul,
.ts-home-v2 ol {
    padding: 0;
    list-style: none;
}

.ts-home-v2 img,
.ts-home-v2 svg {
    display: block;
}

.ts-home-v2 svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.ts-home-v2 a {
    color: inherit;
}

.ts-home-v2__sprite {
    position: absolute;
    left: -9999px;
    width: 0;
    height: 0;
    overflow: hidden;
}

.ts-home-v2__shell {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding-right: 28px;
    padding-left: 28px;
}

.ts-home-v2__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 49px;
    padding: 0 25px;
    color: var(--ts-home-ink) !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none !important;
    border: 1px solid transparent;
    border-radius: 999px;
    transition: transform 180ms ease, box-shadow 180ms ease, color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.ts-home-v2__button svg,
.ts-home-v2__text-link svg,
.ts-home-v2__review-summary a svg {
    width: 17px;
    height: 17px;
}

.ts-home-v2__button svg {
    margin-left: 9px;
}

.ts-home-v2__button--primary {
    color: #fff !important;
    background: #cb264d;
    box-shadow: 0 10px 22px rgba(203, 38, 77, .22);
}

.ts-home-v2__button--primary:hover,
.ts-home-v2__button--primary:focus-visible {
    color: #fff !important;
    background: #ad1f40;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(203, 38, 77, .3);
}

.ts-home-v2__button--secondary {
    background: #fff;
    border-color: #dedfdc;
}

.ts-home-v2__button--secondary:hover,
.ts-home-v2__button--secondary:focus-visible {
    color: var(--ts-home-primary) !important;
    border-color: #bfc7c8;
    transform: translateY(-1px);
}

.ts-home-v2__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 11px;
}

.ts-home-v2__center-heading {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.ts-home-v2__center-heading > p {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 700;
    letter-spacing: .03em;
}

.ts-home-v2__center-heading h2 {
    margin-top: 13px;
    font-size: clamp(38px, 4vw, 50px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__center-heading > span {
    display: block;
    max-width: 690px;
    margin: 22px auto 0;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.7;
}

/* Reusable V2 reasons / service-benefits section. */
.ts-v2-reasons {
    padding: clamp(98px, 9vw, 128px) 0;
    background: var(--ts-home-warm);
    border-top: 1px solid var(--ts-home-line);
    border-bottom: 1px solid var(--ts-home-line);
}

.ts-v2-reasons__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr);
    align-items: end;
    gap: clamp(48px, 8vw, 112px);
}

.ts-v2-reasons__heading-main::before {
    display: block;
    width: 112px;
    height: 2px;
    margin-bottom: 28px;
    content: "";
    background: linear-gradient(90deg, var(--ts-home-secondary) 0 38%, var(--ts-home-primary) 38% 72%, #c6ab6a 72% 100%);
}

.ts-v2-reasons__heading-main > p {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ts-v2-reasons__heading h2 {
    max-width: 760px;
    margin-top: 18px;
    color: var(--ts-home-ink);
    font-size: clamp(43px, 4.5vw, 60px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.052em;
    text-wrap: balance;
}

.ts-v2-reasons__heading-copy {
    max-width: 500px;
    padding-bottom: 7px;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.75;
}

.ts-v2-reasons__principles {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
    margin: 60px 0 0;
    padding: 0;
    list-style: none;
}

.ts-v2-reasons__principles li {
    position: relative;
    grid-column: span 6;
    min-width: 0;
    min-height: 264px;
    padding: 31px 34px 34px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e2e5e1;
    border-radius: 24px;
    box-shadow: 0 15px 36px rgba(50, 69, 72, .055);
}

.ts-v2-reasons__principles li:nth-child(1),
.ts-v2-reasons__principles li:nth-child(4) {
    grid-column: span 7;
}

.ts-v2-reasons__principles li:nth-child(2),
.ts-v2-reasons__principles li:nth-child(3) {
    grid-column: span 5;
}

.ts-v2-reasons__principles li:nth-child(2) {
    background: #edf4f4;
    border-color: #d9e4e3;
}

.ts-v2-reasons__principles li:nth-child(3) {
    background: #f5f1e7;
    border-color: #e8dfcd;
}

.ts-v2-reasons__principle-mark {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ts-v2-reasons__principle-mark > span {
    color: #87918d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.ts-v2-reasons__principle-mark > i {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    color: var(--ts-home-primary);
    background: rgba(255, 255, 255, .76);
    border: 1px solid #dbe4e2;
    border-radius: 50%;
    font-style: normal;
}

.ts-v2-reasons__principle-mark svg {
    width: 21px;
    height: 21px;
}

.ts-v2-reasons__principles h3 {
    max-width: 475px;
    margin-top: 40px;
    color: var(--ts-home-ink);
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.ts-v2-reasons__principles p {
    max-width: 505px;
    margin-top: 13px;
    color: var(--ts-home-copy);
    font-size: 14px;
    line-height: 1.7;
}

.ts-v2-reasons__proofs {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    align-items: stretch;
    margin-top: 22px;
    background: rgba(255, 255, 255, .6);
    border-top: 1px solid #dfe3de;
    border-bottom: 1px solid #dfe3de;
}

.ts-v2-reasons__proofs-label {
    display: flex;
    align-items: center;
    margin: 0;
    color: var(--ts-home-primary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ts-v2-reasons__proofs > ul {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.ts-v2-reasons__proofs li {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    min-height: 74px;
    padding: 14px 18px;
    color: var(--ts-home-ink);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
    border-left: 1px solid #dfe3de;
}

.ts-v2-reasons__icon {
    display: grid;
    flex: 0 0 auto;
    width: 31px;
    height: 31px;
    place-items: center;
    color: var(--ts-home-primary);
    background: #edf4f4;
    border: 1px solid #dbe4e2;
    border-radius: 50%;
}

.ts-v2-reasons__icon svg {
    width: 15px;
    height: 15px;
}

@media (max-width: 980px) {
    .ts-v2-reasons__heading {
        grid-template-columns: minmax(0, 1fr);
        gap: 25px;
    }

    .ts-v2-reasons__heading-copy {
        max-width: 720px;
        padding-bottom: 0;
    }

    .ts-v2-reasons__principles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 48px;
    }

    .ts-v2-reasons__principles li,
    .ts-v2-reasons__principles li:nth-child(n) {
        grid-column: span 1;
    }

    .ts-v2-reasons__proofs {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-v2-reasons__proofs-label {
        min-height: 54px;
        border-bottom: 1px solid #dfe3de;
    }

    .ts-v2-reasons__proofs > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ts-v2-reasons__proofs li:nth-child(3) {
        border-top: 1px solid #dfe3de;
    }

    .ts-v2-reasons__proofs li:nth-child(odd) {
        border-left: 0;
    }
}

@media (max-width: 620px) {
    .ts-v2-reasons {
        padding: 78px 0 82px;
    }

    .ts-v2-reasons__heading-main::before {
        width: 88px;
        margin-bottom: 23px;
    }

    .ts-v2-reasons__heading h2 {
        margin-top: 16px;
        font-size: clamp(38px, 11vw, 46px);
    }

    .ts-v2-reasons__heading-copy {
        font-size: 15px;
    }

    .ts-v2-reasons__principles {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-top: 39px;
    }

    .ts-v2-reasons__principles li {
        min-height: 0;
        padding: 25px 24px 27px;
        border-radius: 19px;
    }

    .ts-v2-reasons__principle-mark > i {
        width: 42px;
        height: 42px;
    }

    .ts-v2-reasons__principles h3 {
        margin-top: 31px;
        font-size: 23px;
    }

    .ts-v2-reasons__principles p {
        font-size: 13px;
    }

    .ts-v2-reasons__proofs {
        margin-top: 16px;
    }

    .ts-v2-reasons__proofs-label {
        min-height: 51px;
    }

    .ts-v2-reasons__proofs > ul {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-v2-reasons__proofs li {
        min-height: 59px;
        padding: 12px 0;
        border-top: 1px solid #dfe3de;
        border-left: 0;
    }

    .ts-v2-reasons__proofs li:first-child {
        border-top: 0;
    }
}

.ts-home-v2__text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ts-home-primary) !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.ts-home-v2__text-link:hover,
.ts-home-v2__text-link:focus-visible {
    color: var(--ts-home-secondary) !important;
}

/* Reusable order quote card. */
.ts-v2-order-quote-card {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-width: 0;
    padding: 31px 32px 29px;
    overflow: hidden;
    justify-self: end;
    background: rgba(255, 255, 255, .97);
    border: 1px solid rgba(63, 90, 103, .17);
    border-radius: 27px;
    box-shadow: 0 28px 68px rgba(32, 58, 67, .13), 0 3px 12px rgba(32, 58, 67, .05);
}

.ts-v2-order-quote-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ts-v2-order-quote-card__icon {
    display: grid;
    flex: 0 0 58px;
    place-items: center;
    width: 58px;
    height: 48px;
    color: var(--ts-home-primary);
    background: #f3f7f7;
    border: 1px solid #dbe5e4;
    border-radius: 13px;
}

.ts-v2-order-quote-card__icon svg {
    width: 25px;
    height: 25px;
}

.ts-v2-order-quote-card__icon--image img {
    display: block;
    width: auto;
    max-width: 40px;
    height: auto;
    max-height: 29px;
    object-fit: contain;
}

.ts-v2-order-quote-card__title-wrap {
    min-width: 0;
}

.ts-v2-order-quote-card__title-wrap small,
.ts-v2-order-quote-card__title-wrap h2 {
    display: block;
}

.ts-v2-order-quote-card__title-wrap small {
    color: var(--ts-home-secondary);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ts-v2-order-quote-card__title-wrap h2 {
    margin: 3px 0 0;
    color: var(--ts-home-ink);
    font-size: 22px;
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.ts-v2-order-quote-card__intro {
    margin-top: 19px;
    color: #646e6a;
    font-size: 12px;
    line-height: 1.65;
}

.ts-v2-order-quote-card__form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px 13px;
    margin-top: 23px;
}

.ts-v2-order-quote-card__field {
    display: block;
    min-width: 0;
    margin: 0;
    color: #36413e;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.ts-v2-order-quote-card__field--email {
    grid-column: 1 / -1;
}

.ts-v2-order-quote-card__field > span {
    display: block;
    margin-bottom: 7px;
}

.ts-v2-order-quote-card__field input,
.ts-v2-order-quote-card__field select {
    display: block;
    width: 100%;
    min-width: 0;
    height: 48px;
    margin: 0;
    padding: 0 13px;
    color: #222b28;
    font: 500 13px/1.2 "Open Sans", Arial, sans-serif;
    background-color: #fbfcfb;
    border: 1px solid #d8e0de;
    border-radius: 10px;
    box-shadow: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.ts-v2-order-quote-card__field input::placeholder {
    color: #929a97;
    opacity: 1;
}

.ts-v2-order-quote-card__field input:hover,
.ts-v2-order-quote-card__field select:hover {
    border-color: #bcc9c6;
}

.ts-v2-order-quote-card__field input:focus,
.ts-v2-order-quote-card__field select:focus {
    outline: 0;
    background: #fff;
    border-color: var(--ts-home-secondary);
    box-shadow: 0 0 0 3px rgba(203, 38, 77, .12);
}

.ts-v2-order-quote-card__certification {
    grid-column: 1 / -1;
    min-width: 0;
    margin: 1px 0 0;
    padding: 0;
    border: 0;
}

.ts-v2-order-quote-card__certification legend {
    width: 100%;
    margin: 0 0 7px;
    padding: 0;
    color: #36413e;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.ts-v2-order-quote-card__certification-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.ts-v2-order-quote-card__certification-option {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 49px;
    margin: 0;
    padding: 8px 10px;
    color: #2d3834;
    background: #fbfcfb;
    border: 1px solid #d8e0de;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.ts-v2-order-quote-card__certification-option[hidden] {
    display: none;
}

.ts-v2-order-quote-card__certification-option:hover {
    border-color: #bcc9c6;
}

.ts-v2-order-quote-card__certification-option:has(input:checked) {
    background: #fff7f9;
    border-color: rgba(203, 38, 77, .58);
    box-shadow: inset 0 0 0 1px rgba(203, 38, 77, .08);
}

.ts-v2-order-quote-card__certification-option:has(input:focus-visible) {
    border-color: var(--ts-home-secondary);
    outline: 2px solid var(--ts-home-secondary);
    outline-offset: 2px;
}

.ts-v2-order-quote-card__certification-option input {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--ts-home-secondary);
}

.ts-v2-order-quote-card__certification-copy,
.ts-v2-order-quote-card__certification-name {
    display: block;
    min-width: 0;
}

.ts-v2-order-quote-card__certification-name {
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.35;
}

.ts-v2-order-quote-card__certification-recommended {
    display: block;
    margin-top: 2px;
    color: var(--ts-home-secondary);
    font-size: 8px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.ts-v2-order-quote-card__certification-recommended[hidden] {
    display: none;
}

.ts-v2-order-quote-card__submit {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 3px;
    cursor: pointer;
    background: linear-gradient(135deg, #45c878, #179956);
    box-shadow: 0 12px 28px rgba(23, 153, 86, .22);
}

.ts-v2-order-quote-card__submit:hover,
.ts-v2-order-quote-card__submit:focus-visible {
    background: linear-gradient(135deg, #3fbd70, #12854a);
    box-shadow: 0 15px 30px rgba(23, 153, 86, .3);
}

.ts-v2-order-quote-card__submit:disabled {
    cursor: wait;
    opacity: .72;
}

.ts-v2-order-quote-card :is(a, button, input, select):focus-visible {
    outline: 2px solid var(--ts-home-secondary);
    outline-offset: 3px;
}

.ts-v2-order-quote-card .ts-v2-order-quote-card__submit:focus-visible {
    outline-color: #179956;
}

@media (max-width: 1160px) {
    .ts-v2-order-quote-card {
        padding-right: 28px;
        padding-left: 28px;
    }
}

@media (max-width: 1000px) {
    .ts-v2-order-quote-card {
        width: min(680px, 100%);
        max-width: 680px;
        margin: 0 auto;
        justify-self: center;
    }
}

@media (max-width: 620px) {
    .ts-v2-order-quote-card {
        padding: 25px 23px 23px;
        border-radius: 21px;
    }

    .ts-v2-order-quote-card__form {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .ts-v2-order-quote-card__field,
    .ts-v2-order-quote-card__field--email,
    .ts-v2-order-quote-card__certification,
    .ts-v2-order-quote-card__submit {
        grid-column: 1;
    }

    .ts-v2-order-quote-card__certification-options {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 390px) {
    .ts-v2-order-quote-card__title-wrap h2 {
        font-size: 20px;
    }
}

/* Hero. */
.ts-home-v2__hero {
    position: relative;
    padding: 75px 0 34px;
    background: linear-gradient(135deg, #fbfaf7 0%, #fdfdfb 52%, #f5f7f4 100%);
    border-radius: 0 0 52px 52px;
}

.ts-home-v2__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(540px, 1.08fr);
    align-items: center;
    gap: 76px;
    min-height: 548px;
}

.ts-home-v2__hero-copy {
    max-width: 575px;
}

.ts-home-v2__hero h1 {
    max-width: 570px;
    color: var(--ts-home-ink);
    font-size: clamp(52px, 5.1vw, 66px);
    font-weight: 500;
    line-height: 1.015;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.ts-home-v2__title-line {
    display: inline-block;
    white-space: nowrap;
}

.ts-home-v2__hero h1 .ts-home-v2__title-accent {
    display: block;
    color: transparent;
    background: linear-gradient(90deg, var(--ts-home-primary) 0%, #7a425b 52%, var(--ts-home-secondary) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.ts-home-v2__lead {
    max-width: 555px;
    margin-top: 28px !important;
    color: #4f5653;
    font-size: 17px;
    line-height: 1.7;
}

.ts-home-v2__lead > p + p {
    margin-top: 14px;
}

.ts-home-v2__hero .ts-home-v2__actions {
    margin-top: 29px;
}

.ts-home-v2__rating {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 9px;
    margin-top: 25px;
    color: #424845 !important;
    font-size: 12.5px;
    text-decoration: none !important;
}

.ts-home-v2__rating--hero-top {
    align-items: flex-end;
    flex-wrap: nowrap;
    width: max-content;
    max-width: none;
    margin: 0 0 25px;
}

.ts-home-v2__rating-brand {
    display: grid;
    justify-items: start;
    gap: 6px;
}

.ts-home-v2__rating-score {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.ts-home-v2__rating-stars {
    color: #e4b54f;
    font-size: 21px;
    letter-spacing: 1.4px;
    line-height: 1;
}

.ts-home-v2__rating-average {
    color: var(--ts-home-primary);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

.ts-home-v2__rating-copy,
.ts-home-v2__rating-reviews {
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.ts-home-v2__rating-proof {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding-bottom: 2px;
    white-space: nowrap;
}

.ts-home-v2__rating-separator {
    color: #a1a6a2;
}

@media (max-width: 620px) {
    .ts-home-v2__rating--hero-top {
        flex-wrap: wrap;
        width: auto;
        max-width: 100%;
    }

    .ts-home-v2__rating--hero-top .ts-home-v2__rating-proof {
        flex-wrap: wrap;
        white-space: normal;
    }

    .ts-home-v2__rating-separator {
        display: none;
    }
}

.ts-home-v2__rating-trustpilot {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #191c1a;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.ts-home-v2__rating-trustpilot b {
    color: #00b67a;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
}

@media (min-width: 1081px) and (max-width: 1240px) {
    .ts-home-v2__rating--hero-top {
        gap: 5px 6px;
        font-size: 10.5px;
    }

    .ts-home-v2__rating--hero-top .ts-home-v2__rating-stars {
        font-size: 19px;
        letter-spacing: 1px;
    }

    .ts-home-v2__rating--hero-top .ts-home-v2__rating-proof {
        gap: 6px;
    }

    .ts-home-v2__rating--hero-top .ts-home-v2__rating-trustpilot {
        gap: 3px;
        font-size: 10.5px;
    }

    .ts-home-v2__rating--hero-top .ts-home-v2__rating-trustpilot b {
        font-size: 15px;
    }
}

.ts-home-v2__rating i,
.ts-home-v2__review-summary i {
    width: 1px;
    height: 15px;
    background: #d8dad6;
}

.ts-home-v2__hero-collage {
    position: relative;
    height: 555px;
    isolation: isolate;
}

.ts-home-v2__hero-collage::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(92%, 520px);
    aspect-ratio: 1;
    content: "";
    background:
        radial-gradient(circle, transparent 0 45%, rgba(203, 38, 77, .17) 45.2% 45.7%, transparent 46%),
        radial-gradient(circle, transparent 0 63%, rgba(63, 90, 103, .14) 63.2% 63.8%, transparent 64%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.ts-home-v2__hero-photo {
    position: absolute;
    aspect-ratio: 1;
    margin: 0;
    overflow: hidden;
    background: #e9ece7;
    border: 9px solid var(--ts-home-warm);
    border-radius: 50%;
    box-shadow: 0 22px 52px rgba(35, 48, 49, .16);
}

.ts-home-v2__hero-photo::after {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: "";
    background: linear-gradient(180deg, transparent 62%, rgba(16, 24, 22, .08));
}

.ts-home-v2__hero-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ts-home-v2__hero-photo--portrait {
    z-index: 2;
    top: 14%;
    left: 0;
    width: 61%;
}

.ts-home-v2__hero-photo--portrait img {
    object-position: 28% 50%;
}

.ts-home-v2__hero-photo--homepage-portrait img {
    object-position: 74% 48%;
    transform: scale(1.14);
}

.ts-home-v2__hero-photo--upload {
    z-index: 3;
    top: 0;
    right: 0;
    width: 43%;
    box-shadow: 0 18px 44px rgba(35, 48, 49, .14), 0 0 0 1px rgba(203, 38, 77, .12);
}

.ts-home-v2__hero-photo--upload img {
    object-position: center 49%;
}

.ts-home-v2__hero-photo--city {
    z-index: 3;
    right: 4%;
    bottom: 0;
    width: 38%;
    box-shadow: 0 18px 44px rgba(35, 48, 49, .14), 0 0 0 1px rgba(63, 90, 103, .18);
}

.ts-home-v2__hero-photo--city img {
    object-position: center 52%;
}

.ts-home-v2__hero-proof {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 26px;
    margin-top: 56px;
    padding-top: 29px;
    border-top: 1px solid #e2e1dc;
}

.ts-home-v2__hero-proof > div {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.ts-home-v2__hero-proof svg {
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    color: var(--ts-home-primary);
}

.ts-home-v2__hero-proof .ts-home-v2__hero-proof-approval,
.ts-home-v2__hero-proof .ts-home-v2__hero-proof-approval svg,
.ts-home-v2__hero-proof .ts-home-v2__hero-proof-approval strong {
    color: #087a55;
}

.ts-home-v2__hero-proof strong,
.ts-home-v2__hero-proof small {
    display: block;
}

.ts-home-v2__hero-proof strong {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.ts-home-v2__hero-proof small {
    margin-top: 2px;
    color: #868b88;
    font-size: 10px;
    line-height: 1.4;
}

/* Services. */
.ts-home-v2__services {
    padding: 132px 0 118px;
    background: #fff;
}

.ts-home-v2__service-heading {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(320px, .65fr);
    align-items: end;
    gap: 82px;
}

.ts-home-v2__service-heading > div > p {
    color: var(--ts-home-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ts-home-v2__service-heading h2 {
    max-width: 650px;
    margin-top: 17px;
    color: var(--ts-home-ink);
    font-size: clamp(40px, 4.2vw, 54px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.04em;
}

.ts-home-v2__service-heading > span {
    max-width: 520px;
    padding-bottom: 5px;
    color: var(--ts-home-copy);
    font-size: 15px;
    line-height: 1.72;
}

.ts-home-v2__service-board {
    display: grid;
    grid-template-columns: minmax(290px, .68fr) minmax(0, 1.8fr);
    gap: 18px;
    margin-top: 54px;
    padding: 16px;
    background: #eef3f4;
    border: 1px solid #dce5e7;
    border-radius: 30px;
    box-shadow: 0 22px 55px rgba(46, 69, 78, .055);
}

.ts-home-v2__service-guide {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 36px 32px;
    color: #fff;
    background: linear-gradient(155deg, #496773 0%, #36535f 52%, #294651 100%);
    border-top: 4px solid var(--ts-home-secondary);
    border-radius: 22px;
}

.ts-home-v2__service-guide > p {
    color: #ffc5d3;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ts-home-v2__service-guide h3 {
    max-width: 300px;
    margin-top: 18px;
    color: #fff;
    font-size: clamp(30px, 2.7vw, 38px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.ts-home-v2__service-guide > span {
    max-width: 310px;
    margin-top: 22px;
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
    line-height: 1.72;
}

.ts-home-v2__service-guide ul {
    display: grid;
    gap: 16px;
    margin-top: auto;
    padding-top: 38px;
}

.ts-home-v2__service-guide li {
    display: flex;
    align-items: center;
    gap: 11px;
    color: rgba(255, 255, 255, .9);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}

.ts-home-v2__service-guide li svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: #78d89b;
}

.ts-home-v2__service-routes {
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce5e7;
    border-radius: 22px;
}

.ts-home-v2__service-route {
    position: relative;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) minmax(215px, auto);
    align-items: center;
    gap: 20px;
    min-width: 0;
    padding: 29px 28px;
    color: var(--ts-home-ink);
    background: #fff;
}

.ts-home-v2__service-route + .ts-home-v2__service-route {
    border-top: 1px solid #e2e8e9;
}

.ts-home-v2__service-route--certified {
    background: linear-gradient(90deg, #fff7f9 0%, #fff 34%);
    box-shadow: inset 4px 0 var(--ts-home-secondary);
}

.ts-home-v2__service-route--standard {
    box-shadow: inset 4px 0 var(--ts-home-primary);
}

.ts-home-v2__service-route--law {
    color: var(--ts-home-ink) !important;
    text-decoration: none !important;
    background: #fff4f7;
    box-shadow: inset 4px 0 var(--ts-home-secondary);
    transition: background-color 180ms ease;
}

.ts-home-v2__service-route--law:hover,
.ts-home-v2__service-route--law:focus-visible {
    color: var(--ts-home-ink) !important;
    background: #ffedf2;
}

.ts-home-v2__route-icon {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: var(--ts-home-secondary);
    background: #ffe8ef;
    border: 1px solid #f3c2cf;
    border-radius: 14px;
}

.ts-home-v2__service-route--standard .ts-home-v2__route-icon {
    color: var(--ts-home-primary);
    background: #edf3f5;
    border-color: #cfdde1;
}

.ts-home-v2__route-icon svg {
    width: 21px;
    height: 21px;
}

.ts-home-v2__route-copy {
    min-width: 0;
}

.ts-home-v2__route-copy > p {
    color: var(--ts-home-secondary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ts-home-v2__service-route--standard .ts-home-v2__route-copy > p {
    color: var(--ts-home-primary);
}

.ts-home-v2__route-copy h3 {
    margin-top: 6px;
    color: var(--ts-home-ink);
    font-size: 25px;
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.ts-home-v2__route-copy > span {
    display: block;
    max-width: 510px;
    margin-top: 7px;
    color: var(--ts-home-copy);
    font-size: 13px;
    line-height: 1.55;
}

.ts-home-v2__route-copy ul {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 15px;
    margin-top: 13px;
}

.ts-home-v2__route-copy li {
    position: relative;
    padding-left: 12px;
    color: #5a686d;
    font-size: 10px;
    line-height: 1.4;
}

.ts-home-v2__route-copy li::before {
    position: absolute;
    top: .55em;
    left: 0;
    width: 5px;
    height: 5px;
    content: "";
    background: #179956;
    border-radius: 50%;
}

.ts-home-v2__route-decision {
    display: grid;
    justify-items: end;
    gap: 15px;
    min-width: 215px;
}

.ts-home-v2__route-decision > p {
    text-align: right;
}

.ts-home-v2__route-decision small,
.ts-home-v2__route-decision strong,
.ts-home-v2__route-decision > p > span {
    display: block;
}

.ts-home-v2__route-decision small {
    color: #788387;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ts-home-v2__route-decision strong {
    margin-top: 2px;
    color: var(--ts-home-primary);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.025em;
}

.ts-home-v2__route-decision > p > span {
    margin-top: 3px;
    color: #7b8589;
    font-size: 10px;
}

.ts-home-v2__route-decision > div {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
}

.ts-home-v2__route-primary,
.ts-home-v2__route-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 15px;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none !important;
    border: 1px solid transparent;
    border-radius: 999px;
    transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.ts-home-v2__route-primary {
    color: #fff !important;
    background: var(--ts-home-secondary);
    border-color: var(--ts-home-secondary);
    box-shadow: 0 8px 18px rgba(203, 38, 77, .18);
}

.ts-home-v2__route-secondary {
    color: var(--ts-home-primary) !important;
    background: #fff;
    border-color: #cbd9de;
}

.ts-home-v2__route-primary:hover,
.ts-home-v2__route-primary:focus-visible,
.ts-home-v2__route-secondary:hover,
.ts-home-v2__route-secondary:focus-visible {
    transform: translateY(-1px);
}

.ts-home-v2__route-primary:hover,
.ts-home-v2__route-primary:focus-visible {
    color: #fff !important;
    background: #b92146;
    border-color: #b92146;
    box-shadow: 0 11px 22px rgba(203, 38, 77, .25);
}

.ts-home-v2__route-secondary:hover,
.ts-home-v2__route-secondary:focus-visible {
    color: var(--ts-home-primary) !important;
    background: #f4f7f8;
    border-color: var(--ts-home-primary);
}

.ts-home-v2__route-link {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    gap: 9px;
    min-height: 44px;
    padding: 0 17px;
    color: var(--ts-home-primary);
    font-size: 11px;
    font-weight: 750;
    background: #fff;
    border: 1px solid #edbac7;
    border-radius: 999px;
}

.ts-home-v2__route-link svg {
    width: 16px;
    height: 16px;
}

/* Original dark service layout retained for visible V2 comparison. */
.ts-home-v2__service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 59px;
}

.ts-home-v2__service-card {
    position: relative;
    min-height: 340px;
    overflow: hidden;
    padding: 29px 30px 26px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(22, 28, 27, .08);
}

.ts-home-v2__service-card::after {
    position: absolute;
    right: -120px;
    bottom: -180px;
    width: 400px;
    height: 400px;
    pointer-events: none;
    content: "";
    background: radial-gradient(circle, rgba(255, 255, 255, .12), transparent 65%);
}

.ts-home-v2__service-card--certified {
    background:
        radial-gradient(circle at 4% 100%, rgba(185, 118, 54, .25), transparent 35%),
        linear-gradient(135deg, #1d2221 0%, #303433 58%, #354d56 100%);
}

.ts-home-v2__service-card--standard {
    background:
        radial-gradient(circle at 100% 2%, rgba(123, 151, 117, .33), transparent 34%),
        linear-gradient(135deg, #3f5a67 0%, #4c6259 48%, #26363a 100%);
}

.ts-home-v2__service-top {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
}

.ts-home-v2__service-top h3 {
    color: #fff;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.03em;
}

.ts-home-v2__service-top > div > p {
    max-width: 410px;
    margin-top: 8px;
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
    line-height: 1.55;
}

.ts-home-v2__price {
    min-width: 122px;
    text-align: right;
}

.ts-home-v2__price strong,
.ts-home-v2__price span {
    display: block;
}

.ts-home-v2__price strong {
    color: #fff;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.ts-home-v2__price span {
    margin-top: 2px;
    color: rgba(255, 255, 255, .66);
    font-size: 10px;
}

.ts-home-v2__service-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 23px;
}

.ts-home-v2__service-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    padding: 0 18px;
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.ts-home-v2__service-actions a:first-child {
    color: #1c211f !important;
    background: #fff;
    border-color: #fff;
}

.ts-home-v2__service-actions a:hover,
.ts-home-v2__service-actions a:focus-visible {
    color: #1c211f !important;
    background: #fff;
    border-color: #fff;
}

.ts-home-v2__service-card > ul {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 9px;
    margin-top: 24px;
    padding-top: 19px;
    border-top: 1px solid rgba(255, 255, 255, .13);
}

.ts-home-v2__service-card > ul li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: rgba(255, 255, 255, .84);
    font-size: 11px;
    line-height: 1.45;
}

.ts-home-v2__service-card > ul svg {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    margin-top: 1px;
    color: #dcebe0;
}

.ts-home-v2__business-band {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 38px;
    min-height: 106px;
    margin-top: 23px;
    padding: 23px 28px;
    overflow: hidden;
    color: #fff !important;
    text-decoration: none !important;
    background: linear-gradient(105deg, #274d68 0%, #263539 36%, #202322 100%);
    border-radius: 15px;
    box-shadow: 0 7px 20px rgba(25, 34, 34, .06);
}

.ts-home-v2__business-band::after {
    position: absolute;
    right: 12%;
    bottom: -150px;
    width: 320px;
    height: 320px;
    content: "";
    background: radial-gradient(circle, rgba(69, 200, 120, .12), transparent 67%);
}

.ts-home-v2__business-band span,
.ts-home-v2__business-band b {
    position: relative;
    z-index: 1;
}

.ts-home-v2__business-band strong,
.ts-home-v2__business-band small {
    display: block;
}

.ts-home-v2__business-band strong {
    font-size: 17px;
    font-weight: 600;
}

.ts-home-v2__business-band small {
    max-width: 650px;
    margin-top: 5px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    line-height: 1.5;
}

.ts-home-v2__business-band b {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
}

.ts-home-v2__business-band svg {
    width: 16px;
    height: 16px;
}

/* Simpler TranslateSwift alternative shown beneath the original for comparison. */
.ts-home-v2__simple-services {
    padding: 116px 0 132px;
    background: #f5f8f8;
    border-top: 1px solid #e5ebeb;
}

.ts-home-v2__simple-heading {
    max-width: 790px;
    margin: 0 auto;
    text-align: center;
}

.ts-home-v2__simple-heading > p {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ts-home-v2__simple-heading h2 {
    margin-top: 17px;
    color: var(--ts-home-ink);
    font-size: clamp(40px, 4.2vw, 52px);
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -.04em;
}

.ts-home-v2__simple-heading > span {
    display: block;
    max-width: 680px;
    margin: 22px auto 0;
    color: var(--ts-home-copy);
    font-size: 15px;
    line-height: 1.7;
}

.ts-home-v2__simple-frame {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 55px;
}

.ts-home-v2__simple-route {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-width: 0;
    min-height: 355px;
    padding: 38px 40px 34px;
    background: #fff;
    border: 1px solid #dce5e6;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(46, 69, 78, .055);
}

.ts-home-v2__simple-route-top {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px 18px;
}

.ts-home-v2__simple-route-heading {
    display: flex;
    align-items: center;
    flex: 1 1 280px;
    min-width: 0;
    gap: 15px;
}

.ts-home-v2__simple-route-heading > span,
.ts-home-v2__simple-law-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    color: var(--ts-home-secondary);
    background: #ffe8ef;
    border: 1px solid #f1c0cc;
    border-radius: 14px;
}

.ts-home-v2__simple-route--certified .ts-home-v2__simple-route-heading > span,
.ts-home-v2__simple-route--standard .ts-home-v2__simple-route-heading > span {
    color: var(--ts-home-primary);
    background: #edf3f5;
    border-color: #cedce0;
}

.ts-home-v2__simple-route-heading svg,
.ts-home-v2__simple-law-icon svg {
    width: 21px;
    height: 21px;
}

.ts-home-v2__simple-route-heading p,
.ts-home-v2__simple-law small {
    color: var(--ts-home-secondary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ts-home-v2__simple-route-heading h3 {
    margin-top: 4px;
    color: var(--ts-home-ink);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -.03em;
}

.ts-home-v2__simple-route > p {
    max-width: 470px;
    margin-top: 23px;
    color: var(--ts-home-copy);
    font-size: 14px;
    line-height: 1.65;
}

.ts-home-v2__simple-copy {
    margin-top: 25px;
}

.ts-home-v2__simple-copy > p {
    max-width: 470px;
    color: var(--ts-home-copy);
    font-size: 14px;
    line-height: 1.65;
}

.ts-home-v2__simple-copy > .ts-home-v2__simple-features {
    display: grid;
    gap: 12px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e3e9ea;
}

.ts-home-v2__simple-features li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: var(--ts-home-copy);
    font-size: 13px;
    line-height: 1.55;
}

.ts-home-v2__simple-features svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    color: var(--ts-home-primary);
}

.ts-home-v2__simple-price {
    display: flex;
    align-items: flex-end;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2px;
    min-width: 88px;
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
}

.ts-home-v2__simple-price small,
.ts-home-v2__simple-price span {
    color: #788387;
    font-size: 10px;
    line-height: 1.25;
}

.ts-home-v2__simple-price strong {
    color: var(--ts-home-primary);
    font-size: 27px;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.03em;
}

.ts-home-v2__simple-route-meta {
    display: grid;
    flex: 0 0 auto;
    justify-items: end;
    gap: 10px;
    margin-left: auto;
}

.ts-home-v2__simple-route-meta .ts-home-v2__simple-price {
    margin-left: 0;
}

.ts-home-v2__simple-guarantee {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #087a55;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.25;
    white-space: nowrap;
}

.ts-home-v2__simple-guarantee svg {
    width: 16px;
    height: 16px;
    color: currentColor;
}

.ts-home-v2__simple-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 31px;
    padding-top: 22px;
    border-top: 1px solid #e3e9ea;
}

.ts-home-v2__simple-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    color: var(--ts-home-primary);
    font-size: 12px;
    font-weight: 750;
    text-decoration: none !important;
}

.ts-home-v2__simple-actions .ts-home-v2__simple-primary {
    justify-content: center;
    padding: 0 21px;
    color: #fff !important;
    background: var(--ts-home-secondary);
    border: 1px solid var(--ts-home-secondary);
    border-radius: 999px;
    box-shadow: 0 9px 20px rgba(203, 38, 77, .2);
}

.ts-home-v2__simple-primary:hover,
.ts-home-v2__simple-primary:focus-visible {
    background: #b92146;
    border-color: #b92146;
}

.ts-home-v2__simple-law {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    min-height: 118px;
    padding: 24px 31px;
    color: var(--ts-home-ink) !important;
    text-decoration: none !important;
    background: #fff1f4;
    border-top: 1px solid #f0c7d1;
}

.ts-home-v2__simple-law > span:nth-child(2) {
    min-width: 0;
}

.ts-home-v2__simple-law strong,
.ts-home-v2__simple-law b {
    display: block;
}

.ts-home-v2__simple-law strong {
    margin-top: 3px;
    color: var(--ts-home-ink);
    font-size: 19px;
    font-weight: 600;
}

.ts-home-v2__simple-law b {
    margin-top: 5px;
    color: var(--ts-home-copy);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

.ts-home-v2__simple-law em {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 18px;
    color: var(--ts-home-primary);
    font-size: 11px;
    font-style: normal;
    font-weight: 750;
    background: #fff;
    border: 1px solid #e8b6c3;
    border-radius: 999px;
}

.ts-home-v2__simple-law em svg {
    width: 16px;
    height: 16px;
}

.ts-home-v2__standards {
    margin-top: 38px;
    text-align: center;
}

.ts-home-v2__standards p {
    display: grid;
    grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
    align-items: center;
    gap: 24px;
    color: #8b908d;
    font-size: 11px;
}

.ts-home-v2__standards p span {
    height: 1px;
    background: #e5e6e2;
}

.ts-home-v2__standards img {
    width: auto;
    height: auto;
    max-width: min(720px, 94%);
    max-height: 76px;
    margin: 30px auto 0;
    object-fit: contain;
    opacity: 1;
    filter: none;
}

/* Languages, documents and use cases. */
.ts-home-v2__offer {
    padding: 118px 0 68px;
    background: #fff;
}

.ts-home-v2__split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 118px;
    min-height: 470px;
}

.ts-home-v2__split-copy {
    max-width: 510px;
}

.ts-home-v2__split-copy h2 {
    font-size: clamp(39px, 4vw, 51px);
    font-weight: 500;
    line-height: 1.07;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__split-copy p {
    margin-top: 25px;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.72;
}

.ts-home-v2__split-copy .ts-home-v2__text-link {
    margin-top: 25px;
}

.ts-home-v2__document-visual {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    border-radius: 18px;
}

/* Branded document-to-language route. */
.ts-home-v2__language-route + .ts-home-v2__split--documents {
    margin-top: 160px;
}

.ts-home-v2__language-route-panel {
    position: relative;
    overflow: visible;
    padding: 0;
    color: var(--ts-home-ink);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.ts-home-v2__language-route-heading {
    max-width: 790px;
    margin: 0 auto;
    text-align: center;
}

.ts-home-v2__language-route-heading > p {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: none;
}

.ts-home-v2__language-route-heading h2 {
    margin-top: 14px;
    color: var(--ts-home-ink);
    font-size: clamp(38px, 4.4vw, 56px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__language-route-heading > span {
    display: block;
    max-width: 680px;
    margin: 22px auto 0;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.72;
}

.ts-home-v2__language-route-heading .ts-home-v2__text-link {
    margin-top: 28px;
}

.ts-home-v2__language-journey {
    width: min(100%, 1040px);
    margin: 56px auto 0;
    padding: 0;
}

.ts-home-v2__language-destinations {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(4, auto);
    grid-auto-flow: column;
    gap: 20px 36px;
    width: 100%;
    margin: 0 auto;
}

.ts-home-v2__language-destinations li {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    justify-self: center;
    gap: 10px;
    width: min(100%, 172px);
    min-width: 0;
    text-align: left;
}

.ts-home-v2__language-flag {
    display: inline-grid;
    place-items: center;
    width: 28px;
    min-width: 28px;
    height: 21px;
    color: initial;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
}

.ts-home-v2__language-name {
    display: grid;
    justify-items: start;
    min-width: 0;
}

.ts-home-v2__language-native {
    justify-self: start;
    color: var(--ts-home-ink);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.25;
    unicode-bidi: isolate;
}

.ts-home-v2__language-destinations small {
    margin-top: 2px;
    color: var(--ts-home-copy);
    font-size: 11px;
    line-height: 1.3;
}

.ts-home-v2__split--documents .ts-home-v2__document-visual {
    grid-column: 1;
    grid-row: 1;
}

.ts-home-v2__split--documents .ts-home-v2__split-copy {
    grid-column: 2;
    grid-row: 1;
}

.ts-home-v2__document-visual {
    display: flex;
    align-items: center;
    padding: 56px;
    background: #e9f0f6;
    border: 1px solid #e0e8ed;
}

.ts-home-v2__document-visual::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(130deg, rgba(218, 232, 246, .74), rgba(238, 243, 249, .92));
}

.ts-home-v2__document-visual > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.7);
}

.ts-home-v2__document-visual ul {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
}

.ts-home-v2__document-visual li {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 49px;
    padding: 9px 14px;
    color: #3b4341;
    font-size: 12px;
    font-weight: 600;
    background: rgba(255, 255, 255, .93);
    border: 1px solid rgba(255, 255, 255, .94);
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(63, 90, 103, .06);
}

.ts-home-v2__document-visual li svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: var(--ts-home-primary);
}

/* Alternative document register: an open, brand-led editorial index. */
.ts-home-v2__document-register {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    align-items: center;
    gap: clamp(54px, 8vw, 104px);
    min-height: 470px;
    margin-top: 160px;
}

.ts-home-v2__document-register::before,
.ts-home-v2__document-register::after {
    position: absolute;
    left: 50%;
    width: 100vw;
    height: 1px;
    content: "";
    background: var(--ts-home-line);
    transform: translateX(-50%);
}

.ts-home-v2__document-register::before {
    top: 0;
}

.ts-home-v2__document-register::after {
    bottom: 0;
}

.ts-home-v2__document-register-copy {
    max-width: 510px;
}

.ts-home-v2__document-register-eyebrow {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ts-home-v2__document-register-copy h2 {
    margin-top: 14px;
    font-size: clamp(39px, 4vw, 51px);
    font-weight: 500;
    line-height: 1.07;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__document-register-copy > .ts-home-v2__document-register-description {
    margin-top: 22px;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.72;
}

.ts-home-v2__document-register-copy .ts-home-v2__text-link {
    margin-top: 25px;
}

.ts-home-v2__document-register-index {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 22px 24px 25px;
    background: radial-gradient(ellipse at center, rgba(233, 240, 242, .62) 0%, rgba(255, 255, 255, 0) 72%);
    isolation: isolate;
}

.ts-home-v2__document-register-index::before,
.ts-home-v2__document-register-index::after {
    position: absolute;
    z-index: 0;
    top: 50%;
    width: 176px;
    aspect-ratio: 1092 / 1544;
    pointer-events: none;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border: 1px solid rgba(63, 90, 103, .16);
    border-radius: 7px;
    box-shadow: 0 15px 34px rgba(63, 90, 103, .1);
    filter: grayscale(1);
    opacity: .065;
}

.ts-home-v2__document-register-index::before {
    left: 18%;
    background-image: url("../images/immigration-samples/uk-certified-translation-example.png");
    transform: translateY(-50%) rotate(-6deg);
}

.ts-home-v2__document-register-index::after {
    right: 14%;
    background-image: url("../images/immigration-samples/academic-transcript-translation-sample.png");
    transform: translateY(-50%) rotate(6deg);
}

.ts-home-v2__document-register-list {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
}

.ts-home-v2__document-register-list li {
    border-bottom: 1px solid var(--ts-home-line);
}

.ts-home-v2__document-register-list li > a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 68px;
    padding: 0 6px;
    color: var(--ts-home-ink) !important;
    text-decoration: none !important;
}

.ts-home-v2__document-register-list li > a > svg {
    width: 20px;
    height: 20px;
    color: var(--ts-home-primary);
    transition: color 160ms ease;
}

.ts-home-v2__document-register-list li > a > strong {
    min-width: 0;
    color: var(--ts-home-ink);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
    transition: color 160ms ease;
}

.ts-home-v2__document-register-list li > a:hover > svg,
.ts-home-v2__document-register-list li > a:focus-visible > svg,
.ts-home-v2__document-register-list li > a:hover > strong,
.ts-home-v2__document-register-list li > a:focus-visible > strong {
    color: var(--ts-home-secondary);
}

.ts-home-v2__document-register-list li > a:focus-visible {
    outline: 3px solid var(--ts-home-secondary);
    outline-offset: -3px;
}

/* Purpose pathways: a compact image route map. */
.ts-home-v2__purpose {
    position: relative;
    margin-top: 166px;
    padding: 82px 0;
}

.ts-home-v2__purpose::before,
.ts-home-v2__purpose::after {
    position: absolute;
    left: 50%;
    width: 100vw;
    height: 1px;
    content: "";
    background: var(--ts-home-line);
    transform: translateX(-50%);
}

.ts-home-v2__purpose::before {
    top: 0;
}

.ts-home-v2__purpose::after {
    bottom: 0;
}

.ts-home-v2__process + .ts-home-v2__purpose {
    margin-top: 0;
}

.ts-home-v2__purpose-layout {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(58px, 8vw, 108px);
}

.ts-home-v2__purpose-intro {
    display: block;
    max-width: 470px;
    padding-top: 8px;
}

.ts-home-v2__purpose-intro > div {
    max-width: none;
}

.ts-home-v2__purpose-eyebrow {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ts-home-v2__purpose-intro h2 {
    margin-top: 14px;
    font-size: clamp(39px, 4vw, 51px);
    font-weight: 500;
    line-height: 1.07;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__purpose-intro > p:last-child {
    max-width: none;
    margin: 25px 0 0;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.72;
}

.ts-home-v2__purpose-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 16px;
    min-width: 0;
    margin: 0;
}

.ts-home-v2__purpose-gallery li {
    min-width: 0;
}

.ts-home-v2__purpose-gallery a {
    display: grid;
    grid-template-rows: 96px auto;
    gap: 12px;
    min-width: 0;
    height: 100%;
    padding-bottom: 14px;
    color: var(--ts-home-ink) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--ts-home-line);
    border-radius: 14px 14px 3px 3px;
}

.ts-home-v2__purpose-media {
    position: relative;
    display: block;
    width: 100%;
    height: 96px;
    overflow: hidden;
    background: #e8edef;
    border: 1px solid rgba(63, 90, 103, .12);
    border-radius: 14px 14px 14px 5px;
    isolation: isolate;
}

.ts-home-v2__purpose-gallery li:nth-child(even) .ts-home-v2__purpose-media {
    border-radius: 14px 14px 5px 14px;
}

.ts-home-v2__purpose-media::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, transparent 48%, rgba(25, 52, 62, .18) 100%);
    pointer-events: none;
}

.ts-home-v2__purpose-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.84) contrast(.98);
    transition: transform 220ms ease, filter 220ms ease;
}

.ts-home-v2__purpose-gallery li:first-child img {
    object-position: 50% 52%;
}

.ts-home-v2__purpose-gallery li:nth-child(2) img {
    object-position: 58% 50%;
}

.ts-home-v2__purpose-gallery li:nth-child(3) img {
    object-position: 50% 45%;
}

.ts-home-v2__purpose-gallery li:nth-child(4) img {
    object-position: 50% 58%;
}

.ts-home-v2__purpose-gallery li:nth-child(5) img {
    object-position: 50% 38%;
}

.ts-home-v2__purpose-icon {
    position: absolute;
    z-index: 2;
    right: 8px;
    bottom: 8px;
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    color: var(--ts-home-primary);
    background: rgba(255, 255, 255, .95);
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(25, 52, 62, .12);
    transition: color 160ms ease, transform 160ms ease;
}

.ts-home-v2__purpose-icon svg {
    width: 14px;
    height: 14px;
}

.ts-home-v2__purpose-caption {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16px;
    align-items: start;
    gap: 8px;
    min-width: 0;
    padding: 0;
}

.ts-home-v2__purpose-gallery strong {
    color: var(--ts-home-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    transition: color 160ms ease;
}

.ts-home-v2__purpose-arrow {
    width: 16px;
    height: 16px;
    color: var(--ts-home-primary);
    transition: color 160ms ease, transform 160ms ease;
}

.ts-home-v2__purpose-gallery a:hover .ts-home-v2__purpose-media > img,
.ts-home-v2__purpose-gallery a:focus-visible .ts-home-v2__purpose-media > img {
    filter: saturate(.95) contrast(1);
    transform: scale(1.03);
}

.ts-home-v2__purpose-gallery a:hover .ts-home-v2__purpose-icon,
.ts-home-v2__purpose-gallery a:hover strong,
.ts-home-v2__purpose-gallery a:hover .ts-home-v2__purpose-arrow,
.ts-home-v2__purpose-gallery a:focus-visible .ts-home-v2__purpose-icon,
.ts-home-v2__purpose-gallery a:focus-visible strong,
.ts-home-v2__purpose-gallery a:focus-visible .ts-home-v2__purpose-arrow {
    color: var(--ts-home-secondary);
}

.ts-home-v2__purpose-gallery a:hover .ts-home-v2__purpose-icon,
.ts-home-v2__purpose-gallery a:focus-visible .ts-home-v2__purpose-icon {
    transform: translateY(-1px);
}

.ts-home-v2__purpose-gallery a:hover .ts-home-v2__purpose-arrow,
.ts-home-v2__purpose-gallery a:focus-visible .ts-home-v2__purpose-arrow {
    transform: translateX(3px);
}

.ts-home-v2__purpose-gallery a:focus-visible {
    outline: 2px solid var(--ts-home-secondary);
    outline-offset: 3px;
}

/* Compact editorial gallery of synthetic sample documents. */
.ts-home-v2__samples {
    position: relative;
    padding: 82px 0;
    background: #fff;
}

.ts-home-v2__samples-layout {
    display: grid;
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(52px, 6vw, 82px);
}

.ts-home-v2__samples-copy {
    max-width: 470px;
    padding-top: 8px;
}

.ts-home-v2__samples-eyebrow {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ts-home-v2__samples-copy h2 {
    margin-top: 14px;
    color: var(--ts-home-ink);
    font-size: clamp(39px, 3.8vw, 48px);
    font-weight: 500;
    line-height: 1.07;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__samples-description {
    margin-top: 25px;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.72;
}

.ts-home-v2__samples-copy > span {
    display: block;
    margin-top: 18px;
    color: var(--ts-home-muted);
    font-size: 11px;
    line-height: 1.55;
}

.ts-home-v2__sample-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: start;
    gap: clamp(9px, 1vw, 14px);
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ts-home-v2__sample-grid > li {
    min-width: 0;
}

.ts-home-v2__sample-card {
    display: block;
    min-width: 0;
    height: 100%;
    padding-bottom: 14px;
    color: var(--ts-home-ink) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--ts-home-line);
    border-radius: 10px 10px 3px 3px;
    transition: transform 180ms ease;
}

.ts-home-v2__sample-card figure {
    display: grid;
    grid-template-rows: auto 1fr;
    height: 100%;
    margin: 0;
}

.ts-home-v2__sample-sheet {
    display: block;
    aspect-ratio: 1092 / 1544;
    padding: 4px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(63, 90, 103, .18);
    border-radius: 10px 10px 10px 4px;
    box-shadow: 0 8px 22px rgba(42, 58, 60, .07);
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.ts-home-v2__sample-grid > li:nth-child(even) .ts-home-v2__sample-sheet {
    border-radius: 10px 10px 4px 10px;
}

.ts-home-v2__sample-sheet img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: #fff;
}

.ts-home-v2__sample-card figcaption {
    margin-top: 11px;
    color: var(--ts-home-ink);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
    transition: color 180ms ease;
}

.ts-home-v2__sample-card:hover,
.ts-home-v2__sample-card:focus-visible {
    transform: translateY(-3px);
}

.ts-home-v2__sample-card:hover .ts-home-v2__sample-sheet,
.ts-home-v2__sample-card:focus-visible .ts-home-v2__sample-sheet {
    border-color: #aebfc6;
    box-shadow: 0 12px 26px rgba(41, 61, 69, .12);
}

.ts-home-v2__sample-card:hover figcaption,
.ts-home-v2__sample-card:focus-visible figcaption {
    color: var(--ts-home-secondary);
}

.ts-home-v2__sample-card:focus-visible {
    outline: 2px solid var(--ts-home-secondary);
    outline-offset: 4px;
    border-radius: 10px 10px 3px 3px;
}

@media (max-width: 980px) {
    .ts-home-v2__samples-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 46px;
    }

    .ts-home-v2__samples-copy {
        max-width: 700px;
    }

    .ts-home-v2__sample-grid {
        width: 100%;
        max-width: 780px;
    }
}

@media (max-width: 720px) {
    .ts-home-v2__samples {
        padding: 74px 0;
    }

    .ts-home-v2__samples-layout {
        gap: 36px;
    }

    .ts-home-v2__samples-copy h2 {
        font-size: 37px;
    }

    .ts-home-v2__samples-description {
        margin-top: 19px;
        font-size: 14px;
    }

    .ts-home-v2__sample-grid {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: clamp(126px, 40vw, 154px);
        gap: 12px;
        max-width: 100%;
        padding: 4px 4px 14px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scrollbar-width: thin;
    }

    .ts-home-v2__sample-grid > li {
        scroll-snap-align: start;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__samples-copy h2 {
        font-size: 33px;
    }
}

/* TranslateSwift quality ledger and process. */
.ts-home-v2__standard {
    padding: clamp(96px, 9vw, 132px) 0;
    background: #fff;
    border-top: 1px solid var(--ts-home-line);
    border-bottom: 1px solid var(--ts-home-line);
}

.ts-home-v2__standard-layout {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(500px, 1.05fr);
    align-items: center;
    gap: clamp(58px, 6.5vw, 94px);
}

.ts-home-v2__standard-intro {
    max-width: 590px;
}

.ts-home-v2__standard-intro::before {
    display: block;
    width: 112px;
    height: 2px;
    margin-bottom: 30px;
    content: "";
    background: linear-gradient(90deg, var(--ts-home-secondary) 0 38%, var(--ts-home-primary) 38% 72%, #c6ab6a 72% 100%);
}

.ts-home-v2__standard-intro > p {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ts-home-v2__standard-intro h2 {
    max-width: 590px;
    margin-top: 20px;
    color: var(--ts-home-ink);
    font-size: clamp(44px, 4.6vw, 62px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.052em;
    text-wrap: balance;
}

.ts-home-v2__standard-intro > span {
    display: block;
    max-width: 555px;
    margin-top: 27px;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.7;
}

.ts-home-v2__standard-ledger {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--ts-home-line);
}

.ts-home-v2__standard-ledger li {
    --ts-standard-accent: var(--ts-home-secondary);
    position: relative;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 20px;
    min-height: 116px;
    padding: 22px 0 22px 20px;
    border-bottom: 1px solid var(--ts-home-line);
}

.ts-home-v2__standard-ledger li::before {
    position: absolute;
    top: 22px;
    bottom: 22px;
    left: 0;
    width: 3px;
    content: "";
    background: var(--ts-standard-accent);
    border-radius: 999px;
}

.ts-home-v2__standard-ledger .ts-home-v2__standard-item--detail {
    --ts-standard-accent: var(--ts-home-primary);
}

.ts-home-v2__standard-ledger .ts-home-v2__standard-item--purpose {
    --ts-standard-accent: #a88847;
}

.ts-home-v2__standard-label {
    color: var(--ts-standard-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ts-home-v2__standard-ledger h3 {
    color: var(--ts-home-ink);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
}

.ts-home-v2__standard-ledger p {
    margin-top: 5px;
    color: var(--ts-home-copy);
    font-size: 13px;
    line-height: 1.55;
}

.ts-home-v2__standard-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    color: var(--ts-standard-accent);
    background: #fff;
    border: 1px solid #dfe5e2;
    border-radius: 50%;
}

.ts-home-v2__standard-icon svg {
    width: 18px;
    height: 18px;
}

@media (max-width: 980px) {
    .ts-home-v2__standard-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 58px;
    }

    .ts-home-v2__standard-intro {
        max-width: 720px;
    }

    .ts-home-v2__standard-intro h2 {
        max-width: 700px;
    }

    .ts-home-v2__standard-ledger {
        max-width: 820px;
    }
}

@media (max-width: 620px) {
    .ts-home-v2__standard {
        padding: 74px 0 80px;
    }

    .ts-home-v2__standard-layout {
        gap: 42px;
    }

    .ts-home-v2__standard-intro::before {
        width: 88px;
        margin-bottom: 24px;
    }

    .ts-home-v2__standard-intro h2 {
        margin-top: 17px;
        font-size: clamp(38px, 11vw, 46px);
    }

    .ts-home-v2__standard-intro > span {
        margin-top: 22px;
        font-size: 15px;
    }

    .ts-home-v2__standard-ledger li {
        grid-template-columns: 66px minmax(0, 1fr) 36px;
        gap: 13px;
        min-height: 0;
        padding: 21px 0 21px 15px;
    }

    .ts-home-v2__standard-ledger li::before {
        top: 21px;
        bottom: 21px;
    }

    .ts-home-v2__standard-ledger h3 {
        font-size: 18px;
    }

    .ts-home-v2__standard-ledger p {
        font-size: 12px;
    }

    .ts-home-v2__standard-icon {
        width: 34px;
        height: 34px;
    }

    .ts-home-v2__standard-icon svg {
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__standard-ledger li {
        grid-template-columns: minmax(0, 1fr) 34px;
        gap: 5px 14px;
    }

    .ts-home-v2__standard-label,
    .ts-home-v2__standard-ledger li > div {
        grid-column: 1;
    }

    .ts-home-v2__standard-icon {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

.ts-home-v2__process {
    padding: 122px 0 150px;
    background: #fff;
}

.ts-home-v2__process--shared {
    padding-bottom: 82px;
}

.ts-home-v2__process .ts-home-v2__center-heading .ts-home-v2__button {
    display: flex;
    width: max-content;
    margin: 19px auto 0;
}

.ts-home-v2 .ts-home-v2__process-journey {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1180px;
    margin: 56px auto 0;
}

.ts-home-v2__process-journey::before {
    position: absolute;
    top: 87px;
    right: 16.666%;
    left: 16.666%;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, rgba(203, 38, 77, .48), rgba(63, 90, 103, .5) 52%, rgba(198, 171, 106, .72));
}

.ts-home-v2__process-step {
    --ts-process-accent: var(--ts-home-secondary);
    --ts-process-fill: #faf6ec;
    position: relative;
    min-width: 0;
    padding: 0 24px;
    text-align: center;
}

.ts-home-v2__process-step--review {
    --ts-process-accent: var(--ts-home-primary);
    --ts-process-fill: #edf4f5;
}

.ts-home-v2__process-step--ready {
    --ts-process-accent: #a88847;
    --ts-process-fill: #fff4f6;
}

.ts-home-v2__process-step:not(:last-child)::after {
    position: absolute;
    z-index: 1;
    top: 83px;
    right: -4px;
    width: 9px;
    height: 9px;
    content: "";
    border-top: 2px solid rgba(63, 90, 103, .48);
    border-right: 2px solid rgba(63, 90, 103, .48);
    transform: rotate(45deg);
}

.ts-home-v2__process-stage {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 176px;
    height: 176px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid rgba(63, 90, 103, .15);
    border-radius: 50%;
    box-shadow: 0 22px 52px rgba(41, 61, 69, .085);
}

.ts-home-v2__process-stage::before {
    position: absolute;
    inset: 12px;
    content: "";
    background: var(--ts-process-fill);
    border-radius: 50%;
}

.ts-home-v2__process-stage-number {
    position: absolute;
    z-index: 4;
    top: 4px;
    left: -2px;
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    color: var(--ts-process-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    background: #fff;
    border: 1px solid rgba(63, 90, 103, .18);
    border: 1px solid color-mix(in srgb, var(--ts-process-accent) 34%, #fff);
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(41, 61, 69, .06);
}

.ts-home-v2__process-stage-mark {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 80px;
    height: 96px;
    padding-top: 20px;
    color: var(--ts-home-primary);
    background: #fff;
    border: 1px solid rgba(63, 90, 103, .13);
    border-radius: 17px 17px 17px 6px;
    box-shadow: 0 14px 32px rgba(41, 61, 69, .12);
    transform: rotate(-1.5deg);
}

.ts-home-v2__process-step--review .ts-home-v2__process-stage-mark {
    transform: rotate(1deg);
}

.ts-home-v2__process-step--ready .ts-home-v2__process-stage-mark {
    transform: rotate(2deg);
}

.ts-home-v2__process-stage-mark::before,
.ts-home-v2__process-stage-mark::after {
    position: absolute;
    right: 18px;
    left: 18px;
    height: 2px;
    content: "";
    background: #dfe6e7;
    border-radius: 2px;
}

.ts-home-v2__process-stage-mark::before {
    bottom: 22px;
}

.ts-home-v2__process-stage-mark::after {
    right: 29px;
    bottom: 15px;
}

.ts-home-v2__process-stage-mark > svg {
    width: 31px;
    height: 31px;
}

.ts-home-v2__process-stage-mark > span {
    position: absolute;
    right: -10px;
    bottom: -9px;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: #fff;
    background: var(--ts-process-accent);
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 6px 16px rgba(41, 61, 69, .13);
}

.ts-home-v2__process-stage-mark > span svg {
    width: 14px;
    height: 14px;
}

.ts-home-v2__process-stage-chip {
    position: absolute;
    z-index: 3;
    bottom: 16px;
    left: 3px;
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 6px 10px;
    color: var(--ts-home-primary);
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .035em;
    background: #fff;
    border: 1px solid rgba(63, 90, 103, .13);
    border-radius: 999px;
    box-shadow: 0 7px 19px rgba(41, 61, 69, .09);
    white-space: nowrap;
}

.ts-home-v2__process-stage-chip i {
    width: 6px;
    height: 6px;
    background: var(--ts-process-accent);
    border-radius: 50%;
}

.ts-home-v2__process-copy {
    max-width: 310px;
    margin: 29px auto 0;
}

.ts-home-v2__process-copy > p {
    color: var(--ts-process-accent);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ts-home-v2__process-copy h3 {
    margin-top: 7px;
    color: var(--ts-home-ink);
    font-size: 19px;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: -.02em;
}

.ts-home-v2__process-copy > span {
    display: block;
    margin-top: 8px;
    color: var(--ts-home-copy);
    font-size: 13px;
    line-height: 1.6;
}

/* Text-only trust introduction. */
.ts-home-v2__trust-collage {
    padding: 64px 0 78px;
}

.ts-home-v2__trust-collage-stage {
    display: grid;
    place-items: center;
    width: 100%;
}

.ts-home-v2__trust-collage-copy {
    width: min(680px, 100%);
    margin: 0 auto;
    text-align: center;
}

.ts-home-v2__trust-collage-copy > p {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 700;
    letter-spacing: .03em;
}

.ts-home-v2__trust-collage-copy h2 {
    margin-top: 13px;
    font-size: clamp(38px, 3.8vw, 52px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__trust-collage-copy > span {
    display: block;
    max-width: 500px;
    margin: 20px auto 0;
    color: var(--ts-home-copy);
    font-size: 15px;
    line-height: 1.7;
}

.ts-home-v2__trust-collage-copy .ts-home-v2__button {
    margin-top: 24px;
}

.ts-home-v2__trust-collage-copy .ts-home-v2__review-carousel-proof {
    margin-top: 18px;
}

@media (max-width: 1100px) {
    .ts-home-v2__trust-collage {
        padding: 56px 0 68px;
    }
}

@media (max-width: 620px) {
    .ts-home-v2__trust-collage {
        padding: 48px 0 58px;
    }

    .ts-home-v2__trust-collage-copy h2 {
        font-size: 36px;
    }

    .ts-home-v2__trust-collage-copy > span {
        font-size: 14px;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__trust-collage-copy h2 {
        font-size: 33px;
    }
}

/* Reviews. */
.ts-home-v2__reviews {
    padding: 118px 24px 130px;
    overflow: hidden;
    background: #faf8f2;
}

.ts-home-v2__review-mosaic {
    display: grid;
    grid-template-columns: minmax(150px, .64fr) minmax(210px, .86fr) minmax(380px, 1.52fr) minmax(210px, .86fr) minmax(150px, .64fr);
    grid-auto-rows: minmax(198px, auto);
    gap: 16px;
    width: 100%;
    max-width: 1740px;
    margin: 0 auto;
}

.ts-home-v2__review-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 214px;
    padding: 22px;
    color: #3d4341;
    background: rgba(255, 255, 255, .96);
    border: 1px solid #efede7;
    border-radius: 14px;
    box-shadow: 0 7px 22px rgba(48, 44, 34, .025);
}

.ts-home-v2__review-card > div {
    color: #e4b54f;
    font-size: 14px;
    letter-spacing: 1px;
}

.ts-home-v2__review-card blockquote {
    margin-top: 15px;
    color: #565d5a;
    font-size: 12px;
    line-height: 1.65;
}

.ts-home-v2__review-card footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
}

.ts-home-v2__review-card footer > span {
    display: flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: var(--ts-home-secondary);
    font-size: 11px;
    font-weight: 700;
    background: #fdeaf0;
    border-radius: 50%;
}

.ts-home-v2__review-card footer strong,
.ts-home-v2__review-card footer small {
    display: block;
}

.ts-home-v2__review-card footer strong {
    color: #343a37;
    font-size: 11px;
    font-weight: 700;
}

.ts-home-v2__review-card footer small {
    margin-top: 1px;
    color: #929793;
    font-size: 9px;
    line-height: 1.35;
}

.ts-home-v2__review-card--1 { grid-column: 1; grid-row: 1; }
.ts-home-v2__review-card--2 { grid-column: 2; grid-row: 1 / span 2; }
.ts-home-v2__review-card--3 { grid-column: 4; grid-row: 1 / span 2; }
.ts-home-v2__review-card--4 { grid-column: 5; grid-row: 1; }
.ts-home-v2__review-card--5 { grid-column: 1; grid-row: 2; }
.ts-home-v2__review-card--6 { grid-column: 2; grid-row: 3; }
.ts-home-v2__review-card--7 { grid-column: 4; grid-row: 3; }
.ts-home-v2__review-card--8 { grid-column: 5; grid-row: 2; }

.ts-home-v2__review-summary {
    grid-column: 3;
    grid-row: 1 / span 3;
    align-self: center;
    padding: 45px 42px;
    text-align: center;
}

.ts-home-v2__review-summary > p {
    color: var(--ts-home-primary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 700;
}

.ts-home-v2__review-summary h2 {
    margin-top: 12px;
    font-size: clamp(34px, 3.4vw, 48px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__review-summary > span {
    display: block;
    max-width: 430px;
    margin: 20px auto 0;
    color: var(--ts-home-copy);
    font-size: 14px;
    line-height: 1.65;
}

.ts-home-v2__review-summary > div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 25px;
    color: #5a605d;
    font-size: 11px;
}

.ts-home-v2__review-summary > div b {
    color: #e4b54f;
    font-size: 15px;
    letter-spacing: 1px;
}

.ts-home-v2__review-summary > div strong {
    font-size: 12px;
}

.ts-home-v2__review-summary > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 43px;
    margin-top: 25px;
    padding: 0 21px;
    color: #313633 !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #dedfd9;
    border-radius: 999px;
}

/* Alternative customer review ledger. */
.ts-home-v2__review-ledger {
    padding: 138px 0 148px;
    background: #fff;
}

.ts-home-v2__review-ledger-head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    align-items: end;
    gap: clamp(58px, 8vw, 104px);
    padding-top: 31px;
    border-top: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-ledger-head::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 112px;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, var(--ts-home-secondary) 0 38%, var(--ts-home-primary) 38% 100%);
}

.ts-home-v2__review-ledger-intro {
    max-width: 720px;
    min-width: 0;
}

.ts-home-v2__review-ledger-intro > p {
    color: var(--ts-home-secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
}

.ts-home-v2__review-ledger-intro h2 {
    max-width: 680px;
    margin-top: 13px;
    font-size: clamp(42px, 4.4vw, 58px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__review-ledger-intro > span {
    display: block;
    max-width: 620px;
    margin-top: 23px;
    color: var(--ts-home-copy);
    font-size: 15px;
    line-height: 1.72;
}

.ts-home-v2__review-ledger-score {
    display: grid;
    grid-template-columns: 176px minmax(0, 1fr);
    align-items: center;
    gap: 23px;
    width: 100%;
    min-width: 0;
    justify-self: end;
}

.ts-home-v2__review-ledger-orbit {
    position: relative;
    display: grid;
    place-content: center;
    width: 176px;
    aspect-ratio: 1;
    text-align: center;
    background: conic-gradient(var(--ts-home-secondary) 0 92deg, var(--ts-home-primary) 92deg 331deg, #e8ecea 331deg 360deg);
    border-radius: 50%;
    box-shadow: 0 20px 46px rgba(41, 61, 69, .09);
}

.ts-home-v2__review-ledger-orbit::before {
    position: absolute;
    inset: 9px;
    content: "";
    background: #fff;
    border-radius: 50%;
}

.ts-home-v2__review-ledger-orbit > * {
    position: relative;
    z-index: 1;
}

.ts-home-v2__review-ledger-orbit small {
    color: var(--ts-home-copy);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ts-home-v2__review-ledger-orbit strong {
    margin-top: 3px;
    color: var(--ts-home-primary);
    font-size: 49px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.055em;
}

.ts-home-v2__review-ledger-orbit span {
    margin-top: 4px;
    color: #68706c;
    font-size: 11px;
}

.ts-home-v2__review-ledger-score-copy {
    min-width: 0;
}

.ts-home-v2__review-ledger-score-copy > b,
.ts-home-v2__review-ledger-score-copy > span {
    display: block;
}

.ts-home-v2__review-ledger-score-copy > b {
    color: #966200;
    font-size: 16px;
    letter-spacing: 1px;
}

.ts-home-v2__review-ledger-score-copy > span {
    margin-top: 5px;
    color: var(--ts-home-copy);
    font-size: 12px;
}

.ts-home-v2__review-ledger-score-copy .ts-home-v2__text-link {
    min-height: 44px;
    margin-top: 8px;
}

.ts-home-v2__review-ledger-list {
    margin: 74px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-ledger-list > li {
    position: relative;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 220px;
    align-items: center;
    gap: clamp(25px, 3vw, 40px);
    min-width: 0;
    padding: 29px 14px 29px 20px;
    border-bottom: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-ledger-list > li::before {
    position: absolute;
    top: 22px;
    bottom: 22px;
    left: 0;
    width: 3px;
    content: "";
    background: linear-gradient(180deg, var(--ts-home-secondary), var(--ts-home-primary));
    border-radius: 999px;
}

.ts-home-v2__review-ledger-list > li:nth-child(even)::before {
    background: linear-gradient(180deg, var(--ts-home-primary), #b4934f);
}

.ts-home-v2__review-ledger-list > li > * {
    min-width: 0;
}

.ts-home-v2__review-ledger-route > span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--ts-home-secondary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ts-home-v2__review-ledger-route > span i {
    width: 6px;
    height: 6px;
    background: currentColor;
    border-radius: 50%;
}

.ts-home-v2__review-ledger-route > strong {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 9px;
    color: var(--ts-home-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.ts-home-v2__review-ledger-route > strong svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    color: var(--ts-home-secondary);
}

.ts-home-v2__review-ledger-list blockquote {
    position: relative;
    margin: 0;
    padding-left: 32px;
    color: #2f3633;
    font-size: 18px;
    line-height: 1.56;
    letter-spacing: -.012em;
}

.ts-home-v2__review-ledger-list blockquote::before {
    position: absolute;
    top: -13px;
    left: 0;
    content: "“";
    color: var(--ts-home-secondary);
    font-family: Georgia, serif;
    font-size: 49px;
    line-height: 1;
    opacity: .72;
}

.ts-home-v2__review-ledger-list blockquote p {
    margin: 0;
}

.ts-home-v2__review-ledger-list footer {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.ts-home-v2__review-ledger-list footer > span {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    color: var(--ts-home-secondary);
    font-size: 12px;
    font-weight: 800;
    background: linear-gradient(145deg, #fdeaf0, #f3f6f5);
    border: 1px solid rgba(203, 38, 77, .12);
    border-radius: 50%;
}

.ts-home-v2__review-ledger-list footer > div {
    min-width: 0;
}

.ts-home-v2__review-ledger-list footer cite,
.ts-home-v2__review-ledger-list footer small,
.ts-home-v2__review-ledger-list footer b {
    display: block;
}

.ts-home-v2__review-ledger-list footer cite {
    color: #303633;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.ts-home-v2__review-ledger-list footer small {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    color: #68706c;
    font-size: 10px;
    line-height: 1.4;
}

.ts-home-v2__review-ledger-list footer small svg {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    color: var(--ts-home-secondary);
}

.ts-home-v2__review-ledger-list footer b {
    margin-top: 5px;
    color: #966200;
    font-size: 11px;
    letter-spacing: .8px;
}

@media (max-width: 1080px) {
    .ts-home-v2__review-ledger-head {
        grid-template-columns: minmax(0, 1fr) 304px;
        gap: 46px;
    }

    .ts-home-v2__review-ledger-score {
        grid-template-columns: 154px minmax(0, 1fr);
        gap: 19px;
    }

    .ts-home-v2__review-ledger-orbit {
        width: 154px;
    }

    .ts-home-v2__review-ledger-list > li {
        grid-template-columns: 150px minmax(0, 1fr) 194px;
        gap: 24px;
    }
}

@media (max-width: 900px) {
    .ts-home-v2__review-ledger {
        padding: 112px 0 122px;
    }

    .ts-home-v2__review-ledger-head {
        grid-template-columns: minmax(0, 1fr);
        gap: 43px;
    }

    .ts-home-v2__review-ledger-score {
        width: min(100%, 430px);
        justify-self: start;
    }

    .ts-home-v2__review-ledger-list {
        margin-top: 62px;
    }

    .ts-home-v2__review-ledger-list > li {
        grid-template-columns: 150px minmax(0, 1fr);
        align-items: start;
        gap: 18px 30px;
    }

    .ts-home-v2__review-ledger-route {
        grid-row: 1 / span 2;
    }

    .ts-home-v2__review-ledger-list footer {
        grid-column: 2;
    }
}

@media (max-width: 620px) {
    .ts-home-v2__review-ledger {
        padding: 90px 0 100px;
    }

    .ts-home-v2__review-ledger-intro h2 {
        font-size: 38px;
    }

    .ts-home-v2__review-ledger-intro > span {
        margin-top: 18px;
        font-size: 14px;
    }

    .ts-home-v2__review-ledger-score {
        grid-template-columns: 142px minmax(0, 1fr);
        gap: 20px;
    }

    .ts-home-v2__review-ledger-orbit {
        width: 142px;
    }

    .ts-home-v2__review-ledger-orbit strong {
        font-size: 43px;
    }

    .ts-home-v2__review-ledger-list {
        margin-top: 54px;
    }

    .ts-home-v2__review-ledger-list > li {
        display: block;
        padding: 25px 10px 26px 16px;
    }

    .ts-home-v2__review-ledger-route {
        margin-bottom: 19px;
    }

    .ts-home-v2__review-ledger-list blockquote {
        font-size: 17.5px;
    }

    .ts-home-v2__review-ledger-list footer {
        margin-top: 21px;
        padding-top: 18px;
        border-top: 1px solid #edf0ed;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__review-ledger-intro h2 {
        font-size: 34px;
    }

    .ts-home-v2__review-ledger-score {
        grid-template-columns: 126px minmax(0, 1fr);
        gap: 16px;
    }

    .ts-home-v2__review-ledger-orbit {
        width: 126px;
    }

    .ts-home-v2__review-ledger-orbit small {
        font-size: 8px;
    }

    .ts-home-v2__review-ledger-orbit strong {
        font-size: 38px;
    }

    .ts-home-v2__review-ledger-score-copy .ts-home-v2__text-link {
        align-items: flex-start;
        line-height: 1.45;
    }

    .ts-home-v2__review-ledger-list blockquote {
        padding-left: 28px;
        font-size: 17px;
    }
}

/* TranslateSwift review route mosaic. */
.ts-home-v2__review-bento {
    padding: 138px 0 148px;
    background: #fff;
}

.ts-home-v2__review-bento-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.ts-home-v2__review-bento-cards {
    display: contents;
}

.ts-home-v2__review-bento-intro {
    position: relative;
    display: flex;
    grid-column: 1 / span 5;
    grid-row: 1;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    min-height: 390px;
    padding: 42px 52px 42px 0;
    border-top: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-bento-rail {
    position: absolute;
    top: -1px;
    left: 0;
    width: 118px;
    height: 2px;
    background: linear-gradient(90deg, var(--ts-home-secondary) 0 38%, var(--ts-home-primary) 38% 100%);
}

.ts-home-v2__review-bento-intro > p {
    color: var(--ts-home-secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
}

.ts-home-v2__review-bento-intro h2 {
    max-width: 540px;
    margin-top: 15px;
    color: var(--ts-home-ink);
    font-size: clamp(42px, 4.25vw, 58px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__review-bento-intro > span:last-child {
    display: block;
    max-width: 510px;
    margin-top: 24px;
    color: var(--ts-home-copy);
    font-size: 15px;
    line-height: 1.72;
}

.ts-home-v2__review-bento-rating,
.ts-home-v2__review-bento-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e5e7e3;
    border-radius: 18px;
}

.ts-home-v2__review-bento-rating {
    position: relative;
    display: grid;
    grid-column: 1 / span 3;
    grid-row: 2;
    grid-template-columns: minmax(92px, .72fr) minmax(0, 1fr);
    align-items: center;
    gap: 22px;
    min-height: 220px;
    padding: 28px;
    background: var(--ts-home-cream);
    box-shadow: 0 15px 34px rgba(55, 61, 55, .05);
}

.ts-home-v2__review-bento-rating::before,
.ts-home-v2__review-bento-rating::after {
    position: absolute;
    right: -56px;
    bottom: -74px;
    width: 156px;
    height: 156px;
    pointer-events: none;
    content: "";
    border: 1px solid rgba(63, 90, 103, .1);
    border-radius: 50%;
}

.ts-home-v2__review-bento-rating::after {
    right: -26px;
    bottom: -44px;
    width: 96px;
    height: 96px;
    border-color: rgba(203, 38, 77, .12);
}

.ts-home-v2__review-bento-rating > div {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.ts-home-v2__review-bento-rating > div:first-child > span,
.ts-home-v2__review-bento-rating > div:first-child > small {
    display: block;
    color: #68706c;
}

.ts-home-v2__review-bento-rating > div:first-child > span {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ts-home-v2__review-bento-rating strong {
    display: block;
    margin-top: 5px;
    color: var(--ts-home-primary);
    font-size: 58px;
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.06em;
}

.ts-home-v2__review-bento-rating > div:first-child > small {
    margin-top: 8px;
    font-size: 10px;
}

.ts-home-v2__review-bento-rating > div:last-child > b,
.ts-home-v2__review-bento-rating > div:last-child > span {
    display: block;
}

.ts-home-v2__review-bento-rating > div:last-child > b {
    color: #966200;
    font-size: 14px;
    letter-spacing: 1px;
}

.ts-home-v2__review-bento-rating > div:last-child > span {
    margin-top: 5px;
    color: var(--ts-home-copy);
    font-size: 11px;
}

.ts-home-v2__review-bento-rating .ts-home-v2__text-link {
    min-height: 44px;
    margin-top: 7px;
}

.ts-home-v2__review-bento-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 220px;
    padding: 27px;
    color: var(--ts-home-ink);
    background: #fff;
    box-shadow: 0 10px 28px rgba(41, 61, 69, .035);
}

.ts-home-v2__review-bento-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, var(--ts-home-secondary) 0 23%, var(--ts-home-primary) 23% 77%, #d5c69a 77% 100%);
    opacity: .76;
}

.ts-home-v2__review-bento-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
}

.ts-home-v2__review-bento-route {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: var(--ts-home-primary);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.ts-home-v2__review-bento-route svg {
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
    color: var(--ts-home-secondary);
}

.ts-home-v2__review-bento-card-top > b {
    flex: 0 0 auto;
    color: #966200;
    font-size: 12px;
    letter-spacing: .7px;
}

.ts-home-v2__review-bento-card blockquote {
    position: relative;
    z-index: 1;
    margin: 25px 0 0;
    color: #353c39;
    font-size: 17px;
    line-height: 1.55;
    letter-spacing: -.012em;
}

.ts-home-v2__review-bento-card blockquote p {
    margin: 0;
}

.ts-home-v2__review-bento-card footer {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    margin-top: auto;
    padding-top: 25px;
}

.ts-home-v2__review-bento-card footer > span {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    color: var(--ts-home-secondary);
    font-size: 11px;
    font-weight: 800;
    background: #fdeaf0;
    border: 1px solid rgba(203, 38, 77, .12);
    border-radius: 50%;
}

.ts-home-v2__review-bento-card footer > div {
    min-width: 0;
}

.ts-home-v2__review-bento-card cite,
.ts-home-v2__review-bento-card footer small {
    display: block;
}

.ts-home-v2__review-bento-card cite {
    color: #303633;
    font-size: 12px;
    font-style: normal;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.ts-home-v2__review-bento-card footer small {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    color: #68706c;
    font-size: 9.5px;
    line-height: 1.4;
}

.ts-home-v2__review-bento-card footer small svg {
    flex: 0 0 11px;
    width: 11px;
    height: 11px;
    color: var(--ts-home-secondary);
}

.ts-home-v2__review-bento-card--1 {
    grid-column: 6 / span 7;
    grid-row: 1;
    min-height: 390px;
    padding: 39px 41px;
    color: #fff;
    background:
        radial-gradient(circle at 96% 6%, rgba(213, 198, 154, .2), transparent 31%),
        linear-gradient(145deg, #294651 0%, #3f5a67 64%, #273b43 100%);
    border-color: rgba(255, 255, 255, .08);
    box-shadow: 0 22px 48px rgba(41, 61, 69, .14);
}

.ts-home-v2__review-bento-card--1::before {
    background: linear-gradient(90deg, #ff7898 0 31%, rgba(255, 255, 255, .52) 31% 72%, #d5c69a 72% 100%);
    opacity: 1;
}

.ts-home-v2__review-bento-card--1::after {
    position: absolute;
    right: 30px;
    bottom: -43px;
    content: "“";
    color: rgba(255, 255, 255, .07);
    font-family: Georgia, serif;
    font-size: 250px;
    line-height: 1;
}

.ts-home-v2__review-bento-card--1 .ts-home-v2__review-bento-route,
.ts-home-v2__review-bento-card--1 cite {
    color: #fff;
}

.ts-home-v2__review-bento-card--1 .ts-home-v2__review-bento-route svg {
    color: #ff9bb2;
}

.ts-home-v2__review-bento-card--1 .ts-home-v2__review-bento-card-top > b {
    color: #f1d58a;
}

.ts-home-v2__review-bento-card--1 blockquote {
    max-width: 650px;
    margin-top: 50px;
    color: #fff;
    font-size: clamp(27px, 2.35vw, 34px);
    font-weight: 500;
    line-height: 1.28;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.ts-home-v2__review-bento-card--1 footer > span {
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .2);
}

.ts-home-v2__review-bento-card--1 footer small {
    color: rgba(255, 255, 255, .72);
}

.ts-home-v2__review-bento-card--1 footer small svg {
    color: #ff9bb2;
}

.ts-home-v2__review-bento-card--2 {
    grid-column: 4 / span 5;
    grid-row: 2;
    background: #fff4f7;
}

.ts-home-v2__review-bento-card--3 {
    grid-column: 9 / span 4;
    grid-row: 2;
}

.ts-home-v2__review-bento-card--4 {
    grid-column: 1 / span 4;
    grid-row: 3;
    background: #eef3f4;
}

.ts-home-v2__review-bento-card--5 {
    grid-column: 5 / span 4;
    grid-row: 3;
}

.ts-home-v2__review-bento-card--6 {
    grid-column: 9 / span 4;
    grid-row: 3;
    background: var(--ts-home-warm);
}

.ts-home-v2__review-bento-rating .ts-home-v2__text-link:focus-visible {
    outline: 2px solid var(--ts-home-secondary);
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .ts-home-v2__review-bento-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .ts-home-v2__review-bento-intro {
        display: grid;
        grid-column: 1 / -1;
        grid-row: auto;
        grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr);
        align-items: end;
        gap: 12px 54px;
        min-height: 0;
        padding: 31px 0 35px;
    }

    .ts-home-v2__review-bento-intro > p {
        grid-column: 1;
    }

    .ts-home-v2__review-bento-intro h2 {
        grid-column: 1;
    }

    .ts-home-v2__review-bento-intro > span:last-child {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: end;
        margin-top: 0;
        padding-bottom: 5px;
    }

    .ts-home-v2__review-bento-rating {
        grid-column: 5 / span 2;
        grid-row: auto;
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
        gap: 17px;
        min-height: 350px;
    }

    .ts-home-v2__review-bento-card--1 {
        grid-column: 1 / span 4;
        grid-row: auto;
        min-height: 350px;
    }

    .ts-home-v2__review-bento-card--2,
    .ts-home-v2__review-bento-card--4,
    .ts-home-v2__review-bento-card--6 {
        grid-column: 1 / span 3;
        grid-row: auto;
    }

    .ts-home-v2__review-bento-card--3,
    .ts-home-v2__review-bento-card--5 {
        grid-column: 4 / span 3;
        grid-row: auto;
    }
}

@media (max-width: 900px) {
    .ts-home-v2__review-bento {
        padding: 112px 0 122px;
    }

    .ts-home-v2__review-bento-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .ts-home-v2__review-bento-intro {
        display: block;
        grid-column: 1 / -1;
        padding: 31px 0 30px;
    }

    .ts-home-v2__review-bento-intro > span:last-child {
        max-width: 600px;
        margin-top: 21px;
    }

    .ts-home-v2__review-bento-rating,
    .ts-home-v2__review-bento-card--1,
    .ts-home-v2__review-bento-card--2,
    .ts-home-v2__review-bento-card--3,
    .ts-home-v2__review-bento-card--4,
    .ts-home-v2__review-bento-card--5,
    .ts-home-v2__review-bento-card--6 {
        grid-column: auto;
        grid-row: auto;
    }

    .ts-home-v2__review-bento-rating {
        grid-column: 1 / -1;
        grid-template-columns: 130px minmax(0, 1fr);
        min-height: 180px;
    }

    .ts-home-v2__review-bento-card--1 {
        grid-column: 1 / -1;
        min-height: 330px;
    }
}

@media (max-width: 620px) {
    .ts-home-v2__review-bento {
        padding: 90px 0 100px;
    }

    .ts-home-v2__review-bento-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .ts-home-v2__review-bento-intro,
    .ts-home-v2__review-bento-rating,
    .ts-home-v2__review-bento-card,
    .ts-home-v2__review-bento-card--1 {
        grid-column: 1;
        grid-row: auto;
    }

    .ts-home-v2__review-bento-intro h2 {
        font-size: 38px;
    }

    .ts-home-v2__review-bento-intro > span:last-child {
        font-size: 14px;
    }

    .ts-home-v2__review-bento-rating {
        grid-template-columns: 118px minmax(0, 1fr);
        min-height: 170px;
        padding: 24px;
    }

    .ts-home-v2__review-bento-rating strong {
        font-size: 50px;
    }

    .ts-home-v2__review-bento-card {
        min-height: 0;
        padding: 24px;
    }

    .ts-home-v2__review-bento-card--1 {
        min-height: 310px;
        padding: 30px;
    }

    .ts-home-v2__review-bento-card--1 blockquote {
        margin-top: 38px;
        font-size: 26px;
    }

    .ts-home-v2__review-bento-cards {
        display: grid;
        grid-column: 1;
        grid-auto-columns: minmax(260px, 82vw);
        grid-auto-flow: column;
        gap: 14px;
        margin: 0 -18px;
        padding: 3px 18px 14px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x proximity;
        scrollbar-color: rgba(63, 90, 103, .38) transparent;
        scrollbar-width: thin;
    }

    .ts-home-v2__review-bento-cards::-webkit-scrollbar {
        height: 5px;
    }

    .ts-home-v2__review-bento-cards::-webkit-scrollbar-track {
        background: transparent;
    }

    .ts-home-v2__review-bento-cards::-webkit-scrollbar-thumb {
        background: rgba(63, 90, 103, .38);
        border-radius: 999px;
    }

    .ts-home-v2__review-bento-cards .ts-home-v2__review-bento-card {
        grid-column: auto;
        width: auto;
        min-height: 238px;
        scroll-snap-align: start;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__review-bento-intro h2 {
        font-size: 34px;
    }

    .ts-home-v2__review-bento-rating {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 17px;
        padding: 21px;
    }

    .ts-home-v2__review-bento-card-top {
        display: grid;
        gap: 9px;
    }

    .ts-home-v2__review-bento-card-top > b {
        justify-self: start;
    }

    .ts-home-v2__review-bento-card blockquote {
        font-size: 16px;
    }

    .ts-home-v2__review-bento-card--1 {
        min-height: 295px;
        padding: 26px;
    }

    .ts-home-v2__review-bento-card--1 blockquote {
        font-size: 24px;
    }

    .ts-home-v2__review-bento-cards {
        grid-auto-columns: minmax(238px, 84vw);
    }
}

/* Customer voices spotlight: one review, one route, one clear focal point. */
.ts-home-v2__review-spotlight {
    padding: 124px 0 132px;
    background: #fff;
}

.ts-home-v2__review-spotlight-heading {
    position: relative;
    max-width: 780px;
    margin: 0 auto 52px;
    padding-top: 26px;
    text-align: center;
}

.ts-home-v2__review-spotlight-rail {
    position: absolute;
    top: 0;
    left: 50%;
    width: 112px;
    height: 2px;
    background: var(--ts-home-primary);
    transform: translateX(-50%);
}

.ts-home-v2__review-spotlight-rail::before {
    display: block;
    width: 42px;
    height: 2px;
    content: "";
    background: var(--ts-home-secondary);
}

.ts-home-v2__review-spotlight-heading > p {
    color: var(--ts-home-secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
}

.ts-home-v2__review-spotlight-heading h2 {
    margin-top: 15px;
    color: var(--ts-home-ink);
    font-size: clamp(44px, 4.4vw, 58px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.046em;
    text-wrap: balance;
}

.ts-home-v2__review-spotlight-heading > span:last-child {
    display: block;
    max-width: 650px;
    margin: 21px auto 0;
    color: var(--ts-home-copy);
    font-size: 16px;
    line-height: 1.7;
}

.ts-home-v2__review-spotlight-experience,
.ts-home-v2__review-spotlight-proof {
    width: min(1200px, 100%);
    margin-right: auto;
    margin-left: auto;
}

.ts-home-v2__review-spotlight-experience {
    display: grid;
    grid-template-columns: clamp(258px, 23vw, 292px) minmax(0, 1fr);
    min-width: 0;
    border-top: 1px solid var(--ts-home-line);
    border-bottom: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-spotlight-selector {
    min-width: 0;
    background: var(--ts-home-warm);
    border-right: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-spotlight-selector-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    min-height: 76px;
    padding: 20px 22px 18px;
    border-bottom: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-spotlight-selector-heading span,
.ts-home-v2__review-spotlight-selector-heading small {
    display: block;
}

.ts-home-v2__review-spotlight-selector-heading span {
    color: var(--ts-home-primary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ts-home-v2__review-spotlight-selector-heading small {
    color: #68706c;
    font-size: 10px;
    line-height: 1.35;
    text-align: right;
}

.ts-home-v2__review-spotlight-selector ol {
    margin: 0;
}

.ts-home-v2__review-spotlight-selector li + li {
    border-top: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-spotlight-selector a {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 62px;
    padding: 11px 17px;
    color: var(--ts-home-copy);
    text-decoration: none;
    transition: color 150ms ease, background-color 150ms ease;
}

.ts-home-v2__review-spotlight-selector a::before {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;
    width: 3px;
    content: "";
    background: var(--ts-home-secondary);
    opacity: 0;
    transition: opacity 150ms ease;
}

.ts-home-v2__review-spotlight-selector a:hover,
.ts-home-v2__review-spotlight-selector a.is-active {
    color: var(--ts-home-ink);
    background: #fff;
}

.ts-home-v2__review-spotlight-selector a.is-active::before {
    opacity: 1;
}

.ts-home-v2__review-spotlight-selector a:focus-visible {
    z-index: 1;
    outline: 2px solid var(--ts-home-secondary);
    outline-offset: -3px;
}

.ts-home-v2__review-spotlight-index {
    color: #7b827f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
}

.ts-home-v2__review-spotlight-selector a.is-active .ts-home-v2__review-spotlight-index {
    color: var(--ts-home-secondary);
}

.ts-home-v2__review-spotlight-route {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.ts-home-v2__review-spotlight-route svg {
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
    color: var(--ts-home-secondary);
}

.ts-home-v2__review-spotlight-stage {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 460px;
    background: #fff;
}

.ts-home-v2__review-spotlight-panels {
    flex: 1 1 auto;
    min-width: 0;
}

.ts-home-v2__review-spotlight-panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 386px;
    padding: 45px clamp(40px, 5vw, 68px) 30px;
}

.ts-home-v2__review-spotlight-panel + .ts-home-v2__review-spotlight-panel {
    border-top: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-spotlight.is-enhanced .ts-home-v2__review-spotlight-panel[hidden] {
    display: none !important;
}

.ts-home-v2__review-spotlight.is-enhanced .ts-home-v2__review-spotlight-panel.is-active {
    animation: ts-home-v2-review-in 150ms ease both;
}

@keyframes ts-home-v2-review-in {
    from {
        opacity: .35;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ts-home-v2__review-spotlight-panel-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: var(--ts-home-primary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
}

.ts-home-v2__review-spotlight-stars {
    color: #966200;
    font-size: 14px;
    letter-spacing: 1px;
}

.ts-home-v2__review-spotlight-journey {
    display: grid;
    grid-template-columns: auto minmax(52px, 1fr) auto;
    align-items: center;
    gap: 12px;
    max-width: 610px;
    margin-top: 25px;
    color: var(--ts-home-primary);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.4;
}

.ts-home-v2__review-spotlight-journey > span:nth-child(2) {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.ts-home-v2__review-spotlight-journey i {
    width: 100%;
    height: 1px;
    background: #cfd8d9;
}

.ts-home-v2__review-spotlight-journey svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-left: -2px;
    color: var(--ts-home-secondary);
}

.ts-home-v2__review-spotlight-panel blockquote {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 14px;
    max-width: 830px;
    margin: 44px 0 36px;
}

.ts-home-v2__review-spotlight-panel blockquote > span {
    color: var(--ts-home-secondary);
    font-family: Georgia, serif;
    font-size: 50px;
    line-height: .82;
}

.ts-home-v2__review-spotlight-panel blockquote p {
    margin: 0;
    color: #272d2b;
    font-size: clamp(29px, 2.7vw, 39px);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.ts-home-v2__review-spotlight-panel footer {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin-top: auto;
}

.ts-home-v2__review-spotlight-panel footer > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: var(--ts-home-secondary);
    font-size: 11px;
    font-weight: 800;
    background: #fff5f7;
    border: 1px solid rgba(203, 38, 77, .16);
    border-radius: 50%;
}

.ts-home-v2__review-spotlight-panel footer > div {
    min-width: 0;
}

.ts-home-v2__review-spotlight-panel cite,
.ts-home-v2__review-spotlight-panel footer small {
    display: block;
}

.ts-home-v2__review-spotlight-panel cite {
    color: var(--ts-home-ink);
    font-size: 13px;
    font-style: normal;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.ts-home-v2__review-spotlight-panel footer small {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 4px;
    color: #68706c;
    font-size: 10.5px;
    line-height: 1.4;
}

.ts-home-v2__review-spotlight-panel footer small svg {
    flex: 0 0 12px;
    width: 12px;
    height: 12px;
    color: var(--ts-home-secondary);
}

.ts-home-v2__review-spotlight-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-height: 73px;
    padding: 12px clamp(40px, 5vw, 68px) 16px;
    border-top: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-spotlight-controls[hidden] {
    display: none !important;
}

.ts-home-v2__review-spotlight-controls button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--ts-home-primary);
    background: #fff;
    border: 1px solid #d9e0e1;
    border-radius: 50%;
    cursor: pointer;
    transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease;
}

.ts-home-v2__review-spotlight-controls button:first-child svg {
    transform: rotate(180deg);
}

.ts-home-v2__review-spotlight-controls button:hover {
    color: #fff;
    background: var(--ts-home-primary);
    border-color: var(--ts-home-primary);
}

.ts-home-v2__review-spotlight-controls button:focus-visible {
    outline: 2px solid var(--ts-home-secondary);
    outline-offset: 3px;
}

.ts-home-v2__review-spotlight-controls svg {
    width: 17px;
    height: 17px;
}

.ts-home-v2__review-spotlight-controls > span {
    min-width: 55px;
    color: #68706c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-align: center;
}

.ts-home-v2__review-spotlight-proof {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 92px;
    color: var(--ts-home-primary);
    border-bottom: 1px solid var(--ts-home-line);
    text-decoration: none;
    transition: background-color 150ms ease;
}

.ts-home-v2__review-spotlight-proof:hover {
    background: var(--ts-home-warm);
}

.ts-home-v2__review-spotlight-proof:focus-visible {
    outline: 2px solid var(--ts-home-secondary);
    outline-offset: 3px;
}

.ts-home-v2__review-spotlight-proof > span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding: 17px 22px;
}

.ts-home-v2__review-spotlight-proof > span + span {
    border-left: 1px solid var(--ts-home-line);
}

.ts-home-v2__review-spotlight-proof strong,
.ts-home-v2__review-spotlight-proof small {
    display: block;
}

.ts-home-v2__review-spotlight-proof strong {
    color: var(--ts-home-primary);
    font-size: 34px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.05em;
}

.ts-home-v2__review-spotlight-proof small {
    color: #68706c;
    font-size: 10px;
    line-height: 1.35;
}

.ts-home-v2__review-spotlight-proof-stars {
    color: #966200;
    font-size: 15px;
    letter-spacing: 1px;
}

.ts-home-v2__review-spotlight-proof > span:last-child {
    color: var(--ts-home-primary);
    font-size: 12px;
    font-weight: 750;
}

.ts-home-v2__review-spotlight-proof > span:last-child svg {
    width: 16px;
    height: 16px;
    transition: transform 150ms ease;
}

.ts-home-v2__review-spotlight-proof:hover > span:last-child svg {
    transform: translateX(3px);
}

@media (max-width: 1100px) {
    .ts-home-v2__review-spotlight-panel {
        padding-right: 42px;
        padding-left: 42px;
    }

    .ts-home-v2__review-spotlight-panel blockquote p {
        font-size: clamp(28px, 3vw, 34px);
    }

    .ts-home-v2__review-spotlight-controls {
        padding-right: 42px;
        padding-left: 42px;
    }
}

@media (max-width: 900px) {
    .ts-home-v2__review-spotlight {
        padding: 108px 0 116px;
    }

    .ts-home-v2__review-spotlight-experience {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__review-spotlight-selector {
        border-right: 0;
        border-bottom: 1px solid var(--ts-home-line);
    }

    .ts-home-v2__review-spotlight-selector-heading {
        min-height: 62px;
        padding: 16px 18px;
    }

    .ts-home-v2__review-spotlight-selector ol {
        display: grid;
        grid-auto-columns: clamp(178px, 25vw, 210px);
        grid-auto-flow: column;
        gap: 8px;
        max-width: 100%;
        padding: 3px 3px 12px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: 3px;
        scroll-snap-type: x proximity;
        scrollbar-color: rgba(63, 90, 103, .32) transparent;
        scrollbar-width: thin;
    }

    .ts-home-v2__review-spotlight-selector li {
        scroll-snap-align: start;
    }

    .ts-home-v2__review-spotlight-selector li + li {
        border-top: 0;
    }

    .ts-home-v2__review-spotlight-selector a {
        min-height: 54px;
        border-right: 1px solid var(--ts-home-line);
    }

    .ts-home-v2__review-spotlight-selector a::before {
        top: auto;
        right: 12px;
        bottom: 0;
        left: 12px;
        width: auto;
        height: 2px;
    }

    .ts-home-v2__review-spotlight-stage {
        min-height: 420px;
    }

    .ts-home-v2__review-spotlight-panel {
        min-height: 346px;
    }
}

@media (max-width: 700px) {
    .ts-home-v2__review-spotlight-proof {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ts-home-v2__review-spotlight-proof > span {
        min-height: 70px;
        padding: 14px 16px;
    }

    .ts-home-v2__review-spotlight-proof > span:nth-child(3) {
        border-top: 1px solid var(--ts-home-line);
        border-left: 0;
    }

    .ts-home-v2__review-spotlight-proof > span:nth-child(4) {
        border-top: 1px solid var(--ts-home-line);
    }
}

@media (max-width: 620px) {
    .ts-home-v2__review-spotlight {
        padding: 90px 0 98px;
    }

    .ts-home-v2__review-spotlight-heading {
        margin-bottom: 35px;
        text-align: left;
    }

    .ts-home-v2__review-spotlight-rail {
        left: 0;
        transform: none;
    }

    .ts-home-v2__review-spotlight-heading h2 {
        font-size: 38px;
    }

    .ts-home-v2__review-spotlight-heading > span:last-child {
        margin-left: 0;
        font-size: 14px;
    }

    .ts-home-v2__review-spotlight-selector-heading {
        min-height: 58px;
    }

    .ts-home-v2__review-spotlight-selector ol {
        grid-auto-columns: 176px;
    }

    .ts-home-v2__review-spotlight-stage {
        min-height: 390px;
    }

    .ts-home-v2__review-spotlight-panel {
        min-height: 316px;
        padding: 34px 26px 25px;
    }

    .ts-home-v2__review-spotlight-journey {
        margin-top: 21px;
    }

    .ts-home-v2__review-spotlight-panel blockquote {
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 10px;
        margin: 34px 0 30px;
    }

    .ts-home-v2__review-spotlight-panel blockquote > span {
        font-size: 41px;
    }

    .ts-home-v2__review-spotlight-panel blockquote p {
        font-size: clamp(27px, 7.5vw, 31px);
        line-height: 1.34;
    }

    .ts-home-v2__review-spotlight-controls {
        min-height: 69px;
        padding-right: 26px;
        padding-left: 26px;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__review-spotlight {
        padding: 78px 0 86px;
    }

    .ts-home-v2__review-spotlight-heading h2 {
        font-size: 34px;
    }

    .ts-home-v2__review-spotlight-selector-heading small {
        display: none;
    }

    .ts-home-v2__review-spotlight-selector ol {
        grid-auto-columns: 168px;
    }

    .ts-home-v2__review-spotlight-panel {
        padding: 30px 22px 23px;
    }

    .ts-home-v2__review-spotlight-journey {
        gap: 8px;
        font-size: 11px;
    }

    .ts-home-v2__review-spotlight-panel blockquote p {
        font-size: 25px;
    }

    .ts-home-v2__review-spotlight-panel footer small {
        font-size: 10px;
    }

    .ts-home-v2__review-spotlight-controls {
        padding-right: 22px;
        padding-left: 22px;
    }

    .ts-home-v2__review-spotlight-proof strong {
        font-size: 29px;
    }

    .ts-home-v2__review-spotlight-proof > span {
        gap: 6px;
        padding: 13px 11px;
    }

    .ts-home-v2__review-spotlight-proof-stars {
        font-size: 13px;
    }
}

/* FAQ and integrated dark ending. */
.ts-home-v2__faq {
    padding: 142px 0 150px;
    background: var(--ts-home-warm);
    border-radius: 48px 48px 0 0;
}

.ts-home-v2__faq-layout {
    display: grid;
    grid-template-columns: minmax(300px, .74fr) minmax(0, 1.35fr);
    align-items: start;
    gap: 110px;
}

.ts-home-v2__faq header {
    max-width: 390px;
}

.ts-home-v2__faq header h2 {
    font-size: clamp(39px, 4vw, 51px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.045em;
}

.ts-home-v2__faq header > p {
    margin-top: 22px;
    color: var(--ts-home-copy);
    font-size: 15px;
    line-height: 1.7;
}

.ts-home-v2__faq header .ts-home-v2__text-link {
    margin-top: 25px;
}

.ts-home-v2 .ts-home-v2__faq :is(a, summary):focus-visible {
    outline: 3px solid #0c6f9b;
    outline-offset: 3px;
}

.ts-home-v2__faq-list {
    border-top: 1px solid #dedfd9;
}

.ts-home-v2__faq details {
    border-bottom: 1px solid #dedfd9;
}

.ts-home-v2__faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 75px;
    padding: 18px 0;
    color: #292e2c;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
}

.ts-home-v2__faq summary::-webkit-details-marker {
    display: none;
}

.ts-home-v2__faq summary span {
    position: relative;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.ts-home-v2__faq summary span::before,
.ts-home-v2__faq summary span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1px;
    content: "";
    background: #454b48;
    transform: translate(-50%, -50%);
    transition: transform 160ms ease;
}

.ts-home-v2__faq summary span::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.ts-home-v2__faq details[open] summary span::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.ts-home-v2__faq details > div {
    display: grid;
    grid-template-rows: 0fr;
    padding: 0 48px 0 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transition: grid-template-rows 340ms cubic-bezier(.22, 1, .36, 1), opacity 220ms ease, visibility 0s linear 340ms;
}

.ts-home-v2__faq details[open] > div {
    grid-template-rows: 1fr;
    visibility: visible;
    opacity: 1;
    transition: grid-template-rows 340ms cubic-bezier(.22, 1, .36, 1), opacity 220ms ease, visibility 0s linear 0s;
}

.ts-home-v2__faq details p {
    min-height: 0;
    padding-bottom: 0;
    overflow: hidden;
    color: var(--ts-home-copy);
    font-size: 13px;
    line-height: 1.7;
    transform: translateY(-4px);
    transition: padding-bottom 340ms cubic-bezier(.22, 1, .36, 1), transform 340ms cubic-bezier(.22, 1, .36, 1);
}

.ts-home-v2__faq details[open] p {
    padding-bottom: 24px;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .ts-home-v2__faq details > div,
    .ts-home-v2__faq details p {
        transition: none;
    }
}

.ts-home-v2__final {
    padding: 125px 0 86px;
    color: #fff;
    background:
        radial-gradient(circle at 94% 4%, rgba(255, 255, 255, .045) 0 118px, transparent 119px),
        radial-gradient(circle at 94% 4%, transparent 0 155px, rgba(255, 255, 255, .025) 156px 195px, transparent 196px),
        linear-gradient(145deg, #294853 0%, #203d48 54%, #19343e 100%);
    border-radius: 0;
}

.ts-home-v2__final-heading {
    text-align: center;
}

.ts-home-v2__final-heading h2 {
    color: #fff;
    font-size: clamp(42px, 4.8vw, 58px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.05em;
}

.ts-home-v2__final-heading .ts-home-v2__actions {
    justify-content: center;
    margin-top: 31px;
}

.ts-home-v2__button--dark-outline {
    color: #fff !important;
    background: transparent;
    border-color: rgba(255, 255, 255, .28);
}

.ts-home-v2__button--dark-outline:hover,
.ts-home-v2__button--dark-outline:focus-visible {
    color: #111312 !important;
    background: #fff;
    border-color: #fff;
}

.ts-home-v2__final-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin-top: 67px;
}

.ts-home-v2__final-benefits > div {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-height: 0;
    padding: 21px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .055);
    border-radius: 12px;
}

.ts-home-v2__final-benefits svg {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    color: rgba(255, 255, 255, .72);
}

.ts-home-v2__final-benefits strong,
.ts-home-v2__final-benefits small {
    display: block;
}

.ts-home-v2__final-benefits strong {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.ts-home-v2__final-benefits small {
    margin-top: 5px;
    color: rgba(255, 255, 255, .55);
    font-size: 10px;
    line-height: 1.5;
}

/* Shared footer stays intact and visually joins the dark V2 ending. */
body.ts-homepage-v2-page #footer {
    padding: 0 !important;
    background: linear-gradient(145deg, #294853 0%, #203d48 54%, #19343e 100%) !important;
    border-top: 0 !important;
}

body.ts-homepage-v2-page #footer::before,
body.ts-homepage-v2-page #footer::after {
    display: none !important;
}

body.ts-homepage-v2-page #footer > .container,
body.ts-homepage-v2-page #copyRight > .container {
    width: min(1280px, calc(100% - 56px));
    max-width: 1280px;
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0;
}

body.ts-homepage-v2-page #footer > .container {
    padding-top: 0;
    padding-bottom: 65px;
}

body.ts-homepage-v2-page #footer .container > .row {
    grid-template-columns: 1.05fr repeat(3, minmax(0, 1fr));
    column-gap: 48px;
}

body.ts-homepage-v2-page #footer .container > .row + .row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 48px;
    margin-top: 46px;
    padding-top: 46px !important;
    border-top-color: rgba(255, 255, 255, .09);
}

body.ts-homepage-v2-page #footer .container > .row:first-child > div:first-child {
    min-height: 55px;
    margin: 0 0 55px !important;
    padding: 8px 18px;
    background: rgba(255, 255, 255, .98);
    border: 0;
    border-radius: 10px;
    box-shadow: none;
}

body.ts-homepage-v2-page #footer .container > .row:first-child > div:first-child img {
    width: min(470px, 100%) !important;
}

body.ts-homepage-v2-page #footer .footer-heading,
body.ts-homepage-v2-page #footer .footer-heading a {
    color: rgba(255, 255, 255, .92) !important;
    font-size: 11px;
    letter-spacing: .05em;
}

body.ts-homepage-v2-page #footer .section-seperator {
    width: 18px;
    margin-top: 10px;
    background: #cb264d;
}

body.ts-homepage-v2-page #footer .footer-text {
    margin-top: 16px;
    color: rgba(255, 255, 255, .57);
    font-size: 11.5px;
    line-height: 1.62;
}

body.ts-homepage-v2-page #footer .footer-text ul li {
    margin-bottom: 4px;
}

body.ts-homepage-v2-page #footer .footer-text ul li a,
body.ts-homepage-v2-page #footer .footer-text p a {
    color: rgba(255, 255, 255, .58);
}

body.ts-homepage-v2-page #footer .footer-text ul li a:hover,
body.ts-homepage-v2-page #footer .footer-text ul li a:focus-visible,
body.ts-homepage-v2-page #footer .footer-text p a:hover,
body.ts-homepage-v2-page #footer .footer-text p a:focus-visible {
    color: #fff;
}

body.ts-homepage-v2-page #footer .intouch .footer-social a {
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .11);
}

body.ts-homepage-v2-page #copyRight {
    padding: 27px 0 31px;
    background: #112a33 !important;
    border-top-color: rgba(255, 255, 255, .055);
}

body.ts-homepage-v2-page #copyRight p {
    color: rgba(255, 255, 255, .4);
    font-size: 9.5px;
}

body.ts-homepage-v2-page #copyRight p:first-child {
    color: rgba(255, 255, 255, .72);
    font-size: 10.5px;
}

body.ts-homepage-v2-page #copyRight a {
    color: #d96f88;
}

/* Focus states. */
.ts-home-v2 a:focus-visible,
.ts-home-v2 summary:focus-visible,
body.ts-homepage-v2-page #navigation a:focus-visible,
body.ts-homepage-v2-page #navigation button:focus-visible {
    outline: 3px solid #0c6f9b;
    outline-offset: 3px;
}

.ts-home-v2__service-route a:focus-visible,
.ts-home-v2__service-route--law:focus-visible,
.ts-home-v2__service-card a:focus-visible {
    outline-color: #8bf0b2;
}

.ts-home-v2 .ts-home-v2__final a:focus-visible {
    outline: 3px solid #8bf0b2;
    outline-offset: 3px;
}

.ts-home-v2__service-route--law:focus-visible {
    outline-offset: -4px;
}

.ts-home-v2__simple-services a:focus-visible {
    outline-color: rgba(203, 38, 77, .48);
}

.ts-home-v2__simple-law:focus-visible {
    outline-offset: -4px;
}

/* Responsive layout. */
@media (max-width: 1240px) {
    .ts-home-v2__hero-grid {
        grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
        gap: 52px;
    }

    .ts-home-v2__hero-collage {
        height: 510px;
    }

    .ts-home-v2__split {
        gap: 76px;
    }

    .ts-home-v2__review-mosaic {
        grid-template-columns: minmax(130px, .58fr) minmax(190px, .84fr) minmax(330px, 1.45fr) minmax(190px, .84fr) minmax(130px, .58fr);
    }
}

@media (max-width: 1080px) {
    .ts-home-v2__hero {
        padding-top: 64px;
    }

    .ts-home-v2__hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 58px;
    }

    .ts-home-v2__hero-copy {
        max-width: 690px;
    }

    .ts-home-v2__hero h1,
    .ts-home-v2__lead {
        max-width: 680px;
    }

    .ts-home-v2__hero-collage {
        width: min(780px, 100%);
        height: 590px;
        margin: 0 auto;
    }

    .ts-home-v2__service-heading {
        gap: 56px;
    }

    .ts-home-v2__service-board {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__service-guide {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
        column-gap: 54px;
        align-items: start;
    }

    .ts-home-v2__service-guide > p,
    .ts-home-v2__service-guide h3,
    .ts-home-v2__service-guide > span {
        grid-column: 1;
    }

    .ts-home-v2__service-guide ul {
        grid-column: 2;
        grid-row: 1 / span 3;
        align-self: center;
        margin-top: 0;
        padding-top: 0;
    }

    .ts-home-v2__split {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        gap: 54px;
    }

    .ts-home-v2__language-destinations {
        gap: 14px 18px;
    }

    .ts-home-v2__review-mosaic {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: auto;
        max-width: 960px;
    }

    .ts-home-v2__review-card {
        grid-column: auto !important;
        grid-row: auto !important;
        min-height: 230px;
    }

    .ts-home-v2__review-summary {
        grid-column: 2;
        grid-row: 1 / span 2;
        padding: 35px 25px;
    }

    .ts-home-v2__faq-layout {
        gap: 70px;
    }

    body.ts-homepage-v2-page #footer .container > .row,
    body.ts-homepage-v2-page #footer .container > .row + .row {
        column-gap: 28px;
    }
}

/* Keep the shared footer responsive despite the V2 desktop overrides above. */
@media (max-width: 991px) {
    body.ts-homepage-v2-page #footer .container > .row,
    body.ts-homepage-v2-page #footer .container > .row + .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    body.ts-homepage-v2-page #footer .container > .row,
    body.ts-homepage-v2-page #footer .container > .row + .row {
        grid-template-columns: minmax(0, 1fr);
        column-gap: 0;
    }

    body.ts-homepage-v2-page #footer .container > .row + .row {
        margin-top: 31px;
        padding-top: 32px !important;
    }

    body.ts-homepage-v2-page #footer .container > .row:first-child > div:first-child {
        grid-column: 1 / -1;
        min-height: 58px;
        margin-bottom: 3px !important;
        padding: 10px 14px;
        border-radius: 11px;
    }
}

@media (max-width: 900px) {
    .ts-home-v2__shell {
        padding-right: 22px;
        padding-left: 22px;
    }

    .ts-home-v2__hero-proof {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 32px;
    }

    .ts-home-v2__service-heading {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .ts-home-v2__service-heading > span {
        max-width: 700px;
    }

    .ts-home-v2__service-guide {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0;
    }

    .ts-home-v2__service-guide ul {
        grid-column: 1;
        grid-row: auto;
        margin-top: 0;
        padding-top: 26px;
    }

    .ts-home-v2__split,
    .ts-home-v2__split--documents {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
    }

    .ts-home-v2__split-copy {
        max-width: 650px;
    }

    .ts-home-v2__split--documents .ts-home-v2__document-visual,
    .ts-home-v2__split--documents .ts-home-v2__split-copy {
        grid-column: auto;
        grid-row: auto;
    }

    .ts-home-v2__split--documents .ts-home-v2__document-visual {
        order: 2;
    }

    .ts-home-v2__split--documents .ts-home-v2__split-copy {
        order: 1;
    }

    .ts-home-v2__document-visual {
        min-height: 410px;
    }

    .ts-home-v2__document-register {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
        min-height: 0;
        padding: 72px 0;
    }

    .ts-home-v2__document-register-copy {
        max-width: 650px;
    }

    .ts-home-v2__language-journey {
        width: min(100%, 760px);
    }

    .ts-home-v2__language-destinations {
        width: min(100%, 620px);
    }

    .ts-home-v2 .ts-home-v2__process-journey {
        grid-template-columns: minmax(0, 1fr);
        max-width: 760px;
        margin-top: 52px;
    }

    .ts-home-v2__process-journey::before {
        top: 54px;
        right: auto;
        bottom: 54px;
        left: 53px;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, rgba(203, 38, 77, .48), rgba(63, 90, 103, .5) 52%, rgba(198, 171, 106, .72));
    }

    .ts-home-v2__process-step {
        display: grid;
        grid-template-columns: 124px minmax(0, 1fr);
        align-items: center;
        gap: 23px;
        padding: 25px 0;
        text-align: left;
    }

    .ts-home-v2__process-step:not(:last-child)::after {
        display: none;
    }

    .ts-home-v2__process-stage {
        width: 108px;
        height: 108px;
        margin: 0;
    }

    .ts-home-v2__process-stage::before {
        inset: 8px;
    }

    .ts-home-v2__process-stage-number {
        top: 0;
        width: 29px;
        height: 29px;
        font-size: 9px;
    }

    .ts-home-v2__process-stage-mark {
        width: 54px;
        height: 68px;
        padding-top: 14px;
        border-radius: 13px 13px 13px 5px;
    }

    .ts-home-v2__process-stage-mark::before {
        right: 12px;
        bottom: 16px;
        left: 12px;
    }

    .ts-home-v2__process-stage-mark::after {
        right: 21px;
        bottom: 10px;
        left: 12px;
    }

    .ts-home-v2__process-stage-mark > svg {
        width: 24px;
        height: 24px;
    }

    .ts-home-v2__process-stage-mark > span {
        right: -8px;
        bottom: -7px;
        width: 24px;
        height: 24px;
        border-width: 2px;
    }

    .ts-home-v2__process-stage-mark > span svg {
        width: 11px;
        height: 11px;
    }

    .ts-home-v2__process-stage-chip {
        bottom: 4px;
        left: -4px;
        min-height: 23px;
        padding: 5px 8px;
        font-size: 8.5px;
    }

    .ts-home-v2__process-copy {
        max-width: 480px;
        margin: 0;
    }

    .ts-home-v2__faq-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 55px;
    }

    .ts-home-v2__faq header {
        max-width: 600px;
    }

    .ts-home-v2__final-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    body.ts-homepage-v2-page #main-navigation {
        padding: 0;
        background: transparent;
    }

    body.ts-homepage-v2-page #navigation .navbar > .container {
        width: 100%;
        padding: 8px 18px;
        background: #fff;
        border: 0;
        border-radius: 0;
    }

    body.ts-homepage-v2-page #navigation .navbar-brand img {
        width: 190px;
        height: auto;
    }

    body.ts-homepage-v2-page #navigation #fixed-collapse-navbar {
        margin-top: 14px;
        padding-bottom: 13px;
    }

    body.ts-homepage-v2-page #navigation #fixed-collapse-navbar.in {
        max-height: calc(100vh - 72px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    body.ts-homepage-v2-page #navigation #menu-primary-menu > li > a {
        color: #343a37;
        font-size: 14px;
    }

    body.ts-homepage-v2-page #navigation .ts-services-mega {
        display: none !important;
    }

    body.ts-homepage-v2-page #navigation #sub-services {
        margin: 8px 0 12px;
        padding: 7px 14px;
        background: #f8faf9;
        border: 1px solid #e1e7e4;
        border-radius: 12px;
        box-shadow: none;
    }

    body.ts-homepage-v2-page #navigation #sub-services > li {
        margin: 0;
        padding: 0;
        border-color: #e2e8e5;
    }

    body.ts-homepage-v2-page #navigation #sub-services > li > a {
        display: block;
        margin: 0;
        padding: 12px 2px;
        text-decoration: none;
    }

    body.ts-homepage-v2-page #navigation #sub-services .service-title {
        color: #cb264d;
        font-size: 15px;
        line-height: 1.35;
    }

    body.ts-homepage-v2-page #navigation #sub-services .service-desc {
        margin-top: 3px;
        color: #64706b;
        font-size: 12px;
        line-height: 1.45 !important;
    }

    .ts-home-v2__hero {
        border-radius: 0 0 34px 34px;
    }

    .ts-home-v2__hero h1 {
        font-size: clamp(43px, 10vw, 58px);
    }

    body.home.ts-homepage-v2-page .ts-home-v2__hero-collage {
        order: -1;
    }

    body.home.ts-homepage-v2-page .ts-home-v2__hero-copy {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    body.home.ts-homepage-v2-page .ts-home-v2__hero h1,
    body.home.ts-homepage-v2-page .ts-home-v2__lead {
        margin-right: auto;
        margin-left: auto;
    }

    body.home.ts-homepage-v2-page .ts-home-v2__rating--hero-top {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        justify-content: center;
    }

    body.home.ts-homepage-v2-page .ts-home-v2__rating--hero-top .ts-home-v2__rating-proof,
    body.home.ts-homepage-v2-page .ts-home-v2__hero .ts-home-v2__actions {
        justify-content: center;
    }

    .ts-home-v2__service-route {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 16px;
        padding: 25px 23px;
    }

    .ts-home-v2__route-icon {
        width: 44px;
        height: 44px;
    }

    .ts-home-v2__route-decision {
        grid-column: 2;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: end;
        justify-items: start;
        width: 100%;
        min-width: 0;
    }

    .ts-home-v2__route-decision > p {
        text-align: left;
    }

    .ts-home-v2__route-decision > div {
        justify-self: end;
    }

    .ts-home-v2__route-link {
        grid-column: 2;
        justify-self: start;
    }

    .ts-home-v2__review-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 720px;
    }

    .ts-home-v2__review-summary {
        grid-column: 1 / -1;
        grid-row: auto;
        order: -1;
        padding: 20px 20px 40px;
    }

    .ts-home-v2__faq,
    .ts-home-v2__final {
        border-radius: 34px 34px 0 0;
    }

    body.ts-homepage-v2-page #footer > .container,
    body.ts-homepage-v2-page #copyRight > .container {
        width: min(100% - 40px, 1280px);
    }
}

@media (max-width: 620px) {
    .ts-home-v2 {
        font-size: 15px;
    }

    .ts-home-v2__shell {
        padding-right: 18px;
        padding-left: 18px;
    }

    .ts-home-v2__hero {
        padding: 50px 0 28px;
    }

    .ts-home-v2__hero-grid {
        gap: 44px;
    }

    .ts-home-v2__lead {
        margin-top: 22px !important;
        font-size: 15px;
    }

    .ts-home-v2__hero .ts-home-v2__actions {
        margin-top: 24px;
    }

    .ts-home-v2__button {
        min-height: 47px;
        padding: 0 21px;
        font-size: 13px;
    }

    .ts-home-v2__hero-collage {
        height: clamp(320px, 90vw, 440px);
    }

    .ts-home-v2__hero-photo {
        border-width: 6px;
    }

    .ts-home-v2__hero-photo--portrait {
        top: 14%;
        left: 0;
        width: 62%;
    }

    .ts-home-v2__hero-photo--upload {
        right: 0;
        width: 42%;
    }

    .ts-home-v2__hero-photo--city {
        right: 5%;
        width: 36%;
    }

    .ts-home-v2__hero-proof {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        margin-top: 39px;
        padding-top: 24px;
    }

    .ts-home-v2__services {
        padding: 92px 0 83px;
    }

    .ts-home-v2__center-heading h2,
    .ts-home-v2__service-heading h2,
    .ts-home-v2__split-copy h2,
    .ts-home-v2__faq header h2 {
        font-size: 37px;
    }

    .ts-home-v2__center-heading > span {
        margin-top: 17px;
        font-size: 14px;
    }

    .ts-home-v2__service-board {
        margin-top: 42px;
        padding: 10px;
        border-radius: 22px;
    }

    .ts-home-v2__service-guide {
        padding: 28px 24px;
        border-radius: 17px;
    }

    .ts-home-v2__service-guide h3 {
        font-size: 31px;
    }

    .ts-home-v2__service-routes {
        border-radius: 17px;
    }

    .ts-home-v2__service-route {
        padding: 22px 20px;
    }

    .ts-home-v2__route-copy h3 {
        font-size: 22px;
    }

    .ts-home-v2__route-decision {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .ts-home-v2__route-decision > div {
        justify-self: start;
    }

    .ts-home-v2__route-primary,
    .ts-home-v2__route-secondary {
        min-height: 41px;
    }

    .ts-home-v2__standards {
        margin-top: 32px;
    }

    .ts-home-v2__standards p {
        gap: 12px;
        font-size: 9px;
    }

    .ts-home-v2__offer {
        padding: 82px 0 45px;
    }

    .ts-home-v2__language-route + .ts-home-v2__split--documents {
        margin-top: 105px;
    }

    .ts-home-v2__split {
        gap: 35px;
        min-height: 0;
    }

    .ts-home-v2__split-copy p {
        margin-top: 19px;
        font-size: 14px;
    }

    .ts-home-v2__document-visual {
        min-height: 360px;
        padding: 28px;
        border-radius: 14px;
    }

    .ts-home-v2__language-route-heading h2 {
        font-size: 36px;
    }

    .ts-home-v2__language-route-heading > span {
        margin-top: 18px;
        font-size: 14px;
    }

    .ts-home-v2__language-journey {
        margin-top: 38px;
    }

    .ts-home-v2__language-destinations {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-flow: row;
        width: min(100%, 430px);
    }

    .ts-home-v2__document-visual li {
        font-size: 10px;
    }

    .ts-home-v2__document-visual ul {
        gap: 8px;
    }

    .ts-home-v2__document-register {
        gap: 35px;
        margin-top: 105px;
        padding: 58px 0;
    }

    .ts-home-v2__document-register-copy h2 {
        font-size: 37px;
    }

    .ts-home-v2__document-register-copy > .ts-home-v2__document-register-description {
        margin-top: 18px;
        font-size: 14px;
    }

    .ts-home-v2__process {
        padding: 82px 0 100px;
    }

    .ts-home-v2__process--shared {
        padding-bottom: 60px;
    }

    .ts-home-v2 .ts-home-v2__process-journey {
        margin-top: 44px;
    }

    .ts-home-v2__process-journey::before {
        left: 45px;
    }

    .ts-home-v2__process-step {
        grid-template-columns: 106px minmax(0, 1fr);
        gap: 17px;
        padding: 22px 0;
    }

    .ts-home-v2__process-stage {
        width: 92px;
        height: 92px;
    }

    .ts-home-v2__process-stage-number {
        width: 27px;
        height: 27px;
    }

    .ts-home-v2__process-stage-mark {
        width: 46px;
        height: 58px;
        padding-top: 12px;
    }

    .ts-home-v2__process-stage-mark > svg {
        width: 21px;
        height: 21px;
    }

    .ts-home-v2__process-stage-chip {
        bottom: -4px;
        left: 50%;
        transform: translateX(-50%);
    }

    .ts-home-v2__process-copy h3 {
        font-size: 18px;
    }

    .ts-home-v2__process-copy > span {
        font-size: 12.5px;
    }

    .ts-home-v2__reviews {
        padding: 83px 18px 95px;
    }

    .ts-home-v2__review-mosaic {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__review-summary {
        grid-column: auto;
        padding: 10px 0 35px;
    }

    .ts-home-v2__review-summary h2 {
        font-size: 37px;
    }

    .ts-home-v2__review-card {
        min-height: 210px;
    }

    .ts-home-v2__faq {
        padding: 92px 0 100px;
    }

    .ts-home-v2__faq-layout {
        gap: 42px;
    }

    .ts-home-v2__faq summary {
        min-height: 68px;
        font-size: 13px;
    }

    .ts-home-v2__faq details > div {
        padding-right: 28px;
    }

    .ts-home-v2__final {
        padding: 91px 0 66px;
    }

    .ts-home-v2__final-heading h2 {
        font-size: 41px;
    }

    .ts-home-v2__final-benefits {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 51px;
    }

    .ts-home-v2__final-benefits > div {
        min-height: 0;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__hero h1 {
        font-size: 40px;
    }

    .ts-home-v2__title-line {
        font-size: .9em;
    }

    .ts-home-v2__hero .ts-home-v2__actions,
    .ts-home-v2__final-heading .ts-home-v2__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ts-home-v2__hero .ts-home-v2__button,
    .ts-home-v2__final-heading .ts-home-v2__button {
        width: 100%;
    }

    .ts-home-v2__rating {
        flex-wrap: wrap;
    }

    .ts-home-v2__service-route {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 20px 17px;
    }

    .ts-home-v2__route-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .ts-home-v2__route-decision,
    .ts-home-v2__route-link {
        grid-column: 1 / -1;
    }

    .ts-home-v2__route-decision > div {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .ts-home-v2__route-primary,
    .ts-home-v2__route-secondary {
        width: 100%;
    }

    .ts-home-v2__document-visual {
        min-height: 430px;
        padding: 22px;
    }

    .ts-home-v2__document-visual ul {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__document-register-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__document-register-list li > a {
        min-height: 60px;
    }

    .ts-home-v2__document-register-copy h2 {
        font-size: 33px;
    }

    .ts-home-v2__language-route-heading h2 {
        font-size: 33px;
    }

    .ts-home-v2 .ts-home-v2__process-journey {
        margin-top: 38px;
    }

    .ts-home-v2__process-journey::before {
        display: none;
    }

    .ts-home-v2__process-step {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        padding: 30px 8px;
        text-align: center;
        border-top: 1px solid var(--ts-home-line);
    }

    .ts-home-v2__process-step:last-child {
        border-bottom: 1px solid var(--ts-home-line);
    }

    .ts-home-v2__process-stage {
        margin: 0 auto;
    }

    .ts-home-v2__process-copy {
        max-width: 270px;
        margin: 0 auto;
    }

}

/* Service comparison breakpoints. */
@media (max-width: 1080px) {
    .ts-home-v2__service-card {
        min-height: 365px;
    }
}

@media (max-width: 900px) {
    .ts-home-v2__service-grid,
    .ts-home-v2__simple-frame {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__service-card {
        min-height: 330px;
    }

    .ts-home-v2__simple-route {
        min-height: 330px;
    }

}

@media (max-width: 620px) {
    .ts-home-v2__service-grid {
        margin-top: 42px;
    }

    .ts-home-v2__service-card {
        min-height: 0;
        padding: 24px 22px;
    }

    .ts-home-v2__service-top {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .ts-home-v2__price {
        text-align: left;
    }

    .ts-home-v2__business-band {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        padding: 24px;
    }

    .ts-home-v2__simple-services {
        padding: 82px 0 96px;
    }

    .ts-home-v2__simple-heading {
        text-align: left;
    }

    .ts-home-v2__simple-heading h2 {
        font-size: 36px;
    }

    .ts-home-v2__simple-heading > span {
        margin-top: 18px;
        font-size: 14px;
    }

    .ts-home-v2__simple-frame {
        gap: 18px;
        margin-top: 38px;
    }

    .ts-home-v2__simple-route {
        min-height: 0;
        padding: 29px 23px 27px;
        border-radius: 18px;
    }

    .ts-home-v2__simple-route-heading h3 {
        font-size: 23px;
    }

    .ts-home-v2__simple-actions {
        gap: 13px;
    }

    .ts-home-v2__simple-law {
        grid-template-columns: 44px minmax(0, 1fr);
        padding: 23px 20px;
    }

    .ts-home-v2__simple-law-icon {
        width: 44px;
        height: 44px;
    }

    .ts-home-v2__simple-law em {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__service-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__service-actions a {
        width: 100%;
        min-height: 44px;
    }

    .ts-home-v2__simple-route-heading {
        align-items: flex-start;
    }

    .ts-home-v2__simple-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__simple-actions a,
    .ts-home-v2__simple-actions .ts-home-v2__simple-primary {
        justify-content: center;
        width: 100%;
    }

    .ts-home-v2__simple-law {
        grid-template-columns: minmax(0, 1fr);
    }

    .ts-home-v2__simple-law em {
        grid-column: 1;
    }
}

/* Purpose gallery breakpoints. */
@media (max-width: 1080px) {
    .ts-home-v2__purpose-layout {
        grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
        gap: 48px;
    }

    .ts-home-v2__purpose-gallery {
        gap: 22px 14px;
    }
}

@media (max-width: 980px) {
    .ts-home-v2__purpose-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 46px;
    }

    .ts-home-v2__purpose-intro {
        max-width: 700px;
        padding-top: 0;
    }

    .ts-home-v2__purpose-gallery {
        width: 100%;
        max-width: 840px;
    }
}

@media (max-width: 900px) {
    .ts-home-v2__purpose {
        margin-top: 110px;
    }
}

@media (max-width: 620px) {
    .ts-home-v2__purpose {
        margin-top: 105px;
        padding: 60px 0;
    }

    .ts-home-v2__purpose-layout {
        gap: 36px;
    }

    .ts-home-v2__purpose-intro h2 {
        font-size: 37px;
    }

    .ts-home-v2__purpose-intro > p:last-child {
        margin-top: 19px;
        font-size: 14px;
    }

    .ts-home-v2__purpose-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 14px;
    }
}

@media (max-width: 420px) {
    .ts-home-v2__purpose-intro h2 {
        font-size: 33px;
    }

    .ts-home-v2__purpose-gallery {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .ts-home-v2__purpose-gallery a {
        grid-template-rows: none;
        grid-template-columns: 96px minmax(0, 1fr);
        align-items: center;
        gap: 13px;
        min-height: 76px;
        padding-bottom: 12px;
    }

    .ts-home-v2__purpose-media {
        width: 96px;
        height: 72px;
    }
}

/* Customer review carousel. */
.ts-home-v2__reviews {
    padding: 48px 0 120px;
    overflow: hidden;
    background: #faf8f2;
}

.ts-home-v2__review-carousel-heading {
    text-align: center;
}

.ts-home-v2__review-carousel-heading > p {
    color: var(--ts-home-secondary);
    font-size: var(--ts-home-eyebrow-size);
    font-weight: 700;
    letter-spacing: .03em;
}

.ts-home-v2__review-carousel-heading h2 {
    max-width: 760px;
    margin: 13px auto 0;
    font-size: clamp(38px, 4vw, 50px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ts-home-v2__review-carousel-heading > span {
    display: block;
    max-width: 610px;
    margin: 20px auto 0;
    color: var(--ts-home-copy);
    font-size: 15px;
    line-height: 1.7;
}

.ts-home-v2__review-carousel-proof {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 9px 12px;
    margin-top: 25px;
    color: #59615e;
    font-size: 12px;
}

.ts-home-v2__review-carousel-heading--compact .ts-home-v2__review-carousel-proof {
    margin-top: 0;
}

.ts-home-v2__review-carousel-score {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.ts-home-v2__review-carousel-score b {
    color: #a36c00;
    font-size: 17px;
    letter-spacing: 1.2px;
}

.ts-home-v2__review-carousel-score strong {
    color: var(--ts-home-primary);
    font-size: 13px;
}

.ts-home-v2__review-carousel-proof > i {
    width: 1px;
    height: 16px;
    background: #d8dad6;
}

.ts-home-v2__review-carousel-proof > a,
.ts-home-v2__review-carousel-proof > button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 0 15px;
    color: var(--ts-home-primary) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    background: transparent;
    border: 1px solid #d9dfdf;
    border-radius: 999px;
}

.ts-home-v2__review-carousel-proof > a svg {
    width: 16px;
    height: 16px;
}

.ts-home-v2__review-carousel-proof > button {
    cursor: pointer;
}

.ts-home-v2__review-carousel-proof > a:hover,
.ts-home-v2__review-carousel-proof > button:hover {
    color: var(--ts-home-secondary) !important;
    border-color: rgba(203, 38, 77, .35);
}

.ts-home-v2__review-carousel-toggle-icon {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
}

.ts-home-v2__review-carousel-toggle-icon::before,
.ts-home-v2__review-carousel-toggle-icon::after {
    position: absolute;
    top: 1px;
    width: 3px;
    height: 10px;
    content: "";
    background: currentColor;
    border-radius: 2px;
}

.ts-home-v2__review-carousel-toggle-icon::before { left: 1px; }
.ts-home-v2__review-carousel-toggle-icon::after { right: 1px; }

.ts-home-v2__review-carousel-proof > button[aria-pressed="true"] .ts-home-v2__review-carousel-toggle-icon::before {
    top: 0;
    left: 2px;
    width: 0;
    height: 0;
    background: transparent;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid currentColor;
    border-radius: 0;
}

.ts-home-v2__review-carousel-proof > button[aria-pressed="true"] .ts-home-v2__review-carousel-toggle-icon::after {
    display: none;
}

.ts-home-v2__review-carousel {
    --ts-review-card-width: clamp(280px, 21vw, 326px);
    --ts-review-gap: 18px;
    position: relative;
    display: grid;
    gap: 14px;
    margin-top: 0;
    overflow: hidden;
}

.ts-home-v2__review-carousel::before,
.ts-home-v2__review-carousel::after {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    width: 58px;
    content: "";
    pointer-events: none;
}

.ts-home-v2__review-carousel::before {
    left: 0;
    background: linear-gradient(90deg, #faf8f2 0%, rgba(250, 248, 242, 0) 100%);
}

.ts-home-v2__review-carousel::after {
    right: 0;
    background: linear-gradient(270deg, #faf8f2 0%, rgba(250, 248, 242, 0) 100%);
}

.ts-home-v2__review-carousel-viewport {
    max-width: 100%;
    padding: 10px 0 12px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scrollbar-color: transparent transparent;
    touch-action: pan-x;
}

.ts-home-v2__review-carousel-viewport::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.ts-home-v2__review-carousel-viewport:focus-visible {
    outline: 3px solid #005f95;
    outline-offset: -5px;
    border-radius: 12px;
}

.ts-home-v2__review-carousel-track {
    display: flex;
    align-items: stretch;
    width: max-content;
}

.ts-home-v2__review-carousel-group {
    display: flex;
    flex: none;
    align-items: stretch;
    gap: var(--ts-review-gap);
    padding-right: var(--ts-review-gap);
}

.ts-home-v2__review-carousel:not(.is-enhanced) .ts-home-v2__review-carousel-group--duplicate {
    display: none;
}

.ts-home-v2__review-slide {
    position: relative;
    display: flex;
    flex: 0 0 var(--ts-review-card-width);
    flex-direction: column;
    min-width: 0;
    min-height: 244px;
    padding: 23px;
    overflow: hidden;
    color: #303735;
    background: #fff;
    border: 1px solid #e5e9e7;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(63, 90, 103, .075);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.ts-home-v2__review-slide::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, var(--ts-home-secondary) 0 36%, var(--ts-home-primary) 36% 74%, #d8b56a 74% 100%);
}

.ts-home-v2__review-slide::after {
    position: absolute;
    top: 41px;
    right: 20px;
    content: "“";
    color: rgba(203, 38, 77, .075);
    font-family: Georgia, serif;
    font-size: 72px;
    line-height: 1;
    pointer-events: none;
}

.ts-home-v2__review-slide:hover {
    border-color: rgba(63, 90, 103, .24);
    box-shadow: 0 18px 38px rgba(63, 90, 103, .11);
    transform: translateY(-3px);
}

.ts-home-v2__review-slide-meta {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.ts-home-v2__review-slide-meta > span:first-child {
    min-width: 0;
    color: var(--ts-home-primary);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.ts-home-v2__review-slide-meta > span:last-child {
    flex: 0 0 auto;
    color: #a36c00;
    font-size: 15px;
    letter-spacing: .9px;
}

.ts-home-v2__review-slide blockquote {
    position: relative;
    z-index: 1;
    margin: 20px 0 21px;
    color: #424947;
    font-size: 14px;
    line-height: 1.58;
    overflow-wrap: anywhere;
}

.ts-home-v2__review-slide blockquote p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}

.ts-home-v2__review-slide footer {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: auto;
}

.ts-home-v2__review-slide footer > img {
    display: block;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    object-fit: cover;
    background: #fdeaf0;
    border: 1px solid rgba(203, 38, 77, .12);
    border-radius: 50%;
}

.ts-home-v2__review-slide footer p {
    min-width: 0;
}

.ts-home-v2__review-slide footer strong {
    display: block;
}

.ts-home-v2__review-slide footer strong {
    color: #2f3533;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .ts-home-v2__reviews {
        padding: 68px 0 96px;
    }

    .ts-home-v2__review-carousel {
        --ts-review-card-width: 286px;
        --ts-review-gap: 16px;
        gap: 12px;
        margin-top: 0;
    }

}

@media (max-width: 620px) {
    .ts-home-v2__reviews {
        padding: 58px 0 82px;
    }

    .ts-home-v2__review-carousel-heading h2 {
        font-size: 37px;
    }

    .ts-home-v2__review-carousel-heading > span {
        margin-top: 18px;
        font-size: 14px;
    }

    .ts-home-v2__review-carousel-proof {
        margin-top: 21px;
    }

    .ts-home-v2__review-carousel-proof > i {
        display: none;
    }

    .ts-home-v2__review-carousel {
        --ts-review-card-width: min(300px, calc(100vw - 48px));
        --ts-review-gap: 14px;
        gap: 10px;
        margin-top: 0;
    }

    .ts-home-v2__review-carousel::before,
    .ts-home-v2__review-carousel::after {
        width: 24px;
    }

    .ts-home-v2__review-carousel-viewport {
        padding-block: 8px 10px;
    }

    .ts-home-v2__review-slide {
        min-height: 232px;
        padding: 21px;
    }

    .ts-home-v2__review-slide blockquote {
        margin-top: 22px;
        font-size: 14.5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ts-home-v2 *,
    .ts-home-v2 *::before,
    .ts-home-v2 *::after,
    body.ts-homepage-v2-page .ts-services-mega-backdrop,
    body.ts-homepage-v2-page #navigation *,
    body.ts-homepage-v2-page #navigation *::before,
    body.ts-homepage-v2-page #navigation *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
