/* =========================
   GLOBAL
========================= */

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Calibri', sans-serif;

}

section{
    scroll-margin-top:90px;
}

/* =========================
   FLOATING WHATSAPP
========================= */

.floating-whatsapp{

    position:fixed;

    right:20px;
    bottom:20px;

    display:flex;
    align-items:center;
    gap:10px;

    background:#25D366;

    color:#fff;

    padding:12px 18px;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;

    font-size:16px;

    z-index:9999;

    box-shadow:0 8px 25px rgba(37,211,102,.35);

    transition:.3s;
}

.floating-whatsapp i{
    font-size:28px;
}

.floating-whatsapp:hover{
    transform:translateY(-3px);
    color:#fff;
}

.floating-whatsapp::before{

    content:'';

    position:absolute;

    width:100%;
    height:100%;

    border-radius:50%;

    background:#25D366;

    animation:waPulse 2s infinite;

    z-index:-1;
}

@keyframes waPulse{

    0%{
        transform:scale(1);
        opacity:.7;
    }

    100%{
        transform:scale(1.8);
        opacity:0;
    }

}

/* MOBILE */

@media(max-width:768px){

    .floating-whatsapp{

        width:55px;
        height:55px;

        padding:0;

        border-radius:50%;

        justify-content:center;

        right:40px;
        bottom:70px;
    }

    .floating-whatsapp span{
        display:none;
    }

    .floating-whatsapp i{
        font-size:28px;
        margin:0;
    }

}
/* =========================
   NAVBAR FINAL
========================= */

.navbar{

    background:rgba(255,255,255,.75);
    opacity:.95;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    min-height:75px;

    font-family:Calibri,sans-serif;

    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.navbar-logo{

    height:80px;
    width:auto;

    object-fit:contain;
}

.navbar-brand{

    font-size:2.2rem;
    font-weight:900;

    color:#000 !important;
}

.navbar-brand span{

    color:#000;
}

.nav-link{

    color:#0c0c0c !important;

    font-size:1.2rem;
    font-weight:800;

    margin-left:15px;

    transition:.3s;
}

.nav-link:hover{

    color:#0d6efd !important;
}

/* TOGGLER */

.navbar-toggler{

    border:none;

    background:rgba(255,255,255,.5);

    padding:8px 10px;

    border-radius:10px;

    box-shadow:none;
}

.navbar-toggler:focus{

    box-shadow:none;
}

.navbar-toggler-icon{

    filter:brightness(0);
}

/* =========================
   TABLET
========================= */

@media(max-width:991px){

    .navbar-logo{
        height:80px;
    }

    .navbar-brand{
        font-size:2rem;
    }

    .navbar-collapse{

        background:#ffffff;

        border-radius:15px;

        margin-top:10px;

        padding:15px;

        box-shadow:0 10px 25px rgba(0,0,0,.08);
    }

    .nav-link{

        text-align:center;

        margin-left:0;

        padding:12px 0;
    }

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .navbar{

        min-height:65px;
    }

    .navbar-logo{

        height:80px;
    }

    .navbar-brand{

        font-size:3rem;
    }

    .nav-link{

        font-size:1rem;
    }

}

/* =========================
   HERO PREMIUM
========================= */

.hero{
    position:relative;
    height:100vh;
    background:url('../img/hero.jpg')
    center center/cover no-repeat;
}

.hero .overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.60);
}

.hero .container{
    position:relative;
    z-index:2;
    height:100%;
}

.hero-content{
    height:100%;
    font-size:.9rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.hero-badge{
    padding:10px 20px;
    border-radius:50px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    margin-bottom:25px;
    font-size:.9rem;
}

.hero h1{
    font-size:4rem;
    font-weight:800;
    max-width:1000px;
    line-height:1.1;
}

.hero h1 span{
    display:block;
    color:#4dabff;
}

.hero p{
    max-width:750px;
    margin-top:25px;
    font-size:1.2rem;
    opacity:.9;
}

.hero-buttons{
    margin-top:40px;
}

.hero-buttons .btn{
    margin:1.2px;
    font-size:1.2rem;
}

.scroll-indicator{
    position:absolute;
    bottom:40px;
}

.scroll-indicator span{
    display:block;
    width:2px;
    height:50px;
    background:white;
    animation:scrollDown 1.8s infinite;
}

@keyframes scrollDown{

    0%{
        transform:translateY(0);
        opacity:1;
    }

    100%{
        transform:translateY(40px);
        opacity:0;
    }

}

@media(max-width:991px){

    .hero-content{
        transform:translateY(-50px) !important;
    }
    .hero h1{
    font-size:3.5rem;
    font-weight:800;
    max-width:1000px;
    line-height:1.1;
}

}

/* =========================
   ABOUT US FINAL
========================= */

#about{
    padding:80px 0;
    background:#f8fafc;
}

