body{
    background: var(--bg-white);
    color: var(--text-color);
}

/* =========================
   HERO OUTER
========================= */
.hero-outer{
    padding: 15px;
    background: var(--logo-color);
}

.hero-shell{
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    min-height: 50vh;
    border-radius: 28px;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            var(--hero-overlay-dark-40) 10%,
            var(--hero-overlay-dark-00) 50%,
            var(--hero-overlay-dark-80) 90%
        ),
        url('/assets/images/about/hero_banner.webp');
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    box-shadow: 0 10px 35px var(--heading-shadow-14);
}

.hero-shell::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, var(--brand-blue-05), var(--hero-overlay-blue-22));
    z-index: 1;
}

.hero-shell::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    background: linear-gradient(to top, var(--hero-overlay-blue-38), var(--hero-overlay-blue-00));
    z-index: 1;
}

.hero-content-wrap{
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    min-height: 60vh;
    padding: 0;
}

.hero-shell .container{
    max-width: 1500px !important;
}

.hero-breadcrumb{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.hero-breadcrumb a,
.hero-breadcrumb span{
    color: var(--white);
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
}

.hero-breadcrumb a{
    transition: var(--transition-default);
}

.hero-breadcrumb a:hover{
    color: var(--white-82);
}

.hero-breadcrumb span:nth-child(2){
    opacity: 0.7;
}

.hero-breadcrumb span:last-child{
    opacity: 0.9;
}

/* =========================
   LEFT CONTENT
========================= */
.hero-content{
    padding-left: 22px;
    margin-top:70px;
}

.hero-title{
    color: var(--white);
    font-size: var(--heading-xl);
    font-weight: 600;
    max-width: 720px;
    margin-bottom: 22px;
}

/* =========================
   ABOUT SECTION
========================= */
.about-finance-section{
    padding: 120px 15px;
    position: relative;
    z-index: 5;
    margin-top: -40px;
    border-radius: 35px 35px 0 0;
}

.about-left,
.about-right{
    height: 100%;
}

.about-grid{
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 60px;
    align-items: stretch;
}

.about-tag{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 40px;
    background: var(--theme-btn-bg);
    color: var(--white);
    font-weight: 600;
    margin-bottom: 30px;
}

.about-heading{
    color: var(--heading-color);
    font-size: var(--heading-lg);
    font-weight: 600;
    margin-bottom: 25px;
    max-width: 700px;
}

.about-text{
    color: var(--text-color);
    font-size: 16px;
    max-width: 700px;
    margin-bottom: 40px;
}

/* Partner Card */
.partner-card{
    background: var(--white);
    border-radius: 28px;
    display: flex;
    align-items: center;
    gap: 25px;
}

.partner-image{
    width: 230px;
    flex-shrink: 0;
}

.partner-image img{
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 20px;
}

.partner-content{
    flex: 1;
}

.partner-icon{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--header-footer);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 20px;
    flex-shrink: 0;
    margin: 0;
}

.partner-head{
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.partner-head h4,
.partner-content h4{
    margin: 0;
    color: var(--heading-color);
    font-size: 20px;
}


.partner-divider{
    height: 1px;
    background: var(--border-light);
    margin-bottom: 20px;
}

.partner-content p{
    color: var(--text-color);
    font-size: 16px;
}

/* Bottom */
.about-bottom{
    margin-top: 35px;
    padding-top: 35px;
    border-top: 1px solid var(--border-light);
    display: flex;
    align-items: center;
    gap: 40px;
}

.founder-box{
    display: flex;
    align-items: center;
    gap: 15px;
}

.founder-box img{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.founder-box h5{
    margin: 0;
    color: var(--heading-color);
    font-size: 20px;
}

.founder-box span{
    color: var(--text-gray);
}

/* =========================
   ABOUT RIGHT SINGLE IMAGE
========================= */
.about-right{
    display: flex;
    justify-content: flex-end;
    height: 100%;
}

.about-single-visual{
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100%;
}

.about-single-image{
    width: 100%;
    height: 100%;
    min-height: 100%;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
}

.about-single-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* experience card */
.about-exp-card{
    position: absolute;
    left: -25px;
    bottom: 35px;
    width: 175px;
    height: 175px;
    border: 10px solid var(--white);
    background: var(--bg-dark);
    border-radius: 30px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
}

.about-exp-card h3{
    margin: 0 0 10px;
    font-size: 58px;
    font-weight: 700;
    color: var(--white);
}

.about-exp-card p{
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    color: var(--white);
}

@keyframes aboutSpin{
    from{ transform: rotate(0deg); }
    to{ transform: rotate(360deg); }
}

.about-container{
    max-width: 1500px;
    margin: auto;
}

/* Responsive */
@media(max-width:991px){
    .about-grid{
        grid-template-columns: 1fr;
    }

    .about-heading{
        font-size: 40px;
    }

    .image-grid{
        min-height: 600px;
    }

    .partner-card{
        flex-direction: column;
        align-items: flex-start;
    }

    .partner-image{
        width: 100%;
    }

    .about-left,
    .about-right{
        height: auto;
    }

    .about-single-visual{
        min-height: auto;
    }

    .about-single-image{
        height: 520px;
    }
}

@media(max-width:767px){
    .about-finance-section{
        padding: 80px 10px;
    }

    .about-heading{
        font-size: 32px;
    }

    .about-bottom{
        flex-direction: column;
        align-items: flex-start;
    }

    .image-grid{
        min-height: auto;
    }

    .large,
    .top-small,
    .experience-box{
        position: relative;
        width: 100%;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        margin-bottom: 20px;
    }

    .large img,
    .top-small img{
        height: auto;
    }
}

/* =========================
   HERO RESPONSIVE
========================= */
@media (max-width: 1399px){
    .hero-shell{
        min-height: 800px;
    }

    .hero-content-wrap{
        min-height: 800px;
    }

    .hero-title{
        font-size: 56px;
        max-width: 650px;
    }

    .hero-text{
        font-size: 17px;
        max-width: 650px;
    }
}

@media (max-width: 1199px){
    .hero-shell .container{
        max-width: 1140px;
    }

    .hero-title{
        font-size: 48px;
        max-width: 580px;
    }

    .hero-text{
        max-width: 580px;
    }

    .support-card{
        max-width: 340px;
    }
}

@media (max-width: 991px){
    .hero-outer{
        padding: 10px;
    }

    .hero-shell{
        min-height: auto;
        border-radius: 22px;
        background-attachment: scroll;
    }

    .hero-content-wrap{
        min-height: auto;
        padding-top: 145px;
        padding-bottom: 50px;
    }

    .hero-content{
        padding-left: 0;
    }

    .hero-title{
        font-size: 40px;
        max-width: 100%;
    }

    .hero-text{
        font-size: 16px;
        max-width: 100%;
    }

    .support-card-wrap{
        justify-content: flex-start;
        padding-top: 20px;
        margin-top: 20px;
    }

    .support-card{
        max-width: 100%;
        min-height: auto;
    }
}

@media (max-width: 767px){
    .hero-title{
        font-size: 32px;
    }

    .hero-badge{
        font-size: 14px;
        padding: 10px 16px;
    }

    .hero-text{
        font-size: 15px;
    }

    .support-card{
        padding: 26px 22px;
    }

    .support-title{
        font-size: 20px;
        max-width: 100%;
    }

    .support-call{
        font-size: 17px;
    }
}

/* =========================
   SERVICES SECTION
========================= */
.services-finance-section{
    padding: 0 15px;
    background: var(--logo-color);
}

.services-shell{
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    padding: 120px 0 95px;
    background-color: var(--bg-white);
    background-size: auto;
    background-repeat: repeat;
    box-shadow: 0 18px 40px var(--heading-shadow-10);
}

.services-shell::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, var(--white-05), transparent 30%),
        radial-gradient(circle at 80% 10%, var(--white-04), transparent 28%),
        radial-gradient(circle at 70% 70%, var(--accent-blue-10), transparent 24%);
    pointer-events: none;
}

