/* Legacy homepage canvas hook. The global public theme owns the actual colour. */
body.home-page,
body.home-page #main-content,
body.home-page #main-content > section {
    background-color: var(--site-bg, #050917) !important;
}

/* Shared home section heading style, matched to the Brand Wave title block. */
body.home-page {
    --home-section-heading-width: min(850px, calc(100% - 48px));
    --home-section-title-size: clamp(28px, 2.85vw, 38px);
    --home-section-subtitle-size: 14px;
    --home-section-subtitle-gap: 8px;
    --home-section-title-color: #f5f5ef;
    --home-section-subtitle-color: #a7b0ad;
}

body.home-page :is(
    #how-it-works .ecosystem-story__header,
    #services .services-intro,
    #brand-wave .brand-wave__header,
    #workflow .truelink-workflow__header,
    .results-section .results-header,
    #industries .industries-bento__heading,
    #commerce-showcase .commerce-showcase__header,
    #work .category-accordion__header,
    #news .news-leaders__header,
    #connected-ecosystem .city-experience__heading,
    #innovation .innovation-heading,
    .tl-brand-v2 .tl-brand-v2__heading
) {
    width: var(--home-section-heading-width) !important;
    max-width: 850px !important;
    margin-inline: auto !important;
    text-align: center !important;
}

body.home-page :is(
    #how-it-works .ecosystem-story__header > span,
    #workflow .truelink-workflow__header > span,
    .results-section .results-header .gradient-tagline,
    #industries .industries-bento__eyebrow,
    #work .category-accordion__eyebrow,
    #news .news-leaders__eyebrow,
    #connected-ecosystem .city-experience__eyebrow
) {
    display: none !important;
}

body.home-page :is(
    #how-it-works .ecosystem-story__header h2,
    #services .services-intro h2,
    #brand-wave .brand-wave__header h2,
    #workflow .truelink-workflow__header h2,
    .results-section .results-header h2,
    #industries .industries-bento__heading h2,
    #commerce-showcase .commerce-showcase__header h2,
    #work .category-accordion__header h2,
    #news .news-leaders__header h2,
    #connected-ecosystem .city-experience__title,
    #innovation .innovation-heading h2,
    .tl-brand-v2 .tl-brand-v2__heading h2
) {
    max-width: 790px !important;
    margin: 0 auto !important;
    color: var(--home-section-title-color) !important;
    font-family: "Instrument Sans", sans-serif !important;
    font-size: var(--home-section-title-size) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.06 !important;
    text-align: center !important;
    text-wrap: balance;
}

body.home-page #how-it-works .ecosystem-story__header h2 em {
    color: inherit !important;
    font-style: normal !important;
}

body.home-page :is(
    #how-it-works .ecosystem-story__header p,
    #services .services-intro p,
    #brand-wave .brand-wave__header p,
    #workflow .truelink-workflow__header p,
    .results-section .results-header p,
    #work .category-accordion__header p,
    #industries .industries-bento__heading p,
    #commerce-showcase .commerce-showcase__header p,
    #news .news-leaders__header p,
    #connected-ecosystem .city-experience__sublead,
    #innovation .innovation-heading p
) {
    max-width: 590px !important;
    margin: var(--home-section-subtitle-gap) auto 0 !important;
    color: var(--home-section-subtitle-color) !important;
    font-family: "Inter", sans-serif !important;
    font-size: var(--home-section-subtitle-size) !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

@media (max-width: 760px) {
    body.home-page {
        --home-section-heading-width: min(560px, calc(100% - 40px));
        --home-section-title-size: clamp(25px, 6.8vw, 32px);
        --home-section-subtitle-size: 13px;
    }

    body.home-page :is(
        #how-it-works .ecosystem-story__header h2,
        #services .services-intro h2,
        #brand-wave .brand-wave__header h2,
        #workflow .truelink-workflow__header h2,
        .results-section .results-header h2,
        #industries .industries-bento__heading h2,
        #commerce-showcase .commerce-showcase__header h2,
        #work .category-accordion__header h2,
        #news .news-leaders__header h2,
        #connected-ecosystem .city-experience__title,
        #innovation .innovation-heading h2,
        .tl-brand-v2 .tl-brand-v2__heading h2
    ) {
        font-size: clamp(29px, 8vw, 36px) !important;
        line-height: 1.05 !important;
    }

    body.home-page :is(
        #how-it-works .ecosystem-story__header p,
        #services .services-intro p,
        #brand-wave .brand-wave__header p,
        #workflow .truelink-workflow__header p,
        .results-section .results-header p,
        #work .category-accordion__header p,
        #industries .industries-bento__heading p,
        #commerce-showcase .commerce-showcase__header p,
        #news .news-leaders__header p,
        #connected-ecosystem .city-experience__sublead,
        #innovation .innovation-heading p
    ) {
        font-size: var(--home-section-subtitle-size) !important;
    }
}

/* Final homepage component alignment. */
body.home-page #film-title {
    max-width: none !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
}