.about-card{

    background:#fff;

    border-radius:0 0 35px 35px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    animation:aboutPopup .8s ease forwards;
}

@keyframes aboutPopup{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.about-img{

    width:100%;

    height:550px;

    object-fit:cover;

    display:block;

    transition:.5s ease;
}

.about-img:hover{
    transform:scale(1.03);
}

.about-content{
    padding:40px;
}

#about h2{
    font-size:1.8rem;
    font-weight:700;
    color:#22007A;
    margin-bottom:20px;
}

#about p{
    font-size:1.1rem;
    line-height:1.9;
    color:#475569;
}

.about-divider{

    height:1px;

    background:#e5e7eb;

    margin:30px 0;
}

.about-stats h3{

    color:#22007A;

    font-size:2rem;

    font-weight:800;

    margin-bottom:5px;
}

.about-stats small{

    color:#64748b;

    font-size:.9rem;
}

/* =========================
   DESKTOP IMPROVEMENT
========================= */

@media(min-width:992px){

    .about-card{

        max-width:1200px;

        margin:auto;

        padding:25px;
    }

    .about-img{

        height:500px;

        border-radius:20px;
    }

    .about-content{

        padding:20px 20px 20px 50px;
    }

    .about-divider{
        margin:35px 0;
    }

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    #about{
        padding:40px 0;
    }

    .about-card{

        border-radius:0 0 25px 25px;

        padding:0;
    }

    .about-img{

        width:100%;

        height:260px;

        border-radius:0;

        object-fit:cover;
    }

    .about-content{
        padding:25px;
    }

    #about h2{
        font-size:1.5rem;
    }

    #about p{
        font-size:1rem;
        line-height:1.8;
    }

    .about-stats h3{
        font-size:1.5rem;
    }

}

/* =========================
   MANAGEMENT GREETING FINAL
========================= */

#greeting{
    background:#f8fafc;
    padding:80px 0;
}

.greeting-wrapper{

    background:#ffffff;

    border-radius:0 0 35px 35px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    padding:50px;

    animation:greetingPopup .8s ease forwards;
}

/* POPUP */

@keyframes greetingPopup{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.journey-tag3{

    font-size:1.8rem;

    font-weight:700;

    color:#22007A;

    margin-bottom:15px;
}

/* FOTO PNG TANPA BACKGROUND */

.director-img{

    width:100%;

    max-width:480px;

    display:block;

    margin:auto;

    background:none !important;

    border:none !important;

    box-shadow:none !important;

    transition:.4s ease;
}

.director-img:hover{

    transform:translateY(-8px);
}

#greeting p{

    font-size:1.05rem;

    line-height:1.9;

    color:#475569;
}

/* SIGNATURE */

.director-signature{

    margin-top:30px;

    padding-top:20px;

    border-top:1px solid #e5e7eb;
}

.director-signature h5{

    font-size:1.2rem;

    font-weight:700;

}

.director-signature span{

    color:#64748b;
}

/* LINKEDIN */

.linkedin-icon{

    width:30px;

    height:auto;

    margin-left:8px;

    transition:.3s;
}

.linkedin-icon:hover{

    transform:scale(1.1);
}

/* ISO */

.company-certification{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-top:25px;

    align-items:center;
}

.company-certification img{

    width:55px;

    height:auto;

    transition:.3s;
}

.company-certification img:hover{

    transform:translateY(-5px);
}

/* DESKTOP */

@media(min-width:992px){

    .greeting-wrapper{

        max-width:1200px;

        margin:auto;
    }

}

/* MOBILE */

@media(max-width:768px){

    #greeting{
        padding:40px 0;
    }

    .greeting-wrapper{

        padding:25px;

        border-radius:0 0 25px 25px;
    }

    .director-img{

        max-width:320px;

        margin-bottom:20px;
    }

    .journey-tag3{

        text-align:center;

        font-size:1.5rem;
    }

    .director-signature{

        text-align:center;
    }

    .company-certification{

        justify-content:center;
    }

}


/* =========================
   PROJECT COVERAGE FINAL
========================= */

#project-map{

    background:#f8fafc;

    padding:80px 0;
}

/* CONTAINER */

