:root {
    --tg2-ink: #111417;
    --tg2-ink-soft: #1b1f23;
    --tg2-white: #fff;
    --tg2-paper: #f5f6f6;
    --tg2-text: #24292f;
    --tg2-muted: #66707a;
    --tg2-line: #d9dddf;
    --tg2-lime: #b8ed2c;
    --tg2-orange: #ff4b18;
    --tg2-display: 'Manrope', 'Segoe UI', sans-serif;
}

.tg2-shell,
.tg-studio-header .ps-container {
    box-sizing: border-box;
    width: 100%;
    max-width: 1680px;
    margin-inline: auto;
    padding-inline: clamp(24px, 3.4vw, 64px);
}

/* Manufacturer-first header: native Botble menu remains the data source. */
body .tg-studio-header {
    border-bottom: 1px solid #2b3035;
    background: var(--tg2-ink);
}

body .tg-studio-header__rail {
    border-color: #2b3035;
    background: #0c0f11;
}

body .tg-studio-header__rail-inner {
    min-height: 36px;
}

body .tg-studio-header__rail p {
    color: #aeb5bb;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .025em;
    text-transform: none;
}

body .tg-studio-header__main-inner {
    position: relative;
    min-height: 88px;
    gap: clamp(20px, 2.2vw, 40px);
}

body .tg-studio-header__logo {
    width: clamp(142px, 11vw, 190px);
}

body .tg-studio-header__nav {
    display: block;
    min-width: 0;
}

body .tg-studio-nav {
    justify-content: center;
    gap: clamp(15px, 1.5vw, 28px);
}

body .tg-studio-nav > li > a {
    padding-block: 34px 32px;
    color: #e3e7e9;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .01em;
    text-transform: none;
}

body .tg-studio-nav > li > a::after {
    bottom: 25px;
    height: 2px;
    background: var(--tg2-lime);
}

body .tg-studio-nav .sub-menu {
    top: calc(100% - 12px);
    min-width: 230px;
    padding: 10px;
    border: 1px solid #353b40;
    background: var(--tg2-ink-soft);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .24);
}

body .tg-studio-nav > li.tg-catalogue-menu {
    position: static;
}

body .tg-catalogue-mega {
    position: absolute;
    z-index: 10005;
    top: 100%;
    right: clamp(16px, 3vw, 48px);
    left: clamp(16px, 3vw, 48px);
    max-width: 1440px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    max-height: calc(100vh - 120px);
    overflow: hidden !important;
    overflow-y: hidden !important;
    overflow-x: hidden !important;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 0 0 14px 14px;
    background: #ffffff;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.22), 0 4px 16px rgba(0, 0, 0, 0.08);
    color: #1a202c;
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
                visibility 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    visibility: hidden;
}

body .tg-catalogue-mega::-webkit-scrollbar {
    width: 6px;
}
body .tg-catalogue-mega::-webkit-scrollbar-track {
    background: #f1f3f5;
}
body .tg-catalogue-mega::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
body .tg-catalogue-mega::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

body .tg-catalogue-menu:hover > .tg-catalogue-mega,
body .tg-catalogue-menu:focus-within:has(:focus-visible) > .tg-catalogue-mega,
body .tg-catalogue-menu.is-open > .tg-catalogue-mega {
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
}

