.about-page {
    overflow-x: clip;
    background: #fff;
    color: #08214d
}

.about-page em {
    color: #0872ee;
    font-style: normal
}

.about-page h1,
.about-page h2,
.about-page h3 {
    letter-spacing: -.035em
}

.about-pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border: 1px solid #bdd9f8;
    border-radius: 20px;
    background: rgba(255, 255, 255, .86);
    color: #0870e8;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .09em
}

.about-kicker {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #0871e8;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .16em
}

.about-kicker:before {
    width: 30px;
    height: 2px;
    background: #0871e8;
    content: ""
}

.about-copy h2,
.about-values-heading h2 {
    margin: 14px 0 15px;
    font-size: clamp(36px, 3.8vw, 36px);
    line-height: 1.28
}

.about-copy>p {
    margin: 0;
    color: #5e7696;
    font-size: 16px;
    line-height: 1.65
}

.about-hero {
    position: relative;
    padding: 55px 0 45px;
    background: radial-gradient(circle at 76% 32%, rgba(76, 162, 255, .2), transparent 35%), linear-gradient(145deg, #fff, #eef7ff)
}

.about-hero:before {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background: linear-gradient(125deg, transparent 75%, rgba(30, 139, 255, .08))
}

.about-hero>.tsl-container {
    position: relative
}

.about-hero__grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 42px;
    align-items: center
}

.about-hero__copy h1 {
    margin: 20px 0 16px;
    font-size: clamp(44px, 4vw, 44px);
    line-height: 1.24
}

.about-hero__copy>p {
    max-width: 590px;
    margin: 0;
    color: #597393;
    font-size: 16px;
    line-height: 1.65
}

.about-actions {
    display: flex;
    gap: 13px;
    margin-top: 26px
}

.about-actions a {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 27px;
    border: 1px solid #0871ed;
    border-radius: 11px;
    background: linear-gradient(135deg, #1688ff, #0762e7);
    color: #fff;
    font-weight: 800
}

.about-actions a:last-child {
    background: #fff;
    color: #0871ed
}

.about-actions svg {
    width: 18px
}

.about-actions a:last-child svg {
    transform: rotate(90deg)
}

.about-hero__stats {
    display: flex;
    gap: 0;
    margin-top: 42px
}

.about-hero__stats>div {
    display: flex;
    min-width: 170px;
    align-items: center;
    gap: 12px;
    padding: 0 22px;
    border-left: 1px solid #cfdeef
}

.about-hero__stats>div:first-child {
    padding-left: 0;
    border: 0
}

.about-hero__stats svg {
    width: 42px;
    height: 42px;
    padding: 11px;
    border-radius: 50%;
    background: #e8f3ff;
    color: #0871e8
}

.about-hero__stats b,
.about-hero__stats small {
    display: block
}

.about-hero__stats b {
    color: #0871e8;
    font-size: 21px
}

.about-hero__stats small {
    color: #697e99;
    font-size: 15px;
    font-weight: 500
}

.about-hero__visual {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 250px;
    overflow: hidden;
    min-height: 580px;
    border-radius: 25px;
    background: #073a7b;
    box-shadow: 0 20px 45px rgba(8, 64, 128, .13)
}

/* Hero nay la video 16/9 (facade), khong con collage anh + aside.
   Modifier (0,2,0) thang cac min-height/grid o media 825/874 nen khong can
   phong to them o breakpoint nao. */
.about-hero__visual--video {
    display: block;
    grid-template-columns: none;
    min-height: 0;
    aspect-ratio: 16 / 9;
    background: #062f63
}

.about-hero__visual--video .tsl-youtube__trigger img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-service-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 28px;
    padding: 22px 25px;
    border: 1px solid #d8e7f5;
    border-radius: 18px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 12px 30px rgba(13, 67, 127, .06)
}

.about-service-strip>div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 24px;
    border-left: 1px solid #d8e5f2
}

.about-service-strip>div:first-child {
    border: 0
}

.about-service-strip svg {
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: 50%;
    background: #eaf4ff;
    color: #0871ed
}

.about-service-strip strong,
.about-service-strip small {
    display: block
}

.about-service-strip strong {
    font-size: 15px
}

.about-service-strip small {
    margin-top: 3px;
    color: #71839d;
    font-size: 15px
}

.about-foundation {
    padding: 75px 0;
    background: linear-gradient(150deg, #fff, #f4f9ff)
}

.about-split {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 65px;
    align-items: center
}

.about-feature-image {
    position: relative;
    height: 465px;
    margin: 0
}

.about-feature-image>img {
    width: 100%;
    height: 100%;
    border-radius: 28px;
    object-fit: cover
}

.about-feature-image figcaption {
    position: absolute;
    right: 22px;
    bottom: 22px;
    max-width: 290px;
    padding: 19px 22px;
    border: 1px solid #7cb7f3;
    border-radius: 16px;
    background: rgba(5, 54, 119, .9);
    color: #fff;
    font-size: 15px;
    line-height: 1.6
}

.about-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 28px
}

.about-metrics span {
    padding: 14px;
    border: 1px solid #d9e7f5;
    border-radius: 12px;
    background: #fff
}

.about-metrics b,
.about-metrics small {
    display: block
}

