.gtcl-wrap {}

/* Dot-grid background */
.gtcl-wrap::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, #d4b97a22 1.5px, transparent 1.5px);
    background-size: 22px 22px;
    z-index: 0;
    border-radius: 12px;
    pointer-events: none;
}

.gtcl-title {
    position: relative;
    z-index: 1;
    text-align: center;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 700;
    font-size: 26px;
    letter-spacing: 3px;
    color: #222;
    margin: 0 0 50px;
    text-transform: uppercase;
}

/* ---- 3-column grid ---- */
.gtcl-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto auto auto;
    align-items: center;
    padding-top: 50px;
}

/* ---- Left column ---- */
.gtcl-left {
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: 80px;
    padding-right: 20px;
    text-align: right;
}

/* ---- Right column ---- */
.gtcl-right {
    grid-column: 3;
    display: flex;
    flex-direction: column;
    gap: 80px;
    padding-left: 20px;
    text-align: left;
}

/* ---- Bottom center ---- */
.gtcl-bottom {
    grid-column: 1 / 4;
    text-align: center;
    margin-top: 20px;
}

/* ---- Value item ---- */
.gtcl-value-title {
    font-weight: 700;
    font-size: 25px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin: 0 0 8px;
}

.gtcl-value-title.gtcl-green {
    color: #3a9e6e;
}

.gtcl-value-title.gtcl-red {
    color: #8b2535;
}

.gtcl-value-title.gtcl-blue {
    color: #4a7db5;
}

.gtcl-value-title.gtcl-gray {
    color: #7a7a7a;
}

.gtcl-value-title.gtcl-brown {
    color: #b8860b;
}

.gtcl-left .gtcl-item {
    border-right: 3px solid #8b2535;
    padding-right: 12px;
}

.gtcl-value-desc {
    line-height: 1.75;
    color: #000;
    max-width: 380px;
    margin: 0;
}

.gtcl-left .gtcl-value-desc {
    margin-left: auto;
}

.gtcl-right .gtcl-item {
    border-left: 3px solid #8b2535;
    padding-left: 12px;
}

.gtcl-bottom .gtcl-value-desc {
    max-width: 420px;
    margin: 0 auto;
    color: #6b4f1e;
    font-style: italic;
}

/* ---- Center column ---- */
.gtcl-center {
    grid-column: 2;
    grid-row: 1 / 4;
    position: relative;
    width: 525px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.gtcl-big-five {
    font-family: 'Playfair Display', serif;
    font-size: 340px;
    font-weight: 700;
    line-height: 1;
    color: #d4b97a;
    opacity: 0.35;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

.gtcl-icons {
    position: relative;
    z-index: 2;
    width: 340px;
    height: 480px;
}

.gtcl-ic {
    position: absolute;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
    transition: transform 0.3s;
}

.gtcl-ic:hover {
    transform: scale(1.08);
}

.gtcl-ic svg {
    width: 36px;
    height: 36px;
    fill: #fff;
}

.gtcl-ic-nhan {
    background: #3a9e6e;
    top: -25px;
    left: 60px;
}

.gtcl-ic-tam {
    background: #8b2535;
    top: -30px;
    right: 30px;
}

.gtcl-ic-tri {
    background: #4a7db5;
    top: 185px;
    left: 40px;
}

.gtcl-ic-duc {
    background: #9e9e9e;
    top: 185px;
    right: 50px;
}

.gtcl-ic-tin {
    background: #7b4f2e;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
}

.gtcl-ic-tin:hover {
    transform: translateX(-50%) scale(1.08);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .gtcl-grid {
        grid-template-columns: 1fr;
    }

    .gtcl-center {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
        height: 300px;
        margin: 20px 0;
    }

    .gtcl-left,
    .gtcl-right {
        grid-column: 1;
        text-align: left;
        padding: 0;
    }

    .gtcl-left .gtcl-value-desc {
        margin-left: 0;
    }

    .gtcl-right .gtcl-item {
        border-left: none;
        padding-left: 0;
        border-top: 3px solid #8b2535;
        padding-top: 10px;
    }

    .gtcl-big-five {
        font-size: 220px;
    }

    .gtcl-bottom {
        grid-column: 1;
    }
}