/* ------------------------------------------------------------------
   Global typography & colors (logo palette)
------------------------------------------------------------------- */
body {
    font-family: 'Montserrat', sans-serif;
    color: #212529;
}
.bg-primary { background-color:#19294a!important; }
.text-primary { color:#19294a!important; }
.btn-primary { background:#19294a;border-color:#19294a; }
.btn-primary:hover { background:#0f1c33;border-color:#0f1c33; }
.btn-outline-primary { color:#19294a;border-color:#19294a; }
.btn-outline-primary:hover { background:#19294a;color:#fff; }

/* ------------------------------------------------------------------
   Sidebar (fixed)
------------------------------------------------------------------- */
#sidebar {
    width:260px;
    min-width:260px;
    transition: transform .3s ease-in-out;
}
@media (max-width: 991.98px) {
    #sidebar {
        transform: translateX(-100%);
    }
    #sidebar.show {
        transform: translateX(0);
    }
}

/* ------------------------------------------------------------------
   Main content offset (when sidebar is visible)
------------------------------------------------------------------- */
.ms-260 { margin-left:260px; }
@media (max-width: 991.98px) {
    .ms-260 { margin-left:0; }
}

/* ------------------------------------------------------------------
   Hero section (full‑screen background)
------------------------------------------------------------------- */
.hero-section {
    height:85vh;
    background-size:cover;
    background-position:center;
    position:relative;
    color:#fff;
}
.hero-section .overlay{
    position:absolute; inset:0;
    background:rgba(0,0,0,0.45);
}

/* ------------------------------------------------------------------
   Split‑screen sections
------------------------------------------------------------------- */
.split-section {
    position:relative;
}
.split-section .row > div {
    min-height:350px;
}
.split-section img{
    width:100%; height:100%;
    object-fit:cover;
    border-radius:.75rem;
}

/* Section titles */
.section-title{
    font-weight:600;
    position:relative;
    padding-left:2rem;
}
.section-title i{
    position:absolute;
    left:0; top:0;
    font-size:1.5rem;
    color:#feb640;   /* accent */
}

/* Fade‑in on scroll (pure CSS) */
@keyframes fadeInUp{
    from{opacity:0;transform:translateY(30px);}
    to{opacity:1;transform:none;}
}
.split-section{
    opacity:0;
    animation:fadeInUp .8s forwards;
    animation-delay:0.2s;
}
.split-section:nth-of-type(even){animation-delay:0.4s;}
.split-section:nth-of-type(odd){animation-delay:0.6s;}

/* ------------------------------------------------------------------
   Responsive tweaks
------------------------------------------------------------------- */
@media (max-width: 767.98px){
    .hero-section{height:60vh;}
    .split-section .row{flex-direction:column;}
    .split-section .row > div{min-height:auto;}
}