.about-metrics b {
    color: #0871ed;
    font-size: 15px
}

.about-metrics small {
    margin-top: 3px;
    color: #70849f;
    font-size: 15px
}

.about-values-heading {
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
    margin-top: 65px;
    justify-content: space-between;
}

.about-values-heading h2 {
    font-size: 38px
}

.about-values-heading>p {
    margin: 0;
    color: #667d99;
    font-size: 15px;
    line-height: 1.55
}

.about-values-heading>a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    border: 1px solid #bad7f7;
    border-radius: 22px;
    color: #0871ed;
    font-size: 15px;
    font-weight: 750
}

.about-values-heading svg {
    width: 15px
}

.about-value-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 25px
}

.about-value-grid article {
    position: relative;
    min-height: 210px;
    padding: 27px 24px;
    border: 1px solid #dbe8f5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(13, 67, 127, .06)
}

.about-value-number {
    display: inline-grid;
    width: 39px;
    height: 39px;
    place-items: center;
    border-radius: 11px;
    background: #eaf4ff;
    color: #0871ed;
    font-weight: 800
}

.about-value-grid article>i {
    position: absolute;
    top: 20px;
    right: 22px;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 50%;
    background: #eaf4ff;
    color: #0871ed
}

.about-value-grid article>i svg {
    width: 28px
}

.about-value-grid h3 {
    margin: 16px 0 9px;
    font-size: 23px;
    line-height: 1.15
}

.about-value-grid p {
    min-height: 94px;
    margin: 0;
    color: #657c99;
    font-size: 15px;
    line-height: 1.55
}

.about-value-grid ul {
    margin: 18px 0 0;
    padding: 0;
    list-style: none
}

.about-value-grid li {
    position: relative;
    margin: 9px 0;
    padding-left: 26px;
    color: #385878;
    font-size: 15px
}

.about-value-grid li:before {
    position: absolute;
    left: 0;
    display: grid;
    width: 17px;
    height: 17px;
    place-items: center;
    border-radius: 50%;
    background: #0871ed;
    color: #fff;
    content: "✓";
    font-size: 10px
}

.about-culture {
    padding: 75px 0;
    background: radial-gradient(circle at 90% 20%, rgba(74, 158, 255, .15), transparent 28%), #fff
}

.about-assertion {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 55px;
    align-items: center
}

.about-assertion>figure {
    position: relative;
    height: 440px;
    margin: 0
}

.about-assertion>figure>img {
    width: 100%;
    height: 100%;
    border-radius: 25px;
    object-fit: cover
}

.about-assertion figcaption {
    position: absolute;
    right: -15px;
    bottom: 25px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 22px;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 15px 35px rgba(10, 60, 120, .14)
}

.about-assertion figcaption svg {
    width: 42px;
    height: 42px;
    padding: 11px;
    border-radius: 50%;
    background: #eaf4ff;
    color: #0871ed
}

.about-assertion figcaption b,
.about-assertion figcaption small {
    display: block
}

.about-assertion figcaption small {
    font-size: 15px
}

.about-mini-values {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 28px
}

.about-mini-values span,
.about-culture-values span {
    padding: 13px;
    border: 1px solid #dce8f5;
    border-radius: 11px;
    background: #fff
}

.about-mini-values svg,
.about-culture-values svg {
    width: 35px;
    height: 35px;
    padding: 8px;
    border-radius: 50%;
    background: #eaf4ff;
    color: #0871ed
}

.about-mini-values b,
.about-mini-values small,
.about-culture-values b,
.about-culture-values small {
    display: block
}

.about-mini-values b,
.about-culture-values b {
    font-size: 15px
}

.about-mini-values small,
.about-culture-values small {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 100;
}

.about-culture-row {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 45px;
    align-items: center;
    margin-top: 50px;
    padding: 28px;
    border-radius: 30px;
    background: linear-gradient(145deg, #f7fbff, #fff);
    box-shadow: 0 15px 40px rgba(16, 68, 128, .06)
}

.about-culture-row>figure {
    position: relative;
    height: 390px;
    margin: 0
}

.about-culture-row>figure>img {
    width: 100%;
    height: 100%;
    border-radius: 22px;
    object-fit: cover
}

.about-culture-row figcaption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    padding: 20px;
    border-radius: 15px;
    background: rgba(255, 255, 255, .94);
    color: #12315c;
    font-size: 15px;
    font-weight: 650
}

.about-culture-values {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 9px;
    margin-top: 25px
}

.about-commitment {
    display: grid;
    grid-template-columns: .52fr 1.48fr;
    align-items: center;
    margin-top: 45px;
    overflow: hidden;
    border: 1px solid #d9e7f5;
    border-radius: 22px;
    background: #fff
}

.about-commitment>figure {
    height: 260px;
    margin: 0
}

.about-commitment>figure img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-commitment>div {
    padding: 28px
}

.about-commitment h2 {
    margin: 0 0 8px;
    font-size: 24px
}

.about-commitment>div>p {
    margin: 0;
    color: #607896;
    font-size: 15px
}

.about-commitment>div>div {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 24px
}

.about-commitment span {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 12px 10px;
    border: 1px solid #dce8f5;
    border-radius: 11px
}