.services-container{
    max-width: 1500px;
    margin: auto;
    margin-top: 50px;
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
    padding: 0 18px;
}

/* top row */
.services-top{
    display: grid;
    grid-template-columns: 1.15fr 0.95fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 55px;
}

.services-badge{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--bg-light-3);
    color: var(--black);
    padding: 10px 18px;
    border-radius: var(--radius-pill);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 22px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.services-badge .star{
    font-size: 16px;
    color: var(--black);
}

.services-heading{
    color: var(--black);
    font-size: var(--heading-lg);
    font-weight: 600;
    max-width: 720px;
    margin: 0;
}

.services-top-right{
    padding-top: 14px;
}

.services-top-right p{
    color: var(--black);
    font-size: 16px;
    margin: 0 0 28px;
    max-width: 640px;
}

/* ===== carousel ===== */
.services-slider{
    overflow: hidden;
    width: 100%;
}

.services-track{
    display: flex;
    gap: 28px;
    transition: transform .55s ease;
    will-change: transform;
}

.service-slide-card{
    flex: 0 0 calc((100% - 56px) / 3);
    min-width: calc((100% - 56px) / 3);
}

.service-card{
    background: var(--bg-light-3);
    border-radius: 28px;
    padding: 28px 28px 16px;
    border: 1px solid var(--white-04);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    min-height: 100%;
}

.service-card-head{
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.service-icon{
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: var(--accent-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 20px;
    box-shadow: 0 10px 24px var(--shadow-primary-strong);
}

.service-card h3{
    margin: 0;
    color: var(--black);
    font-size: 22px;
    font-weight: 600;
}

.service-divider{
    height: 1px;
    background: var(--white-12);
    margin: 0 0 18px;
}

.service-card p{
    color: var(--black-80);
    font-size: 16px;
    margin: 0 0 20px;
    max-width: 95%;
    min-height: 115px;
}

.service-card-image{
    border-radius: 20px;
    overflow: hidden;
    margin-top: auto;
}

.service-card-image img{
    width: 100%;
    height: 175px;
    object-fit: cover;
    display: block;
}

.team-member-card{
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    height: 500px;
}

.team-member-card img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.team-overlay{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 30px;
    background: linear-gradient(
        to top,
        var(--black-80),
        var(--story-black-overlay-14),
        transparent
    );
    color: var(--white);
}

.team-overlay h3{
    margin: 0 0 8px;
    font-size: 32px;
    color: var(--white);
}

.team-overlay p{
    margin: 0 0 20px;
    color: var(--white);
    font-size: var(--heading-sm);
}

.team-social{
    display: flex;
    gap: 12px;
}

.team-social a{
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--white-14);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

/* bottom */
.services-bottom{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 26px;
}

.services-dots{
    display: flex;
    align-items: center;
    gap: 8px;
}

.services-dot{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--white-18);
    display: block;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: var(--transition-default);
}

.services-dot.active{
    width: 34px;
    border-radius: var(--radius-pill);
    background: var(--accent-blue);
}

.services-cta{
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--black);
    font-size: 16px;
    text-align: center;
}

.services-cta img{
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
}

.services-cta a{
    color: var(--accent-blue);
    font-weight: 600;
    text-decoration: underline;
}

/* =========================
   SERVICES RESPONSIVE
========================= */
@media(max-width:1399px){
    .services-heading{
        font-size: 52px;
    }

    .services-top-right p{
        font-size: var(--heading-sm);
    }
}