.project-map-container{

    background:#ffffff;

    border-radius:0 0 35px 35px;

    overflow:hidden;

    padding:40px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    animation:projectMapPopup .8s ease forwards;
}

/* TITLE */

.project-map-container .journey-tag{

    margin-bottom:30px;
}

/* DESKTOP */

.project-map-desktop{
    display:block;
}

.project-map-mobile{
    display:none;
}

.project-map-wrapper{
    text-align:center;
}

.project-map-img{

    width:75%;

    max-width:1400px;

    height:auto;

    display:block;

    margin:auto;
}

/* POPUP */

@keyframes projectMapPopup{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* TABLET */

@media(max-width:992px){

    .project-map-img{
        width:100%;
    }

}

/* MOBILE */

@media(max-width:768px){

    #project-map{
        padding:40px 0;
    }

    .project-map-container{

        padding:20px;

        border-radius:0 0 25px 25px;
    }

    /* sembunyikan desktop */

    .project-map-desktop{
        display:none !important;
    }

    /* tampilkan mobile */

    .project-map-mobile{
        display:block !important;
    }

    .project-map-slider{

        width:100%;

        overflow:hidden;
    }

    .project-map-track{

        display:flex;

        gap:0;

        width:max-content;

        animation:projectCoverageMove 18s linear infinite;
    }

    .project-map-slide{

        width:100vw;

        flex-shrink:0;
    }

    .project-map-slide img{

        width:100%;

        height:auto;

        display:block;
    }

}

/* SLIDER */

@keyframes projectCoverageMove{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

/* =========================
   DESKTOP DEFAULT
========================= */

.project-map-desktop{
    display:block;
}

.project-map-mobile{
    display:none;
}

.project-map-wrapper{
    text-align:center;
}

.project-map-img{

    width:75%;
    max-width:1400px;
    height:auto;

    display:block;
    margin:auto;

    border:none;
    box-shadow:none;

    opacity:0;

    transform:translateY(50px) scale(.95);

    animation:projectPopup 1s ease forwards;
}

@keyframes projectPopup{

    0%{
        opacity:0;
        transform:translateY(50px) scale(.95);
    }

    100%{
        opacity:1;
        transform:translateY(0) scale(1);
    }

}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

    .project-map-img{
        width:100%;
    }

}

/* =========================
   MOBILE
========================= */

@media screen and (max-width:768px){

    /* HILANGKAN DESKTOP */

    .project-map-desktop{
        display:none !important;
    }

    .project-map-wrapper{
        display:none !important;
    }

    .project-map-img{
        display:none !important;
    }

    /* TAMPILKAN MOBILE */

    .project-map-mobile{
        display:block !important;

        overflow:hidden;

        margin-top:20px;
    }

    .project-map-slider{
        width:100%;
        overflow:hidden;
    }

    .project-map-track{

        display:flex;

        gap:0;

        width:max-content;

        animation:projectCoverageMove 18s linear infinite;
    }

    .project-map-slide{

        width:100vw;

        flex-shrink:0;

        overflow:hidden;
    }

    .project-map-slide img{

        width:100%;

        height:auto;

        display:block;
    }

}

/* =========================
   DESKTOP PAKSA
========================= */

@media screen and (min-width:769px){

    .project-map-desktop{
        display:block !important;
    }

    .project-map-mobile{
        display:none !important;
    }

}

/* =========================
   SLIDE ANIMATION
========================= */

@keyframes projectCoverageMove{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}
/* =========================
   PROJECTS
========================= */

#projects .card{
    transition:.3s;
}

#projects .card:hover{
    transform:translateY(-8px);
}

/* =========================
   FOOTER
========================= */

#footer{
    background:#0f172a;
    color:#fff;
    padding:70px 0 25px;
}

#footer h4,
#footer h5{
    font-weight:700;
    margin-bottom:20px;
}

#footer p{
    color:rgba(255,255,255,.75);
    line-height:1.8;
    margin-bottom:12px;
}

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:10px;
    color:rgba(255,255,255,.75);
}

.footer-links a{
    color:rgba(255,255,255,.75);
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#60a5fa;
}

#footer hr{
    border-color:rgba(255,255,255,.1);
    margin:40px 0 25px;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
}

.footer-bottom p{
    margin:0;
}

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;
    background:rgba(255,255,255,.08);

    color:#fff;
    text-decoration:none;

    transition:.3s;
}

.footer-social a:hover{
    background:#0d6efd;
    transform:translateY(-3px);
}