.about-commitment svg {
    width: 32px;
    color: #0871ed
}

.about-commitment b,
.about-commitment small {
    display: block
}

.about-commitment b {
    font-size: 15px
}

.about-commitment small {
    font-size: 15px;
    color: #71849d
}

.about-summary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-top: 45px
}

.about-summary-grid article {
    min-height: 350px;
    padding: 28px;
    border: 1px solid #dbe8f5;
    border-radius: 20px;
    background: linear-gradient(145deg, #fff, #f4f9ff)
}

.about-summary-grid h2 {
    margin: 19px 0 10px;
    font-size: 29px;
    line-height: 1.2
}

.about-summary-grid p {
    color: #607896;
    font-size: 15px;
    line-height: 1.65
}

.about-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 19px 0
}

.about-tags span {
    padding: 7px 12px;
    border: 1px solid #c8def5;
    border-radius: 18px;
    color: #0d4d9b;
    font-size: 15px;
    font-weight: 700
}

.about-summary-grid article>a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 11px 18px;
    border: 1px solid #bdd8f6;
    border-radius: 22px;
    color: #0871ed;
    font-size: 15px;
    font-weight: 750
}

.about-summary-grid article>a svg {
    width: 15px
}

.about-summary-grid blockquote {
    margin: 18px 0;
    padding: 15px;
    border-left: 4px solid #0871ed;
    background: #fff;
    color: #12315d;
    font-size: 15px;
    font-weight: 750
}

.about-summary-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 27px
}

.about-summary-stats b {
    padding-left: 20px;
    border-left: 1px solid #d4e1ef;
    color: #0871ed;
    font-size: 22px
}

.about-summary-stats small {
    display: block;
    color: #71849d;
    font-size: 15px;
    font-weight: 500
}

@media(max-width:1100px) {
    .about-hero__grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .about-hero__copy {
        max-width: 820px
    }

    .about-hero__visual {
        min-height: 520px
    }

    .about-service-strip {
        display: flex;
        flex-wrap: wrap;
        
    }
    

    .about-service-strip>div {
     border: none;
     width: 100%;
    }

    .about-split,
    .about-assertion {
        gap: 35px
    }

    .about-value-grid {
        grid-template-columns: 1fr 1fr
    }

   

    .about-culture-values {
        grid-template-columns: 1fr 1fr
    }

    .about-commitment>div>div {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:800px) {
    .about-hero {
        padding-top: 35px
    }

    .about-hero__copy h1 {
        font-size: 48px
    }

    .about-hero__visual {
        grid-template-columns: 1fr 190px;
        min-height: 430px
    }

    .about-hero__stats {
        /* overflow-x: auto */
        display: none;
    }

    .about-hero__stats>div {
        flex: 0 0 180px
    }

    .about-split,
    .about-assertion,
    .about-culture-row,
    .about-commitment {
        grid-template-columns: 1fr
    }

    .about-feature-image,
    .about-assertion>figure {
        height: 360px
    }

    .about-values-heading {
        grid-template-columns: 1fr
    }

    .about-values-heading>a {
        width: max-content
    }

    .about-assertion>.about-copy {
        order: 1
    }

    .about-assertion>figure {
        order: 2
    }

    .about-culture-row {
        padding: 18px
    }

    .about-culture-row>figure {
        height: 320px
    }

    .about-commitment>figure {
        height: 260px
    }

    .about-summary-grid {
        grid-template-columns: 1fr
    }
}

@media(max-width:550px) {
    .about-hero__copy h1 {
        font-size: clamp(32px, 4.7vw, 39px);
        line-height: 1.1
    }

    .about-hero__copy>p,
    .about-copy>p {
        font-size: 14px
    }
    .about-service-strip small, .about-hero__stats small, .about-metrics small {
    font-size: 14px !important;
}

    .about-actions {
        gap: 5px;
    }
    .about-actions a{
        font-size: 13px;
        padding: 0 5px;
        flex: 1;
    }

    

    .about-hero__visual {
        display: block;
        min-height: 0
    }

    .about-service-strip {
        margin-top: 18px;
                gap: 10px;
        padding: 15px 0;
    }

    .about-split {
        gap: 30px
    }

    .about-copy h2 {
        font-size: 22px
    }

    .about-metrics {
        grid-template-columns: 1fr 1fr
    }

    .about-feature-image {
        height: 300px
    }
    .about-values-heading{
        margin-top: 0;
    }
    .about-values-heading h2 {
                font-size: 23px;
        margin-bottom: 0;
    }
    .about-values-heading>a{
        display: none;
    }
    .about-difference .about-new-media--video{
        aspect-ratio: 16 / 12;
    }

    .about-value-grid {
        grid-template-columns: 1fr;
    }

    .about-value-grid article {
        min-height: 0
    }

    .about-value-grid p {
        min-height: 0
    }

    .about-mini-values {
        grid-template-columns: 1fr
    }

    .about-culture-values {
        grid-template-columns: 1fr 1fr
    }

    .about-commitment>div>div {
        grid-template-columns: 1fr
    }

    .about-summary-stats b {
        padding-left: 10px;
        font-size: 18px
    }
}

@media(prefers-reduced-motion:reduce) {
    .about-page * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important
    }
}

