@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");

/* ========================================================================== */
/* GrandLiga Stage 3 — PASS 2H                                                */
/* Restrained Inter UI system.                                                 */
/* Long-form Guides / Legal Analytics article typography is NOT changed.       */
/* Homepage hero typography / geometry is NOT changed.                         */
/* ========================================================================== */

:root {
    --gl-font-ui: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --gl-font-reading: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --gl-font-cjk: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif;

    --gl-type-navy: #19374e;
    --gl-type-teal: #238174;

    --gl-hub-h1-size: clamp(38px, 2.85vw, 44px);
    --gl-hub-h1-line: 1.12;
    --gl-section-h2-size: 29px;
    --gl-section-h2-line: 1.20;
}

/* -------------------------------------------------------------------------- */
/* 1. Homepage hero: COLOUR ONLY. Do not touch size, family, weight, rhythm.   */
/* -------------------------------------------------------------------------- */
.home .gl-home-hero-shell .gl-hero-title-text {
    color: var(--gl-type-navy) !important;
    -webkit-text-fill-color: var(--gl-type-navy) !important;
}

.home .gl-home-hero-shell .gl-hero-title-text .gl-hero-title-accent,
.home .gl-home-hero-shell .gl-hero-title-text .gl-hero-title-accent--tr,
.home .gl-home-hero-shell .gl-hero-title-text--tr .gl-hero-title-accent--tr {
    color: var(--gl-type-teal) !important;
    -webkit-text-fill-color: var(--gl-type-teal) !important;
}

@media (max-width: 900px) {
    .home .gl-home-hero-shell .gl-hero-title-text {
        display: inline !important;
        color: var(--gl-type-navy) !important;
        -webkit-text-fill-color: var(--gl-type-navy) !important;
        background: none !important;
        -webkit-background-clip: border-box !important;
        background-clip: border-box !important;
    }

    /* Prevent legacy mobile `h1 span {font-size:1.5em}` from scaling the
       semantic nested accent for a second time. Nothing else is changed. */
    .home .gl-home-hero-shell .gl-hero-title-text > .gl-hero-title-accent,
    .home .gl-home-hero-shell .gl-hero-title-text > .gl-hero-title-accent--tr,
    .home .gl-home-hero-shell .gl-hero-title-text .gl-hero-title-cn-line > .gl-hero-title-accent {
        font-family: inherit !important;
        font-size: 1em !important;
        font-style: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
        text-transform: inherit !important;
    }

    .home .gl-home-hero-shell .gl-hero-desktop-break {
        display: none !important;
    }

    .home .gl-home-hero-shell .gl-hero-title-cn-line {
        display: inline !important;
        white-space: normal !important;
    }

    .home .gl-home-hero-shell .main_screen .block_1 h1.title::after,
    .home .gl-home-hero-shell .main_screen .block_1 h1.title:after {
        background: linear-gradient(
            to right,
            var(--gl-type-navy) 0,
            var(--gl-type-navy) 72%,
            var(--gl-type-teal) 72%,
            var(--gl-type-teal) 100%
        ) !important;
    }
}

/* -------------------------------------------------------------------------- */
/* 2. Guides + Legal Analytics hubs/search: unified restrained UI typography. */
/* -------------------------------------------------------------------------- */
.gl-guide-hub h1,
.gl-guide-hub h2,
.gl-guide-hub h3,
.gl-insights-hub h1,
.gl-insights-hub h2,
.gl-insights-hub h3,
.gl-guide-search-submit,
.gl-guide-show-all,
.gl-guide-cta-button,
.gl-guide-region-card,
.gl-guide-region-title,
.gl-guide-subregion,
.gl-guide-country-name,
.gl-guide-popular-chip,
.gl-insights-search-submit,
.gl-insights-cta-button,
.gl-insights-region,
.gl-insights-popular-more,
.gl-insight-card h3,
.gl-insight-geo,
.gl-insight-views {
    font-family: var(--gl-font-ui) !important;
    font-synthesis: none;
}

.gl-guide-hero h1,
.gl-insights-hero h1 {
    font-size: var(--gl-hub-h1-size) !important;
    line-height: var(--gl-hub-h1-line) !important;
    font-weight: 600 !important;
    letter-spacing: -0.012em !important;
}

