/* ===========================================
   MATRIX ROUTE CONSULTING
   STYLE.CSS
   Sprint 1
=========================================== */

/* ---------- Google Font ---------- */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;
    background:#ffffff;
    color:#1d2939;
    line-height:1.7;
    overflow-x:hidden;

}

/* ---------- Variables ---------- */

:root{

    --primary:#0B1F3A;
    --secondary:#00C2FF;
    --light:#F7F9FC;
    --dark:#071321;
    --white:#ffffff;
    --text:#344054;
    --shadow:0 12px 40px rgba(0,0,0,.08);

}

/* ---------- Links ---------- */

a{

    text-decoration:none;

}

/* ---------- Navbar ---------- */

.navbar{
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.navbar-brand{

    font-size:28px;

    font-weight:700;

    color:var(--primary)!important;

    letter-spacing:.5px;

}

.navbar-brand span{

    color:var(--secondary);

    font-weight:600;

}
.navbar-nav .nav-link{
    position:relative;
    font-weight:600;
    transition:.3s;
}
.navbar .nav-link.active{
    color:#19b5fe;
}
.navbar-nav .nav-link.active::after{
    width:70%;
}

.navbar .nav-link.active::after{
    content:"";
    display:block;
    width:100%;
    height:3px;
    background:#19b5fe;
    margin-top:6px;
    border-radius:10px;
}

.nav-link{

    color:var(--primary)!important;

    font-weight:500;

    margin-left:20px;

    transition:.3s;

}

.navbar-nav .nav-link:hover::after{
    width:70%;
}
.highlight-section{
    animation:highlight 1.2s ease;
}


@keyframes highlight{
    0%{
        box-shadow:0 0 0 rgba(25,181,254,0);
    }

    50%{
        box-shadow:0 0 40px rgba(25,181,254,.35);
    }

    100%{
        box-shadow:0 0 0 rgba(25,181,254,0);
    }
}

/* ---------- Buttons ---------- */

.btn{

    border-radius:8px;

    padding:12px 28px;

    font-weight:600;

    transition:.35s;

}

.btn-primary{

    background:var(--secondary);

    border:none;

    color:white;

}

.btn-primary:hover{

    background:#00a9df;

    transform:translateY(-3px);

    box-shadow:0 15px 30px rgba(0,194,255,.30);

}

.btn-outline-primary{

    border:2px solid var(--secondary);

    color:var(--secondary);

}

.btn-outline-primary:hover{

    background:var(--secondary);

    border-color:var(--secondary);

}

/* ---------- Hero ---------- */
.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:
        linear-gradient(
            rgba(8,23,46,.78),
            rgba(8,23,46,.78)
        ),
        url("../images/hero.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

@keyframes float{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-12px);

}

100%{

transform:translateY(0px);

}
}

/* Decorative Glow */

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(8,23,46,.20);

}
.hero .container{

    position:relative;

    z-index:2;

}

.hero h1{

    color:white;

    font-size:60px;

    font-weight:800;

    line-height:1.15;

    margin-bottom:25px;

}

.hero p{

    color:#d9e6f3;

    font-size:19px;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.hero-image{

    max-width:115%;

    border-radius:20px;

    box-shadow:0 25px 60px rgba(0,0,0,.35);

    animation:float 4s ease-in-out infinite;

}

/* ---------- Floating Animation ---------- */

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0px);

    }

}

/* ---------- Section ---------- */

section{

    padding:100px 0;

}

/* ---------- Titles ---------- */

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.section-title h2{

    font-size:42px;

    color:var(--primary);

    font-weight:700;

}

.section-title p{

    color:#667085;

    margin-top:15px;

}

/* ---------- Cards ---------- */

.card{

    border:none;

    border-radius:20px;

    transition:.35s;

    box-shadow:var(--shadow);

}

.card:hover{

    transform:translateY(-12px);

    box-shadow:0 20px 50px rgba(0,0,0,.15);

}

/* ---------- Footer Placeholder ---------- */

footer{

    background:var(--dark);

    color:white;

    padding:60px 0;

}

/* ---------- Utilities ---------- */

.text-primary{

    color:var(--secondary)!important;

}
/*======================================
        Statistics Section
======================================*/

.stats-section{
    background:#ffffff;
    padding:80px 0;
}

.stats-section h2{

    color:#19B5FE;
    font-size:48px;
    font-weight:700;
    margin-bottom:10px;
}

.stats-section p{

    color:#555;
    font-size:18px;
    margin:0;
}
/*=========================================
            OUR EXPERTISE
==========================================*/

.expertise-section{

    background:#f7f9fc;
    padding:90px 0;

}