.about-hero__copy,
.about-copy,
.about-values-heading>div {
    min-width: 0
}

.about-hero__copy>p,
.about-copy>p {
    max-width: 100%;
    overflow-wrap: anywhere
}

.about-service-strip small,
.about-hero__stats small,
.about-metrics small {
    font-size: 15px
}

.about-value-grid p {
    font-size: 15px
}

.about-value-grid li {
    font-size: 15px;
    line-height: 1.45
}

.about-mini-values b,
.about-culture-values b {
    font-size: 15px
}

.about-mini-values small,
.about-culture-values small,
.about-commitment small {
    font-size: 15px;
    line-height: 1.35
}

.about-commitment b {
    font-size: 15px
}

.about-summary-grid p {
    font-size: 15px
}

.about-summary-grid blockquote {
    font-size: 15px
}

.about-summary-stats small {
    font-size: 15px
}


/* About continuation: operating values, industries, people and customer stories. */
.about-operating,
.about-people {
    background: radial-gradient(ellipse at 90% 10%, #fff 0, transparent 45%), linear-gradient(135deg, #f8fcff, #eff7ff 60%, #fff)
}

.about-operating {
    padding: 64px 0 50px
}

.about-new-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    margin-bottom: 28px
}

.about-new-heading>div {
    min-width: 0
}

.about-new-heading h2 {
    margin: 16px 0 14px;
    font-size: clamp(29px, 3vw, 44px);
    line-height: 1.16;
    color: #081b4b
}

.about-new-heading p {
    max-width: 760px;
    margin: 0;
    color: #607799;
    font-size: 15px;
    line-height: 1.65
}

.about-operating__heading p {
    max-width: 650px
}

.about-signature {
    flex-shrink: 0;
    padding: 10px 12px 20px;
    border-bottom: 1px solid #82b2fb;
    color: #72a7f8;
    font-family: var(--tsl-font-heading);
    font-size: 22px;
    font-style: italic;
    line-height: 1.5;
    text-align: center;
    display: none;
    transform: rotate(-9deg)
}

.about-operating__values {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px
}

.about-operating__values article,
.about-team__values article {
    position: relative;
    padding: 24px 24px 46px;
    border: 1px solid #d9e8fc;
    border-radius: 18px;
    background: linear-gradient(140deg, #fff, rgba(255, 255, 255, .6));
    box-shadow: 0 12px 30px #1662aa06
}

.about-new-icon {
    display: inline-grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 15px;
    background: #e7f1ff;
    color: #0871ff
}

.about-new-icon svg {
    width: 27px;
    height: 27px
}

.about-operating__values article:nth-child(2) .about-new-icon {
    background: #fff3de;
    color: #ff9d1e
}

.about-operating__values article:nth-child(4) .about-new-icon {
    background: #e3f8f3;
    color: #08ba9b
}

.about-operating__values h3,
.about-team__values h3 {
    margin: 15px 0 8px;
    font-size: 20px;
    line-height: 1.25;
    color: #081b4b
}

.about-operating__values p,
.about-team__values p {
    margin: 0;
    color: #5c7598;
    font-size: 15px;
    line-height: 1.6
}

.about-operating__number {
    position: absolute;
    right: 20px;
    bottom: 12px;
    color: #d0e3ff;
    font-size: 28px;
    font-weight: 700
}

.about-difference {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 44px 0;
    border-radius: 36px;
    background: radial-gradient(ellipse at 95% 95%, #a2dbff, transparent 45%), linear-gradient(115deg, #07265b, #155bc7 67%, #349bff);
    color: #fff
}

.about-difference:before {
    position: absolute;
    z-index: -1;
    inset: -40% -10% -30% 36%;
    border: 60px solid #69b3ff14;
    border-radius: 50%;
    content: "";
    transform: rotate(-25deg)
}

.about-difference__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    padding-top: 40px;
    padding-bottom: 40px;
    align-items: stretch
}

.about-difference__copy {
    padding: 5px 0
}

.about-difference .about-pill {
    border-color: #ffffff30;
    background: #ffffff0c;
    color: #fff;
    font-size: 15px;
    letter-spacing: .03em
}

.about-difference h2 {
    max-width: 480px;
    margin: 16px 0;
    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.14;
    color: #fff
}

.about-difference h2 em {
    color: #74d8ff
}

.about-difference__copy>p {
    margin: 0;
    color: #e1eafb;
    font-size: 15px;
    line-height: 1.65
}

.about-difference__sectors {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
    margin-top: 22px
}

.about-difference__sectors a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 9px;
    min-height: 98px;
    padding: 14px;
    border: 1px solid #90caff45;
    border-radius: 15px;
    background: #a7d4ff0a;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    transition: background .2s
}

.about-difference__sectors a:hover {
    background: #ffffff20
}

.about-difference__sectors svg {
    width: 28px;
    height: 28px;
    color: #8fc8ff
}

.about-new-media {
    position: relative;
    overflow: hidden;
    min-width: 0;
    margin: 0;
    border: 1px solid #c4dfff;
    border-radius: 27px;
    background: #dcecff
}

.about-new-media>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-difference .about-new-media {
    min-height: 500px
}