.gl-guide-popular h2,
.gl-guide-regions h2,
.gl-guide-active-title,
.gl-guide-cta h2,
.gl-insights-popular > h2,
.gl-insights-section-head h2,
.gl-insights-search-results-title {
    font-size: var(--gl-section-h2-size) !important;
    line-height: var(--gl-section-h2-line) !important;
    font-weight: 600 !important;
    letter-spacing: -0.008em !important;
}

.gl-guide-hub h3,
.gl-insights-hub h3,
.gl-insight-card h3 {
    font-weight: 600 !important;
}

.gl-guide-search-submit,
.gl-guide-show-all,
.gl-guide-cta-button,
.gl-guide-region-card,
.gl-guide-region-title,
.gl-guide-subregion,
.gl-guide-country-name,
.gl-guide-popular-chip,
.gl-insights-search-submit,
.gl-insights-cta-button,
.gl-insights-region,
.gl-insights-popular-more,
.gl-insight-geo,
.gl-insight-views {
    font-weight: 500 !important;
}

/* Keep intro/body dimensions from the existing hub CSS.
   Only cap the readable line measure; no forced font-size or line-height. */
.gl-guide-hero-content > p,
.gl-insights-hero-content > p {
    max-width: 720px !important;
}

/* Shared section cadence only; do not enlarge typography/content. */
.gl-guide-popular,
.gl-guide-regions,
.gl-insights-popular,
.gl-insights-latest,
.gl-insights-search-results {
    margin-top: 42px !important;
}

/* -------------------------------------------------------------------------- */
/* 3. Homepage UI headings only. Body copy keeps original theme typography.   */
/* -------------------------------------------------------------------------- */
.home .gl-home-services h2.title,
.home .reviews h2.title,
.home .gl-home-about > .wrapper > h2.title,
.home .gl-home-guides .gl-hg-title,
.home .gl-contacts h2.title.glc-title {
    font-family: var(--gl-font-ui) !important;
    font-size: var(--gl-section-h2-size) !important;
    line-height: var(--gl-section-h2-line) !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    text-transform: uppercase !important;
}

.home .gl-home-services h2.title > span,
.home .reviews h2.title > span,
.home .gl-home-about > .wrapper > h2.title > span,
.home .gl-home-guides .gl-hg-title > span,
.home .gl-contacts h2.title.glc-title > span {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
}

/* Same restrained underline language across homepage sections. */
.home .gl-home-services h2.title::after,
.home .reviews h2.title::after,
.home .gl-home-about > .wrapper > h2.title::after,
.home .gl-home-guides .gl-hg-title::after,
.home .gl-contacts h2.title.glc-title::after {
    width: 62px !important;
    height: 3px !important;
    margin-top: 13px !important;
    border-radius: 999px !important;
    background: linear-gradient(
        to right,
        var(--gl-type-navy) 0,
        var(--gl-type-navy) 62%,
        var(--gl-type-teal) 62%,
        var(--gl-type-teal) 100%
    ) !important;
}

/* Short interface labels. Keep their existing dimensions; change family/weight only. */
.home .gl-home-services .services_title,
.home .gl-home-services .services_name,
.home .gl-home-guides h3,
.home .gl-home-guides .gl-hg-featured-country,
.home .gl-home-case-cta h3.title,
.home .gl-contacts .glc-panel-heading h3,
.home .gl-contacts .glc-office-name,
.home .gl-contacts .glc-channel-copy strong {
    font-family: var(--gl-font-ui) !important;
    font-synthesis: none;
}

.home .gl-home-services .services_title,
.home .gl-home-services .services_name,
.home .gl-home-guides h3,
.home .gl-home-guides .gl-hg-featured-country,
.home .gl-home-case-cta h3.title,
.home .gl-contacts .glc-panel-heading h3,
.home .gl-contacts .glc-office-name,
.home .gl-contacts .glc-channel-copy strong {
    font-weight: 600 !important;
    letter-spacing: -0.005em !important;
}

/* IMPORTANT: no rules for About body, contacts body, article body or long text.
   Their existing font-size / line-height / family remain exactly as defined by
   the main theme / article stylesheet. */

/* -------------------------------------------------------------------------- */
/* 3A. PASS 2E refinements.                                                   */
/* -------------------------------------------------------------------------- */

/* About GrandLiga: heading stays in the shared UI hierarchy.
   Long copy uses the same reading stack as Guides / Legal Analytics articles.
   Width, font-size, line-height, paragraph spacing and layout remain owned by
   the existing About stylesheet. */
