/*template project modern*/
.project-hero{
    width: 100%;
}
.project-hero__media .project-hero__video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media (min-width: 768px) {
    .project-hero__media .project-hero__video iframe {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
    .project-hero__media .project-hero__video:after {
        content: "";
        display: block;
        padding-top: 57%;
    }
}
@media (min-width: 1800px) {
    .project-hero__media .project-hero__video iframe {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }
}
@media (max-width: 767.98px) {
    .project-hero__media .project-hero__video{
        aspect-ratio: 9/16;
    }
}

.group-content__project{
    background: -webkit-gradient(linear, left top, left bottom, from(#000), color-stop(26%, #00050D), color-stop(76%, #002866), to(#000713));
    background: linear-gradient(180deg, #000 0%, #00050D 26%, #002866 76%, #000713 100%);
    color: #fff;
}
.project-intro__header{
    margin-bottom: clamp(6.25rem, 20vw, 15.5rem);
}
.project-intro__title {
    font-size: clamp(1.875rem, 5vw, 3.75rem);
    background: -webkit-gradient(linear, left top, right top, from(var(--primary-color)), color-stop(112.39%, #3DAEEF));
    background: linear-gradient(90deg, var(--primary-color) 0%, #3DAEEF 112.39%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-bottom: 0.1em;
    max-width: 1000px;
    margin: 0 auto;
    font-weight: 600;
}
.project-intro__subtitle{
    font-size: clamp(0.8rem, 1.4vw, 1rem);
    font-weight: 600;
    color: rgba(12, 0, 223, 0.7);
}
@media (min-width: 768px) {
    .project-intro__title,
    .project-intro__subtitle{
        text-align: center;
    }
}
.project-intro__meta-item span{
    opacity: 0.5;
}
.project-intro__overview-title{
    font-size: 1.2rem;
}
.project-template-template-project-modern .dot-before::before {
    background-color: var(--white-color);
}
.overview-block__content{
    font-size: 1rem;
    line-height: 1.2;
    margin-bottom: 1rem;
}
.overview-block__content .text{
    opacity: 0.8;
}
.overview-block__content:first-child{
    font-size: clamp(1.4rem, 4vw, 2.75rem);
    margin-bottom: 1.2rem;
}
.overview-block__content:first-child .text{
    opacity: 1;
}
@media (max-width: 768px) {
    .project-template-template-project-modern .dot-before{
        padding: 0;
    }
    .project-template-template-project-modern .dot-before:before{
        display: none;
    }
}
/*section about*/
.project-about__header{
    position: absolute;
    top: 13%;
    left: 0;
    z-index: 99;
}
.project-about__title{
    font-size: 0.875rem;
    font-weight: 500;

}
.project-about__subtitle{
    font-size: clamp(0.8rem, 1vw, 1.125rem);
    opacity: 0.8;
}
/* F-box (mỗi block) */
.f-box {
    position: relative;
    height: 100vh;
}

.f-box__inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.swiper-slide.about-block{
    height: 45vh;
}
.about-block__inner {
    width: 100%;
    height: 100%;
    z-index: 2;
    overflow: hidden;
}
.about-block__inner::before {
    content: "";
    position: absolute;
    z-index: 3;
    top: -1px;
    left: 0;
    right: 0;
    height: 50%;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(1, 15, 37, 0)), to(#00050b));
    background: linear-gradient(0deg, rgba(1, 15, 37, 0) 0%, #00050b 100%);
}
.about-block__inner::after {
    content: "";
    position: absolute;
    z-index: 3;
    left: 0;
    bottom: 0;
    right: 0;
    height: 40%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(1, 15, 37, 0)), to(rgba(1, 15, 37, 0.8)));
    background: linear-gradient(180deg, rgba(1, 15, 37, 0) 0%, rgba(1, 15, 37, 0.8) 100%);
}
.about-block__image{
    height: 100%;
    width: 100%;
    overflow: hidden;
}
.about-block__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Text khối */
.about-block__text {
    z-index: 99;
    bottom: 9%;
    left: 0;
    right: 0;
    max-width: 600px;
}

/* Số liệu lớn (ví dụ 100+ khách hàng) */
.about-block__number {
    gap: 0.5rem;
    align-items: flex-end;
    font-weight: 500;
    letter-spacing: -0.05em;
}
.about-block__number .number-value{
    font-size: clamp(4.5rem, 10vw, 13.5rem);
    line-height: 0.9;
}
.about-block__number .number-unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    font-size: clamp(0.8rem, 1vw, 1.125rem);
    line-height: 1.4;
    padding-bottom: 1em;
    max-width: 50px;
}

/* Mô tả */
.about-block__desc {
    font-size: clamp(0.9rem, 1.2vw, 1.25rem);
    font-weight: 600;
    opacity: 0.8;
}

/* Đảm bảo stacking thứ tự */
.f-box__inner:not(:last-child) {
    z-index: 2;
}

.f-box__inner:last-child {
    z-index: 1;
}

.project-goal__title {
    font-size: 1.2rem;
}

.project-goal__items {
    display: flex;
    height: 22rem;
    border-radius: 0.4375rem;
    overflow: hidden;
}

.goal-item {
    flex: 0.3;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: flex 0.3s ease;
    display: flex;
    align-items: flex-end;
}
.goal-item:nth-child(1){
    background: -webkit-gradient(linear, left top, left bottom, from(#0545A2), to(#021A3C));
    background: linear-gradient(180deg, #0545A2 0%, #021A3C 100%);
}
.goal-item:nth-child(2){
    background: -webkit-gradient(linear, left top, left bottom, from(#0356DB), to(#022E75));
    background: linear-gradient(180deg, #0356DB 0%, #022E75 100%);
}
.goal-item:nth-child(3){
    background: -webkit-gradient(linear, left top, left bottom, from(#0545A2), to(#021A3C));
    background: linear-gradient(180deg, #0545A2 0%, #021A3C 100%);
}
.goal-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.2));
    z-index: 1;
}
.goal-item__img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    transition: all 0.5s ease;
    height: 100%;
    width: 0;
}
.goal-item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.goal-item__content {
    position: relative;
    z-index: 2;
    padding: 1.25rem 1.875rem;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.goal-item__num {
    font-size: clamp(20px, 2.4vw, 32px);
    font-weight: 700;
}

.goal-item__desc {
    font-size: clamp(16px, 1.4vw, 20px);
    font-weight: 500;
    margin-top: 10px;
    min-width: 300px;
    max-width: 400px;
    line-height: 1.4;
    transform: translateY(100px);
    transition: all 1s ease;
    opacity: 0;
}

/* Khi mở */
.goal-item.active {
    flex: 2;
}
.goal-item.active .goal-item__img{
    opacity: 1;
    width: 100%;
}
.goal-item.active .goal-item__desc{
    opacity: 1;
    transform: translateY(0);
}
    /* Hover nhẹ */
.goal-item:hover {
    opacity: 0.9;
}
@media (min-width: 768px) {
    .project-goal__items {
        height: 22rem;
        border-radius: 0.625rem;
    }
}
@media (min-width: 992px) {
    .project-goal__items {
        height: 37.5rem;
    }
    .goal-item__content {
        padding: 1.5625rem 2.5rem;
    }
}
@media (min-width: 1260px) {
    .project-goal__items {
        height: 31.25rem;
    }
}
@media (min-width: 1600px) {
    .project-goal__items  {
        height: 54rem;
    }
}
@media (max-width: 768px) {
    .project-goal__items{
        height: 60vh;
        flex-direction: column;
    }
    .goal-item__content {
        padding: 1rem 1.5rem;
    }
    .goal-item__desc{
        min-width: 200px;
    }

}
.bg-sharp-1{
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
}
.project-personal__header {
    margin-bottom: 4.375rem;
}
.project-personal__lineDot {
    margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
    .project-personal__header {
        text-align: center;
        position: relative;
    }
}
.project-personal__subtitle{
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(1, 40, 100, 0.5);
    letter-spacing: 0.01em;
    margin-bottom: 0.625rem;
}
@media (min-width: 992px) {
    .project-personal__subtitle {
        font-size: 0.9375rem;
        margin-bottom: 0.9375rem;
    }
}
@media (min-width: 1260px) {
    .project-personal__subtitle {
        font-size: 1rem;
    }
}
@media (min-width: 1600px) {
    .project-personal__subtitle {
        font-size: 1.25rem;
        margin-bottom: 1.25rem;
    }
}
.project-personal__title {
    font-size: clamp(1.875rem, 4vw, 4rem);
    font-weight: 600;
    color: #01245C;
    letter-spacing: -0.03em;
}
.f-imgWrap{
    top: 33%;
    left: 13%;
    right: 13%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.project-personal-content .f-imgWrap .f-img .f-img__inner{
    width: 100%;
    position: relative;
    overflow: hidden;
}
.project-personal-content .f-imgWrap .s-1{
    position: absolute;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    top: 15%;
    left: 4.4%;
    width: 31%;
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
}
.project-personal-content .f-imgWrap .f-img:hover .s-1 {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.project-personal-content .f-imgWrap .s-2 {
    position: absolute;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    left: 4%;
    bottom: 12%;
    width: 31%;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}
.project-personal-content .f-imgWrap .f-img:hover .s-2 {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}
.project-personal-content .f-imgWrap .f-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    overflow: hidden;
}
.item-mobileWrap .item-mobile span {
    display: block;
    position: relative;
    z-index: 2;
}
@media (min-width: 768px) {
    .item-mobileWrap .col-6 {
        position: static;
    }
    .item-mobileWrap .item-mobile {
        position: absolute;
        width: 14%;
    }
    .item-mobileWrap .item-mobile-1 {
        top: 43%;
        left: 0;
    }
    .item-mobileWrap .item-mobile-2 {
        bottom: 15%;
        right: 0;
    }
    .item-mobileWrap .item-mobile span {
        display: block;
    }
    .item-mobileWrap .item-mobile img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }
}
.item-mobileWrap .item-mobile span:after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border-radius: 15%;
    -webkit-box-shadow: 1.125rem 0.1875rem 1.5rem 0px rgba(0, 0, 0, 0.17);
    box-shadow: 1.125rem 0.1875rem 1.5rem 0px rgba(0, 0, 0, 0.17);
}

/*template project details*/
.project-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-hero__main {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
@media (min-width: 768px) {
    .project-hero__main {
        width: 63%;
        bottom: 10%;
    }
}
.hero-img {
    width: 100%;
    height: auto;
}
.project-general{
    background-color: #F9F9FA;
}
.project-solution__subtitle,
.project-general__subtitle {
    font-size: clamp(0.875rem, 1.2vw, 1.25rem);
    font-style: normal;
    font-variation-settings: "wdth" 100, "wght" 493, "slnt" 0;
    color: rgba(0, 0, 0, 0.4);
    margin-bottom: 0.625rem;
}
.project-general__title{
    font-size: clamp(1.975rem, 5vw, 4.6rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    margin-bottom: 1.25rem;
}
.project-general__meta-item{
    font-size: 1rem;
    font-weight: 500;
    color: rgba(18, 18, 18, 0.8);
}
.project-general__meta-item span{
    font-weight: 400;
    display: block;
    font-size: 0.8em;
    color: rgba(18, 18, 18, 0.4);
    text-transform: uppercase;
}
.project-general__content{
    font-size: 1rem;
    font-weight: 400;
    font-variation-settings: "wdth" 100, "wght" 400, "slnt" 0;
    color: rgba(18, 18, 18, 0.75);
    line-height: 1.58;
}
.project-general__content:not(:first-child){
    margin-top: 1.5rem;
}
.hidden-block {
    display: none;
}
.read-more-wrap{
    padding-top: 2.125rem;
}
.read-more-btn {
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    font-size: 1.0625rem;
    font-weight: 500;
    font-variation-settings: "wdth" 100, "wght" 493, "slnt" 0;
    color: #121212;
    background: none;
    border: none;
    cursor: pointer;
    padding-bottom: 2px;
    border-bottom: 1px solid currentColor;
    transition: all 0.3s ease;
    gap: 0.5rem;
}
.read-more-btn i{
    font-size: 1rem;
    rotate: 45deg;
}
.read-more-btn:hover {
    color: var(--primary-color);
    border-bottom: 1px solid var(--primary-color);
}
@media (min-width: 768px) {
    .project-general.section{
        padding-top: 3.125rem;
    }
    .order-md-2{
        order: 2;
    }
    .order-md-1{
        order: 1;
    }
}
@media (min-width: 992px) {
    .project-general.section {
        padding-top: 5.625rem;
    }
    .project-general__subtitle {
        margin-bottom: 0.9375rem;
    }
}
@media (min-width: 1260px) {
    .project-general.section {
        padding-top: 7.5rem;
    }
    .project-general__subtitle {
        margin-bottom: 1.25rem;
    }
}
@media (min-width: 1600px) {
    .project-general.section {
        padding-top: 12.375rem;
        padding-bottom: 9.375rem;
    }
    .project-general__subtitle {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }
}
.project-general-view{
    background-color: #F9F9FA;
    padding-top: 3rem;
    padding-bottom: 6.25rem;
}
.project-general-view__item img {
    width: 100%;
    height: auto;
}
.project-video--light{
    color: #01245C;
}
.project-video--dark{
    color: #FFFFFF;
}
.project-video__bg{
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}
.project-video__content{
    position: relative;
    z-index: 2;
}
.project-video__title{
    font-size: 1.5625rem;
    font-weight: 600;
    line-height: 1.28;
    margin: 0;
}
@media (min-width: 768px) {
    .project-video__title{
        font-size: 1.875rem;
    }
}
@media (min-width: 992px) {
    .project-video__title{
        font-size: 2.1875rem;
    }
}
.project-solution.section{
    padding-top: 5.9375rem;
}
@media (min-width: 768px) {
    .project-solution.section{
        padding-bottom: 5rem;
    }
}
@media (min-width: 992px) {
    .project-solution.section{
        padding-top: 7.5rem;
    }
}
@media (min-width: 1260px) {
    .project-solution.section{
        padding-top: 9.375rem;
    }
}
.project-solution__title{
    font-size: clamp(1.5rem, 3vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.03em;
}
.project-solution__main-wrapper .is-shaded-bg{
    z-index: -1;
    top: 23%;
    left: 0;
    right: 0;
}