.about-new-media figcaption {
    position: absolute;
    right: 22px;
    bottom: 22px;
    left: 22px;
    display: flex;
    justify-content: flex-end
}

.about-media-link {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 17px 20px;
    border: 1px solid #ffffff8c;
    border-radius: 20px;
    background: #f8fcfff2;
    color: #092559;
    box-shadow: 0 8px 30px #073f7920
}

.about-media-link>span:nth-child(2) {
    min-width: 0
}

.about-media-link strong,
.about-media-link small {
    display: block
}

.about-media-link strong {
    font-size: 15px;
    line-height: 1.35
}

.about-media-link small {
    margin-top: 4px;
    color: #637a9c;
    font-size: 15px;
    line-height: 1.45
}

.about-media-link>svg {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    padding: 7px;
    border-radius: 50%;
    background: #e9f3ff;
    color: #0871ff
}

.about-play {
    display: grid;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #1991ff, #0047ce);
    color: #fff;
    font-size: 20px
}

.about-play svg {
    width: 24px;
    height: 24px
}

.about-outline-link {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    border: 1px solid #c3dcff;
    border-radius: 30px;
    background: #ffffffb3;
    color: #0871ff;
    font-size: 15px;
    font-weight: 600
}

.about-outline-link svg {
    width: 18px;
    height: 18px
}

.about-industries .about-new-heading {
    align-items: center
}

.about-industries .about-new-heading h2 {
    font-size: clamp(28px, 2.7vw, 38px)
}

/* 10 nhom nganh the tinh: o deu nhau, moi hang cao bang nhau (grid-auto-rows).
   So cot chia het cho 10 (5 o PC, 2 o mobile) de khong le hang cuoi. */
.about-industries__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 14px
}

.about-industries__grid>a {
    display: flex;
    overflow: hidden;
    border: 1px solid #d9e8fc;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 28px #277fcc06;
    transition: transform .2s, box-shadow .2s
}

.about-industries__grid>a:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px #277fcc14
}

.about-industries__body {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    padding: 20px 18px 22px
}

.about-industries__text {
    display: block;
    min-width: 0
}

.about-industries__body .about-new-icon {
    width: 43px;
    height: 43px;
    margin-bottom: 13px;
    border: 1px solid #d9e8fc;
    border-radius: 12px;
    background: #f5faff
}

.about-industries__body svg {
    width: 22px;
    height: 22px
}

.about-industries__body strong,
.about-industries__body small {
    display: block
}

.about-industries__body strong {
    font-size: 16px;
    line-height: 1.3;
    color: #08214d
}

.about-industries__body small {
    margin-top: 7px;
    color: #607799;
    font-size: 13.5px;
    line-height: 1.5
}

.about-wide-quote {
    display: flex;
    align-items: center;
    gap: 25px;
    margin: 34px 0 0;
    padding: 26px 30px;
    border: 1px solid #d9e8fc;
    border-radius: 19px;
    background: radial-gradient(ellipse at 88% 120%, #c9e4ff, transparent 48%), #ffffff70
}

.about-wide-quote>span:first-child,
.about-team__quote>span {
    color: #187aff;
    font-family: var(--tsl-font-heading);
    font-size: 80px;
    line-height: .8
}

.about-wide-quote p {
    margin: 0;
    color: #3f5f8e;
    font-size: 15px;
    line-height: 1.65
}

.about-wide-quote cite {
    display: block;
    margin-top: 10px;
    color: #6580a4;
    font-size: 15px;
    font-style: normal
}

.about-wide-quote .about-signature {
    margin-left: auto
}

.about-team {
    overflow: hidden;
    padding: 65px 0 40px;
    background: radial-gradient(ellipse at 105% 100%, #daeeff, transparent 50%)
}

.about-team__grid {
    display: grid;
    grid-template-columns: 1fr 1.02fr;
    gap: 48px;
    align-items: start
}

.about-team .about-new-media {
    height: 590px
}

.about-team .about-new-media figcaption {
    justify-content: flex-start
}

.about-team .about-media-link {
    background: linear-gradient(110deg, #0069ffeb, #092d5ce6);
    color: #fff
}

.about-team .about-media-link small {
    color: #e2eeff
}

.about-team .about-play {
    background: #fff;
    color: #0675ff
}

.about-team .about-new-heading {
    margin-bottom: 22px
}

.about-team .about-new-heading h2 {
    font-size: clamp(28px, 3vw, 42px)
}

.about-team .about-pill {
    font-size: 15px;
    letter-spacing: .035em
}

.about-team__values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px
}

.about-team__values article {
    padding: 20px
}

.about-team__values .about-new-icon {
    border-radius: 50%
}

.about-team__values h3 {
    font-size: 21px;
    margin-top: 12px
}

.about-team__quote {
    display: flex;
    gap: 16px;
    margin: 22px 0 0;
    padding: 25px 26px;
    border: 1px solid #d9e8fc;
    border-radius: 20px;
    background: #ffffffdb
}

.about-team__quote p {
    margin: 0;
    color: #294779;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.55
}

.about-team__quote cite {
    display: block;
    margin-top: 12px;
    text-align: right;
    color: #0871ff;
    font-size: 15px;
    font-style: normal
}

.about-team__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 32px
}

.about-team__stats>div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 12px;
    border-right: 1px solid #d2e4fa
}

