@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

/* Global CSS */

*{
    font-family: "Outfit", sans-serif;
}

p{
    margin-bottom: 0rem;
}

.w-50{
    width: 50%;
}

.w-20{
    width: 20%;
}

.no-border{
    border: none;
}

.br-15{
    border-radius: 15px;
}

.btn-blue, .btn-blue:hover{
    background: #061E50;
    padding: 10px 20px;
    border-radius: 10px;
    color: #FFFFFF;
}

.btn-white, .btn-white:hover{
    background: #FFFFFF;
    padding: 10px 20px;
    border-radius: 10px;
    color: #000000;
}

.btn-outline-white, .btn-outline-white:hover{
    background: transparent;
    padding: 10px 20px;
    border-radius: 10px;
    color: #FFFFFF;
    border: 1px solid #FFFFFF;
}

.br-50{
    border-radius: 50%;
}

.w-35{
    width: 35%;
}

.ml-10{
    margin-left: 10px;
}

.a-links a{
    color: #212529;
    text-decoration: none;
}

.mrl-10{
    margin-left: 10px;
}

.branding-a{
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 700;
}

/* Topbar */

.topbar{
    background: #061E50;
    padding: 10px 0px;
}

.contact-details{
    color: #FFFFFF;
    font-size: 18px;
}

.contact-details a{
    color: #FFFFFF;
    text-decoration: none;
}

/* Navbar */
nav {
    box-shadow: 0 2px 4px 0 rgba(0,0,0,.2);
}

.logo{
    width: 70%;
}

