/* =========================================================
   LANGUAGE HUB — SITE MAP
   ========================================================= */

.x-lh-sitemap {
    --x-map-blue: #1c75bc;
    --x-map-blue-dark: #125a94;
    --x-map-ink: #15202b;
    --x-map-muted: #65717e;
    --x-map-line: rgba(21, 32, 43, 0.10);
    --x-map-soft: #f4f7fa;
    --x-map-white: #ffffff;

    color: var(--x-map-ink);
}


/* HERO
   ========================================================= 

.x-lh-sitemap-hero {
    padding: clamp(72px, 9vw, 135px) 24px clamp(55px, 7vw, 95px);
    background:
        radial-gradient(
            circle at 82% 10%,
            rgba(28, 117, 188, 0.13),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #f9fbfd 0%,
            #ffffff 100%
        );
}
*/

.x-lh-sitemap-hero-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.x-lh-sitemap-eyebrow {
    margin-bottom: 18px;
    color: var(--x-map-blue);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.x-lh-sitemap h1 {
    max-width: 850px;
    margin: 0;
    color: var(--x-map-ink);
    font-size: clamp(44px, 7vw, 84px);
    font-weight: 720;
    letter-spacing: -0.05em;
    line-height: 0.98;
}

.x-lh-sitemap-intro {
    max-width: 690px;
    margin: 28px 0 0;
    color: var(--x-map-muted);
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.55;
}


/* QUICK START
   ========================================================= */

.x-lh-sitemap-start {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: clamp(42px, 6vw, 70px);
}

.x-lh-sitemap-start-item {
    position: relative;
    display: flex;
    min-height: 125px;
    padding: 22px 54px 22px 24px;
    border: 1px solid var(--x-map-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.8);
    color: inherit;
    flex-direction: column;
    justify-content: center;
    text-decoration: none !important;
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.x-lh-sitemap-start-item:hover {
    border-color: rgba(28, 117, 188, 0.35);
    box-shadow: 0 18px 45px rgba(20, 45, 70, 0.08);
    transform: translateY(-3px);
}

.x-lh-sitemap-start-item span {
    margin-bottom: 5px;
    color: var(--x-map-muted);
    font-size: 13px;
}

.x-lh-sitemap-start-item strong {
    color: var(--x-map-ink);
    font-size: 18px;
    font-weight: 700;
}

.x-lh-sitemap-start-item i {
    position: absolute;
    top: 50%;
    right: 23px;
    color: var(--x-map-blue);
    font-size: 24px;
    font-style: normal;
    transform: translateY(-50%);
}


/* MAIN AREA
   ========================================================= */

.x-lh-sitemap-main {
    padding: clamp(60px, 8vw, 110px) 24px;
    /* background: var(--x-map-soft); */
}


.x-lh-sitemap-grid {
    display: grid;
    width: min(1180px, 100%);
    margin: 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


/* CARDS
   ========================================================= */

.x-lh-sitemap-card {
    padding: clamp(28px, 4vw, 46px);
    border: 1px solid var(--x-map-line);
    border-radius: 28px;
    background: var(--x-map-white);
    box-shadow: 0 10px 35px rgba(14, 38, 60, 0.035);
}

.x-lh-sitemap-card--featured {
    background:
        linear-gradient(
            145deg,
            rgba(28, 117, 188, 0.055),
            #ffffff 42%
        );
}

.x-lh-sitemap-card-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.x-lh-sitemap-number {
    color: var(--x-map-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.x-lh-sitemap-category {
    color: var(--x-map-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.x-lh-sitemap-card h2,
.x-lh-sitemap-about h2 {
    margin: 16px 0 10px;
    color: var(--x-map-ink);
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 720;
    letter-spacing: -0.035em;
}

.x-lh-sitemap-description {
    max-width: 470px;
    min-height: 54px;
    margin: 0 0 26px;
    color: var(--x-map-muted);
    font-size: 15px;
    line-height: 1.55;
}


/* LINK LISTS
   ========================================================= */

.x-lh-sitemap-links {
    border-top: 1px solid var(--x-map-line);
}

.x-lh-sitemap-links a {
    display: flex;
    min-height: 71px;
    padding: 14px 5px;
    border-bottom: 1px solid var(--x-map-line);
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: inherit;
    text-decoration: none !important;
    transition: padding 180ms ease;
}

.x-lh-sitemap-links a:last-child {
    border-bottom: 0;
}

.x-lh-sitemap-links a:hover {
    padding-left: 11px;
}

.x-lh-sitemap-links a > span {
    display: flex;
    flex-direction: column;
}

.x-lh-sitemap-links strong {
    color: var(--x-map-ink);
    font-size: 15px;
    font-weight: 700;
}

.x-lh-sitemap-links small {
    margin-top: 3px;
    color: var(--x-map-muted);
    font-size: 12.5px;
    line-height: 1.35;
}

.x-lh-sitemap-links i {
    flex: 0 0 auto;
    color: var(--x-map-blue);
    font-size: 20px;
    font-style: normal;
    transition: transform 180ms ease;
}

.x-lh-sitemap-links a:hover i {
    transform: translateX(4px);
}


/* ABOUT
   ========================================================= */

.x-lh-sitemap-about {
    display: grid;
    /* width: min(1180px, 100%); */
    margin: 18px auto 0;
    padding: clamp(32px, 5vw, 54px);
    border-radius: 28px;
    background: var(--x-map-ink);
    grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.5fr);
    gap: clamp(35px, 7vw, 90px);
}

.x-lh-sitemap-about .x-lh-sitemap-number {
    color: #75bdf5;
}

.x-lh-sitemap-about .x-lh-sitemap-category {
    color: rgba(255, 255, 255, 0.54);
}

.x-lh-sitemap-about h2 {
    color: #ffffff;
}

.x-lh-sitemap-about-heading p {
    max-width: 330px;
    margin: 0;
    color: rgba(255, 255, 255, 0.58);
    line-height: 1.55;
}

.x-lh-sitemap-about-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 30px;
}

.x-lh-sitemap-about-links a {
    position: relative;
    display: flex;
    min-height: 72px;
    padding: 15px 35px 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    flex-direction: column;
    justify-content: center;
    text-decoration: none !important;
}

.x-lh-sitemap-about-links strong {
    color: #ffffff;
    font-size: 15px;
}

.x-lh-sitemap-about-links span {
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.52);
    font-size: 12.5px;
}

.x-lh-sitemap-about-links i {
    position: absolute;
    top: 50%;
    right: 3px;
    color: #75bdf5;
    font-size: 19px;
    font-style: normal;
    transform: translateY(-50%);
    transition: transform 180ms ease;
}

.x-lh-sitemap-about-links a:hover i {
    transform: translate(4px, -50%);
}


/* RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .x-lh-sitemap-start {
        grid-template-columns: 1fr;
    }

    .x-lh-sitemap-start-item {
        min-height: 100px;
    }

    .x-lh-sitemap-grid {
        grid-template-columns: 1fr;
    }

    .x-lh-sitemap-description {
        min-height: 0;
    }

    .x-lh-sitemap-about {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 600px) {

    .x-lh-sitemap-hero,
    .x-lh-sitemap-main {
        padding-left: 16px;
        padding-right: 16px;
    }

    .x-lh-sitemap-card,
    .x-lh-sitemap-about {
        border-radius: 22px;
    }

    .x-lh-sitemap-about-links {
        grid-template-columns: 1fr;
    }

    .x-lh-sitemap-links small {
        max-width: 250px;
    }
}