body.home-page section#innovation.innovation-showcase.section {
    min-height: 0 !important;
    padding: clamp(22px, 3vw, 38px) 0 !important;
}

body.home-page section#innovation .innovation-container-card {
    min-height: 0 !important;
    padding: clamp(26px, 3.2vw, 40px) 24px !important;
}

body.home-page section#innovation .innovation-heading {
    margin: 0 auto clamp(18px, 2vw, 26px) !important;
}

body.home-page section#innovation .innovation-marquee {
    margin: 0 0 18px !important;
    padding: 8px 0 !important;
}

@media (max-width: 600px) {
    body.home-page #film-title {
        font-size: clamp(14px, 4vw, 19px) !important;
    }
}

body.home-page main section#industries.industries-bento .industries-bento__heading,
body.home-page main section#work.category-accordion .category-accordion__header {
    width: var(--home-section-heading-width) !important;
    max-width: 850px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}

body.home-page main section#industries.industries-bento .industries-bento__eyebrow,
body.home-page main section#work.category-accordion .category-accordion__eyebrow {
    display: none !important;
}

body.home-page main section#industries.industries-bento .industries-bento__heading h2,
body.home-page main section#work.category-accordion .category-accordion__header h2 {
    max-width: 790px !important;
    margin: 0 auto !important;
    color: var(--home-section-title-color) !important;
    font-family: "Instrument Sans", sans-serif !important;
    font-size: var(--home-section-title-size) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.04 !important;
    text-align: center !important;
    text-wrap: balance;
}

body.home-page main section#industries.industries-bento .industries-bento__heading p,
body.home-page main section#work.category-accordion .category-accordion__header p {
    max-width: 590px !important;
    margin: var(--home-section-subtitle-gap) auto 0 !important;
    color: var(--home-section-subtitle-color) !important;
    font-family: "Inter", sans-serif !important;
    font-size: var(--home-section-subtitle-size) !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

@media (max-width: 760px) {
    body.home-page main section#industries.industries-bento .industries-bento__heading h2,
    body.home-page main section#work.category-accordion .category-accordion__header h2 {
        font-size: clamp(29px, 8vw, 36px) !important;
        line-height: 1.05 !important;
    }
}

/* Final home spacing pass: reduce blank air above and below each homepage section. */
body.home-page #main-content > section {
    scroll-margin-top: 96px;
}

body.home-page .trusted.tl-brand-v2 {
    padding-block: 12px !important;
}

body.home-page main#main-content > section#trusted.tl-brand-v2.tl-brand-v2 {
    min-height: 0 !important;
    padding: 8px 0 12px !important;
}

body.home-page main#main-content > section#trusted.tl-brand-v2.tl-brand-v2 > .tl-brand-v2__heading.shell {
    margin-bottom: 14px !important;
}

body.home-page .intro-section.section,
body.home-page main#main-content > section#about.intro-section.section {
    padding-block: clamp(30px, 3.2vw, 42px) !important;
}

body.home-page main#main-content > section#about.intro-section.section .partner-grid {
    min-height: clamp(480px, 44vw, 600px) !important;
}

body.home-page main#main-content > section#about.intro-section.section .partner-copy {
    padding-block: clamp(22px, 3vw, 38px) !important;
}

body.home-page main section#services.services-photo {
    padding: clamp(28px, 3vw, 38px) 0 clamp(30px, 3.2vw, 42px) !important;
}

body.home-page main section#services.services-photo .services-intro {
    margin-bottom: clamp(12px, 1.6vw, 18px) !important;
}

body.home-page main > section.brand-wave {
    min-height: 0 !important;
}

body.home-page main section.brand-wave .brand-wave__sticky {
    min-height: 0 !important;
    padding-block: 0 !important;
}

body.home-page main section.brand-wave .brand-wave__header {
    margin-bottom: clamp(18px, 2.4vw, 28px) !important;
}

body.home-page .results-section.section {
    padding-block: clamp(30px, 3.2vw, 40px) !important;
}

body.home-page section.truelink-workflow {
    padding: clamp(32px, 3.6vw, 46px) 24px clamp(34px, 3.8vw, 48px) !important;
}

body.home-page main#main-content > section#workflow.truelink-workflow.truelink-workflow {
    padding: clamp(32px, 3.6vw, 46px) 24px clamp(34px, 3.8vw, 48px) !important;
}