@media(max-width:1199px){
    .services-heading{
        font-size: 46px;
        max-width: 100%;
    }

    .services-top{
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .services-top-right{
        padding-top: 0;
    }

    .services-cards{
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width:991px){
    .services-shell{
        padding: 90px 0 80px;
        border-radius: 24px;
    }

    .services-heading{
        font-size: 38px;
    }

    .services-top-right p{
        font-size: 16px;
    }

    .services-cards{
        grid-template-columns: 1fr;
    }

    .service-card p{
        min-height: auto;
    }
}

@media(max-width:767px){
    .services-finance-section{
        padding: 0 10px 10px;
    }

    .services-shell{
        padding: 75px 0 70px;
        border-radius: 22px;
    }

    .services-heading{
        font-size: 32px;
    }

    .service-card{
        padding: 22px 22px 14px;
    }

    .service-card h3{
        font-size: 20px;
    }

    .service-card-image img{
        height: 220px;
    }
    
    .services-track{
        display:block;
    }
    
    .service-card{
        margin: 10px 0;
    }
}

/* =========================
   WHY CHOOSE US SECTION
========================= */
.why-choose-section{
    padding: 95px 0 20px;
    background: var(--logo-color);
}

.why-choose-container{
    max-width: 1500px;
    margin: auto;
    padding: 0 15px;
}

.why-choose-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: stretch;
}

/* LEFT VISUAL */
.why-choose-visual{
    position: relative;
    min-height: 100%;
    height: 100%;
    display: flex;
    align-items: stretch;
}

.why-main-image{
    width: 76%;
    height: 80%;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 40px var(--heading-shadow-10);
}

.why-main-image img{
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    display: block;
}

.why-second-image{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 40px var(--heading-shadow-10);
    border: 8px solid var(--logo-color);
    background: var(--logo-color);
}

.why-choose-content{
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 20px 0;
}

.why-second-image img{
    width: 100%;
    height: 290px;
    object-fit: cover;
    display: block;
}

/* contact circular badge */
.why-contact-badge{
    position: absolute;
    top: 55px;
    right: 85px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: var(--dark-navy);
    border: 6px solid var(--logo-color);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 15px 35px var(--heading-shadow-18);
    z-index: 3;
}

.why-contact-badge::before{
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: 50%;
    border: 1px dashed var(--white-18);
}

.why-contact-text{
    position: absolute;
    inset: 0;
    animation: spinWhy 16s linear infinite;
}

.why-contact-text span{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

.why-contact-text{
    position:absolute;
    inset:0;
    animation:spinWhy 16s linear infinite;
}

.why-contact-text span{
    position:absolute;
    left:50%;
    top:50%;
    width:0;
    height:0;
}

.why-contact-text i{
    position:absolute;
    transform:translate(-50%,-68px);
    font-style:normal;
    white-space:pre;
    color:#fff;
    font-size:15px;
    font-weight:600;
}
.why-contact-center{
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--accent-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 24px;
    position: relative;
    z-index: 2;
}

/* google review card */
.why-review-card{
    position: absolute;
    left: 0;
    bottom: 18px;
    background: var(--bg-white);
    border-radius: 22px;
    padding: 18px 26px;
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 330px;
    border: 1px solid var(--why-review-border);
}

.why-google-icon{
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.why-google-icon img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.why-review-content{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.why-review-top{
    display: flex;
    align-items: center;
    gap: 10px;
}

.why-review-content h4{
    margin: 0;
    color: var(--heading-color);
    font-size: 24px;
    font-weight: 700;
}

.why-review-stars{
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-blue);
    font-size: 20px;
}

.why-review-content p{
    margin: 0;
    color: var(--text-dark);
    font-size: 15px;
    font-weight: 500;
}

.why-review-content p strong{
    font-weight: 700;
    color: var(--heading-color);
}

/* RIGHT CONTENT */
.why-tag{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--theme-btn-bg);
    color: var(--white);
    padding: 10px 18px;
    border-radius: var(--radius-pill);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 24px;
}

.why-tag .star{
    font-size: 16px;
}

.why-heading{
    color: var(--heading-color);
    font-size: var(--heading-lg);
    font-weight: 600;
    max-width: 760px;
    margin: 0 0 24px;
}

.why-text{
    color: var(--text-muted);
    font-size: 16px;
    max-width: 760px;
    margin: 0 0 42px;
}

.why-features{
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px;
    margin-bottom: 34px;
}

.why-feature{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.why-feature-icon{
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: var(--accent-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 22px;
    margin-bottom: 22px;
    box-shadow: 0 12px 24px var(--accent-blue-18);
}

.why-feature h4{
    margin: 0;
    color: var(--heading-color);
    font-size: 20px;

}

.why-feature p{
    margin: 0;
    color: var(--text-muted);
    font-size: var(--heading-sm);
}

.why-divider{
    height: 1px;
    background: var(--border-light-2);
    margin: 18px 0 30px;
}

.why-bottom-cta{
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--text-muted-3);
    font-size: var(--heading-sm);
    flex-wrap: wrap;
}

.why-bottom-cta img{
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
}

.why-bottom-cta .why-call-icon{
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--accent-blue);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    margin-left: -18px;
    border: 3px solid var(--white);
}

.why-bottom-cta a{
    color: var(--accent-blue);
    font-weight: 700;
    text-decoration: underline;
}

.team-member-card{
    margin: 10px 0;
}

@keyframes spinWhy{
    from{ transform: rotate(0deg); }
    to{ transform: rotate(360deg); }
}

/* Responsive */
@media(max-width:1399px){
    .why-heading{
        font-size: 50px;
    }

    .why-text{
        font-size: var(--heading-sm);
    }
}

@media(max-width:1199px){
    .why-choose-grid{
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .why-heading{
        font-size: 44px;
        max-width: 100%;
    }

    .why-text{
        max-width: 100%;
    }

    .why-choose-visual{
        min-height: 620px;
    }
}

@media(max-width:991px){
    .why-choose-section{
        padding: 80px 0 10px;
    }

    .why-heading{
        font-size: 36px;
    }

    .why-text{
        font-size: 16px;
    }

    .why-feature h4{
        font-size: 22px;
    }

    .why-feature p{
        font-size: 16px;
    }
}

@media(max-width:767px){
    .why-choose-section{
        padding: 70px 0 10px;
    }

    .why-choose-container{
        padding: 0 14px;
    }

    .why-choose-visual{
        min-height: auto;
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .why-main-image,
    .why-second-image{
        position: relative;
        width: 100%;
        right: auto;
        bottom: auto;
        border: none;
    }
    
    .why-main-image{
        display:none;
    }

    .why-main-image img,
    .why-second-image img{
        height: 260px;
    }

    .why-contact-badge{
        display:none;
        width: 120px;
        height: 120px;
        top: 18px;
        right: 18px;
    }

    .why-contact-text i{
        transform-origin: 0 53px;
        font-size: 12px;
    }

    .why-contact-center{
        width: 46px;
        height: 46px;
        font-size: var(--heading-sm);
    }

    .why-review-card{
        position: relative;
        left: auto;
        bottom: auto;
        min-width: 100%;
        margin-top: 4px;
    }

    .why-features{
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .why-heading{
        font-size: 32px;
    }

    .why-bottom-cta{
        font-size: 16px;
    }
}


/* =========================
   STORY / VIDEO STATS SECTION
========================= */
.story-section{
    padding:40px 15px;
    background:var(--logo-color);
}

.story-shell{
    position:relative;
    width:100%;
    min-height:980px;
    border-radius:28px;
    overflow:hidden;
    background:
        linear-gradient(var(--story-overlay-dark-40), var(--story-overlay-dark-40)),
        url('/assets/images/about/discover_the_vision.webp');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    box-shadow:0 18px 40px var(--heading-shadow-12);
    padding:110px 0 0;
}

.story-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, var(--story-black-overlay-34) 0%, var(--story-black-overlay-14) 42%, var(--story-black-overlay-26) 100%);
    z-index:1;
}

.story-inner{
    position:relative;
    z-index:2;
    max-width:1500px;
    margin:auto;
    padding:0 18px;
    min-height:425px;
}

.story-content{
    max-width:850px; /* ya 900px */
    width:100%;
    padding-top:35px;
}

.story-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 18px;
    border-radius:999px;
    background:var(--white-14);
    color:var(--white);
    font-size:14px;
    font-weight:600;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    margin-bottom:24px;
}

.story-badge .star{
    font-size:16px;
}

.story-heading{
    color:var(--white);
    font-size:var(--heading-lg);
    font-weight:600;
    margin:0 0 24px;
    max-width:780px;
}

.story-text{
    color:var(--white-92);
    font-size:16px;
    max-width:100%;
    line-height:1.8;
    margin:0;
}
/* play button */
.story-play-wrap{
    position:absolute;
    right:320px;
    top:140px;
    z-index:3;
}

.story-play-btn{
    width:160px;
    height:160px;
    border-radius:50%;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.story-play-btn::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    background:var(--white-14);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:0 20px 45px var(--black-18);
}

.story-play-circle-text{
    position:absolute;
    inset:0;
    animation:storySpin 16s linear infinite;
    z-index:2;
}

.story-play-circle-text span{
    position:absolute;
    left:50%;
    top:50%;
    width:100%;
    height:100%;
    transform:translate(-50%, -50%);
}

.story-play-circle-text i{
    position:absolute;
    left:50%;
    top:12px;
    transform-origin:0 68px;
    color:var(--white);
    font-style:normal;
    font-size:14px;
    font-weight:600;
}

.story-play-center{
    position:relative;
    z-index:3;
    width:82px;
    height:82px;
    border-radius:50%;
    background:var(--white-18);
    border:1px solid var(--white-18);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--white);
    font-size:26px;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

/* stats cards */
.story-stats-wrap{
    position:relative;
    z-index:3;
    max-width:1500px;
    margin:-10px auto 0;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
    padding:0 18px 35px;
}

.story-stat-card{
    background:var(--white);
    border-radius:26px;
    padding:32px 32px 28px;
    box-shadow:0 18px 40px var(--heading-shadow-12);
}

.story-stat-icon{
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--primary-blue);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--white);
    font-size:20px;
    margin-bottom:24px;
}