@media(max-width:768px){

    #footer{
        text-align:center;
    }

    .footer-bottom{
        flex-direction:column;
    }

    .footer-social{
        justify-content:center;
    }

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .hero h1{
        font-size:2rem;
    }

    .hero p{
        font-size:1rem;
    }

    .navbar-brand span{
        font-size:1.2rem;
        font-weight:700;
    }

}

.director-img{
    width:100%;
    max-width:420px;
    border-radius:15px;
    object-fit:cover;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
    transition:.3s;
}

.director-img:hover{
    transform:translateY(-5px);
}
/* =========================
PMG JOURNEY FINAL
========================= */

#journey{
background:#f8fafc;
overflow:hidden;
}

.journey-roadmap{
position:relative;
height:720px;
margin-top:50px;
}

/* ROAD */

.road-top{
position:absolute;
top:120px;
left:15%;
width:60%;
height:5px;
background:#0d6efd;
}

.road-curve{
position:absolute;
top:120px;
right:12%;
width:220px;
height:356px;
border:5px solid #0d6efd;
border-left:none;
border-radius:0 120px 120px 0;
}

.road-bottom{
position:absolute;
top:471px;
left:40%;
width:35%;
height:5px;
background:#0d6efd;
}

/* MILESTONE */
/* =========================
   JOURNEY TITLE
========================= */

.journey-tag{
    font-family:Calibri, sans-serif;
    font-size:1.6rem;
    font-weight:700;
    letter-spacing:2px;
    text-transform:none;
    color:#22007A;
    margin-bottom:10px;
}

.journey-title{
    font-family:Calibri, sans-serif;
    font-size:3rem;
    font-weight : 600;
    color:#0f172a;
    line-height:1.2;
    margin-bottom:20px;
}

.milestone{
position:absolute;
width:230px;
text-align:center;
}

.milestone img{
width:140px;
height:95px;
object-fit:cover;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,.12);
transition:.3s;
}

.milestone img:hover{
transform:scale(1.05);
}

.dot{
width:24px;
height:24px;
background:#facc15;
border:4px solid #0d6efd;
border-radius:50%;
margin:15px auto;
position:relative;
z-index:5;
}

.year{
display:block;
color:#0d6efd;
font-weight:700;
margin-bottom:10px;
}

.milestone h6{
font-weight:700;
margin-bottom:8px;
}

.milestone p{
font-size:.85rem;
line-height:1.2;
margin-bottom:5px;
color:#334155;
}

.milestone small{
color:#64748b;
}

/* POSITION */

.m1{
top: 95px;
left:5%;
}

.m2{
top:0;
left:30%;
}

.m3{
top:0;
left:58%;
}

.m4{
top:350px;
left:30%;
}

.m5{
top:350px;
left:58%;
}

.m6{
    top:280px;
    left:74.3%;
    width:300px;
}

.m6 img{
    position:absolute;
    left:180px;
    top:-80px;
}

.m6 .year,
.m6 h6,
.m6 p,
.m6 small{
    position:relative;
    left:100px;
    top:-17px;
}

/* MOBILE JOURNEY */

.journey-mobile{
    display:none;
}

@media(max-width:768px){

    .journey-roadmap{
        display:none;
    }

    .journey-mobile{
        display:block;
        overflow:hidden;
        position:relative;
        padding:40px 0;
    }

    /* garis lurus */

    .journey-mobile::before{
        content:"";
        position:absolute;

        top:50%;

        left:0;
        right:0;

        height:4px;

        background:#0d6efd;

        z-index:1;
    }

    .journey-track{

        display:flex;
        gap:25px;

        width:max-content;

        animation:journeyMove 20s linear infinite;

        position:relative;
        z-index:2;
    }

    .journey-mobile:hover .journey-track{
        animation-play-state:paused;
    }

    .journey-card{

        width:280px;

        background:#fff;

        border-radius:20px;

        overflow:hidden;

        box-shadow:0 10px 30px rgba(0,0,0,.08);

        flex-shrink:0;

        text-align:center;
    }

    .journey-card img{
        width:100%;
        height:180px;
        object-fit:cover;
    }

    .journey-card span{
        display:block;
        color:#0d6efd;
        font-weight:700;
        margin-top:15px;
    }

    .journey-card h6{
        color:#22007A;
        font-weight:700;
        margin-top:10px;
    }

    .journey-card p,
    .journey-card small{
        color:#64748b;
    }

    @keyframes journeyMove{

        from{
            transform:translateX(0);
        }

        to{
            transform:translateX(-50%);
        }

    }

}
/* DESKTOP */
.journey-mobile{
    display:none;
}