.home .gl-home-about > .wrapper > h2.title,
.home .gl-home-about > .wrapper > h2.title > span {
    font-family: var(--gl-font-ui) !important;
    font-size: var(--gl-section-h2-size) !important;
    line-height: var(--gl-section-h2-line) !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}

.home .gl-home-about .gl-about-copy.desc,
.home .gl-home-about .gl-about-copy.desc p,
.home .gl-home-about .gl-about-copy.desc li,
.home .gl-home-about .gl-about-copy.desc a,
.home .gl-home-about .gl-about-copy.desc strong,
.home .gl-home-about .gl-about-copy.desc b {
    font-family: var(--gl-font-reading) !important;
    font-synthesis: none;
}

/* Home Guides is a compact UI module, so all of its short textual elements
   use one family instead of mixing Georgia / legacy body / Inter. Dimensions stay intact. */
.home .gl-home-guides .gl-hg-title,
.home .gl-home-guides .gl-hg-featured-country,
.home .gl-home-guides .gl-hg-featured-title,
.home .gl-home-guides .gl-hg-featured-title a,
.home .gl-home-guides .gl-hg-tags,
.home .gl-home-guides .gl-hg-views,
.home .gl-home-guides .gl-hg-visual-badge,
.home .gl-home-guides .gl-hg-rail h3,
.home .gl-home-guides .gl-hg-rail p,
.home .gl-home-guides .gl-hg-rail-country strong,
.home .gl-home-guides .gl-hg-rail-label,
.home .gl-home-guides .gl-hg-stat-text,
.home .gl-home-guides .gl-hg-stat-text strong,
.home .gl-home-guides .gl-hg-stat-text span,
.home .gl-home-guides .gl-hg-btn {
    font-family: var(--gl-font-ui) !important;
    font-synthesis: none;
}

/* Guide-hub country cards: the descriptive second line was visually too small on desktop. */
@media (min-width: 768px) {
    .gl-guide-country-title {
        font-size: 15px !important;
        line-height: 1.30 !important;
    }
}

/* -------------------------------------------------------------------------- */
/* 4. Chinese: dedicated CJK UI stack and independent visual density.         */
/* -------------------------------------------------------------------------- */
html[lang^="zh"] .gl-guide-hub h1,
html[lang^="zh"] .gl-guide-hub h2,
html[lang^="zh"] .gl-guide-hub h3,
html[lang^="zh"] .gl-insights-hub h1,
html[lang^="zh"] .gl-insights-hub h2,
html[lang^="zh"] .gl-insights-hub h3,
html[lang^="zh"] .home .gl-home-services h2,
html[lang^="zh"] .home .reviews h2,
html[lang^="zh"] .home .gl-home-about > .wrapper > h2.title,
html[lang^="zh"] .home .gl-home-guides h2,
html[lang^="zh"] .home .gl-home-guides h3,
html[lang^="zh"] .home .gl-contacts h2,
html[lang^="zh"] .home .gl-contacts h3,
html[lang^="cn"] .gl-guide-hub h1,
html[lang^="cn"] .gl-guide-hub h2,
html[lang^="cn"] .gl-guide-hub h3,
html[lang^="cn"] .gl-insights-hub h1,
html[lang^="cn"] .gl-insights-hub h2,
html[lang^="cn"] .gl-insights-hub h3,
html[lang^="cn"] .home .gl-home-services h2,
html[lang^="cn"] .home .reviews h2,
html[lang^="cn"] .home .gl-home-about > .wrapper > h2.title,
html[lang^="cn"] .home .gl-home-guides h2,
html[lang^="cn"] .home .gl-home-guides h3,
html[lang^="cn"] .home .gl-contacts h2,
html[lang^="cn"] .home .gl-contacts h3 {
    font-family: var(--gl-font-cjk) !important;
    letter-spacing: 0 !important;
}

html[lang^="zh"] .gl-guide-hero h1,
html[lang^="zh"] .gl-insights-hero h1,
html[lang^="cn"] .gl-guide-hero h1,
html[lang^="cn"] .gl-insights-hero h1 {
    font-size: clamp(36px, 2.6vw, 41px) !important;
    line-height: 1.28 !important;
    font-weight: 500 !important;
}

html[lang^="zh"] .gl-guide-hub h2,
html[lang^="zh"] .gl-insights-hub h2,
html[lang^="cn"] .gl-guide-hub h2,
html[lang^="cn"] .gl-insights-hub h2 {
    font-size: 28px !important;
    line-height: 1.30 !important;
}