.story-stat-card h4{
    margin:0;
    color:var(--heading-color);
    font-size:22px;
    font-weight:600;
}

.story-stat-line{
    height:1px;
    background:var(--light-border);
    margin:26px 0 26px;
}

.story-stat-bottom{
    display:flex;
    align-items:flex-end;
    gap:16px;
}

.story-stat-bottom h3{
    margin:0;
    color:var(--stats-number-color);
    font-size:54px;
    font-weight:700;
    flex-shrink:0;
}

.story-stat-bottom p{
    margin:0 0 6px;
    color:var(--text-muted-2);
    font-size:16px;
    max-width:220px;
}

@keyframes storySpin{
    from{ transform:rotate(0deg); }
    to{ transform:rotate(360deg); }
}

/* =========================
   STORY RESPONSIVE
========================= */
@media(max-width:1399px){
    .story-heading{
        font-size:50px;
    }

    .story-content{
        padding-left:160px;
    }

    .story-play-wrap{
        right:220px;
    }
}

@media(max-width:1199px){
    .story-shell{
        min-height:920px;
    }

    .story-content{
        padding-left:70px;
        max-width:620px;
    }

    .story-heading{
        font-size:42px;
        max-width:620px;
    }

    .story-text{
        font-size:16px;
    }

    .story-play-wrap{
        right:90px;
        top:120px;
    }

    .story-stats-wrap{
        max-width:100%;
    }

    .story-stat-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }
}

@media(max-width:991px){
    .story-section{
        padding:20px 10px 10px;
    }

    .story-shell{
        min-height:auto;
        padding:80px 0 0;
        background-attachment:scroll;
    }

    .story-inner{
        min-height:auto;
        padding-bottom:40px;
    }

    .story-content{
        padding:0 10px;
        max-width:100%;
    }

    .story-heading{
        font-size:36px;
    }

    .story-play-wrap{
        position:relative;
        right:auto;
        top:auto;
        margin:30px 0 0;
        padding-left:10px;
    }

    .story-stats-wrap{
        grid-template-columns:1fr;
        gap:20px;
        margin:10px auto 0;
        padding:0 10px 25px;
    }
}

@media(max-width:767px){
    .story-shell{
        border-radius:22px;
        padding:70px 0 0;
    }

    .story-badge{
        font-size:13px;
        padding:9px 14px;
    }

    .story-heading{
        font-size:30px;
    }

    .story-text{
        font-size:15px;
    }

    .story-play-btn{
        width:130px;
        height:130px;
    }

    .story-play-circle-text i{
        transform-origin:0 54px;
        font-size:12px;
    }

    .story-play-center{
        width:68px;
        height:68px;
        font-size:22px;
    }

    .story-stat-card{
        padding:24px 22px;
        border-radius:22px;
    }

    .story-stat-card h4{
        font-size:20px;
    }

    .story-stat-bottom h3{
        font-size:42px;
    }

    .story-stat-bottom p{
        font-size:15px;
        max-width:100%;
    }
}


/* =========================
   STORY CASE STUDY CAROUSEL
========================= */
.story-case-slider{
    position:relative;
    z-index:3;
    max-width:1500px;
    margin:-10px auto 0;
    padding:0 18px 40px;
    overflow:hidden;
}

.story-case-track{
    display:flex;
    gap:28px;
    transition:transform .55s ease;
    will-change:transform;
}

.story-case-slide{
    flex:0 0 calc((100% - 56px) / 3);
    min-width:calc((100% - 56px) / 3);
}

.story-case-card{
    position:relative;
    border-radius:26px;
    overflow:hidden;
    min-height:450px;
    background:var(--case-card-fallback-bg);
    box-shadow:0 18px 40px var(--heading-shadow-12);
}

.story-case-card img{
    width:100%;
    height:100%;
    min-height:450px;
    object-fit:cover;
    display:block;
}

.story-case-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top, var(--story-overlay-top-82) 0%, var(--story-overlay-top-08) 55%, var(--story-overlay-top-04) 100%);
    z-index:1;
}

.story-case-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    padding:0 18px 18px;
}

.story-case-inner{
    background:var(--white);
    border-radius:22px;
    padding:26px 22px 24px;
    box-shadow:0 10px 30px var(--heading-shadow-10);
}

.story-case-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 16px;
    border:1px solid var(--light-border-3);
    border-radius:999px;
    color:var(--heading-color);
    font-size:14px;
    font-weight:500;
    background:var(--white);
    margin-bottom:18px;
}

.story-case-tag .dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--heading-color);
    display:inline-block;
}

.story-case-title{
    margin:0;
    color:var(--heading-color);
    font-size:22px;
    font-weight:500;
    max-width:95%;
}

/* dots */
.story-case-bottom{
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:26px;
}

.story-case-dots{
    display:flex;
    align-items:center;
    gap:10px;
}