/* MOBILE */
@media(max-width:768px){

    .journey-roadmap{
        display:none !important;
    }

    .journey-mobile{
        display:block !important;
    }

}

/* =========================
   PMG CORPORATE BANNER
========================= */

#pmg-banner{
    width:100%;
    overflow:hidden;
    background:#ffffff;
    padding:0;
}

/* =========================
   DESKTOP
========================= */

.pmg-banner-desktop{
    display:block;
}

.pmg-banner-mobile{
    display:none;
}

.pmg-banner-img{
    width:100%;
    height:auto;
    display:block;

    animation:pmgBannerReveal 1.5s ease forwards;
    transition:transform 8s ease;
}

.pmg-banner-desktop:hover .pmg-banner-img{
    transform:scale(1.03);
}

/* =========================
   MOBILE IMAGE
========================= */

.pmg-banner-img-mobile{
    width:100%;
    height:auto;
    display:block;

    animation:pmgBannerReveal 1.5s ease forwards;
}

/* =========================
   ANIMATION
========================= */

@keyframes pmgBannerReveal{

    0%{
        opacity:0;
        transform:scale(1.08);
    }

    100%{
        opacity:1;
        transform:scale(1);
    }

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .pmg-banner-desktop{
        display:none !important;
    }

    .pmg-banner-mobile{
        display:block !important;
    }

    #pmg-banner{
        padding:0;
    }

}
/* =========================
   VISION & MISSION PREMIUM
========================= */

#vision-mission{
    background:#f8fafc;
    padding:80px 0;
    font-family:Calibri,sans-serif;
}

.journey-tag2{

    max-width:800px;

    margin:0 auto 40px;

    text-align:center;

    font-size:1.15rem;

    line-height:1.8;

    color:#64748b;
}

/* CARD */

.vision-card,
.mission-card{

    background:#fff;

    padding:40px;

    border-radius:25px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.4s ease;

    height:100%;

    position:relative;

    overflow:hidden;
}

/* TOP BORDER */

.vision-card{
    border-top:5px solid #0d6efd;
}

.mission-card{
    border-top:5px solid #22007A;
}

.vision-card:hover,
.mission-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 50px rgba(0,0,0,.12);
}

/* ICON */

.vision-icon,
.mission-icon{

    width:70px;
    height:70px;

    border-radius:50%;

    background:#0d6efd;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:26px;

    margin-bottom:20px;
}

.mission-icon{
    background:#22007A;
}

/* TITLE */

.vision-card h3,
.mission-card h3{

    font-size:1.6rem;

    font-weight:700;

    color:#22007A;

    margin-bottom:15px;
}

/* TEXT */

.vision-card p,
.mission-card p{

    font-size:1.05rem;

    line-height:1.9;

    color:#475569;

    margin:0;
}

/* MOBILE */

@media(max-width:768px){

    #vision-mission{
        padding:40px 0;
    }

    .journey-tag2{

        font-size:1rem;

        margin-bottom:25px;
    }

    .vision-card,
    .mission-card{

        padding:25px;

        border-radius:20px;
    }

    .vision-icon,
    .mission-icon{

        width:60px;
        height:60px;

        font-size:22px;

        margin-bottom:15px;
    }

    .vision-card h3,
    .mission-card h3{

        font-size:1.3rem;
    }

    .vision-card p,
    .mission-card p{

        font-size:.95rem;

        line-height:1.8;
    }

}

/* =========================
   COMPANY CERTIFICATION
========================= */

.company-certification{
    display:flex;
    align-items:center;
    gap:12px;

    margin-top:15px;
    padding-top:5px;

    flex-wrap:wrap;
}

.company-certification img{
    width:50px;
    height:auto;

    opacity:.95;

    transition:.3s ease;

    animation:isoPopup .8s ease forwards;
}

.company-certification img:nth-child(1){
    animation-delay:.1s;
}

.company-certification img:nth-child(2){
    animation-delay:.2s;
}

.company-certification img:nth-child(3){
    animation-delay:.3s;
}

.company-certification img:nth-child(4){
    animation-delay:.4s;
}

.company-certification img:hover{
    transform:translateY(-5px) scale(1.08);
}

@keyframes isoPopup{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:.95;
        transform:translateY(0);
    }

}
/* =========================
   SERVICES
========================= */

#services{
    background:#f8fafc;
}

/* CARD */

.service-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.4s;

    height:100%;
}