/* Hero */
.hero {
    background:
        linear-gradient(
            rgba(6, 30, 80, 0.75),
            rgba(6, 30, 80, 0.75)
        ),
        url("../images/hero.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 90vh;

    /* Center content */
    display: flex;
    justify-content: center; /* Horizontal */
    align-items: center;     /* Vertical */
    text-align: center;      /* Center text */
}

.hero-title{
    font-size: 70px;
    font-weight: 700;
    color: #FFFFFF;
}

.hero-content{
    font-size: 18px;
    font-weight: 400;
    color: #FFFFFF;
}

/* Our Services */
.heading{
    font-size: 20px;
    font-weight: 500;
    color: #06447D;
    text-transform: uppercase;
}

.title{
    font-size: 50px;
    font-weight: 700;
}

.content{
    font-size: 18px;
    color: gray;
}

.services{
    background: #f9fafb;
    padding: 50px 0px;
}

.service-title{
    font-size: 25px;
    font-weight: 500;
}

/* Why Choose Us */
.why-section{
    padding:50px 0;
    position:relative;
    overflow:hidden;
}

.sub-heading{
    color:#0f56d9;
    font-size:20px;
    font-weight:600;
    letter-spacing:4px;
    text-transform:uppercase;
    margin-bottom:10px;
    text-align:center;
}

.main-heading{
    font-size:78px;
    font-weight:800;
    line-height:1;
    text-align:center;
    margin-bottom:20px;
    color:#07152f;
}

.description{
    text-align:center;
    font-size:24px;
    color:#6d7485;
    margin-bottom:90px;
    font-weight:400;
}

.timeline-wrapper{
    position:relative;
    max-width:1200px;
    margin:auto;
}

.timeline-line {
    position: absolute;
    left: 52px;
    top: 60px;
    width: 2px;
    height: 90%;
    background: #c7d3ef;
}

.timeline-item{
    display:flex;
    align-items:center;
    margin-bottom:45px;
    position:relative;
}

.icon-wrapper{
    width:110px;
    height:110px;
    min-width:110px;
    border-radius:50%;
    background:#fff;
    border:8px solid #eef3fc;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:2;
    box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.icon-wrapper::before{
    content:'';
    position:absolute;
    inset:-6px;
    border-radius:50%;
    border-top:5px solid #06447d;
    border-left:5px solid #06447d;
    border-right:5px solid transparent;
    border-bottom:5px solid transparent;
    transform:rotate(-25deg);
}

.icon-wrapper i{
    font-size:42px;
    color:#06447d;
}

.content-box{
    background:#fff;
    margin-left:40px;
    border-radius:18px;
    padding:35px 40px;
    flex:1;
    display:flex;
    align-items:center;
    gap:35px;
    box-shadow:0 10px 35px rgba(0,0,0,0.05);
}

.number{
    font-size:58px;
    font-weight:700;
    color: #06447d;
    min-width:90px;
    line-height:1;
}

.divider{
    width:1px;
    height:90px;
    background:#d8dfea;
}

.content-text h3{
    font-size:30px;
    font-weight:700;
    margin-bottom:12px;
    color:#07152f;
}

.content-text p{
    font-size:18px;
    line-height:1.8;
    color:#4e5668;
    margin:0;
    font-weight:400;
}

/* Responsive */


/* Our Process */
.our-process{
    padding: 50px 0px;
}

.img-wd-60{
    width: 60%;
}

/* Expertise Section */
.expertise{
    background: linear-gradient(90deg, #021946 0%, #0A2459 50%, #1C356A 100%);
    padding: 50px 0px;
}

.industry-title{
    font-size: 20px;
    font-weight: 500;
}

/* Our Team */
.team{
    padding: 50px 0px;
    background: #f9fafb;
}

.team-title{
    font-size: 23px;
    font-weight: 500;
}

.team-degree{
    font-size: 18px;
    font-weight: 400;
}

.team-content{
    font-size: 18px;
    color: gray;
}

.team-social i{
    font-size: 35px;
    color: #071F4F;
    border-radius: 50%;
}

/* Core Values */
.core-values{
    padding: 50px 0px;
}

/* CTA */
.cta{
    background: linear-gradient(90deg, #021946 0%, #0A2459 50%, #1C356A 100%);
    padding: 50px 0px;
}

.cta-title{
    font-size: 40px;
    font-weight: 500;
    color: #FFFFFF;
}

.cta-content{
    font-size: 18px;
    font-weight: 400;
    color: #FFFFFF;
}

/* Footer */
.footer{
    padding: 50px 0px;
    background: #FEFEFE;
}

.footer-section{
    padding-left: 40px;
}

.footer-title{
    font-size: 25px;
    font-weight: 600;
}

.footer-social i{
    font-size: 30px;
    margin-right: 20px;
}

/* Branding */
.branding{
    background: #071F4F;
    color: #FFFFFF;
    padding: 15px 0px;
}

#showmob{
    display: none;
}

/* About Us Page */
.about-us{
    padding: 50px 0px;
}

/* Contact Page */
.contact-form{
    padding: 50px 0px;
}

.map-container {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* Square ratio (1:1) */
    overflow: hidden;
    border-radius: 10px; /* optional */
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.card-height{
    height: 265px;
}

/* === Media Queries === */

@media screen and (max-width:1360px) {
    .industry-title {
        font-size: 18px;
        font-weight: 500;
    }
}

@media(max-width:1200px){
    .main-heading{
        font-size:64px;
    }
    .content-text h3{
        font-size:28px;
    }

    .content-text p{
        font-size:18px;
    }
}

@media(max-width:991px){
      .why-section{
        padding:70px 20px;
      }

      .main-heading{
        font-size:52px;
      }

      .description{
        font-size:20px;
        margin-bottom:60px;
      }

      .timeline-line{
        left:55px;
      }

      .icon-wrapper{
        width:90px;
        height:90px;
        min-width:90px;
      }

      .icon-wrapper i{
        font-size:34px;
      }

      .content-box{
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
        padding:28px;
      }

      .divider{
        display:none;
      }

      .number{
        font-size:46px;
      }

      .content-text h3{
        font-size:24px;
      }

      .content-text p{
        font-size:17px;
      }
    }

    @media(max-width:767px){

      .sub-heading{
        font-size:15px;
        letter-spacing:2px;
      }

      .main-heading{
        font-size:42px;
      }

      .description{
        font-size:16px;
        padding:0 10px;
      }

      .timeline-line{
        display:none;
      }

      .timeline-item{
        flex-direction:column;
        align-items:flex-start;
      }

      .content-box{
        margin-left:0;
        margin-top:25px;
        width:100%;
      }

      .icon-wrapper{
        margin-left:10px;
      }

      .content-text h3{
        font-size:22px;
      }

      .content-text p{
        font-size:15px;
        line-height:1.7;
      }
    }

@media screen and (max-width:600px) {
    .mrgn-top{
        margin-top: 20px;
    }

    .wdth-50{
        width: 50%;
    }

    .mrgn15-top{
        margin-top: 15px;
    }

    .footer-section{
        padding-left: 13px;
    }

    .footer-branding{
        text-align: center;
    }

    .contact-details{
        text-align: center;
    }

    .navbar-brand{
        width: 70%;
    }

    #showmob{
        display: block;
    }

    #hidemob{
        display: none;
    }

    .logo{
        width: 100%;
    }

    .title{
        font-size: 40px;
    }

    .hero-title{
        font-size: 30px;
    }

    .hero-content{
        font-size: 18px;
    }

    .mrl-10{
        margin-left: 0px;
    }

    .cta-title{
        font-size: 29px;
    }

    .ml-10{
        margin-left: 0px;
    }

    .card-height {
        height: 224px;
    }
}

@media screen and (max-width: 430px) {
    .hero{
        height: 55vh;
    }
}

@media screen and (max-width: 414px) {
    .hero{
        height: 60vh;
    }
}

@media screen and (max-width: 360px) {
    .hero{
        height: 70vh;
    }
}