.about-team__stats>div:first-child {
    padding-left: 0
}

.about-team__stats>div:last-child {
    border: 0;
    padding-right: 0
}

.about-team__stats .about-new-icon {
    flex-shrink: 0;
    width: 46px;
    height: 46px
}

.about-team__stats b {
    display: block;
    color: #0871ff;
    font-size: 22px
}

.about-team__stats small {
    display: block;
    margin-top: 3px;
    color: #6e83a2;
    font-size: 15px;
    line-height: 1.4
}

.about-feedback {
    padding-top: 42px;
    padding-bottom: 65px
}

.about-feedback__controls {
    display: flex;
    gap: 15px
}

.about-feedback__controls[hidden] {
    display: none
}

.about-feedback__controls button {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid #d0e4ff;
    border-radius: 50%;
    background: #e7f2ff;
    color: #0871ff;
    cursor: pointer
}

.about-feedback__controls button:disabled {
    background: #fff;
    opacity: .45;
    cursor: default
}

.about-feedback__controls button:first-child svg {
    transform: rotate(180deg)
}

.about-feedback__controls svg {
    width: 24px;
    height: 24px
}

.about-feedback__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 60px)/4);
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: #c8ddf9 transparent;
    padding-bottom: 12px
}

.about-feedback__card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    scroll-snap-align: start;
    border: 1px solid #d9e8fc;
    border-radius: 18px;
    background: #ffffffba
}

.about-feedback__card>blockquote {
    position: relative;
    flex: 1;
    margin: 0;
    padding: 25px 20px 20px 34px;
    color: #647c9e;
    font-size: 15px;
    font-style: italic;
    line-height: 1.6
}

.about-feedback__card>blockquote:before {
    position: absolute;
    top: 18px;
    left: 15px;
    content: '“';
    font-size: 30px;
    font-family: var(--tsl-font-heading);
    color: #6ba6fb
}

.about-feedback__author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 18px 20px
}

.about-feedback__author>img,
.about-feedback__author>span {
    display: grid;
    flex-shrink: 0;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #0857c2;
    color: #fff;
    object-fit: cover;
    box-shadow: 0 2px 12px #0b52a515
}

.about-feedback__author strong {
    display: block;
    color: #0e2a60;
    font-size: 15px;
    line-height: 1.35
}

.about-feedback__author small {
    display: block;
    margin-top: 4px;
    color: #6b80a0;
    font-size: 15px;
    line-height: 1.4
}

.about-feedback__photo {
    height: 185px;
    overflow: hidden;
    border-radius: 15px 15px 0 0
}

.about-feedback__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-operating a:focus-visible,
.about-people a:focus-visible,
.about-people button:focus-visible,
.about-feedback__track:focus-visible {
    outline: 3px solid #2390ff;
    outline-offset: 4px
}

@media(max-width:1100px) {
    .about-operating__values {
        gap: 16px
    }

    .about-operating__values article {
        padding: 20px 18px 42px
    }

    .about-difference__grid {
        gap: 25px
    }

    .about-difference__sectors a {
        padding: 10px;
        font-size: 15px
    }

    .about-team__grid {
        gap: 28px
    }

    .about-team .about-new-media {
        height: 540px
    }

    .about-team__stats>div {
        gap: 7px;
        padding: 0 8px
    }

    .about-team__stats .about-new-icon {
        width: 34px;
        height: 38px
    }

    .about-team__stats .about-new-icon svg {
        width: 23px
    }

    .about-team__stats b {
        font-size: 20px
    }

    .about-team__values article {
        padding: 17px
    }

    .about-feedback__track {
        grid-auto-columns: calc((100% - 40px)/3)
    }
}