/* CJK headings need less nominal weight than Latin Inter to achieve the same visual density. */
html[lang^="zh"] .gl-guide-hub h1,
html[lang^="zh"] .gl-guide-hub h2,
html[lang^="zh"] .gl-guide-hub h3,
html[lang^="zh"] .gl-insights-hub h1,
html[lang^="zh"] .gl-insights-hub h2,
html[lang^="zh"] .gl-insights-hub h3,
html[lang^="zh"] .gl-guide-country-name,
html[lang^="zh"] .home .gl-home-about > .wrapper > h2.title,
html[lang^="zh"] .home .gl-home-guides h2,
html[lang^="zh"] .home .gl-home-guides h3,
html[lang^="zh"] .home .gl-home-guides .gl-hg-featured-country,
html[lang^="zh"] .home .gl-home-guides .gl-hg-rail-country strong,
html[lang^="zh"] .home .gl-contacts h2,
html[lang^="zh"] .home .gl-contacts h3,
html[lang^="cn"] .gl-guide-hub h1,
html[lang^="cn"] .gl-guide-hub h2,
html[lang^="cn"] .gl-guide-hub h3,
html[lang^="cn"] .gl-insights-hub h1,
html[lang^="cn"] .gl-insights-hub h2,
html[lang^="cn"] .gl-insights-hub h3,
html[lang^="cn"] .gl-guide-country-name,
html[lang^="cn"] .home .gl-home-about > .wrapper > h2.title,
html[lang^="cn"] .home .gl-home-guides h2,
html[lang^="cn"] .home .gl-home-guides h3,
html[lang^="cn"] .home .gl-home-guides .gl-hg-featured-country,
html[lang^="cn"] .home .gl-home-guides .gl-hg-rail-country strong,
html[lang^="cn"] .home .gl-contacts h2,
html[lang^="cn"] .home .gl-contacts h3 {
    font-weight: 500 !important;
}

/* Chinese About body: dedicated reading stack, with lighter weight than UI headings. */
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc,
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc p,
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc li,
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc a,
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc strong,
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc b,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc p,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc li,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc a,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc strong,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc b {
    font-family: var(--gl-font-cjk) !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
}

/* -------------------------------------------------------------------------- */
/* 5. Mobile: compact shared headings. Homepage HERO typography stays legacy. */
/* -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    .gl-guide-hero h1,
    .gl-insights-hero h1 {
        font-size: 27px !important;
        line-height: 1.16 !important;
        font-weight: 600 !important;
    }

    .gl-guide-popular h2,
    .gl-guide-regions h2,
    .gl-guide-active-title,
    .gl-guide-cta h2,
    .gl-insights-popular > h2,
    .gl-insights-section-head h2,
    .gl-insights-search-results-title,
    .home .gl-home-services h2.title,
    .home .reviews h2.title,
    .home .gl-home-about > .wrapper > h2.title,
    .home .gl-home-guides .gl-hg-title,
    .home .gl-contacts h2.title.glc-title {
        font-size: 23px !important;
        line-height: 1.24 !important;
        font-weight: 600 !important;
    }

    .home .gl-home-services h2.title::after,
    .home .reviews h2.title::after,
    .home .gl-home-about > .wrapper > h2.title::after,
    .home .gl-home-guides .gl-hg-title::after,
    .home .gl-contacts h2.title.glc-title::after {
        width: 50px !important;
        height: 2px !important;
        margin-top: 10px !important;
    }

    .gl-guide-popular,
    .gl-guide-regions,
    .gl-insights-popular,
    .gl-insights-latest,
    .gl-insights-search-results {
        margin-top: 34px !important;
    }

    html[lang^="zh"] .gl-guide-hero h1,
    html[lang^="zh"] .gl-insights-hero h1,
    html[lang^="cn"] .gl-guide-hero h1,
    html[lang^="cn"] .gl-insights-hero h1 {
        font-size: 28px !important;
        line-height: 1.34 !important;
    }

    html[lang^="zh"] .gl-guide-hub h2,
    html[lang^="zh"] .gl-insights-hub h2,
    html[lang^="zh"] .home .gl-home-services h2,
    html[lang^="zh"] .home .reviews h2,
    html[lang^="zh"] .home .gl-home-about > .wrapper > h2.title,
    html[lang^="zh"] .home .gl-home-guides h2,
    html[lang^="zh"] .home .gl-contacts h2,
    html[lang^="cn"] .gl-guide-hub h2,
    html[lang^="cn"] .gl-insights-hub h2,
    html[lang^="cn"] .home .gl-home-services h2,
    html[lang^="cn"] .home .reviews h2,
    html[lang^="cn"] .home .gl-home-about > .wrapper > h2.title,
    html[lang^="cn"] .home .gl-home-guides h2,
    html[lang^="cn"] .home .gl-contacts h2 {
        font-size: 22px !important;
        line-height: 1.34 !important;
    }
}

/* PASS 2E mobile CJK weight normalization. */
@media (max-width: 767px) {
    html[lang^="zh"] .gl-guide-hub h1,
    html[lang^="zh"] .gl-guide-hub h2,
    html[lang^="zh"] .gl-guide-hub h3,
    html[lang^="zh"] .gl-insights-hub h1,
    html[lang^="zh"] .gl-insights-hub h2,
    html[lang^="zh"] .gl-insights-hub h3,
    html[lang^="cn"] .gl-guide-hub h1,
    html[lang^="cn"] .gl-guide-hub h2,
    html[lang^="cn"] .gl-guide-hub h3,
    html[lang^="cn"] .gl-insights-hub h1,
    html[lang^="cn"] .gl-insights-hub h2,
    html[lang^="cn"] .gl-insights-hub h3 {
        font-weight: 500 !important;
    }
}