.story-case-dot{
    width:10px;
    height:10px;
    border:none;
    border-radius:50%;
    background:var(--light-border-2);
    cursor:pointer;
    padding:0;
    transition:.3s ease;
}

.story-case-dot.active{
    width:34px;
    border-radius:999px;
    background:var(--primary-blue);
}

/* =========================
   STORY CASE RESPONSIVE
========================= */
@media(max-width:991px){
    .story-case-slider{
        padding:0 10px 25px;
        margin:10px auto 0;
    }

    .story-case-slide{
        flex:0 0 100%;
        min-width:100%;
    }

    .story-case-card,
    .story-case-card img{
        min-height:420px;
    }

    .story-case-title{
        font-size:24px;
    }
}

@media(max-width:767px){
    .story-case-card,
    .story-case-card img{
        min-height:430px;
    }

    .story-case-inner{
        padding:22px 18px;
    }

    .story-case-title{
        font-size:20px;
    }
}


/* =========================
   FAQ SECTION
========================= */
.faq-section{
    padding:40px 70px 110px;
    background:var(--logo-color);
}

.faq-container{
    max-width:1500px;
    margin:auto;
    padding:0 18px;
}

.faq-grid{
    display:grid;
    grid-template-columns:0.92fr 1.08fr;
    gap:70px;
    align-items:start;
}

/* left content */
.faq-left{
    padding-top:28px;
}

.faq-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 18px;
    border-radius:999px;
    background:var(--theme-btn-bg);
    color:var(--white);
    font-size:14px;
    font-weight:600;
    box-shadow:0 6px 18px var(--faq-badge-shadow);
    margin-bottom:28px;
}

.faq-badge .star{
    font-size:var(--heading-sm);
    color:var(--white);
}

.faq-heading{
    color:var(--heading-color);
    font-size:var(--heading-lg);
    font-weight:600;
    margin:0 0 24px;
    max-width:620px;
}

.faq-text{
    color:var(--text-muted);
    font-size:16px;
    max-width:620px;
    margin:0 0 38px;
}

/* quote box */
.faq-quote-card{
    background:var(--white);
    border-radius:28px;
    padding:34px 34px 28px;
    border-left:5px solid var(--primary-blue);
    box-shadow:0 14px 35px var(--heading-shadow-08);
    max-width:640px;
}

.faq-quote{
    margin:0;
    color:var(--heading-color);
    font-size:23px;
    font-weight:500;
}

.faq-quote-divider{
    height:1px;
    background:var(--light-border);
    margin:24px 0 18px;
}

.faq-quote-bottom{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--text-muted);
    font-size:17px;
}

.faq-quote-bottom i{
    color:var(--primary-blue);
    font-size:var(--heading-sm);
}

/* right accordion */
.faq-right{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.faq-item{
    background:var(--white);
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 10px 28px var(--shadow-soft);
    border:1px solid var(--faq-item-border);
}

.faq-question{
    width:100%;
    border:none;
    outline:none;
    background:var(--white);
    padding:28px 22px 28px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    text-align:left;
    cursor:pointer;
}

.faq-question-text{
    color:var(--heading-color);
    font-size:16px;
    font-weight:600;
    padding-right:10px;
}

.faq-toggle{
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:50%;
    background:var(--primary-blue);
    color:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    transition:.35s ease;
    flex-shrink:0;
}

.faq-item.active .faq-toggle{
    transform:rotate(180deg);
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .45s ease;
    background:var(--white);
}

.faq-answer-inner{
    padding:0 28px 26px;
    border-top:1px solid var(--light-border);
}

.faq-answer p{
    margin:18px 0 0;
    color:var(--text-muted);
    font-size:14px;
    max-width:92%;
}

/* =========================
   FAQ RESPONSIVE
========================= */
@media(max-width:1399px){
    .faq-heading{
        font-size:50px;
    }
}

@media(max-width:1199px){
    .faq-grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .faq-heading{
        font-size:44px;
        max-width:100%;
    }

    .faq-text,
    .faq-quote-card{
        max-width:100%;
    }
}

@media(max-width:991px){
    .faq-section{
        padding:25px 10px 90px;
    }

    .faq-heading{
        font-size:36px;
    }

    .faq-text{
        font-size:16px;
    }

    .faq-quote{
        font-size:20px;
    }

    .faq-question{
        padding:24px 20px 24px 22px;
    }

    .faq-question-text{
        font-size:17px;
    }

    .faq-answer-inner{
        padding:0 22px 22px;
    }

    .faq-answer p{
        font-size:16px;
        max-width:100%;
    }
}

@media(max-width:767px){
    .faq-section{
        padding:20px 10px 70px;
    }

    .faq-container{
        padding:0 4px;
    }

    .faq-left{
        padding-top:0;
    }

    .faq-badge{
        font-size:13px;
        padding:9px 14px;
    }

    .faq-heading{
        font-size:31px;
    }

    .faq-text{
        font-size:15px;
        margin-bottom:28px;
    }

    .faq-quote-card{
        padding:24px 20px 22px;
        border-radius:22px;
    }

    .faq-quote{
        font-size:var(--heading-sm);
    }

    .faq-quote-bottom{
        font-size:15px;
    }

    .faq-right{
        gap:16px;
    }

    .faq-question{
        padding:20px 16px 20px 18px;
        gap:14px;
    }

    .faq-question-text{
        font-size:16px;
    }

    .faq-toggle{
        width:30px;
        height:30px;
        min-width:30px;
        font-size:13px;
    }

    .faq-answer-inner{
        padding:0 18px 20px;
    }

    .faq-answer p{
        font-size:15px;
    }
}


/* =========================
   TESTIMONIAL SECTION
========================= */
.testimonial-section{
    padding:40px 70px;
    background:var(--logo-color);
}

.testimonial-shell{
    position:relative;
    margin:auto;
    background:var(--white);
    border-radius:28px;
    overflow:hidden;
    padding:80px 40px 75px;
}

.testimonial-map{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 20% 20%, var(--black-04) 1px, transparent 1.8px),
        radial-gradient(circle at 75% 30%, var(--black-04) 1px, transparent 1.8px),
        radial-gradient(circle at 45% 70%, var(--black-04) 1px, transparent 1.8px);
    background-size:220px 160px, 260px 180px, 240px 170px;
    opacity:.9;
    pointer-events:none;
}

/* top */
.testimonial-top{
    position:relative;
    z-index:2;
    text-align:center;
    max-width:760px;
    margin:0 auto 48px;
}