.service-card:hover{

    transform:translateY(-8px);
}

/* IMAGE */

.service-card img{

    width:100%;

    height:280px;

    object-fit:cover;

    display:block;
}

/* CONTENT */

.service-content{

    padding:20px;

    text-align:center;
}

/* TITLE */

.service-title{

    margin-bottom:15px;
}

.service-title h5{

    font-size:1.15rem;

    font-weight:700;

    color:#22007A;

    line-height:1.4;

    margin-bottom:2px;
}

/* DESCRIPTION */

.service-content p{

    color:#64748b;

    line-height:1.8;

    margin:0;
}

/* MOBILE */

@media(max-width:768px){

    .service-card img{

        height:220px;
    }

    .service-content{

        padding:20px;
    }

    .service-title h5{

        font-size:1.05rem;
    }

    .service-content p{

        font-size:.95rem;
    }

}
/* =========================
   CONTACT
========================= */

#contact{
    background:#ffffff;
    padding:100px 0;
    position:relative;
}

.contact-card{
    padding:20px 0;
}

.contact-card h3{
    color:#22007A;
    font-size:1.8rem;
    font-weight:700;
    margin-bottom:20px;
}

.contact-card p{
    color:#334155;
    line-height:1.8;
    font-size:1rem;
    margin-bottom:18px;
}

.contact-card strong{
    color:#0f172a;
}

.qr-wrapper{
    position:relative;
}

.qr-wrapper img{
    width:100%;
    max-width:280px;
    border:8px solid #fff;
    border-radius:15px;
    box-shadow:0 15px 40px rgba(0,0,0,.10);
}

@media(max-width:992px){

    #contact{
        padding:70px 0;
    }

    .contact-card{
        text-align:center;
        margin-bottom:40px;
    }

}

/* =========================
   OUR PARTNER
========================= */

#partner{
    background:#f8fafc;
    padding:90px 0;
}

.partner-desc{
    max-width:900px;
    margin:20px auto 50px;
    line-height:1.9;
    color:#475569;
    font-size:1.05rem;
}

.partner-card{
    background:#fff;

    border-radius:20px;

    padding:30px;

    height:100%;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;
}

.partner-card:hover{
    transform:translateY(-8px);
}

.partner-card h4{
    text-align:center;

    color:#22007A;

    font-weight:700;

    margin-bottom:25px;
}

.partner-logo-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:25px;
}

.partner-logo-grid img{
    max-width:180px;
    max-height:70px;
    width:auto;
    height:auto;
    object-fit:contain;
}
/* =========================
   PROJECT LOGO SLIDER
========================= */

.project-slider{
    overflow:hidden;
    width:100%;
    padding:20px 0;
}

.project-track{
    display:flex;
    align-items:center;
    gap:40px;

    width:max-content;

    animation:logoSlide 25s linear infinite;
}

.project-slider:hover .project-track{
    animation-play-state:paused;
}

.project-slide{

    width:240px;
    height:120px;

    background:#fff;

    border-radius:15px;

    display:flex;
    justify-content:center;
    align-items:center;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

    transition:.3s ease;

    flex-shrink:0;
}

.project-slide:hover{
    transform:translateY(-5px);
}

.project-slide img{

    max-width:180px;
    max-height:70px;

    width:auto;
    height:auto;

    object-fit:contain;
}

@keyframes logoSlide{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

/* MOBILE */

@media(max-width:768px){

    .project-slide{

        width:180px;
        height:90px;
    }

    .project-slide img{

        max-width:130px;
        max-height:50px;
    }

}

/* =========================
   DIRECTOR LINKEDIN
========================= */

.director-name-wrap{
    display:flex;
    align-items:center;
    gap:10px;
}

.director-linkedin{
    color:#0077B5;
    font-size:28px;
    text-decoration:none;
    transition:.3s;
}

.director-linkedin:hover{
    color:#005582;
    transform:scale(1.1);
}

/* TABLET */
@media(max-width:992px){

    .director-name-wrap{
        justify-content:flex-start;
    }

}

/* MOBILE */
@media(max-width:768px){

    .director-name-wrap{
        justify-content:center;
    }

    .director-linkedin{
        font-size:24px;
    }

}
/* =========================
   SECTION SPACING
========================= */

#journey{
    padding-bottom:10px !important;
}

#services{
    padding-top:10px !important;
}

@media(max-width:768px){

    #about,
    #vision-mission,
    #greeting,
    #partner,
    #contact{
        padding-top:20px !important;
        padding-bottom:20px !important;
    }

}