/* ========================================================================== */
/* PASS 2G — Home Guides consistency + stable local SVG flags + CJK polish.   */
/* ========================================================================== */

/* Home Guides is one compact UI component: force one family through every
   textual descendant so legacy Georgia / Proxima declarations cannot leak in. */
.home .gl-home-guides .gl-hg-shell,
.home .gl-home-guides .gl-hg-shell h2,
.home .gl-home-guides .gl-hg-shell h3,
.home .gl-home-guides .gl-hg-shell p,
.home .gl-home-guides .gl-hg-shell a,
.home .gl-home-guides .gl-hg-shell button,
.home .gl-home-guides .gl-hg-shell span,
.home .gl-home-guides .gl-hg-shell strong {
    font-family: var(--gl-font-ui) !important;
    font-synthesis: none;
}

/* Local SVG flags: no Unicode regional-indicator phase, therefore no US/PL/etc.
   letter flash before the browser paints a colour emoji glyph. */
.home .gl-home-guides .gl-hg-flag-img,
.gl-contacts .glc-flag-img {
    display: block !important;
    width: 100% !important;
    max-width: 28px !important;
    height: auto !important;
    aspect-ratio: 7 / 5 !important;
    object-fit: contain !important;
    border-radius: 2px;
}

.home .gl-home-guides .gl-hg-flag-fallback,
.gl-contacts .glc-flag-fallback {
    display: inline-block;
    line-height: 1;
}

.gl-contacts .glc-office-flag,
.gl-contacts .glc-button-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Chinese: keep hierarchy at 500, but reduce compact card/list titles to 400.
   This avoids the visually over-bold look of Microsoft YaHei/PingFang fallbacks. */
html[lang^="zh"] .gl-insight-card h3,
html[lang^="cn"] .gl-insight-card h3,
html[lang^="zh"] .gl-guide-country-name,
html[lang^="cn"] .gl-guide-country-name,
html[lang^="zh"] .home .gl-home-guides .gl-hg-featured-title,
html[lang^="cn"] .home .gl-home-guides .gl-hg-featured-title,
html[lang^="zh"] .home .gl-home-guides .gl-hg-rail-country strong,
html[lang^="cn"] .home .gl-home-guides .gl-hg-rail-country strong {
    font-weight: 400 !important;
}

html[lang^="zh"] .home .gl-contacts .glc-button-name,
html[lang^="cn"] .home .gl-contacts .glc-button-name,
html[lang^="zh"] .home .gl-contacts .glc-office-name,
html[lang^="cn"] .home .gl-contacts .glc-office-name {
    font-weight: 500 !important;
}


/* ========================================================================== */
/* PASS 2H — final typography refinement.                                     */
/* ========================================================================== */

/* Home Guides: one family is not enough if legacy weights/tracking differ.
   Normalize the compact UI hierarchy without changing element dimensions. */