body.home-page .truelink-workflow__header {
    margin-bottom: clamp(22px, 2.8vw, 34px) !important;
}

body.home-page section#industries .industries-bento__stage {
    padding: clamp(22px, 2.8vw, 34px) 24px 4px !important;
}

body.home-page section#industries .industries-bento__heading p {
    margin-top: 8px !important;
}

body.home-page section#industries .industries-bento__cta {
    margin-top: 12px !important;
}

body.home-page section#industries .industries-bento__cards {
    padding: 0 0 clamp(12px, 1.8vw, 20px) !important;
}

body.home-page section.confidence-film.commerce-showcase.section {
    padding: clamp(24px, 2.8vw, 34px) 0 clamp(26px, 3vw, 38px) !important;
    background: #050917 !important;
    background-color: #050917 !important;
}

body.home-page .commerce-showcase__viewport {
    margin-top: clamp(28px, 3vw, 40px) !important;
}

body.home-page section#innovation.innovation-showcase.section {
    padding: clamp(12px, 1.8vw, 20px) 0 clamp(18px, 2.4vw, 28px) !important;
}

body.home-page section#innovation .innovation-container-card {
    padding: clamp(20px, 2.4vw, 28px) 24px !important;
}

body.home-page section#work.category-accordion {
    padding: clamp(34px, 3.8vw, 48px) 0 clamp(32px, 3.6vw, 46px) !important;
}

body.home-page section#work.category-accordion .category-accordion__layout {
    margin-top: clamp(34px, 4vw, 48px) !important;
}

body.home-page section#news.news-leaders {
    padding: clamp(34px, 3.8vw, 48px) 0 clamp(36px, 4vw, 52px) !important;
}

body.home-page section#news.news-leaders .news-leaders__copy {
    padding-top: 0 !important;
}

body.home-page section#news.news-leaders .news-leaders__topics {
    margin-top: clamp(38px, 4.8vw, 62px) !important;
}

body.home-page section#connected-ecosystem.city-experience {
    padding-block: clamp(28px, 3.4vw, 42px) !important;
}

@media (max-width: 900px) {
    body.home-page .intro-section.section,
    body.home-page .results-section.section {
        padding-block: 38px !important;
    }

    body.home-page main section#services.services-photo,
    body.home-page section.truelink-workflow,
    body.home-page main#main-content > section#workflow.truelink-workflow.truelink-workflow,
    body.home-page section.confidence-film.commerce-showcase.section,
    body.home-page section#work.category-accordion,
    body.home-page section#news.news-leaders {
        padding-top: 42px !important;
        padding-bottom: 46px !important;
    }

    body.home-page section#industries .industries-bento__stage {
        padding-top: 34px !important;
    }
}

@media (max-width: 600px) {
    body.home-page #main-content > section {
        scroll-margin-top: 76px;
    }

    body.home-page .intro-section.section,
    body.home-page .results-section.section {
        padding-block: 32px !important;
    }

    body.home-page main section#services.services-photo,
    body.home-page section.truelink-workflow,
    body.home-page main#main-content > section#workflow.truelink-workflow.truelink-workflow,
    body.home-page section.confidence-film.commerce-showcase.section,
    body.home-page section#work.category-accordion,
    body.home-page section#news.news-leaders {
        padding-top: 34px !important;
        padding-bottom: 38px !important;
    }

    body.home-page .truelink-workflow__header {
        margin-bottom: 24px !important;
    }

    body.home-page main#main-content > section#about.intro-section.section {
        padding-block: 32px !important;
    }

    body.home-page main#main-content > section#about.intro-section.section .partner-grid {
        min-height: 700px !important;
    }

    body.home-page main#main-content > section#trusted.tl-brand-v2.tl-brand-v2 {
        padding: 10px 0 16px !important;
    }

    body.home-page section#industries .industries-bento__stage {
        padding: 28px 16px 8px !important;
    }

    body.home-page section#industries .industries-bento__cards {
        padding-bottom: 24px !important;
    }

    body.home-page section#news.news-leaders .news-leaders__topics {
        margin-top: 30px !important;
    }
}

/* Unified compact title/subtitle lockup. Keep this late so component sheets cannot drift. */
body.home-page main#main-content > section#services.services-photo .services-intro,
body.home-page main#main-content > section#brand-wave.brand-wave .brand-wave__header,
body.home-page main#main-content > section#workflow.truelink-workflow .truelink-workflow__header,
body.home-page main#main-content > section.results-section .results-header,
body.home-page main#main-content > section#industries.industries-bento .industries-bento__heading,
body.home-page main#main-content > section#commerce-showcase.commerce-showcase .commerce-showcase__header,
body.home-page main#main-content > section#innovation.innovation-showcase .innovation-heading,
body.home-page main#main-content > section#work.category-accordion .category-accordion__header,
body.home-page main#main-content > section#news.news-leaders .news-leaders__header,
body.home-page main#main-content > section#connected-ecosystem.city-experience .city-experience__heading {
    width: var(--home-section-heading-width) !important;
    max-width: 850px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}