.testimonial-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--theme-btn-bg);
    color:var(--white);
    padding:10px 18px;
    border-radius:999px;
    font-size:14px;
    font-weight:600;
    box-shadow:0 8px 22px var(--testimonial-badge-shadow);
    margin-bottom:22px;
}

.testimonial-badge .star{
    font-size:16px;
}

.testimonial-heading{
    margin:0;
    color:var(--heading-color);
    font-size:var(--heading-lg);
    font-weight:600;
}

/* cards */
/* testimonial slider */
.testimonial-slider{
    position:relative;
    z-index:2;
    overflow:hidden;
    margin-bottom:42px;
    max-width:1500px;
    margin:auto;
}

.testimonial-track{
    display:flex;
    gap:22px;
    transition:transform .55s ease;
    will-change:transform;
}

.testimonial-slide{
    flex:0 0 calc((100% - 44px) / 3);
    min-width:calc((100% - 44px) / 3);
}

.testimonial-card{
    background:var(--light-card);
    border-radius:24px;
    padding:28px 28px 24px;
    min-height:350px;
    display:flex;
    flex-direction:column;
    height:100%;
}

.testimonial-slider-bottom{
    display:flex;
    justify-content:center;
    margin-top:28px;
    margin-bottom:28px;
}

.testimonial-dots{
    display:flex;
    align-items:center;
    gap:10px;
}

.testimonial-dot{
    width:10px;
    height:10px;
    border:none;
    border-radius:50%;
    background:var(--light-border-2);
    cursor:pointer;
    padding:0;
    transition:.3s ease;
}

.testimonial-dot.active{
    width:34px;
    border-radius:999px;
    background:var(--primary-blue);
}

.testimonial-card{
    background:var(--light-card);
    border-radius:24px;
    padding:28px 28px 24px;
    min-height:350px;
    display:flex;
    flex-direction:column;
}

.testimonial-user{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:28px;
}

.testimonial-user img{
    width:48px;
    height:48px;
    border-radius:50%;
    object-fit:cover;
    flex-shrink:0;
}

.testimonial-user h4{
    margin:0 0 4px;
    color:var(--heading-color);
    font-size:20px;
    font-weight:600;
}

.testimonial-user span{
    color:var(--text-muted-2);
    font-size:14px;
    display:block;
}

.testimonial-stars{
    display:flex;
    align-items:center;
    gap:4px;
    color:var(--primary-blue);
    font-size:15px;
    margin-bottom:18px;
}

.testimonial-text{
    margin:0;
    color:var(--heading-color);
    font-size:16px;
    font-weight:500;
    flex:1;
    max-width:95%;
}

.testimonial-divider{
    height:1px;
    background:var(--light-border);
    margin:22px 0 20px;
}

.testimonial-bottom{
    display:flex;
    align-items:flex-end;
    gap:14px;
}

.testimonial-bottom h3{
    margin:0;
    color:var(--stats-number-color);
    font-size:54px;
    font-weight:700;
    flex-shrink:0;
}

.testimonial-bottom p{
    margin:0 0 5px;
    color:var(--text-muted-2);
    font-size:15px;
}

/* bottom review row */
.testimonial-review-row{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:34px;
    flex-wrap:wrap;
}

.testimonial-google-review{
    display:flex;
    align-items:center;
    gap:16px;
}

.testimonial-google-icon{
    width:46px;
    height:46px;
    flex-shrink:0;
}

.testimonial-google-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.testimonial-google-content{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.testimonial-google-top{
    display:flex;
    align-items:center;
    gap:12px;
}

.testimonial-google-top h4{
    margin:0;
    color:var(--heading-color);
    font-size:var(--heading-sm);
    font-weight:700;
}

.testimonial-google-stars{
    display:flex;
    align-items:center;
    gap:3px;
    color:var(--primary-blue);
    font-size:14px;
}

.testimonial-google-content p{
    margin:0;
    color:var(--text-muted-3);
    font-size:14px;
}

.testimonial-google-content p strong{
    color:var(--heading-color);
    font-weight:700;
}

.testimonial-review-btn{
    display:inline-flex;
    align-items:center;
    gap:14px;
    padding:10px 10px 10px 22px;
    border-radius:999px;
    background:var(--primary-blue);
    color:var(--white);
    text-decoration:none;
    font-size:15px;
    font-weight:600;
    transition:.3s ease;
}

.testimonial-review-btn:hover{
    transform:translateY(-2px);
}

.testimonial-review-btn .circle-icon{
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--white);
    color:var(--primary-blue);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    flex-shrink:0;
}

/* =========================
   TESTIMONIAL RESPONSIVE
========================= */
@media(max-width:1399px){
    .testimonial-heading{
        font-size:44px;
    }
}

@media(max-width:1199px){
    .testimonial-heading{
        font-size:40px;
    }
}

@media(max-width:991px){
    .testimonial-section{
        padding:0 10px 80px;
    }

    .testimonial-shell{
        padding:70px 24px 60px;
        border-radius:24px;
    }

    .testimonial-heading{
        font-size:34px;
    }

    .testimonial-card{
        min-height:auto;
    }
    
    .testimonial-bottom h3{
        font-size:42px;
    }
    
    .testimonial-slide{
        flex:0 0 100%;
        min-width:100%;
    }

    .testimonial-card{
        min-height:auto;
    }
}

@media(max-width:767px){
    .testimonial-shell{
        padding:55px 16px 50px;
        border-radius:20px;
    }

    .testimonial-top{
        margin-bottom:32px;
        text-align:left;
    }

    .testimonial-heading{
        font-size:29px;
    }

    .testimonial-card{
        padding:22px 18px 20px;
        border-radius:20px;
    }

    .testimonial-user{
        margin-bottom:20px;
    }

    .testimonial-user h4{
        font-size:var(--heading-sm);
    }

    .testimonial-text{
        font-size:15px;
        max-width:100%;
    }

    .testimonial-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }

    .testimonial-bottom h3{
        font-size:36px;
    }

    .testimonial-review-row{
        align-items:flex-start;
        justify-content:flex-start;
        gap:20px;
    }
}


/* =========================================================
   CONTACT SECTION
========================================================= */
.contact-section {
    padding: 40px 15px;
    background: var(--logo-color);
}

.contact-shell {
    position: relative;
    max-width: 100%;
    min-height: 760px;
    margin: auto;
    overflow: hidden;
    border-radius: 28px;
    background: var(--contact-shell-bg);
}