@media(max-width:800px) {

    .about-operating,
    .about-team {
        padding-top: 45px
    }

    .about-operating__heading>.about-signature {
        display: none
    }

    .about-operating__values {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .about-difference {
        border-radius: 25px
    }

    .about-difference__grid,
    .about-team__grid {
        grid-template-columns: 1fr
    }

    .about-difference h2 {
        max-width: 620px
    }

    .about-difference .about-new-media {
        min-height: 0;
        height: 430px;
        max-width: 100% !important;
                aspect-ratio: 16 / 10 !important;
                margin: auto;
    }

    .about-difference__sectors a {
        min-height: 90px;
        padding: 15px;
        font-size: 15px
    }

    .about-new-heading {
        align-items: flex-start;
        flex-direction: column
    }

    .about-industries .about-new-heading {
        align-items: flex-start
    }

    .about-team .about-new-media {
        height: 480px
    }

    .about-team__stats {
        margin-bottom: 15px
    }

    .about-wide-quote .about-signature {
        display: none
    }

    .about-feedback__track {
        grid-auto-columns: calc((100% - 20px)/2)
    }

    .about-feedback__controls {
        align-self: flex-end
    }

    .about-team__stats small {
        font-size: 15px
    }
}

@media(max-width:480px) {
    .about-operating {
        padding-top: 35px
    }

    .about-operating__values {
        gap: 12px
    }

    .about-operating__values article {
        padding: 17px 14px 40px
    }

    .about-operating__values h3 {
        font-size: 16px
    }

    .about-operating__values p {
        font-size: 14px
    }

    .about-new-heading h2 {
        font-size: 30px
    }

    .about-new-heading p {
        font-size: 15px
    }

    .about-signature {
        font-size: 18px
    }

    .about-difference__grid {
        padding-top: 28px;
        padding-bottom: 28px
    }

    .about-difference__sectors {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .about-difference__sectors a {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        min-height: 68px
    }

    .about-difference .about-new-media {
        height: 200px;
            
    }

    .about-new-media figcaption {
        right: 12px;
        bottom: 12px;
        left: 12px
    }

    .about-media-link {
        width: 100%;
        gap: 10px;
        padding: 13px;
        border-radius: 15px
    }

    .about-media-link>svg {
        margin-left: auto
    }

    .about-media-link strong {
        font-size: 15px
    }

    .about-play {
        width: 40px;
        height: 40px
    }

    .about-wide-quote {
        gap: 14px;
        padding: 24px 18px
    }

    .about-wide-quote p {
        font-size: 15px
    }

    .about-team .about-new-media {
        height: 380px
    }

    .about-team__stats {
        gap: 8px
    }

    .about-team__stats>div {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 0 7px;
        align-items: center;
    }

    .about-team__stats small {
        font-size: 14px;
        text-align: center;
    }
    .about-team__stats b{
        text-align: center;
    }

    .about-team__values {
        gap: 12px
    }

    .about-team__values article {
        padding: 15px
    }

    .about-team__values h3 {
        font-size: 18px;
        overflow-wrap: anywhere
    }

    .about-team__values p {
        font-size: 15px
    }

    .about-team__quote {
        padding: 22px 17px;
        gap: 10px
    }

    .about-team__quote p {
        font-size: 15px
    }

    .about-feedback__track {
        grid-auto-columns: 86%
    }

    .about-feedback__controls button {
        width: 44px;
        height: 44px
    }

    .about-feedback {
        padding-bottom: 40px
    }
}

/* ---------------------------------------------------------------
   Video wall (template-parts/about-video-wall.php).
   The doc dang, hover/cham vao thi chay video; du lieu quan ly o tab Gioi thieu.
   --------------------------------------------------------------- */
.about-video-wall {
    padding: 62px 0 72px;
    background: #f6f8fb
}

.about-video-wall__heading {
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center
}

.about-video-wall__heading .about-kicker {
    justify-content: center
}

.about-video-wall__heading h2 {
    margin: 14px 0 0;
    color: #081b4b;
    font-size: clamp(27px, 2.9vw, 28px);
    line-height: 1.18
}

.about-video-wall__heading h2 em {
    font-style: normal;
    color: #0871e8
}

.about-video-wall__heading p {
    margin: 14px 0 0;
    color: #5b6b86;
    font-size: 16px;
    line-height: 1.65
}

.about-video-wall__body {
    position: relative
}

.about-video-wall__rail {
    gap: 16px;
    padding-bottom: 4px
}

.about-video-card {
    flex: 0 0 clamp(232px, 19vw, 268px);
    min-width: 0;
    scroll-snap-align: start
}

.about-video-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 5 / 8;
    border-radius: 14px;
    background: #0a1f3d;
    box-shadow: 0 12px 28px rgba(8, 34, 74, .14)
}

.about-video-card__poster,
.about-video-card__file,
.about-video-card__media > iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
}

.about-video-card__file {
    pointer-events: none;
}

.about-video-card__media > iframe {
    pointer-events: auto;
}

/* Leave YouTube controls unobstructed, including the sound control on iOS. */
.about-video-card__media[data-youtube].is-playing > .about-video-card__overlay,
.about-video-card__media[data-youtube].is-playing > .about-video-card__org,
.about-video-card__media[data-youtube].is-playing:before {
    opacity: 0;
    pointer-events: none;
}

.about-video-card__media.is-playing > .about-video-card__poster {
    opacity: 0;
    pointer-events: none;
}

.about-video-card__media:before {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(3, 16, 38, .93) 0%, rgba(3, 16, 38, .62) 42%, rgba(3, 16, 38, 0) 74%);
    content: "";
    pointer-events: none;
    transition: opacity .25s
}

.about-video-card__org {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    color: #081b4b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .01em
}

/* Khong con nut play: ca the la vung tac dong (hover/cham/focus). */
.about-video-card__media {
    cursor: pointer;
    transition: box-shadow .25s
}

.about-video-card__media:focus-visible {
    outline: 3px solid #0873e8;
    outline-offset: 3px
}

/* Luc nghi: overlay choang le nua duoi the. Hover / dang phat (ke ca dung phim)
   thi no gon lai, cap nhat duong dan de chuyen dong mong. */
.about-video-card__overlay {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 26px 20px 26px;
    color: #fff;
    transition: padding .32s ease
}

.about-video-card__overlay p {
    margin: 0 0 16px;
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.6;
    transition: margin .32s ease, font-size .32s ease, line-height .32s ease
}

.about-video-card__media:hover .about-video-card__overlay,
.about-video-card__media:focus-visible .about-video-card__overlay,
.about-video-card__media.is-playing .about-video-card__overlay {
    padding: 13px 16px 15px
}