.tg-catalogue-mega__intro {
    padding: 18px 16px;
    background: linear-gradient(165deg, #10131a 0%, #171c26 60%, #1e2533 100%);
    border-right: 1px solid #2a3138;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.tg-catalogue-mega__intro::after {
    content: '';
    position: absolute;
    bottom: -40px;
    right: -40px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(199, 244, 100, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.tg-catalogue-mega__kicker {
    display: inline-block;
    color: var(--tg2-lime, #c7f464);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.tg-catalogue-mega__intro-brand strong {
    display: block;
    font-family: var(--tg2-display, 'Manrope', sans-serif);
    font-size: 19px;
    font-weight: 850;
    line-height: 1.1;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.tg-catalogue-mega__intro-brand p {
    margin: 6px 0 0;
    color: #94a3b8;
    font-size: 12.5px;
    line-height: 1.55;
}

.tg-catalogue-mega__features {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 10px 0;
    padding: 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tg-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #e2e8f0;
    font-size: 11.5px;
    font-weight: 600;
}

.tg-feature-item i {
    color: var(--tg2-lime, #c7f464);
    font-size: 12px;
    width: 16px;
    text-align: center;
}

.tg-catalogue-mega__all-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 14px;
    border-radius: 8px;
    background: var(--tg2-lime, #c7f464);
    color: #10131a !important;
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: all 0.2s ease;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(199, 244, 100, 0.28);
}

.tg-catalogue-mega__all-link:hover {
    background: #d8ff7a;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(199, 244, 100, 0.4);
    color: #000000 !important;
}

.tg-catalogue-mega__families {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 14px 16px;
    background: #ffffff;
}

.tg-catalogue-mega__column {
    min-width: 0;
    padding-inline: 10px;
    border-left: 1px solid #edf2f7;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tg-catalogue-mega__column:first-child {
    padding-left: 0;
    border-left: none;
}

.tg-catalogue-mega__column:last-child {
    padding-right: 0;
}

.tg-catalogue-mega__family {
    min-width: 0;
}

.tg-catalogue-mega__family + .tg-catalogue-mega__family {
    padding-top: 6px;
    border-top: 1px solid #edf2f7;
}

.tg-catalogue-mega__family-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 1px 0 3px 0;
    color: #10131a;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tg-catalogue-mega__family-label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.category-icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #10131a;
    border: 1px solid #e2e8f0;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    flex-shrink: 0;
}

.category-icon {
    font-size: 11px;
    line-height: 1;
    color: inherit;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.category-name-text {
    font-family: var(--tg2-display, 'Manrope', sans-serif);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #10131a;
    transition: color 0.2s ease;
}

.tg-family-arrow {
    color: #94a3b8;
    font-size: 11px;
    transition: transform 0.2s ease, color 0.2s ease;
    flex-shrink: 0;
}

.tg-catalogue-mega__family-title:hover {
    color: #ff5500;
}

.tg-catalogue-mega__family-title:hover .category-icon-wrapper {
    background: #10131a;
    color: var(--tg2-lime, #c7f464);
    border-color: #10131a;
    transform: scale(1.08);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.tg-catalogue-mega__family-title:hover .category-icon {
    transform: scale(1.12);
}

.tg-catalogue-mega__family-title:hover .category-name-text {
    color: #ff5500;
}

.tg-catalogue-mega__family-title:hover .tg-family-arrow {
    color: #ff5500;
    transform: translateX(3px);
}

.tg-family-sublist {
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
}

.tg-family-sublist--multicolumn {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 8px;
    row-gap: 1px;
}

.tg-family-sublist li {
    margin: 0;
    padding: 0;
}

.tg-family-sublist li a {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 20px;
    padding: 1.5px 3px;
    border-radius: 4px;
    color: #475569;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    transition: all 0.15s ease;
}

.subitem-dot {
    width: 4px;
    height: 4px;
    min-width: 4px;
    border-radius: 50%;
    background: #cbd5e1;
    transition: all 0.15s ease;
}

.subitem-text {
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tg-family-sublist li a:hover,
.tg-family-sublist li a:focus-visible {
    background: #f8fafc;
    color: #0f172a;
    font-weight: 600;
    padding-left: 8px;
}

.tg-family-sublist li a:hover .subitem-dot,
.tg-family-sublist li a:focus-visible .subitem-dot {
    background: #ff5500;
    transform: scale(1.4);
}

.tg-catalogue-mega__empty {
    margin: 4px 0 0;
    color: var(--tg2-muted, #94a3b8);
    font-size: 11px;
}

.category-icon-wrapper-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-right: 6px;
    color: var(--tg2-lime, #c7f464);
}

.menu--mobile .tg-mobile-catalogue__all > a {
    color: var(--tg2-orange);
    font-weight: 750;
}

.menu--mobile .tg-mobile-catalogue > .menu-item-has-children > a {
    font-weight: 700;
}

.menu--mobile-extra .tg2-mobile-language {
    margin-top: 12px;
    border-top: 1px solid #e1e4e6;
}

.menu--mobile-extra .tg2-mobile-language__current {
    display: flex;
    min-height: 58px;
    align-items: center;
    gap: 13px;
    padding: 9px 48px 9px 20px;
    color: var(--tg2-ink);
    font-size: 14px;
    font-weight: 700;
}

.menu--mobile-extra .tg2-mobile-language__current > i {
    width: 20px;
    color: #59636b;
    font-size: 17px;
    text-align: center;
}

.menu--mobile-extra .tg2-mobile-language__current small {
    display: block;
    margin-bottom: 2px;
    color: #7a838a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.menu--mobile-extra .tg2-mobile-language > .sub-toggle {
    top: 7px;
    width: 48px;
    height: 44px;
}

.menu--mobile-extra .tg2-mobile-language > .sub-menu a {
    min-height: 44px;
    padding-block: 11px;
}

body .tg-studio-search {
    width: clamp(156px, 14vw, 232px);
    height: 44px;
    border-color: #555d63;
    border-radius: 3px;
}

body .tg-studio-search:focus-within {
    border-color: var(--tg2-lime);
    box-shadow: 0 0 0 2px rgba(184, 237, 44, .16);
}

body .tg-studio-header__brief {
    min-height: 44px;
    padding-inline: 20px;
    border-color: var(--tg2-lime);
    border-radius: 3px;
    background: var(--tg2-lime);
    color: var(--tg2-ink) !important;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .01em;
    text-transform: none;
}

body .tg-studio-header__brief:hover,
body .tg-studio-header__brief:focus-visible {
    border-color: #fff;
    background: #fff;
}

.tg2-home {
    overflow: clip;
    background: var(--tg2-white);
    color: var(--tg2-text);
}

.header--mobile .tg2-mobile-menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.header--mobile .tg2-mobile-menu > i {
    font-size: 25px;
}

.tg2-home h1,
.tg2-home h2,
.tg2-home h3 {
    font-family: var(--tg2-display);
    font-weight: 800;
}

.tg2-hero {
    position: relative;
    background: #fff;
}

.tg2-hero__layout {
    display: grid;
    min-height: clamp(520px, 59vh, 650px);
    grid-template-columns: minmax(420px, .78fr) minmax(540px, 1.22fr);
    align-items: stretch;
}

.tg2-hero__copy {
    z-index: 2;
    display: flex;
    max-width: 650px;
    flex-direction: column;
    justify-content: center;
    padding-block: clamp(62px, 7vw, 96px);
}

.tg2-hero h1 {
    max-width: 620px;
    margin: 0;
    color: var(--tg2-ink);
    font-size: clamp(56px, 5vw, 82px);
    line-height: .94;
    letter-spacing: -.04em;
}

.tg2-hero__copy > p {
    max-width: 610px;
    margin: 28px 0 30px;
    color: var(--tg2-muted);
    font-size: clamp(17px, 1.3vw, 20px);
    line-height: 1.58;
}

.tg2-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.tg2-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 14px 24px;
    border: 1px solid transparent;
    border-radius: 3px;
    background: transparent;
    color: var(--tg2-ink);
    font-size: 14px;
    font-weight: 750;
    line-height: 1;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.tg2-button--primary {
    border-color: var(--tg2-lime);
    background: var(--tg2-lime);
}

.tg2-button--secondary {
    border-color: var(--tg2-orange);
    color: var(--tg2-orange);
}

.tg2-button--primary:hover,
.tg2-button--primary:focus-visible,
.tg2-button--secondary:hover,
.tg2-button--secondary:focus-visible {
    border-color: var(--tg2-ink);
    background: var(--tg2-ink);
    color: #fff;
}

.tg2-hero__media {
    position: relative;
    min-width: 0;
    margin: 0 -64px 0 -40px;
}

.tg2-hero__media picture,
.tg2-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.tg2-hero__media img {
    object-fit: cover;
    object-position: 54% center;
}

.tg2-programmes {
    padding-block: clamp(52px, 6vw, 84px);
    border-top: 1px solid var(--tg2-line);
    background: var(--tg2-paper);
}

.tg2-section-title,
.tg2-products__intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 28px;
}

.tg2-section-title h2,
.tg2-products__intro h2 {
    margin: 0;
    color: var(--tg2-ink);
    font-size: clamp(38px, 4vw, 60px);
    line-height: .95;
    letter-spacing: -.025em;
}

.tg2-section-title > a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--tg2-ink);
    color: var(--tg2-ink);
    font-weight: 700;
}

.tg2-programmes__rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.tg2-programme {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background:
        linear-gradient(125deg, #22282d, #0f1214),
        url('../images/sports-development-hero-v2.webp') center / cover;
}

.tg2-programme > a {
    position: relative;
    display: block;
    min-height: clamp(260px, 22vw, 360px);
    overflow: hidden;
}

.tg2-programme img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transition: transform .4s ease;
    object-fit: cover;
}

.tg2-programme__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 12, 14, .03) 30%, rgba(10, 12, 14, .9));
}

.tg2-programme__content {
    position: absolute;
    right: 28px;
    bottom: 26px;
    left: 28px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 8px 20px;
    color: #fff;
}

.tg2-programme__content strong {
    font-family: var(--tg2-display);
    font-size: clamp(30px, 3vw, 48px);
    font-weight: 800;
    line-height: .94;
}

.tg2-programme__content small {
    max-width: 350px;
    color: #d6dbde;
    font-size: 13px;
    line-height: 1.45;
}

.tg2-programme__content > i {
    grid-row: 1 / span 2;
    grid-column: 2;
    color: var(--tg2-lime);
    font-size: 20px;
}

.tg2-programme a:hover img,
.tg2-programme a:focus-visible img {
    transform: scale(1.035);
}

.tg2-programme a:focus-visible,
.tg2-button:focus-visible,
.tg2-buyers a:focus-visible,
.tg2-buyers button:focus-visible {
    outline: 3px solid var(--tg2-lime);
    outline-offset: 3px;
}

.tg2-products {
    padding-block: clamp(56px, 6vw, 88px);
    background: #fff;
}

.tg2-products__intro > p {
    max-width: 620px;
    margin: 0;
    color: var(--tg2-muted);
    font-size: 15px;
    line-height: 1.6;
}

.tg2-products > .ps-product-list,
.tg2-products > .ps-section--default {
    max-width: 1680px;
    margin-inline: auto;
    padding-inline: clamp(24px, 3.4vw, 64px);
}

.tg2-products .ps-section__header h3 {
    display: none;
}

.tg2-products .ps-section__header {
    min-height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
}

.tg2-products .ps-product {
    border: 1px solid var(--tg2-line);
    border-radius: 0;
    box-shadow: none;
}

.tg2-products .ps-product__thumbnail {
    background: var(--tg2-paper);
}

.tg2-process {
    padding-block: clamp(58px, 6vw, 86px);
    background: var(--tg2-ink);
    color: #fff;
}

.tg2-process__layout {
    display: grid;
    grid-template-columns: minmax(200px, .8fr) minmax(0, 3.2fr);
    gap: clamp(42px, 6vw, 100px);
}

.tg2-process h2,
.tg2-buyers h2,
.tg2-final h2 {
    margin: 0;
    font-size: clamp(42px, 4.5vw, 68px);
    line-height: .94;
    letter-spacing: -.025em;
}

.tg2-process h2 {
    color: #fff;
}

.tg2-process ol {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tg2-process ol::before {
    position: absolute;
    top: 52px;
    right: 0;
    left: 0;
    height: 1px;
    background: var(--tg2-lime);
    content: '';
}

.tg2-process li {
    position: relative;
    padding-right: 24px;
}

.tg2-process li::before {
    position: absolute;
    top: 48px;
    left: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--tg2-lime);
    content: '';
}

.tg2-process li > span {
    display: block;
    margin-bottom: 38px;
    color: var(--tg2-lime);
    font-family: var(--tg2-display);
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
}

.tg2-process h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 23px;
    line-height: 1;
}

.tg2-process li p {
    max-width: 180px;
    margin: 0;
    color: #b9c0c4;
    font-size: 13px;
    line-height: 1.5;
}

.tg2-buyers {
    padding-block: clamp(54px, 5vw, 74px);
    border-bottom: 1px solid var(--tg2-line);
    background: #fff;
}

.tg2-buyers__layout {
    display: grid;
    grid-template-columns: minmax(230px, .9fr) minmax(0, 3.1fr);
    gap: clamp(42px, 6vw, 100px);
    align-items: start;
}

.tg2-buyers ul {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-left: 1px solid var(--tg2-line);
    list-style: none;
}

.tg2-buyers li {
    min-width: 0;
    border-right: 1px solid var(--tg2-line);
}

.tg2-buyers a,
.tg2-buyers button {
    display: flex;
    width: 100%;
    min-height: 104px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 18px;
    border: 0;
    background: none;
    color: var(--tg2-ink);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
    text-align: left;
}

.tg2-buyers i {
    margin-top: 2px;
    color: #75a900;
}

.tg2-buyers a:hover,
.tg2-buyers button:hover {
    background: var(--tg2-paper);
}

.tg2-final {
    padding-block: clamp(42px, 4.5vw, 64px);
    background: var(--tg2-lime);
    color: var(--tg2-ink);
}

.tg2-final__layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.tg2-button--dark {
    border-color: var(--tg2-ink);
    background: var(--tg2-ink);
    color: #fff;
}

.tg2-button--outline-dark {
    border-color: var(--tg2-ink);
    color: var(--tg2-ink);
}

.tg2-button--dark:hover,
.tg2-button--outline-dark:hover {
    border-color: #fff;
    background: #fff;
    color: var(--tg2-ink);
}

@media (max-width: 1399px) {
    body .tg-studio-header__main-inner {
        gap: 16px;
    }

    body .tg-studio-nav {
        gap: 14px;
    }

    body .tg-studio-nav > li > a {
        font-size: 11px;
    }

    body .tg-studio-search {
        width: 160px;
    }

    body .tg-catalogue-mega {
    position: absolute;
    z-index: 10005;
    top: 100%;
    right: clamp(16px, 3vw, 48px);
    left: clamp(16px, 3vw, 48px);
    max-width: 1440px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    max-height: calc(100vh - 120px);
    overflow: hidden !important;
    overflow-y: hidden !important;
    overflow-x: hidden !important;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 0 0 14px 14px;
    background: #ffffff;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.22), 0 4px 16px rgba(0, 0, 0, 0.08);
    color: #1a202c;
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
                visibility 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    visibility: hidden;
}

    .tg-catalogue-mega__families {
        padding: 14px 16px;
    }

    .tg-catalogue-mega__column {
        padding-inline: 10px;
    }

    .tg2-hero__layout {
        grid-template-columns: minmax(390px, .82fr) minmax(470px, 1.18fr);
    }
}

@media (min-width: 1200px) and (max-width: 1599px) {
    body .tg-studio-search {
        display: none;
    }

    body .tg-studio-header__main-inner {
        gap: 18px;
    }

    body .tg-studio-nav {
        gap: clamp(11px, 1vw, 18px);
    }

    body .tg-studio-nav > li > a {
        font-size: 11px;
    }
}

@media (max-width: 1199px) {
    .tg2-hero__layout {
        min-height: auto;
        grid-template-columns: 1fr 1fr;
    }

    .tg2-hero__media {
        margin-right: -24px;
        margin-left: -20px;
    }

    .tg2-programme__content small {
        display: none;
    }

    .tg2-process__layout,
    .tg2-buyers__layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .tg2-hero__layout {
        grid-template-columns: 1fr;
    }

    .tg2-hero__copy {
        max-width: 760px;
        padding-block: 62px 44px;
    }

    .tg2-hero__media {
        min-height: min(64vw, 600px);
        margin: 0 -24px;
    }

    .tg2-programmes__rail {
        grid-template-columns: 1fr 1fr;
    }

    .tg2-programme:last-child {
        grid-column: auto;
    }

    .tg2-process ol,
    .tg2-buyers ul {
        grid-template-columns: 1fr;
    }

    .tg2-process ol::before {
        top: 0;
        bottom: 0;
        left: 4px;
        width: 1px;
        height: auto;
    }

    .tg2-process li {
        min-height: 116px;
        padding: 0 0 28px 48px;
    }

    .tg2-process li::before {
        top: 8px;
        left: 0;
    }

    .tg2-process li > span {
        margin-bottom: 7px;
        font-size: 30px;
    }

    .tg2-buyers ul {
        border-top: 1px solid var(--tg2-line);
    }

    .tg2-buyers li {
        border-bottom: 1px solid var(--tg2-line);
    }

    .tg2-buyers a,
    .tg2-buyers button {
        min-height: 60px;
        align-items: center;
    }

    .tg2-final__layout {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575px) {
    .tg2-shell {
        padding-inline: 20px;
    }

    .tg2-hero h1 {
        font-size: clamp(45px, 13vw, 60px);
    }

    .tg2-hero__copy > p {
        margin-block: 22px 24px;
        font-size: 16px;
    }

    .tg2-actions,
    .tg2-button {
        width: 100%;
    }

    .tg2-hero__media {
        min-height: 330px;
        margin-inline: -20px;
    }

    .tg2-section-title,
    .tg2-products__intro {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .tg2-programmes__rail {
        grid-template-columns: 1fr;
    }

    .tg2-programme:last-child {
        grid-column: auto;
    }

    .tg2-programme > a {
        min-height: 250px;
    }

    .tg2-programme__content {
        right: 20px;
        bottom: 20px;
        left: 20px;
    }

    .tg2-final .tg2-actions {
        display: grid;
    }
}

/* The legacy product sidebar and social-share row used fixed desktop widths.
   Keep the complete product page inside narrow 320 px mobile viewports. */
@media (max-width: 479px) {
    .ps-page--product .ps-page__container > .ps-page__left,
    .ps-page--product .ps-page__container > .ps-page__right {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .ps-product--detail .ps-product__sharing {
        width: 100%;
        min-width: 0;
    }

    .ps-product--detail ul.bb-social-sharing {
        display: flex;
        width: 100%;
        max-width: 100%;
        flex-wrap: wrap;
    }
}

/* Production design completion: native shell, homepage decision paths and footer. */
.tg2-eyebrow {
    margin: 0 0 12px;
    color: #5f7f13;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.35;
    text-transform: uppercase;
}

.tg2-hero__copy > .tg2-eyebrow {
    margin: 0 0 18px;
    color: #5f7f13;
    font-size: 11px;
    line-height: 1.35;
}

.tg2-section-title > div {
    min-width: 0;
}

.tg2-section-title .tg2-eyebrow,
.tg2-products__intro .tg2-eyebrow {
    margin-bottom: 11px;
}

body .tg-studio-nav > .menu-item-has-children {
    display: flex;
    align-items: center;
    gap: 5px;
}

body .tg-studio-nav > .menu-item-has-children > .sub-toggle {
    position: relative;
    display: inline-flex;
    width: 22px;
    height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #c9cfd3;
}

body .tg-studio-nav > .menu-item-has-children > .sub-toggle::before {
    width: 6px;
    height: 6px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    content: '';
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s ease;
}

body .tg-studio-nav > .menu-item-has-children.is-open > .sub-toggle::before,
body .tg-studio-nav > .menu-item-has-children > .sub-toggle[aria-expanded='true']::before {
    transform: translateY(2px) rotate(225deg);
}

body .tg-studio-nav > .menu-item-has-children.is-open > .sub-menu {
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

body .tg-studio-nav .sub-toggle:focus-visible,
body .tg-studio-language > button:focus-visible {
    outline: 2px solid var(--tg2-lime);
    outline-offset: 2px;
}

body .tg-studio-language.is-open ul {
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

.tg2-breadcrumb-bar {
    border-bottom: 1px solid #33393e;
    background: var(--tg2-ink);
}

.tg2-disciplines {
    padding-block: clamp(56px, 6vw, 88px);
    background: #fff;
}

.tg2-disciplines__layout {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(0, 2.15fr);
    gap: clamp(46px, 7vw, 120px);
}

.tg2-disciplines header h2,
.tg2-method h2,
.tg2-commercial h2,
.tg2-knowledge h2 {
    margin: 0;
    color: var(--tg2-ink);
    font-family: var(--tg2-display);
    font-size: clamp(38px, 4vw, 60px);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: .96;
}

.tg2-disciplines header > p:last-child,
.tg2-commercial header > p:last-child,
.tg2-knowledge__layout > p {
    margin: 22px 0 0;
    color: var(--tg2-muted);
    font-size: 15px;
    line-height: 1.7;
}

.tg2-disciplines__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--tg2-line);
}

.tg2-disciplines__links a {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 17px 20px;
    border-right: 1px solid var(--tg2-line);
    border-bottom: 1px solid var(--tg2-line);
    color: var(--tg2-ink);
    font-size: 15px;
    font-weight: 750;
}

.tg2-disciplines__links a:nth-child(2n) {
    border-right: 0;
}

.tg2-disciplines__links a:hover,
.tg2-disciplines__links a:focus-visible {
    background: var(--tg2-paper);
    color: #456500;
}

.tg2-buyers {
    border: 0;
    background: var(--tg2-ink);
    color: #fff;
}

.tg2-section-title--light h2,
.tg2-buyers .tg2-eyebrow {
    color: #fff;
}

.tg2-buyers .tg2-eyebrow {
    opacity: .65;
}

.tg2-buyers__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #373d42;
    border-left: 1px solid #373d42;
}

.tg2-buyers__grid > a {
    position: relative;
    display: flex;
    min-height: 190px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
    padding: clamp(22px, 2.5vw, 34px);
    border-right: 1px solid #373d42;
    border-bottom: 1px solid #373d42;
    color: #fff;
}

.tg2-buyers__grid > a strong {
    max-width: 220px;
    font-family: var(--tg2-display);
    font-size: clamp(24px, 2.2vw, 34px);
    font-weight: 800;
    line-height: 1;
}

.tg2-buyers__grid > a span {
    max-width: 280px;
    color: #aeb6bb;
    font-size: 13px;
    font-weight: 450;
    line-height: 1.55;
}

.tg2-buyers__grid > a i {
    position: absolute;
    right: 26px;
    bottom: 25px;
    color: var(--tg2-lime);
}

.tg2-buyers__grid > a:hover,
.tg2-buyers__grid > a:focus-visible {
    background: #242a2f;
    color: #fff;
}

.tg2-method {
    padding-block: clamp(60px, 7vw, 100px);
    background: var(--tg2-paper);
}

.tg2-method__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.tg2-method__grid article {
    display: flex;
    min-height: 315px;
    flex-direction: column;
    padding: clamp(28px, 3.5vw, 48px);
    border-top: 4px solid var(--tg2-lime);
    background: #fff;
}

.tg2-method__grid article > p {
    margin: 0 0 36px;
    color: #6d777e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.tg2-method__grid h3 {
    margin: 0 0 16px;
    color: var(--tg2-ink);
    font-size: clamp(28px, 2.8vw, 40px);
    line-height: 1;
}

.tg2-method__grid article > span {
    color: var(--tg2-muted);
    font-size: 14px;
    line-height: 1.65;
}

.tg2-method__grid article > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 28px;
    color: var(--tg2-ink);
    font-size: 12px;
    font-weight: 800;
}

.tg2-commercial {
    padding-block: clamp(60px, 7vw, 100px);
    background: #fff;
}

.tg2-commercial__layout {
    display: grid;
    grid-template-columns: minmax(300px, .95fr) minmax(0, 1.55fr);
    gap: clamp(48px, 8vw, 130px);
}

.tg2-commercial dl {
    margin: 0;
    border-top: 1px solid var(--tg2-ink);
}

.tg2-commercial dl > div {
    display: grid;
    min-height: 78px;
    grid-template-columns: minmax(130px, .65fr) minmax(0, 1.35fr);
    align-items: center;
    gap: 26px;
    padding: 16px 0;
    border-bottom: 1px solid var(--tg2-line);
}

.tg2-commercial dt {
    color: var(--tg2-ink);
    font-weight: 800;
}

.tg2-commercial dd {
    margin: 0;
    color: var(--tg2-muted);
    line-height: 1.5;
}

.tg2-knowledge {
    padding-block: clamp(58px, 6vw, 86px);
    background: #20252a;
    color: #fff;
}

.tg2-knowledge__layout {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.25fr) auto;
    align-items: end;
    gap: clamp(30px, 5vw, 76px);
}

.tg2-knowledge h2,
.tg2-knowledge .tg2-eyebrow {
    color: #fff;
}

.tg2-knowledge__layout > p {
    color: #b6bec3;
}

.tg2-final__layout > div:first-child {
    max-width: 760px;
}

.tg2-final__layout > div:first-child > p:last-child {
    max-width: 680px;
    margin: 16px 0 0;
    color: #33400f;
    line-height: 1.6;
}

.tg2-final .tg2-eyebrow {
    color: #344500;
}

.tg-footer .ps-footer__widgets {
    grid-template-columns: minmax(250px, .85fr) minmax(0, 2.15fr) minmax(220px, .65fr);
    align-items: start;
}

.tg-footer__navigation {
    min-width: 0;
}

.tg-footer-menu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 36px;
}

.tg-footer-menu__group h2 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tg-footer-menu__group ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tg-footer-menu__group li + li {
    margin-top: 10px;
}

.tg-footer-menu__group a {
    color: #aeb5ba;
    font-size: 13px;
    line-height: 1.45;
}

.tg-footer-menu__label {
    display: block;
    margin-top: 18px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tg-footer-menu__nested {
    margin-top: 10px !important;
    padding-left: 12px !important;
    border-left: 1px solid #394046;
}

.tg-footer-menu__group a:hover,
.tg-footer-menu__group a:focus-visible {
    color: var(--tg2-lime);
}

.tg-category-intro {
    display: block;
}

.tg2-buyer-brief {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--tg2-ink);
    border-left: 1px solid var(--tg2-line);
}

.tg2-buyer-brief > div {
    min-width: 0;
    padding: clamp(24px, 3vw, 38px);
    border-right: 1px solid var(--tg2-line);
    border-bottom: 1px solid var(--tg2-line);
    background: #fff;
}

.tg2-buyer-brief h3 {
    margin: 0 0 15px;
    color: var(--tg2-ink);
    font-family: var(--tg2-display);
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.tg2-buyer-brief :where(p, li) {
    color: var(--tg2-muted);
    font-size: 14px;
    line-height: 1.7;
}

.tg2-buyer-brief ul {
    margin: 0;
    padding-left: 18px;
}

.tg2-product-page {
    background: var(--tg2-paper);
}

.tg2-product-page > .ps-container {
    max-width: 1680px;
    padding-inline: clamp(24px, 3.4vw, 64px);
}

.tg2-product-detail {
    border-top: 4px solid var(--tg2-lime);
    border-radius: 0;
    background: #fff;
    box-shadow: 0 18px 60px rgba(17, 20, 23, .06);
}

.tg2-product-detail .ps-product__info > h1 {
    max-width: 760px;
    color: var(--tg2-ink);
    font-family: var(--tg2-display);
    font-size: clamp(40px, 4.2vw, 64px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: .96;
}

.tg2-product-detail .ps-product__shopping {
    padding-block: 24px;
    border-top: 1px solid var(--tg2-line);
    border-bottom: 1px solid var(--tg2-line);
}

.tg2-product-detail .add-to-quote-button,
.tg2-product-detail .view-quote-btn {
    min-height: 52px;
    border-radius: 2px;
    font-weight: 800;
}

.tg2-product-detail .add-to-quote-button {
    border-color: var(--tg2-lime) !important;
    background: var(--tg2-lime) !important;
    color: var(--tg2-ink) !important;
}

.tg2-product-detail .view-quote-btn {
    border-color: var(--tg2-ink) !important;
    color: var(--tg2-ink) !important;
}

.tg2-product-detail .add-to-quote-button:hover,
.tg2-product-detail .add-to-quote-button:focus-visible,
.tg2-product-detail .view-quote-btn:hover,
.tg2-product-detail .view-quote-btn:focus-visible {
    border-color: var(--tg2-ink) !important;
    background: var(--tg2-ink) !important;
    color: #fff !important;
}

@media (max-width: 1399px) {
    .tg2-buyers__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .tg-footer .ps-footer__widgets {
        grid-template-columns: minmax(230px, .8fr) minmax(0, 2fr);
    }

    .tg-footer .widget_contact-us {
        grid-column: auto;
    }
}

@media (max-width: 1199px) {
    .tg2-disciplines__layout,
    .tg2-commercial__layout {
        grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
        gap: 48px;
    }

    .tg2-knowledge__layout {
        grid-template-columns: 1fr 1fr;
    }

    .tg2-knowledge__layout .tg2-button {
        justify-self: start;
    }
}

@media (max-width: 991px) {
    .tg2-disciplines__layout,
    .tg2-commercial__layout,
    .tg2-knowledge__layout {
        grid-template-columns: 1fr;
    }

    .tg2-buyers__grid,
    .tg2-method__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tg-footer .ps-footer__widgets {
        grid-template-columns: 1fr;
    }

    .tg-footer-menu {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .tg2-buyer-brief {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .tg2-disciplines__links,
    .tg2-buyers__grid,
    .tg2-method__grid,
    .tg-footer-menu {
        grid-template-columns: 1fr;
    }

    .tg2-disciplines__links a {
        border-right: 0;
    }

    .tg2-buyers__grid > a {
        min-height: 155px;
    }

    .tg2-commercial dl > div {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .tg2-final__layout {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Corporate manufacturing Pages: native Botble Page content with a shared Gear system. */
.tg2-corporate-page {
    --tg2-corp-line: #cfd5d8;
    --tg2-corp-muted: #59636a;
    color: var(--tg2-ink);
}

.tg2-corporate-page > section,
.tg2-corporate-page > aside {
    margin-top: clamp(64px, 8vw, 112px);
}

.tg2-corporate-page > :first-child {
    margin-top: 0;
}

.tg2-eyebrow {
    margin: 0 0 12px;
    color: #557400 !important;
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tg2-corporate-lead {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    column-gap: clamp(36px, 7vw, 110px);
    padding-bottom: clamp(50px, 7vw, 96px);
    border-bottom: 1px solid var(--tg2-corp-line);
}

.tg2-corporate-lead .tg2-eyebrow,
.tg2-corporate-lead h2 {
    grid-column: 1;
}

.tg2-corporate-lead h2,
.tg2-section-heading h2,
.tg2-split-panel h2 {
    margin: 0;
    color: var(--tg2-ink);
    font-family: var(--tg2-display);
    font-size: clamp(38px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: .98;
    text-transform: uppercase;
}

.tg2-corporate-lead .tg2-lede {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    margin: 0;
    padding-left: 24px;
    border-left: 3px solid var(--tg2-acid);
    color: #374047;
    font-size: clamp(17px, 1.5vw, 21px);
    line-height: 1.65;
}

.tg2-corporate-actions {
    display: flex;
    grid-column: auto;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.tg2-corporate-actions .tg2-button {
    text-decoration: none;
}

.tg2-button--dark {
    border-color: var(--tg2-ink);
    background: var(--tg2-ink);
    color: #fff;
}

.tg2-section-heading {
    display: grid;
    grid-template-columns: minmax(170px, .35fr) minmax(0, 1.65fr);
    gap: 30px;
    align-items: start;
    margin-bottom: clamp(30px, 4vw, 54px);
}

.tg2-section-heading .tg2-eyebrow {
    padding-top: 9px;
}

.tg2-section-heading h2 {
    max-width: 980px;
    font-size: clamp(34px, 4.3vw, 60px);
}

.tg2-value-grid,
.tg2-service-grid,
.tg2-capability-grid,
.tg2-gate-grid,
.tg2-track-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    border-top: 1px solid var(--tg2-corp-line);
    border-left: 1px solid var(--tg2-corp-line);
}

.tg2-value-grid article,
.tg2-service-grid article,
.tg2-capability-grid article,
.tg2-gate-grid article,
.tg2-track-grid article {
    grid-column: span 3;
    min-height: 260px;
    padding: clamp(24px, 3vw, 38px);
    border-right: 1px solid var(--tg2-corp-line);
    border-bottom: 1px solid var(--tg2-corp-line);
    background: #fff;
}

.tg2-value-grid article > span,
.tg2-capability-grid article > span,
.tg2-track-grid article > span {
    display: block;
    margin-bottom: 44px;
    color: #789f12;
    font-family: var(--tg2-display);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
}

.tg2-corporate-page article h3,
.tg2-checklist h3,
.tg2-option-row strong {
    margin: 0 0 13px;
    color: var(--tg2-ink);
    font-size: 19px;
    font-weight: 800;
    line-height: 1.2;
}

.tg2-corporate-page article p,
.tg2-checklist li,
.tg2-option-row p {
    margin: 0;
    color: var(--tg2-corp-muted);
    font-size: 15px;
    line-height: 1.7;
}

.tg2-service-grid article,
.tg2-gate-grid article,
.tg2-track-grid article {
    grid-column: span 4;
}

.tg2-service-grid article i {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 44px;
    border: 1px solid #93b735;
    border-radius: 50%;
    place-items: center;
    color: #557400;
    font-style: normal;
    font-weight: 800;
}

.tg2-capability-grid article {
    position: relative;
    min-height: 330px;
}

.tg2-capability-grid article a {
    position: absolute;
    right: 34px;
    bottom: 30px;
    left: 34px;
    padding-top: 14px;
    border-top: 1px solid var(--tg2-corp-line);
    color: #3f5700;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tg2-split-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: clamp(40px, 8vw, 120px);
    align-items: start;
    padding: clamp(38px, 6vw, 80px);
    background: var(--tg2-ink);
}

.tg2-split-panel h2,
.tg2-split-panel p,
.tg2-split-panel .tg2-checklist h3,
.tg2-split-panel .tg2-checklist li {
    color: #fff;
}

.tg2-split-panel > div > p:last-child {
    max-width: 760px;
    margin-top: 26px;
    color: #bbc3c7;
}

.tg2-checklist {
    padding: 28px;
    border: 1px solid #475057;
}

.tg2-checklist ul {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.tg2-checklist li {
    position: relative;
    padding: 11px 0 11px 25px;
    border-top: 1px solid #40494f;
}

.tg2-checklist li::before {
    position: absolute;
    top: 12px;
    left: 0;
    color: var(--tg2-acid);
    content: '↗';
}

.tg2-decision-note {
    display: grid;
    grid-template-columns: minmax(200px, .45fr) minmax(0, 1.55fr);
    gap: 30px;
    padding: 28px clamp(28px, 5vw, 68px);
    border-left: 6px solid var(--tg2-acid);
    background: #edf1f2;
}

.tg2-decision-note strong {
    color: var(--tg2-ink);
    font-size: 19px;
}

.tg2-decision-note p {
    margin: 0;
}

.tg2-process-map ol {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--tg2-corp-line);
    list-style: none;
}

.tg2-process-map li {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 30px;
    padding: 30px 0;
    border-bottom: 1px solid var(--tg2-corp-line);
}

.tg2-process-map li > span {
    color: #6b9207;
    font-family: var(--tg2-display);
    font-size: 34px;
    font-weight: 800;
}

.tg2-process-map li h3 {
    font-size: clamp(20px, 2vw, 28px);
}

.tg2-process-map li p {
    max-width: 780px;
}

.tg2-option-table {
    border-top: 4px solid var(--tg2-ink);
    padding-top: 36px;
}

.tg2-option-row {
    display: grid;
    grid-template-columns: minmax(180px, .45fr) minmax(0, 1.55fr);
    gap: 30px;
    padding: 24px 0;
    border-top: 1px solid var(--tg2-corp-line);
}

.tg2-crosslinks {
    padding-top: clamp(42px, 6vw, 76px);
    border-top: 4px solid var(--tg2-ink);
}

.tg2-link-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.tg2-link-grid a {
    display: flex;
    min-height: 150px;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
    border: 1px solid var(--tg2-corp-line);
    background: #fff;
    color: var(--tg2-ink) !important;
    text-decoration: none;
    transition: border-color .18s ease, transform .18s ease;
}

.tg2-link-grid a:hover,
.tg2-link-grid a:focus-visible {
    border-color: #779b17;
    transform: translateY(-3px);
}

.tg2-link-grid span {
    color: #6b9207;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.tg2-link-grid strong {
    font-size: 20px;
}

@media (max-width: 991px) {
    .tg2-corporate-lead,
    .tg2-section-heading,
    .tg2-split-panel {
        grid-template-columns: 1fr;
    }

    .tg2-corporate-lead .tg2-lede {
        grid-column: 1;
        grid-row: auto;
        margin-top: 28px;
    }

    .tg2-value-grid article,
    .tg2-capability-grid article,
    .tg2-service-grid article,
    .tg2-gate-grid article,
    .tg2-track-grid article {
        grid-column: span 6;
    }
}

@media (max-width: 767px) {
    .tg2-corporate-page > section,
    .tg2-corporate-page > aside {
        margin-top: 64px;
    }

    .tg2-corporate-actions,
    .tg2-link-grid,
    .tg2-decision-note,
    .tg2-option-row {
        grid-template-columns: 1fr;
    }

    .tg2-corporate-actions {
        display: grid;
    }

    .tg2-corporate-actions .tg2-button {
        width: 100%;
        justify-content: center;
    }

    .tg2-value-grid article,
    .tg2-capability-grid article,
    .tg2-service-grid article,
    .tg2-gate-grid article,
    .tg2-track-grid article {
        grid-column: auto;
        min-height: auto;
    }

    .tg2-process-map li {
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 18px;
    }

    .tg2-split-panel {
        padding: 30px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tg2-link-grid a {
        transition: none;
    }
}

.tg2-coming-soon {
    display: grid;
    min-height: 100vh;
    grid-template-rows: auto 1fr auto;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 18%, rgba(255, 75, 24, .22), transparent 22%),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 72px 72px,
        var(--tg2-ink);
    color: #fff;
}

.tg2-coming-soon__brand,
.tg2-coming-soon__layout,
.tg2-coming-soon__footer {
    width: 100%;
    max-width: 1500px;
    margin-inline: auto;
    padding-inline: clamp(24px, 5vw, 76px);
}

.tg2-coming-soon__brand {
    padding-top: clamp(28px, 4vw, 52px);
}

.tg2-coming-soon__brand img {
    width: auto;
    max-width: 200px;
}

.tg2-coming-soon__layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
    align-items: center;
    gap: clamp(48px, 9vw, 140px);
    padding-block: clamp(64px, 9vw, 130px);
}

.tg2-coming-soon__header .tg-kicker {
    margin-bottom: 16px;
    color: var(--tg2-lime);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.tg2-coming-soon__header h1 {
    margin: 0 0 24px;
    color: #fff;
    font-family: var(--tg2-display);
    font-size: clamp(54px, 7vw, 104px);
    font-style: italic;
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: .87;
    text-transform: uppercase;
}

.tg2-coming-soon__header > p:last-child {
    max-width: 520px;
    color: #aeb7bd;
    font-size: 16px;
    line-height: 1.7;
}

.tg2-coming-soon__content {
    padding: clamp(28px, 4vw, 54px);
    border-top: 5px solid var(--tg2-lime);
    background: #fff;
    color: var(--tg2-text);
}

.tg2-coming-soon__content :where(h2, h3, p) {
    color: inherit;
}

.tg2-coming-soon__footer {
    padding-block: 24px 32px;
    border-top: 1px solid #30363b;
}

.tg2-coming-soon__footer a {
    color: #cbd2d6;
}

@media (max-width: 767px) {
    .tg2-coming-soon__layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tg2-programme img,
    .tg2-button {
        transition: none;
    }
}

/* Phase 4: compact native Page templates and editorial Blog surfaces. */
.tg2-content-page {
    background: var(--tg2-paper);
}

.tg2-page-intro {
    padding: 0;
    border-bottom: 1px solid #30363b;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 72px 72px,
        var(--tg2-ink);
}

.tg2-page-intro__layout {
    display: grid;
    min-height: clamp(158px, 15vw, 210px);
    grid-template-columns: minmax(0, 1fr) minmax(260px, 430px);
    align-items: end;
    gap: clamp(32px, 6vw, 100px);
    padding-block: clamp(32px, 4vw, 54px);
}

.tg2-page-intro .tg-kicker,
.tg2-journal__intro .tg-kicker,
.tg2-related-posts .tg-kicker,
.tg2-article__cta .tg-kicker {
    margin: 0 0 12px;
    color: var(--tg2-lime);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.tg2-page-intro .tg-kicker::before,
.tg2-journal__intro .tg-kicker::before,
.tg2-related-posts .tg-kicker::before,
.tg2-article__cta .tg-kicker::before {
    display: inline-block;
    width: 28px;
    height: 3px;
    margin-right: 10px;
    background: currentColor;
    content: '';
    vertical-align: middle;
}

.tg2-page-intro h1 {
    max-width: 900px;
    margin: 0;
    color: #fff;
    font-family: var(--tg2-display);
    font-size: clamp(44px, 5vw, 72px);
    font-style: italic;
    font-weight: 850;
    letter-spacing: -.035em;
    line-height: .92;
    text-transform: uppercase;
}

.tg2-page-intro__note {
    max-width: 390px;
    margin: 0;
    padding: 18px 0 3px 22px;
    border-left: 2px solid var(--tg2-orange);
    color: #b8c0c5;
    font-size: 14px;
    line-height: 1.65;
}

.tg2-content-page__body {
    max-width: 1480px;
    padding-block: clamp(46px, 5.5vw, 82px);
    color: var(--tg2-text);
}

.tg2-content-page__body > h1:first-child,
.tg2-content-page__body > h2:first-child {
    max-width: 960px;
    margin-bottom: 24px;
    color: var(--tg2-ink);
    font-family: var(--tg2-display);
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1;
}

.tg2-content-page__body p,
.tg2-content-page__body li {
    color: #58616a;
    font-size: 16px;
    line-height: 1.75;
    text-align: start !important;
}

.tg2-content-page__body a:not(.ps-btn):not(.btn) {
    color: #365100;
    text-decoration-color: rgba(54, 81, 0, .35);
    text-underline-offset: 3px;
}

.tg2-content-page__body :where(input, textarea, select) {
    min-height: 48px;
    border-color: var(--tg2-line);
    border-radius: 2px;
}

.tg2-content-page__body :where(input, textarea, select):focus {
    border-color: #6d9410;
    box-shadow: 0 0 0 3px rgba(184, 237, 44, .2);
    outline: 0;
}

.tg2-journal {
    min-height: 65vh;
    background: var(--tg2-paper);
    color: var(--tg2-text);
}

.tg2-journal__intro {
    border-bottom: 1px solid #30363b;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 72px 72px,
        var(--tg2-ink);
}

.tg2-journal__intro-layout {
    display: grid;
    min-height: clamp(168px, 16vw, 228px);
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 40px;
    padding-block: clamp(36px, 4.25vw, 60px);
}

.tg2-journal__intro h1 {
    max-width: 1040px;
    margin: 0;
    color: #fff;
    font-family: var(--tg2-display);
    font-size: clamp(40px, 4.7vw, 70px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: .94;
}

.tg2-journal__breadcrumb {
    padding-bottom: 4px;
}

.tg2-journal__breadcrumb :where(a, span, li) {
    color: #bcc3c8;
}

.tg2-journal__breadcrumb .breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    background: transparent;
}

.tg2-journal__breadcrumb .breadcrumb li + li::before {
    margin-right: 10px;
    color: var(--tg2-orange);
    content: '/';
}

.tg2-journal__breadcrumb a:hover {
    color: var(--tg2-lime);
}

.tg2-journal__body {
    padding-block: clamp(42px, 5vw, 72px);
}

body .tg2-journal .ps-blog--sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(32px, 4vw, 64px);
}

body .tg2-journal .ps-blog--sidebar.has-sidebar {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
}

body .tg2-journal .ps-blog__left,
body .tg2-journal .ps-blog__right {
    width: auto;
    max-width: none;
    padding: 0;
}

.tg2-journal-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 30px);
}

.tg2-journal-card {
    display: flex;
    min-width: 0;
    grid-column: span 4;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--tg2-line);
    background: #fff;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.tg2-journal-card:hover {
    border-color: #aab1b5;
    box-shadow: 0 18px 38px rgba(17, 20, 23, .08);
    transform: translateY(-3px);
}

.tg2-journal-card.is-lead {
    grid-column: span 8;
    grid-row: span 2;
}

.tg2-journal-card__media {
    position: relative;
    display: block;
    min-height: 220px;
    overflow: hidden;
    background-color: #20252a;
    background-image:
        linear-gradient(135deg, rgba(17, 20, 23, .08), rgba(17, 20, 23, .74)),
        var(--tg2-card-image),
        linear-gradient(135deg, #30363b, #111417);
    background-position: center;
    background-size: cover;
}

.tg2-journal-card.is-lead .tg2-journal-card__media {
    min-height: clamp(280px, 26vw, 400px);
}

.tg2-journal-card__media::after {
    position: absolute;
    right: -45px;
    bottom: -62px;
    width: 150px;
    height: 150px;
    border: 22px solid var(--tg2-orange);
    border-radius: 50%;
    content: '';
    opacity: .92;
}

.tg2-journal-card__media span {
    position: absolute;
    z-index: 1;
    top: 18px;
    left: 18px;
    padding: 7px 10px;
    background: var(--tg2-lime);
    color: var(--tg2-ink);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.tg2-journal-card__content {
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: clamp(20px, 2.1vw, 32px);
}

.tg2-journal-card__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-bottom: 15px;
}

.tg2-journal-card__categories a {
    color: #66717a;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.tg2-journal-card__categories a:hover {
    color: #456500;
}

.tg2-journal-card h2 {
    margin: 0 0 14px;
    font-size: clamp(20px, 1.65vw, 28px);
    font-weight: 750;
    letter-spacing: -.02em;
    line-height: 1.18;
}

.tg2-journal-card.is-lead h2 {
    font-size: clamp(28px, 2.8vw, 44px);
}

.tg2-journal-card h2 a {
    color: var(--tg2-ink);
}

.tg2-journal-card h2 a:hover {
    color: #456500;
}

.tg2-journal-card__content > p {
    margin: 0 0 24px;
    color: #616b73;
    font-size: 14px;
    line-height: 1.65;
}

.tg2-journal-card footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid #e6e9ea;
}

.tg2-journal-card footer time {
    color: #7a838a;
    font-size: 12px;
}

.tg2-journal-card footer a {
    color: var(--tg2-ink);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.tg2-journal-card footer a i {
    margin-left: 5px;
}

.tg2-journal-pagination {
    margin-top: 48px;
}

.tg2-journal-empty {
    padding: 64px;
    border: 1px solid var(--tg2-line);
    background: #fff;
}

.tg2-journal__sidebar {
    align-self: start;
    padding: 24px !important;
    border-top: 4px solid var(--tg2-lime);
    background: #fff;
}

.tg2-article {
    max-width: 980px;
    margin-inline: auto;
}

.tg2-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 22px;
    margin-bottom: clamp(36px, 5vw, 64px);
    padding: 18px 0;
    border-top: 1px solid var(--tg2-line);
    border-bottom: 1px solid var(--tg2-line);
    color: #69727a;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .025em;
}

.tg2-article__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tg2-article__categories a {
    color: #456500;
}

.tg2-article__categories i {
    color: #adb4b8;
    font-style: normal;
}

.tg2-article__toc {
    margin-bottom: clamp(32px, 5vw, 52px);
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid var(--tg2-line);
    border-left: 4px solid var(--tg2-lime);
    background: #fff;
}

.tg2-article__toc h2 {
    margin: 0 0 16px;
    color: var(--tg2-ink);
    font-family: var(--tg2-display);
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 800;
}

.tg2-article__toc ol {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-left: 20px;
}

.tg2-article__toc a {
    color: #35404a;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.tg2-article__toc a:hover,
.tg2-article__toc a:focus-visible {
    color: #456500;
}

.tg2-article__content {
    color: #424a51;
    font-size: clamp(16px, 1.25vw, 18px);
    line-height: 1.8;
}

.tg2-article__content :where(h2, h3, h4) {
    margin-top: 1.6em;
    color: var(--tg2-ink);
    font-family: var(--tg2-display);
    font-weight: 800;
    letter-spacing: -.018em;
    line-height: 1.08;
}

.tg2-article__content h2 {
    font-size: clamp(31px, 3vw, 46px);
}

.tg2-article__content h3 {
    font-size: clamp(25px, 2.2vw, 34px);
}

.tg2-article__content :where(img, table, blockquote) {
    margin-block: 32px;
}

.tg2-article__content blockquote {
    padding: 24px 28px;
    border-left: 4px solid var(--tg2-lime);
    background: #fff;
    color: var(--tg2-ink);
}

.tg2-article__cta {
    margin-top: clamp(48px, 6vw, 76px) !important;
    padding: clamp(30px, 4vw, 52px) !important;
    border: 0 !important;
    border-left: 6px solid var(--tg2-lime) !important;
    border-radius: 0 !important;
    background: var(--tg2-ink) !important;
    color: #fff;
}

.tg2-article__cta .sv-cta-title {
    color: #fff;
    font-family: var(--tg2-display);
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1;
}

.tg2-article__cta .sv-cta-text {
    color: #bac2c7;
}

.tg2-article__footer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    margin-top: 42px;
    padding-block: 24px;
    border-top: 1px solid var(--tg2-line);
    border-bottom: 1px solid var(--tg2-line);
}

.tg2-article__tags,
.tg2-article__sharing {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

.tg2-article__tags a {
    padding: 6px 9px;
    background: #e9edef;
    color: #4f5961;
    font-size: 11px;
}

.tg2-related-posts {
    margin-top: clamp(60px, 8vw, 100px);
    padding-top: 40px;
    border-top: 4px solid var(--tg2-ink);
}

.tg2-related-posts__heading {
    margin-bottom: 28px;
}

.tg2-related-posts__heading h2 {
    margin: 0;
    color: var(--tg2-ink);
    font-family: var(--tg2-display);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 800;
    line-height: 1;
}

.tg2-journal-grid--related .tg2-journal-card {
    grid-column: span 6;
}

@media (max-width: 1199px) {
    .tg2-journal-card,
    .tg2-journal-card.is-lead {
        grid-column: span 6;
        grid-row: auto;
    }

    .tg2-journal-card.is-lead .tg2-journal-card__media {
        min-height: 300px;
    }
}

@media (max-width: 991px) {
    .tg2-page-intro__layout,
    .tg2-journal__intro-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .tg2-page-intro__note {
        display: none;
    }

    body .tg2-journal .ps-blog--sidebar.has-sidebar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .tg2-page-intro__layout,
    .tg2-journal__intro-layout {
        min-height: 150px;
        padding-block: 32px;
    }

    .tg2-page-intro h1,
    .tg2-journal__intro h1 {
        font-size: clamp(38px, 11vw, 50px);
    }

    .tg2-journal__breadcrumb {
        display: none;
    }

    .tg2-journal__body,
    .tg2-content-page__body {
        padding-block: 40px 68px;
    }

    .tg2-journal-card,
    .tg2-journal-card.is-lead,
    .tg2-journal-grid--related .tg2-journal-card {
        grid-column: auto;
    }

    .tg2-journal-card__media,
    .tg2-journal-card.is-lead .tg2-journal-card__media {
        min-height: 230px;
    }

    .tg2-journal-card.is-lead h2 {
        font-size: 28px;
    }

    .tg2-article__footer {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .tg2-content-page__body p,
    .tg2-content-page__body li {
        font-size: 15px;
    }

    .tg2-journal-card footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
}

/* Refined VoizerGear type scale: restrained B2B hierarchy with sporty accents
   reserved for labels and colour, not oversized condensed headlines. */
body .tg-studio-header__main-inner {
    min-height: 80px;
}

body .tg-studio-header__logo {
    width: clamp(138px, 10vw, 172px);
}

body .tg-studio-nav > li > a {
    padding-block: 30px 28px;
    font-family: var(--tg-body-font);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .01em;
}

.tg-catalogue-mega__intro > strong {
    font-size: clamp(27px, 2vw, 36px);
    font-weight: 700;
    line-height: 1.08;
    text-transform: none;
}

.tg2-hero h1 {
    font-size: clamp(38px, 4vw, 60px);
    font-style: normal;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.04;
    text-transform: none;
}

.tg2-products__intro h2,
.tg2-disciplines header h2,
.tg2-method h2,
.tg2-commercial h2,
.tg2-knowledge h2,
.tg2-buyers h2,
.tg2-final h2,
.tg2-corporate-lead h2,
.tg2-section-heading h2,
.tg2-split-panel h2,
.tg2-evidence-stage h2 {
    font-size: clamp(30px, 3.2vw, 46px);
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: none;
}

.tg2-programme__content strong {
    font-size: clamp(25px, 2.4vw, 34px);
    font-weight: 700;
    line-height: 1.08;
}

.tg2-buyers__grid > a strong {
    font-size: clamp(21px, 1.8vw, 28px);
    font-weight: 700;
    line-height: 1.12;
}

.tg2-method__grid h3,
.tg2-process-map li h3 {
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.12;
}

.tg2-product-detail .ps-product__info > h1 {
    font-size: clamp(30px, 3vw, 44px);
    font-style: normal;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: none;
}

.tg2-coming-soon__header h1 {
    font-size: clamp(40px, 5vw, 66px);
    font-style: normal;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.02;
    text-transform: none;
}

.tg2-page-intro h1,
.tg2-journal__intro h1 {
    font-size: clamp(34px, 4vw, 50px);
    font-style: normal;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.05;
    text-transform: none;
}

.tg2-content-page__body > h2:first-child {
    font-size: clamp(29px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.1;
}

.tg2-journal-card h2 {
    font-size: clamp(20px, 1.55vw, 26px);
    font-weight: 700;
    line-height: 1.25;
}

.tg2-journal-card.is-lead h2 {
    font-size: clamp(25px, 2.4vw, 36px);
}

.tg2-article__toc h2 {
    font-size: clamp(21px, 1.8vw, 27px);
}

.tg2-article__content h2 {
    font-size: clamp(27px, 2.5vw, 38px);
}

.tg2-article__content h3 {
    font-size: clamp(22px, 2vw, 29px);
}

.tg2-article__cta .sv-cta-title {
    font-size: clamp(27px, 2.5vw, 38px);
    line-height: 1.08;
}

.tg2-related-posts__heading h2 {
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.08;
}

@media (max-width: 767px) {
    .tg2-hero h1 {
        font-size: clamp(34px, 10vw, 42px);
    }

    .tg2-page-intro h1,
    .tg2-journal__intro h1 {
        font-size: clamp(30px, 9vw, 38px);
    }

    .tg2-product-detail .ps-product__info > h1 {
        font-size: clamp(28px, 8.5vw, 36px);
    }

    .tg2-products__intro h2,
    .tg2-disciplines header h2,
    .tg2-method h2,
    .tg2-commercial h2,
    .tg2-knowledge h2,
    .tg2-buyers h2,
    .tg2-final h2,
    .tg2-corporate-lead h2,
    .tg2-section-heading h2,
    .tg2-split-panel h2,
    .tg2-evidence-stage h2 {
        font-size: clamp(27px, 8vw, 36px);
    }
}


/* Normalize legacy sports-manufacturing hero classes that remain in supported
   templates so they follow the same refined hierarchy as the v2 layouts. */
.tg-performance-hero h1,
.tg-contact__intro h1,
.tg-manufacturing-landing__hero h1,
.tg-collection-hero h1,
.tg-home-setup h1,
.tg-taxonomy-hub h1,
.tg-type-index h1,
.tg-category-hero h1,
.tg-content-page__hero h1 {
    font-family: var(--tg2-display) !important;
    font-size: clamp(34px, 4vw, 50px) !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
    line-height: 1.05 !important;
    text-transform: none !important;
}

.ps-page--product .ps-product__info h1 {
    font-family: var(--tg2-display) !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: -.03em !important;
    line-height: 1.08 !important;
    text-transform: none !important;
}

.tg-section-heading h2,
.tg-sport-index header h2,
.tg-process > .ps-container > h2,
.tg-buyer-paths h2,
.tg-evidence h2,
.tg-final-brief h2,
.tg-capability-panel h2,
.tg-category-studio__header h2,
.tg-category-intro h2,
.tg-category-gateway h2,
.tg-catalog-cta h2,
.tg-contact__form-panel > h2,
.tg-contact__details > h2 {
    font-family: var(--tg2-display) !important;
    font-size: clamp(29px, 3.2vw, 44px) !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: -.03em !important;
    line-height: 1.08 !important;
    text-transform: none !important;
}

@media (max-width: 767px) {
    .tg-performance-hero h1,
    .tg-contact__intro h1,
    .tg-manufacturing-landing__hero h1,
    .tg-collection-hero h1,
    .tg-home-setup h1,
    .tg-taxonomy-hub h1,
    .tg-type-index h1,
    .tg-category-hero h1,
    .tg-content-page__hero h1 {
        font-size: clamp(29px, 8.5vw, 38px) !important;
    }

    .ps-page--product .ps-product__info h1 {
        font-size: clamp(27px, 8vw, 35px) !important;
    }
}


@media (max-width: 479px) {
    body[id^='product-'] .navigation--mobile-product .ps-btn {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 13px 10px;
        font-size: 14px;
        line-height: 1.2;
        white-space: nowrap;
    }
}

/* Dark Theme Footer Protection: Zero White Card Pollution */
.tg-footer .widget,
.tg-footer .widget_footer,
.tg-footer .tg-footer__intro,
.tg-footer .widget_contact-us {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}