.home .gl-home-guides .gl-hg-featured-country,
.home .gl-home-guides .gl-hg-rail-country strong,
.home .gl-home-guides .gl-hg-rail h3 {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.home .gl-home-guides .gl-hg-featured-title,
.home .gl-home-guides .gl-hg-featured-title a {
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.home .gl-home-guides .gl-hg-tags,
.home .gl-home-guides .gl-hg-tags span,
.home .gl-home-guides .gl-hg-views,
.home .gl-home-guides .gl-hg-rail p,
.home .gl-home-guides .gl-hg-rail-label,
.home .gl-home-guides .gl-hg-stat-text span,
.home .gl-home-guides .gl-hg-visual-badge {
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.home .gl-home-guides .gl-hg-stat-text strong {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.home .gl-home-guides .gl-hg-btn {
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

/* Chinese: improve edge clarity through slightly darker heading colour rather
   than increasing weight. The 500/400 hierarchy from Pass 2G is retained. */
html[lang^="zh"] .gl-guide-hub h1,
html[lang^="zh"] .gl-guide-hub h2,
html[lang^="zh"] .gl-guide-hub h3,
html[lang^="zh"] .gl-insights-hub h1,
html[lang^="zh"] .gl-insights-hub h2,
html[lang^="zh"] .gl-insights-hub h3,
html[lang^="zh"] .home .gl-home-services h2,
html[lang^="zh"] .home .reviews h2,
html[lang^="zh"] .home .gl-home-about > .wrapper > h2.title,
html[lang^="zh"] .home .gl-home-guides h2,
html[lang^="zh"] .home .gl-home-guides h3,
html[lang^="zh"] .home .gl-contacts h2,
html[lang^="zh"] .home .gl-contacts h3,
html[lang^="cn"] .gl-guide-hub h1,
html[lang^="cn"] .gl-guide-hub h2,
html[lang^="cn"] .gl-guide-hub h3,
html[lang^="cn"] .gl-insights-hub h1,
html[lang^="cn"] .gl-insights-hub h2,
html[lang^="cn"] .gl-insights-hub h3,
html[lang^="cn"] .home .gl-home-services h2,
html[lang^="cn"] .home .reviews h2,
html[lang^="cn"] .home .gl-home-about > .wrapper > h2.title,
html[lang^="cn"] .home .gl-home-guides h2,
html[lang^="cn"] .home .gl-home-guides h3,
html[lang^="cn"] .home .gl-contacts h2,
html[lang^="cn"] .home .gl-contacts h3 {
    color: #102f46 !important;
    -webkit-text-fill-color: #102f46 !important;
}

/* ========================================================================== */
/* PASS 2I — final reading / Home Guides / CJK polish.                        */
/* ========================================================================== */

/* About GrandLiga: exactly the same reading typography as long-form Guides
   and Legal Analytics. Geometry/width/layout remain untouched. */
.home .gl-home-about .gl-about-copy.desc,
.home .gl-home-about .gl-about-copy.desc p,
.home .gl-home-about .gl-about-copy.desc li,
.home .gl-home-about .gl-about-copy.desc a,
.home .gl-home-about .gl-about-copy.desc strong,
.home .gl-home-about .gl-about-copy.desc b {
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
.home .gl-home-about .gl-about-copy.desc p {
    margin-bottom: 20px !important;
}
.home .gl-home-about .gl-about-copy.desc p:last-child {
    margin-bottom: 0 !important;
}

/* Home Guides: normalize the complete compact hierarchy. One family, no
   synthetic weights, no legacy tracking. Sizes remain intentionally different
   because they represent hierarchy, not different typefaces. */
.home .gl-home-guides .gl-hg-shell,
.home .gl-home-guides .gl-hg-shell * {
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-synthesis: none !important;
}
.home .gl-home-guides .gl-hg-featured-country {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}
.home .gl-home-guides .gl-hg-featured-title,
.home .gl-home-guides .gl-hg-featured-title a {
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}
.home .gl-home-guides .gl-hg-rail h3,
.home .gl-home-guides .gl-hg-rail-country strong {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}
.home .gl-home-guides .gl-hg-rail p,
.home .gl-home-guides .gl-hg-rail-label,
.home .gl-home-guides .gl-hg-tags,
.home .gl-home-guides .gl-hg-tags span,
.home .gl-home-guides .gl-hg-views,
.home .gl-home-guides .gl-hg-visual-badge,
.home .gl-home-guides .gl-hg-stat-text span {
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
.home .gl-home-guides .gl-hg-stat-text strong {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}
.home .gl-home-guides .gl-hg-btn {
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

/* Chinese: undo the over-dark Pass 2H colour and use weight hierarchy instead.
   Hero H1 remains 500. Section/card headings are deliberately lighter. */
html[lang^="zh"] .gl-guide-hub h1,
html[lang^="zh"] .gl-insights-hub h1,
html[lang^="cn"] .gl-guide-hub h1,
html[lang^="cn"] .gl-insights-hub h1,
html[lang^="zh"] .home .gl-home-about > .wrapper > h2.title,
html[lang^="cn"] .home .gl-home-about > .wrapper > h2.title {
    color: #19374e !important;
    -webkit-text-fill-color: #19374e !important;
    font-weight: 500 !important;
}

html[lang^="zh"] .gl-guide-hub h2,
html[lang^="zh"] .gl-guide-hub h3,
html[lang^="zh"] .gl-insights-hub h2,
html[lang^="zh"] .gl-insights-hub h3,
html[lang^="zh"] .home .gl-home-services h2,
html[lang^="zh"] .home .reviews h2,
html[lang^="zh"] .home .gl-home-guides h2,
html[lang^="zh"] .home .gl-home-guides h3,
html[lang^="zh"] .home .gl-contacts h2,
html[lang^="zh"] .home .gl-contacts h3,
html[lang^="cn"] .gl-guide-hub h2,
html[lang^="cn"] .gl-guide-hub h3,
html[lang^="cn"] .gl-insights-hub h2,
html[lang^="cn"] .gl-insights-hub h3,
html[lang^="cn"] .home .gl-home-services h2,
html[lang^="cn"] .home .reviews h2,
html[lang^="cn"] .home .gl-home-guides h2,
html[lang^="cn"] .home .gl-home-guides h3,
html[lang^="cn"] .home .gl-contacts h2,
html[lang^="cn"] .home .gl-contacts h3,
html[lang^="zh"] .gl-insight-card h3,
html[lang^="cn"] .gl-insight-card h3,
html[lang^="zh"] .gl-guide-country-name,
html[lang^="cn"] .gl-guide-country-name {
    color: #19374e !important;
    -webkit-text-fill-color: #19374e !important;
    font-weight: 400 !important;
}

/* About CJK body uses the CJK reading stack while matching article rhythm. */
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc,
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc p,
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc li,
html[lang^="zh"] .home .gl-home-about .gl-about-copy.desc a,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc p,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc li,
html[lang^="cn"] .home .gl-home-about .gl-about-copy.desc a {
    font-family: var(--gl-font-cjk) !important;
    font-weight: 400 !important;
}


/* ========================================================================== */
/* PASS 2J — source-level fixes after live QA.                                */
/* ========================================================================== */

/* PASS 2K — About desktop matches the actual OUR SERVICES body scale.
   OUR SERVICES uses 0.9em on the 20px site base = 18px. Mobile is intentionally
   left exactly as installed in Pass 2J. */
@media (min-width: 768px) {
    .home .gl-home-about .gl-about-copy.desc,
    .home .gl-home-about .gl-about-copy.desc p,
    .home .gl-home-about .gl-about-copy.desc li,
    .home .gl-home-about .gl-about-copy.desc a,
    .home .gl-home-about .gl-about-copy.desc strong,
    .home .gl-home-about .gl-about-copy.desc b {
        font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        font-size: 18px !important;
        line-height: 1.5 !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        color: #677584 !important;
        -webkit-text-fill-color: #677584 !important;
    }

    .home .gl-home-about .gl-about-copy.desc p {
        margin-bottom: 16px !important;
    }
    .home .gl-home-about .gl-about-copy.desc p:last-child {
        margin-bottom: 0 !important;
    }

    /* Undo the Pass 2J regression. The canonical home redesign already uses
       space-between for ICE / TCM / FENCA / Debitura. */
    .home .gl-home-about-v13 .gl-affiliation-logos-desktop {
        justify-content: space-between !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Home Guides: final source-consistent hierarchy. The base/wide component CSS
   is also corrected in this package, so these rules are only a safety net. */
.home .gl-home-guides .gl-hg-featured-country {
    font-size: 21px !important;
    line-height: 1.22 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}
.home .gl-home-guides .gl-hg-featured-title,
.home .gl-home-guides .gl-hg-featured-title a {
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
.home .gl-home-guides .gl-hg-rail-country strong {
    font-size: 16px !important;
    line-height: 1.22 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

/* Chinese contact module: the base contact stylesheet uses 600/700 in these
   exact selectors. Override the actual source-level targets rather than a
   generic h3 rule. */
/* CJK Contacts is one shared component on Home and every internal page.
   Do not scope this to .home: that was the cause of the live mismatch. */
html[lang^="zh"] .gl-contacts h2.title.glc-title,
html[lang^="cn"] .gl-contacts h2.title.glc-title {
    font-family: var(--gl-font-cjk) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
html[lang^="zh"] .gl-contacts .glc-office-name,
html[lang^="cn"] .gl-contacts .glc-office-name,
html[lang^="zh"] .gl-contacts .glc-button-name,
html[lang^="cn"] .gl-contacts .glc-button-name,
html[lang^="zh"] .gl-contacts .glc-panel-heading h3,
html[lang^="cn"] .gl-contacts .glc-panel-heading h3 {
    font-family: var(--gl-font-cjk) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

/* ========================================================================== */
/* PASS 2L — surgical corrections after visual QA.                            */
/* ========================================================================== */

/* About GrandLiga — DESKTOP ONLY:
   keep the approved family/size/rhythm, change only the copy colour to the
   same reading colour used by long-form Guide / Legal Analytics body text. */
@media (min-width: 768px) {
    .home .gl-home-about .gl-about-copy.desc,
    .home .gl-home-about .gl-about-copy.desc p,
    .home .gl-home-about .gl-about-copy.desc li,
    .home .gl-home-about .gl-about-copy.desc a,
    .home .gl-home-about .gl-about-copy.desc strong,
    .home .gl-home-about .gl-about-copy.desc b {
        color: #263b4d !important;
        -webkit-text-fill-color: #263b4d !important;
    }
}


/* ========================================================================== */
/* PASS 2M — restore the approved mobile About typography from Pass 2J/2K.    */
/* No desktop, layout, heading, colour, Guides, Contacts or article changes.  */
/* ========================================================================== */
@media (max-width: 767px) {
    .home .gl-home-about .gl-about-copy.desc,
    .home .gl-home-about .gl-about-copy.desc p,
    .home .gl-home-about .gl-about-copy.desc li,
    .home .gl-home-about .gl-about-copy.desc a,
    .home .gl-home-about .gl-about-copy.desc strong,
    .home .gl-home-about .gl-about-copy.desc b {
        font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        font-size: 15px !important;
        line-height: 1.62 !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        color: #677584 !important;
        -webkit-text-fill-color: #677584 !important;
    }
}

/* ========================================================================== */
/* PASS 2O — mobile About colour only.                                        */
/* Exact colour of the ORIGINAL MOBILE hero advantages list.                  */
/* On mobile the hero list inherits .main_screen .content { color:#828282; }.  */
/* No font, size, weight, line-height, spacing or desktop changes.             */
/* ========================================================================== */
@media (max-width: 767px) {
    .home .gl-home-about .gl-about-copy.desc,
    .home .gl-home-about .gl-about-copy.desc p,
    .home .gl-home-about .gl-about-copy.desc li,
    .home .gl-home-about .gl-about-copy.desc a,
    .home .gl-home-about .gl-about-copy.desc strong,
    .home .gl-home-about .gl-about-copy.desc b {
        color: #828282 !important;
        -webkit-text-fill-color: #828282 !important;
    }
}

/* ========================================================================== */
/* STAGE 3 / PASS 3D — narrow geometry + RU mobile title repair.              */
/* Base: approved pre-spacing typography file (Pass 2O).                      */
/* No typography, colours, weights, line-heights or article internals change. */
/* ========================================================================== */

/* Mobile Home: use the same 18px header → first-card gap as the two hubs. */
@media (max-width: 767px) {
    .home .gl-home-hero-shell {
        margin-top: 18px !important;
    }
}

/*
 * RU mobile hero only.
 * The legacy ACF title contains inline span boundaries without literal spaces.
 * Desktop is unaffected because it uses the separate desktop title rendering.
 * Generated spaces are normal collapsible spaces, so existing colour and size
 * styling of the child spans remains unchanged.
 */
@media (max-width: 900px) {
    html[lang^="ru"] .home .gl-home-hero-shell .gl-hero-title-mobile span::before {
        content: " ";
    }

    html[lang^="ru"] .home .gl-home-hero-shell .gl-hero-title-mobile span::after {
        content: " ";
    }
}