.about-video-card__media:hover .about-video-card__overlay p,
.about-video-card__media:focus-visible .about-video-card__overlay p,
.about-video-card__media.is-playing .about-video-card__overlay p {
    margin-bottom: 8px;
    font-size: 13.5px;
    line-height: 1.45
}

/* Lop toi den nhat di khi video chay de lo dien khung hinh, van du cho chu đọc được. */
.about-video-card__media:hover:before,
.about-video-card__media.is-playing:before {
    opacity: .42
}

.about-video-card__media:before {
    transition: opacity .32s ease
}

.about-video-card__author {
    display: grid;
    gap: 2px
}

.about-video-card__author strong {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .01em
}

.about-video-card__author small {
    font-size: 12px;
    opacity: .82
}

.about-video-wall__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
    box-shadow: 0 8px 22px rgba(8, 34, 74, .18)
}

.about-video-wall__arrow[data-tsl-rail-prev] {
    left: -14px
}

.about-video-wall__arrow[data-tsl-rail-next] {
    right: -14px
}

@media(max-width:1024px) {
    .about-video-wall {
        padding: 46px 0 54px
    }

    .about-video-card {
        flex-basis: clamp(210px, 24vw, 250px)
    }
}

@media(max-width:768px) {
    .about-video-wall__heading {
        margin-bottom: 24px
    }

    /* Mobile: hai the mot man hinh, vuot tay thay vi dung mui ten. */
    .about-video-wall__rail {
        gap: 12px
    }

    .about-video-card {
        flex-basis: calc((100% - 12px) / 2)
    }

    .about-video-card__media {
        border-radius: 12px
    }

    .about-video-card__overlay {
        padding: 18px 14px 18px
    }

    /* Tren mobile khong co hover -> trang thai "gon" chi den khi video dang chay. */
    .about-video-card__media.is-playing .about-video-card__overlay {
        padding: 11px 12px 13px
    }

    .about-video-card__overlay p,
    .about-video-card__media.is-playing .about-video-card__overlay p {
        font-size: 13.5px;
        line-height: 1.5;
        margin-bottom: 12px
    }

    .about-video-card__media.is-playing .about-video-card__overlay p {
        font-size: 12.5px;
        margin-bottom: 7px
    }

    .about-video-card__org {
        top: 10px;
        left: 10px;
        font-size: 11px
    }

    .about-video-wall__arrow {
        /* display: none */
    }
    .about-video-wall__arrow[data-tsl-rail-prev]{
        left: 5px;
    }
    .about-video-wall__arrow[data-tsl-rail-next]{
        right: 5px
    }
}

/* ---------------------------------------------------------------
   The nganh o man hinh nho: 5 cot (PC) -> 2 cot (tablet/mobile),
   1 cot (dien thoai ngan). Tile dao thanh hang doc icon + chu de
   khong bi hen khi cot rong. Dat cuoi file de ghi de cac kieu cu.
   --------------------------------------------------------------- */
@media(max-width:1100px) {
    .about-industries__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px
    }

    .about-industries__body {
        flex-direction: row;
        align-items: center;
        gap: 14px;
        padding: 16px 18px
    }

    .about-industries__body .about-new-icon {
        flex: 0 0 auto;
        margin-bottom: 0
    }

    .about-industries__body strong {
        font-size: 15.5px
    }

    .about-industries__body small {
        margin-top: 4px;
        font-size: 13.5px
    }
}

@media(max-width:520px) {
    .about-industries__grid {
        grid-template-columns: minmax(0, 1fr)
    }

    .about-industries__body {
        padding: 14px 15px
    }

    .about-industries__body .about-new-icon {
        width: 38px;
        height: 38px
    }
    .about-feature-image figcaption{
        display: none;
    }
    .about-video-wall__heading h2{
        font-size: 22px;
    }
    .about-video-wall__heading h2 br{
        display: none;
    }
    .about-team__values p{
        font-size: 14px;
    }
    .about-team__values h3 {
        font-size: 17px;}
        .about-culture, .about-operating, .about-foundation{
            padding-bottom: 0;
        }
        .about-summary-grid article{
            padding: 0
        }
        .about-summary-grid h2{
            font-size: 22px;
        }
}
@media(min-width:1101px) {
    .about-difference__sectors { grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
    .about-difference__sectors a { padding:10px 8px; font-size:13px; overflow-wrap:anywhere; }
}
.about-difference .about-new-media--video { min-height:0; aspect-ratio:16/12; align-self:center; }
.about-new-media--video iframe,.about-new-media--video video { display:block; width:100%; height:100%; border:0; }

/* Width drives the video height on mobile, instead of the old fixed photo height. */
@media(max-width:1100px) {
 .about-difference__grid { grid-template-columns:minmax(0,1fr); }
 .about-difference__grid>* { min-width:0; }
 .about-difference .about-new-media--video { width:100%; max-width:100%; height:auto; min-height:0; aspect-ratio:16/9; box-sizing:border-box; }
 .about-new-media--video>iframe,.about-new-media--video>video { position:absolute; inset:0; width:100%; max-width:100%; height:100%; }
}