.contact-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.38;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 20% 20%, transparent 0 22px, var(--white-06) 23px 24px, transparent 25px),
        radial-gradient(circle at 78% 28%, transparent 0 24px, var(--white-05) 25px 26px, transparent 27px),
        radial-gradient(circle at 55% 72%, transparent 0 20px, var(--white-05) 21px 22px, transparent 23px),
        radial-gradient(circle at 15% 75%, transparent 0 28px, var(--white-04) 29px 30px, transparent 31px),
        radial-gradient(circle at 88% 78%, transparent 0 22px, var(--white-05) 23px 24px, transparent 25px);
    background-size: 340px 260px, 360px 280px, 380px 300px, 320px 260px, 360px 280px;
}

.contact-container {
    position: relative;
    z-index: 2;
    max-width: 1500px;
    margin: auto;
    padding: 50px;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 580px;
    gap: 80px;
    align-items: center;
}

/* Left */
.contact-left {
    max-width: 650px;
}

.contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    padding: 10px 18px;
    border-radius: var(--radius-pill);
    background: var(--white-12);
    color: var(--white);
    font-size: 14px;
    font-weight: 600;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.contact-badge .star {
    color: var(--white);
    font-size: 17px;
}

.contact-heading {
    max-width: 720px;
    margin: 0 0 24px;
    color: var(--white);
    font-size: var(--heading-lg);
    font-weight: 600;
}

.contact-text {
    max-width: 620px;
    margin: 0 0 120px;
    color: var(--white-92);
    font-size: 16px;
}

.contact-review-wrap {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-bottom: 28px;
}

.contact-review-users {
    display: flex;
    align-items: center;
}

.contact-review-users img {
    width: 56px;
    height: 56px;
    margin-left: -12px;
    border: 2px solid var(--contact-user-border);
    border-radius: 50%;
    object-fit: contain;
    box-shadow: 0 8px 18px var(--black-25);
}

.contact-review-users img:first-child {
    margin-left: 0;
}

.contact-review-rating {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--white);
    font-size: 60px;
    font-weight: 600;
}

.contact-review-rating i {
    margin-top: 6px;
    color: var(--white);
    font-size: 26px;
}

.contact-review-divider {
    width: 100%;
    max-width: 430px;
    height: 1px;
    margin-bottom: 26px;
    background: var(--white-12);
}

.contact-review-text {
    max-width: 470px;
    margin: 0;
    color: var(--white);
    font-size: var(--heading-sm);
}

/* Right Form */
.contact-right {
    display: flex;
    justify-content: flex-end;
}

.contact-form-card {
    width: 100%;
    max-width: 580px;
    padding: 54px 54px 56px;
    border-radius: 28px;
    background: var(--bg-white);
     box-shadow: 0 20px 60px rgba(0,0,0,0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.contact-form-title {
    margin: 0 0 30px;
    color: var(--black);
    font-size: var(--heading-lg);
    font-weight: 600;
}


.contact-form-divider {
    height: 1px;
    margin-bottom: 38px;
    background: var(--white-10);
}

.contact-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 26px;
    margin-bottom: 24px;
}

.contact-field input,
.contact-field textarea {
    width: 100%;
    border: none;
    outline: none;
    border-radius: 12px;
    background: var(--light-bg);
    color: var(--black);
    font-size: 14px;
    font-weight: 500;
    box-shadow: none;
}

.contact-field input {
    height: 66px;
    padding: 0 18px;
}

.contact-field textarea{
    height: 128px;
    padding: 18px;
    resize: none;

    overflow-y: auto;
    scrollbar-width: none;      /* Firefox */
    -ms-overflow-style: none;   /* IE & Edge */
}

.contact-field textarea::-webkit-scrollbar{
    display: none;              /* Chrome, Safari, Opera */
}

.contact-field input::placeholder,
.contact-field textarea::placeholder {
    color: var(--black);
    opacity: 1;
}
.contact-field-full {
    margin-bottom: 34px;
}

.contact-submit-btn {
    padding: 18px 34px;
    border: none;
    outline: none;
    border-radius: var(--radius-pill);
    background: var(--accent-blue);
    color: var(--white);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-default);
    box-shadow: 0 12px 25px var(--accent-blue-28);
}

.contact-submit-btn:hover {
    transform: translateY(-2px);
    background: var(--accent-blue-hover);
}

.contact-field{
    position: relative;
}