body.home-page main#main-content > section#services.services-photo .services-intro h2,
body.home-page main#main-content > section#brand-wave.brand-wave .brand-wave__header h2,
body.home-page main#main-content > section#workflow.truelink-workflow .truelink-workflow__header h2,
body.home-page main#main-content > section.results-section .results-header h2,
body.home-page main#main-content > section#industries.industries-bento .industries-bento__heading h2,
body.home-page main#main-content > section#commerce-showcase.commerce-showcase .commerce-showcase__header h2,
body.home-page main#main-content > section#innovation.innovation-showcase .innovation-heading h2,
body.home-page main#main-content > section#work.category-accordion .category-accordion__header h2,
body.home-page main#main-content > section#news.news-leaders .news-leaders__header h2,
body.home-page main#main-content > section#connected-ecosystem.city-experience .city-experience__title {
    max-width: 790px !important;
    margin: 0 auto !important;
    color: var(--home-section-title-color) !important;
    font-family: "Instrument Sans", sans-serif !important;
    font-size: var(--home-section-title-size) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.06 !important;
    text-align: center !important;
    text-wrap: balance !important;
}

body.home-page main#main-content > section#services.services-photo .services-intro p,
body.home-page main#main-content > section#brand-wave.brand-wave .brand-wave__header p,
body.home-page main#main-content > section#workflow.truelink-workflow .truelink-workflow__header p,
body.home-page main#main-content > section.results-section .results-header p,
body.home-page main#main-content > section#industries.industries-bento .industries-bento__heading p,
body.home-page main#main-content > section#commerce-showcase.commerce-showcase .commerce-showcase__header p,
body.home-page main#main-content > section#innovation.innovation-showcase .innovation-heading p,
body.home-page main#main-content > section#work.category-accordion .category-accordion__header p,
body.home-page main#main-content > section#news.news-leaders .news-leaders__header p,
body.home-page main#main-content > section#connected-ecosystem.city-experience .city-experience__sublead {
    max-width: 590px !important;
    margin: var(--home-section-subtitle-gap) auto 0 !important;
    color: var(--home-section-subtitle-color) !important;
    font-family: "Inter", sans-serif !important;
    font-size: var(--home-section-subtitle-size) !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

body.home-page main#main-content > section#industries.industries-bento .industries-bento__stage {
    align-items: start !important;
    padding-top: clamp(22px, 2.6vw, 34px) !important;
    padding-bottom: clamp(8px, 1vw, 14px) !important;
}

body.home-page main#main-content > section#industries.industries-bento .industries-bento__cta {
    justify-content: center !important;
    margin-top: 10px !important;
}

body.home-page main#main-content > section#industries.industries-bento .industries-bento__cards {
    margin-top: clamp(10px, 1.4vw, 18px) !important;
}

body.home-page main#main-content > section#services.services-photo .services-intro {
    margin-bottom: clamp(28px, 3vw, 44px) !important;
}

body.home-page main#main-content > section#news.news-leaders .news-leaders__inner {
    grid-template-rows: auto 1fr auto !important;
    align-items: start !important;
}

body.home-page main#main-content > section#news.news-leaders .news-leaders__copy {
    display: contents !important;
}

body.home-page main#main-content > section#news.news-leaders .news-leaders__header {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    margin-bottom: clamp(34px, 3.8vw, 50px) !important;
}

body.home-page main#main-content > section#news.news-leaders .news-leaders__body {
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
    align-self: center !important;
    padding-top: clamp(34px, 4vw, 58px) !important;
}

body.home-page main#main-content > section#news.news-leaders .news-leaders__topics {
    margin-top: 0 !important;
}

body.home-page main#main-content > section#news.news-leaders .news-leaders__view-all {
    margin-top: clamp(24px, 2.6vw, 36px) !important;
}

body.home-page main#main-content > section#news.news-leaders .news-leaders__visual {
    grid-column: 2 !important;
    grid-row: 2 / span 2 !important;
}

@media (max-width: 900px) {
    body.home-page main#main-content > section#news.news-leaders .news-leaders__copy {
        display: block !important;
    }

    body.home-page main#main-content > section#news.news-leaders .news-leaders__header {
        margin-bottom: 0 !important;
    }

    body.home-page main#main-content > section#news.news-leaders .news-leaders__view-all {
        margin-top: 28px !important;
    }
}