.section-title{

    margin-bottom:60px;

}

.section-title h2{

    font-size:46px;
    font-weight:700;
    color:#0F2744;

}

.section-title p{

    max-width:700px;
    margin:auto;
    margin-top:15px;
    color:#666;
    font-size:18px;

}

.expert-card{

    background:#ffffff;

    padding:40px 30px;

    border-radius:16px;

    height:100%;

    transition:.35s;

    border:1px solid #e7eef5;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.expert-card:hover{

    transform:translateY(-10px);

    border-color:#19B5FE;

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.icon{

    font-size:42px;

    margin-bottom:20px;

}

.expert-card h4{

    color:#0F2744;

    font-weight:700;

    margin-bottom:15px;

}

.expert-card p{

    color:#666;

    line-height:1.8;

}
/* ===========================
   WHY CHOOSE US
=========================== */

.why-us{
    padding:100px 0;
    background:#f8fbff;
}

.why-card{

    background:#fff;

    padding:35px;

    border-radius:18px;

    height:100%;

    transition:.3s;

    border:1px solid #edf1f7;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.why-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.why-icon{

    font-size:42px;

    margin-bottom:20px;

}

.why-card h4{

    font-weight:700;

    margin-bottom:15px;

    color:#0b2341;

}

.why-card p{

    color:#666;

    line-height:1.8;

}
/*=========================
Industries
=========================*/

.industries{

    padding:100px 0;

    background:#0f2342;

}

.industries .section-title h2{

    color:#fff;

}

.industries .section-title p{

    color:#d9e5f3;

    max-width:700px;

    margin:auto;

}

.industry-card{

    background:#173152;

    border-radius:18px;

    padding:35px 20px;

    text-align:center;

    transition:.3s;

    height:100%;

}

.industry-card:hover{

    transform:translateY(-8px);

    background:#1f3f68;

}

.industry-card img{

    width:60px;

    margin-bottom:20px;

}

.industry-card h5{

    color:#fff;

    font-weight:600;

    margin:0;

}
/*=============================
CONSULTING PROCESS
==============================*/

.process-section{

    padding:100px 0;

    background:#ffffff;

}

.process-card{
    transition:.35s;
}

.process-card:hover{
    transform:translateY(-8px);
}

.process-number{

    width:80px;

    height:80px;

    margin:auto;

    margin-bottom:25px;

    background:#19b5fe;

    color:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:28px;

    font-weight:700;

}

.process-card h5{
    margin-top: 22px;
    margin-bottom: 15px;
    text-align: center;
    width: 100%;
    font-weight: 700;
}

.process-card p{
    text-align: center;
    max-width: 220px;
    margin: 0 auto;
    color: #5b6473;
    line-height: 1.8;
}
/*==================================
ENGAGEMENT MODELS
==================================*/

.engagement-section{

    padding:100px 0;

    background:#f8fbff;

}

.engagement-card{
    background:#fff;
    padding:40px 30px;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    text-align:center;
    transition:.35s;
    height:100%;
}

.engagement-card:hover{
    transform:translateY(-8px);
}

.engagement-icon{

    font-size:42px;

    margin-bottom:20px;

}
.engagement-card img,
.engagement-card i{
    font-size:52px;
    margin-bottom:25px;
    color:#19b5fe;
}

.engagement-card h4{
    margin-bottom:18px;
    font-weight:700;
}

.engagement-card p{
    color:#5b6473;
    line-height:1.8;
}
/* ============================= */
/* TRUST SECTION */
/* ============================= */

.trust-section{

    padding:100px 0;

    background:#ffffff;

}

.trust-card{

    background:#f8fbff;

    border-radius:18px;

    padding:35px;

    height:100%;

    text-align:center;

    transition:.3s;

    box-shadow:0 8px 25px rgba(0,0,0,.06);

}

.trust-card:hover{

    transform:translateY(-8px);

}

.trust-card h4{

    font-weight:700;

    color:#0d2a52;

    margin-bottom:15px;

}

.trust-card p{

    color:#555;

}
/* ============================= */
/* CTA */
/* ============================= */

.cta-section{

    background:#0d2a52;

    color:white;

    padding:110px 0;

}

.cta-section h2{

    font-size:48px;

    font-weight:800;

    margin-bottom:20px;

}

.cta-section p{

    max-width:750px;

    margin:auto;

    margin-bottom:35px;

    font-size:20px;

    color:#d9e4ef;

}

.cta-section .btn{

    padding:18px 45px;

    font-size:20px;

    border-radius:50px;

}
/* ============================= */
/* FOOTER */
/* ============================= */

.footer{

    background:#07182f;

    color:white;

    padding:70px 0 25px;

}

.footer h3,
.footer h5{

    margin-bottom:20px;

}

.footer p{

    color:#b8c7d8;

}

.footer ul{

    list-style:none;

    padding:0;

}

.footer li{

    margin-bottom:12px;

}

.footer a{

    color:#b8c7d8;

    text-decoration:none;

}

.footer a:hover{

    color:#22b8ff;

}

.footer hr{

    margin:40px 0 20px;

    border-color:#244266;

}

.copyright{

    text-align:center;

    margin:0;

} 
.navbar-brand{
    display:flex;
    align-items:center;
}

.logo{
    height:150px;
    width:auto;
    transition:0.3s ease;
}

.logo:hover{
    transform:scale(1.05);
}
/* ==========================================
   SERVICES PAGE HERO
========================================== */

.service-hero{

    position:relative;

    min-height:90vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background-image:
        linear-gradient(
            rgba(8,23,46,.82),
            rgba(8,23,46,.82)
        ),
        url("../images/services-hero.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.service-hero::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    background:rgba(0,194,255,.08);

    border-radius:50%;

    right:-220px;

    top:-220px;

    filter:blur(50px);

}

.service-hero h1{

    color:white;

    font-size:58px;

    font-weight:800;

    margin-bottom:25px;

}

.service-hero p{

    color:#d6e5f5;

    font-size:20px;

    line-height:1.8;

    margin-bottom:35px;

}

.service-hero .btn{

    padding:15px 34px;

    border-radius:10px;

    font-weight:600;

}
.hero-content{

    max-width:650px;

    position:relative;

    z-index:2;

}
/*==========================================
    OUR SERVICES
==========================================*/

.services-section{

    padding:110px 0;

    background:#f8fbff;

}

.section-title{

    font-size:48px;

    font-weight:800;

    color:#0b2342;

}

.section-subtitle{

    max-width:720px;

    margin:auto;

    margin-top:20px;

    color:#6b7280;

    font-size:19px;

    line-height:1.8;

}

.service-card{

    background:white;

    border-radius:18px;

    padding:40px 30px;

    height:100%;

    transition:.35s;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,194,255,.18);

}

.service-icon{

    font-size:42px;

    margin-bottom:20px;

}

.service-card h4{

    font-size:24px;

    font-weight:700;

    color:#0b2342;

    margin-bottom:15px;

}

.service-card p{

    color:#666;

    line-height:1.8;

}
/*==========================================
WHY CHOOSE US
==========================================*/

.why-us{

    padding:110px 0;

    background:white;

}

.why-card{

    background:#f8fbff;

    padding:40px;

    border-radius:18px;

    height:100%;

    text-align:center;

    transition:.35s;

    box-shadow:0 12px 35px rgba(0,0,0,.05);

}

.why-card:hover{

    transform:translateY(-10px);

    background:#0b2342;

    color:white;

}

.why-card:hover h4{

    color:white;

}

.why-card:hover p{

    color:#d8e6f2;

}

.why-icon{

    font-size:50px;

    margin-bottom:25px;

}

.why-card h4{

    font-weight:700;

    margin-bottom:18px;

    color:#0b2342;

}

.why-card p{

    color:#666;

    line-height:1.8;

}

/*=================================
        CTA SECTION
=================================*/

.cta-section{

    padding:120px 0;

    background:#08172e;

}

.cta-box{

    background:linear-gradient(135deg,#0d2445,#13386b);

    border-radius:25px;

    padding:80px 60px;

    box-shadow:0 20px 60px rgba(0,0,0,.35);

}

.cta-box h2{

    color:#fff;

    font-size:52px;

    font-weight:800;

    margin-bottom:25px;

}

.cta-box p{

    color:#dbe7f5;

    font-size:20px;

    max-width:850px;

    margin:auto;

    line-height:1.8;

}
/*=================================
            FOOTER
=================================*/

.footer{

    background:#06111f;

    color:#b8c8da;

    padding:80px 0 30px;

}

.footer-logo{

    width:260px;

}

.footer h5{

    color:white;

    margin-bottom:25px;

    font-weight:700;

}

.footer ul{

    list-style:none;

    padding:0;

}

.footer li{

    margin-bottom:12px;

}

.footer a{

    color:#b8c8da;

    text-decoration:none;

    transition:.3s;

}

.footer a:hover{

    color:#1cb8f6;

}

.footer hr{

    margin:50px 0 30px;

    border-color:rgba(255,255,255,.08);

}
/*=================================
        ABOUT PAGE HERO
=================================*/

.about-hero{

    position:relative;

    min-height:90vh;

    display:flex;

    align-items:center;

    background:
        linear-gradient(
            rgba(8,23,46,.80),
            rgba(8,23,46,.80)
        ),
        url("../images/about-hero.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.about-hero h1{

    color:white;

    font-size:72px;

    font-weight:800;

    line-height:1.1;

    margin-bottom:30px;

}

.about-hero p{

    color:#d9e6f3;

    font-size:21px;

    max-width:760px;

    margin-bottom:40px;

}
/*======================================================
                ABOUT STORY
======================================================*/

.about-story{

    padding:100px 0;

    background:#ffffff;

}

.section-tag{

    display:inline-block;

    background:#15b9f5;

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-size:14px;

    font-weight:600;

    letter-spacing:.5px;

}

.section-title{

    font-size:48px;

    font-weight:800;

    color:#0d2240;

    line-height:1.2;

}

.section-text{

    color:#5f6f81;

    font-size:18px;

    line-height:1.9;

    margin-bottom:20px;

}

.about-story img{

    border-radius:20px;

    transition:.4s;

}

.about-story img:hover{

    transform:translateY(-8px);

}
/*==================================================
                OUR VALUES
==================================================*/

.our-values{

    background:#ffffff;

    padding:100px 0;

}

.value-card{

    background:#fff;

    padding:45px 30px;

    border-radius:20px;

    text-align:center;

    transition:.35s;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    height:100%;

}

.value-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}

.value-card i{

    font-size:55px;

    color:#16b7f4;

    margin-bottom:25px;

}

.value-card h4{

    font-size:28px;

    font-weight:700;

    color:#0d2240;

    margin-bottom:20px;

}

.value-card p{

    color:#66788c;

    line-height:1.8;

}
/*==========================================
        TECHNOLOGY EXPERIENCE
==========================================*/

.technology-logos{

    background:#ffffff;

    padding:100px 0;

}

.logo-card{

    background:#fff;

    border-radius:18px;

    padding:35px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.35s;

    height:160px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.logo-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 50px rgba(0,0,0,.12);

}

.logo-card img{

    max-width:120px;

    max-height:70px;

    transition:.35s;

}

.logo-card:hover img{

    filter:none;

    transform:scale(1.08);

}
/*=====================================
CONTACT HERO
=====================================*/

/* ==========================================
   CONTACT PAGE HERO
========================================== */

.contact-hero{
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    overflow: hidden;

    background-image:
        linear-gradient(
            rgba(8,23,46,.82),
            rgba(8,23,46,.82)
        ),
        url("../images/contact-hero.png");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.contact-hero h1{
    color:#fff;
}

.contact-hero p{
    color:rgba(255,255,255,.9);
    max-width:650px;
}

.contact-hero .badge{
    background:#18b5f0 !important;
}

.contact-hero .btn-outline-light:hover{
    background:#18b5f0;
    border-color:#18b5f0;
}
.contact-hero .badge{
    background:#18b5f0 !important;
}

.contact-hero .btn-outline-light:hover{
    background:#18b5f0;
    border-color:#18b5f0;
}
.info-card{

background:white;

padding:40px;

text-align:center;

border-radius:20px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.info-card:hover{

transform:translateY(-10px);

}

.info-card .icon{

font-size:40px;

margin-bottom:20px;

}
.contact-form{

background:white;

padding:60px;

border-radius:25px;

box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.contact-form .form-control,

.contact-form .form-select{

height:55px;

border-radius:12px;

}

.contact-form textarea{

height:auto;

}
.map-section{
    padding:0;
}

.map-section iframe{
    width:100%;
    height:500px;
    border:none;
    display:block;
}
.map-container{

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.12);

}
.accordion-item{

border:none;

border-radius:15px;

margin-bottom:15px;

overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.accordion-button{

font-weight:600;

padding:20px;

}

.accordion-button:not(.collapsed){

background:#0b2b55;

color:white;

}

.accordion-button:focus{

box-shadow:none;

}
/* Mobile navbar fix */
@media (max-width: 768px) {

  .navbar {
    padding: 10px 0;
  }

  .navbar-brand img {
    max-width: 220px;
    height: auto;
  }

  .navbar-toggler {
    margin-top: 10px;
  }

  /* Reduce hero top spacing */
  .hero,
  .service-hero,
  .about-hero,
  .contact-hero {
    padding-top: 40px !important;
    min-height: auto !important;
  }

  .hero h1 {
    font-size: 2.3rem !important;
    line-height: 1.15;
    margin-top: 0;
  }

  .hero-content {
    padding-top: 0 !important;
  }
}