.country-dropdown{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    max-height:250px;
    overflow-y:auto;
    background:#fff;
    border:1px solid #ddd;
    border-radius:12px;
    margin-top:5px;
    display:none;
    z-index:9999;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.country-item{
    padding:12px 16px;
    cursor:pointer;
    transition:.2s;
}

.country-item:hover{
    background:#f3f7ff;
}

/* =========================
   PHONE FIELD FIX
========================= */

.contact-field .iti{
    width: 100% !important;
    display: block;
}

.contact-field .iti input{
    width: 100% !important;
    height: 66px;
    border: none;
    outline: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid transparent;
    transition: var(--transition-default);
}
.contact-field .iti__country-container{
    left: 16px;
}

.contact-field .iti__selected-country{
    padding-left: 0;
}

/* Search area fix */
.iti__search-container{
    padding: 8px !important;
    margin: 0 !important;
}

.iti__search-input{
    margin: 0 !important;
    height: 42px !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    box-sizing: border-box;
}

/* Remove empty space above search */
.iti__country-list{
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.iti__country-list::-webkit-scrollbar{
    display: none;
}

.iti__country{
    padding: 10px 12px !important;
}

.phone-error{
    color:#dc3545;
    font-size:12px;
    margin-top:6px;
    padding-left:2px;
}


/* Dial code color */
.iti__selected-dial-code{
    color: var(--black) !important;
}

/* Arrow color */
.iti__arrow{
    border-top-color: var(--black) !important;
}

/* Selected country button */
.iti__selected-country{
    color: var(--white) !important;
}

/* Flag container */
.iti__country-container{
    color: var(--white) !important;
}

.iti--inline-dropdown .iti__dropdown-content{
    background:radial-gradient(circle at 35% 20%, var(--white-10), transparent 28%),
        linear-gradient(
            90deg,
            var(--contact-shell-dark-1) 0%,
            var(--contact-shell-dark-2) 48%,
            var(--contact-shell-dark-3) 100%
        );
}


.contact-form-grid{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-field{
    width: 100%;
}

.contact-field-full{
    width: 100%;
    margin-bottom: 20px;
}


/* =========================
   CONTACT RESPONSIVE
========================= */
@media(max-width:1399px){
    .contact-heading{
        font-size:56px;
    }

    .contact-form-title{
        font-size:46px;
    }

    .contact-grid{
        grid-template-columns:1fr 540px;
        gap:60px;
    }
}

@media(max-width:1199px){
    .contact-container{
        padding:90px 40px;
    }

    .contact-grid{
        grid-template-columns:1fr;
        gap:50px;
    }

    .contact-right{
        justify-content:flex-start;
    }

    .contact-left,
    .contact-form-card{
        max-width:100%;
    }

    .contact-heading{
        max-width:100%;
    }

    .contact-text{
        margin-bottom:60px;
    }
}

@media(max-width:991px){
    .contact-section{
        padding:20px 10px 80px;
    }

    .contact-shell{
        border-radius:24px;
    }

    .contact-container{
        padding:65px 24px;
    }

    .contact-grid{
        gap:36px;
    }

    .contact-heading{
        font-size:40px;
    }

    .contact-text{
        font-size:16px;
        margin-bottom:42px;
    }

    .contact-review-wrap{
        gap:18px;
        flex-wrap:wrap;
    }

    .contact-review-users img{
        width:50px;
        height:50px;
    }

    .contact-review-rating{
        font-size:42px;
        gap:10px;
    }

    .contact-review-rating i{
        font-size:20px;
        margin-top:2px;
    }

    .contact-review-text{
        font-size:16px;
        max-width:100%;
    }

    .contact-form-card{
        padding:34px 24px 36px;
        border-radius:22px;
    }

    .contact-form-title{
        font-size:38px;
        margin-bottom:22px;
    }

    .contact-form-divider{
        margin-bottom:28px;
    }

    .contact-form-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .contact-field input{
        height:58px;
        font-size:16px;
    }

    .contact-field textarea{
        height:120px;
        font-size:16px;
    }

    .contact-submit-btn{
        padding:16px 28px;
        font-size:17px;
    }
}

@media(max-width:767px){
    .contact-container{
        padding:50px 16px;
    }

    .contact-badge{
        font-size:13px;
        padding:9px 14px;
    }

    .contact-heading{
        font-size:31px;
    }

    .contact-text{
        font-size:15px;
        margin-bottom:32px;
    }

    .contact-review-users img{
        width:44px;
        height:44px;
        margin-left:-10px;
    }

    .contact-review-rating{
        font-size:34px;
    }

    .contact-review-divider{
        margin-bottom:18px;
    }

    .contact-review-text{
        font-size:15px;
    }

    .contact-form-card{
        padding:28px 16px 30px;
        border-radius:20px;
    }

    .contact-form-title{
        font-size:31px;
    }

    .contact-field input{
        height:54px;
        border-radius:10px;
        padding:0 16px;
        font-size:15px;
    }

    .contact-field textarea{
        height:110px;
        border-radius:10px;
        padding:16px;
        font-size:15px;
    }

    .contact-submit-btn{
        width:100%;
        justify-content:center;
        font-size:16px;
        padding:15px 22px;
    }
}


/* =========================
   OUR APPROACH SECTION
========================= */
.approach-section{
    padding:20px 70px;
    background:var(--logo-color);
}

.approach-container{
    margin:0 auto;
    background:var(--white);
    border-radius:28px;
}

.approach-top{
    max-width:860px;
    margin:0 auto 56px;
    text-align:center;
}

.approach-badge{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--theme-btn-bg);
    color:var(--white);
    padding:10px 18px;
    border-radius:999px;
    font-size:14px;
    font-weight:500;
    margin-bottom:24px;
}

.approach-badge-star{
    font-size:14px;
    color:var(--white);
}

.approach-heading{
    margin:0 0 18px;
    font-size:var(--heading-lg);
    color:var(--heading-color);
    font-weight:600;
}

.approach-text{
    max-width:760px;
    margin:0 auto;
    color:var(--contact-text-soft);
    font-size:17px;
}

.approach-cards{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
    max-width:1500px;
    margin:0 auto 48px;
}

.approach-card{
    background:var(--bg-light-4);
    border-radius:24px;
    padding:30px 30px 28px;
    transition:.3s ease;
}

.approach-card:hover{
    transform:translateY(-4px);
}

.approach-card-image{
    width:132px;
    height:132px;
    border-radius:28px;
    overflow:hidden;
    margin-bottom:28px;
}

.approach-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.approach-card h3{
    margin:0 0 16px;
    font-size:21px;
    font-weight:600;
    color:var(--heading-color);
}

.approach-card-divider{
    width:100%;
    height:1px;
    background:var(--border-light);
    margin-bottom:16px;
}

.approach-card p{
    margin:0;
    color:var(--contact-text-soft);
    font-size:16px;
}

.approach-bottom{
    text-align:center;
}

.approach-bottom-text{
    margin:0 0 12px;
    color:var(--heading-color);
    font-size:16px;
}

.approach-bottom-meta{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.approach-users{
    color:var(--heading-color);
    font-size:15px;
}

.approach-users strong{
    font-weight:700;
    color:var(--heading-color);
}

.approach-bottom-sep{
    width:1px;
    height:24px;
    background:var(--border-light-3);
}

.approach-rating{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--heading-color);
    font-size:15px;
}

.approach-stars{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:var(--primary-blue);
    font-size:15px;
}

/* =========================
   OUR APPROACH RESPONSIVE
========================= */
@media(max-width:1199px){
    .approach-container{
        padding:75px 35px 70px;
    }

    .approach-heading{
        font-size:48px;
    }

    .approach-cards{
        max-width:100%;
    }
}

@media(max-width:991px){
    .approach-section{
        padding:0 10px 80px;
    }

    .approach-container{
        border-radius:24px;
        padding:60px 22px;
    }

    .approach-top{
        margin-bottom:40px;
        text-align:left;
    }

    .approach-heading{
        font-size:36px;
    }

    .approach-text{
        font-size:15px;
    }

    .approach-cards{
        grid-template-columns:1fr;
        gap:20px;
        max-width:560px;
        margin:0 auto 34px;
    }

    .approach-card{
        padding:24px 22px;
        border-radius:20px;
    }

    .approach-card-image{
        width:120px;
        height:120px;
        margin-bottom:22px;
    }

    .approach-card h3{
        font-size:20px;
    }

    .approach-card p{
        font-size:15px;
    }

    .approach-bottom-text{
        font-size:15px;
    }
}

@media(max-width:767px){
    .approach-container{
        padding:48px 16px;
    }

    .approach-badge{
        font-size:13px;
        padding:9px 14px;
    }

    .approach-heading{
        font-size:30px;
    }

    .approach-text{
        font-size:14px;
    }

    .approach-card{
        padding:20px 18px;
    }

    .approach-card-image{
        width:108px;
        height:108px;
        border-radius:22px;
    }

    .approach-card h3{
        font-size:19px;
    }

    .approach-card p{
        font-size:14px;
    }

    .approach-bottom-meta{
        gap:10px;
        flex-direction:column;
    }

    .approach-bottom-sep{
        display:none;
    }
}