/* =================================================================================
   GLOBAL RESET & TYPOGRAPHY (BOOTSTRAP-FRIENDLY)
================================================================================= */

*,
*::before,
*::after{
    box-sizing:border-box;
}

html,body{
    margin:0;
    padding:0;
}

body{
    font-family:'Poppins',sans-serif !important;
    font-size:14px;
    line-height:1.6;
    color:#222;
    background:#f4f5f7;
}

/* Headings */
h1{ font-size:1.5rem; font-weight:700; }
h2{ font-size:1.25rem; font-weight:600; }
h3{ font-size:1.1rem; font-weight:600; }
h4,h5,h6{ font-weight:600; }

p{
    font-size:14px;
    font-weight:400;
    margin-bottom:.75rem;
}

a{
    text-decoration:none;
    color:inherit;
}

/* =================================================================================
   REMOVE SADAKA CONFLICTS
================================================================================= */

body,
h1,h2,h3,h4,h5,h6,
.navbar,
.navbar *{
    font-family:'Poppins',sans-serif !important;
}

.navbar-main,
.navbar-main *{
    all:unset;
}

/* =================================================================================
   TOP STRIP
================================================================================= */

.top-strip{
    background:linear-gradient(90deg,#ffd166,#fcbf49);
    color:#1b1b2f;
    font-size:12px;
    font-weight:600;
    letter-spacing:.8px;
    text-align:center;
    padding:4px 8px;
}

/* =================================================================================
   NAVBAR
================================================================================= */

.navbar{
    background:linear-gradient(135deg,#2b2d42,#3a0ca3);
    padding:.45rem 0;
}

.navbar-brand{
    display:flex;
    align-items:center;
    gap:.5rem;
}

.navbar-brand img{
    width:44px;
    height:44px;
    object-fit:cover;
    border-radius:50%;
}

.brand-title{
    font-size:1.35rem;
    font-weight:700;
    color:#fff;
    margin:0;
    line-height:1.15;
}

.brand-sub{
    font-size:.65rem;
    font-weight:500;
    color:#d6d6ff;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.nav-link{
    font-size:14px;
    font-weight:500;
    color:#fff !important;
    padding:.35rem .6rem;
}

.navbar-toggler{
    border:none;
    box-shadow:none;
}
.navbar-toggler:focus{
    box-shadow:none;
}

/* =================================================================================
   HERO
================================================================================= */

.hero{
    position:relative;
    width:100%;
    height:240px;
    overflow:hidden;
}

.hero img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.hero-slogans{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:90%;
    text-align:center;
    z-index:3;
}

.hero-slogan{
    font-size:18px;
    font-weight:700;
    color:#fff;
    text-shadow:0 3px 10px rgba(0,0,0,.7);
    opacity:0;
    transition:opacity .8s ease;
}

.hero-slogan.active{
    opacity:1;
}

@media (max-width:768px){
    .hero{ height:170px; }
    .hero-slogan{ font-size:16px; }
}

/* =================================================================================
   HERO CTA
================================================================================= */

.hero-cta-wrapper{
    background:#fff;
    padding:14px 0;
    border-bottom:1px solid #e6e6e6;
}

.hero-cta-buttons{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

.hero-btn{
    font-size:14px;
    font-weight:600;
    padding:8px 18px;
    border-radius:8px;
    white-space:nowrap;
}

/* =================================================================================
   SLIDERS & IMAGES
================================================================================= */

.carousel,
.carousel-item{
    overflow:hidden;
}

.carousel-item img{
    width:100%;
    height:260px;
    object-fit:cover;
}

@media (max-width:768px){
    .carousel-item img{
        height:180px;
    }
}

.event-image,
.slider-row img,
.slider-item img{
    width:100%;
    max-height:160px;
    object-fit:cover;
    border-radius:10px;
}

@media (max-width:768px){
    .event-image,
    .slider-row img{
        max-height:140px;
    }
}

/* =================================================================================
   SECTIONS
================================================================================= */

.section-box{
    background:#fff;
    padding:16px;
    margin:16px 0;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.section-header{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
}

.section-bar{
    width:6px;
    height:28px;
    background:#3a0ca3;
    border-radius:3px;
}

/* =================================================================================
   BUTTONS
================================================================================= */

.btn{
    font-size:14px;
    font-weight:600;
    padding:8px 18px;
    border-radius:8px;
}

.btn-primary{
    background:#3a0ca3;
    border:none;
}

.btn-primary:hover{
    background:#2b2d42;
}

/* =================================================================================
   EXECUTIVE PORTRAIT
================================================================================= */

.portrait-frame{
    display:inline-block;
    padding:10px;
    border-radius:50%;
    background:linear-gradient(135deg,#3a0ca3,#ffd166);
    box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.profile-photo{
    width:180px;
    height:180px;
    object-fit:cover;
    border-radius:50%;
    background:#fff;
}

@media (max-width:768px){
    .profile-photo{
        width:140px;
        height:140px;
    }
}

.executive-title{
    font-size:14px;
    font-weight:600;
    color:#555;
}

.executive-tagline{
    font-style:italic;
    font-weight:600;
    color:#3a0ca3;
}

/* =================================================================================
   CAMPAIGN AGENDA
================================================================================= */

.agenda-slider{
    gap:14px;
}

.agenda-container{
    max-width:1100px;
    margin:auto;
}

.agenda-card{
    min-width:220px;
    max-width:220px;
    padding:18px 16px;
    border-radius:14px;
    border:none;
    color:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,.12);
    transition:transform .3s ease, box-shadow .3s ease;
}

.agenda-card:hover{
    transform:translateY(-6px);
    box-shadow:0 14px 28px rgba(0,0,0,.25);
}

@media (max-width:768px){
    .agenda-card{
        min-width:200px;
        max-width:200px;
    }
    .agenda-container{
        max-width:100%;
        padding-left:8px;
    }
}

/* Agenda colors */
.agenda-blue{ background:linear-gradient(135deg,#2563eb,#1e40af); }
.agenda-green{ background:linear-gradient(135deg,#16a34a,#166534); }
.agenda-orange{ background:linear-gradient(135deg,#f97316,#c2410c); }
.agenda-purple{ background:linear-gradient(135deg,#7c3aed,#4c1d95); }
.agenda-red{ background:linear-gradient(135deg,#dc2626,#7f1d1d); }

/* Agenda icon */
.agenda-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:10px;
    font-size:18px;
}

/* Agenda text */
.agenda-card h5{
    font-size:14px;
    font-weight:700;
    margin-bottom:6px;
}

.agenda-card p{
    font-size:12px;
    line-height:1.4;
    opacity:.95;
}

/* Agenda CTA */
.agenda-btn{
    margin-top:12px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    padding:7px 16px;
    border-radius:999px;
    background:#fff;
    color:#222;
    border:none;
    transition:all .25s ease;
}

.agenda-btn:hover{
    background:#ffd166;
    color:#000;
    transform:translateX(3px);
}

/* =================================================================================
   FOOTER
================================================================================= */

footer,
footer p{
    font-size:12px;
}

/* =================================================================================
   REMOVE OLD SLIDER
================================================================================= */

.carousel-home,
.carousel-home *{
    display:none !important;
}
/* =================================================================================
   OFFCANVAS MENU FIX (VISIBLE LINKS)
================================================================================= */

.offcanvas{
    background:linear-gradient(135deg,#2b2d42,#3a0ca3);
    color:#fff;
}

.offcanvas .navbar-nav{
    padding-left:0;
    margin-top:20px;
}

.offcanvas .navbar-nav li{
    list-style:none;
    margin-bottom:12px;
}

.offcanvas .navbar-nav li a{
    display:block;
    font-size:16px;
    font-weight:600;
    color:#fff !important;
    padding:10px 12px;
    border-radius:8px;
    transition:background .25s ease;
}

.offcanvas .navbar-nav li a:hover{
    background:rgba(255,255,255,.15);
}
img[loading="lazy"]{
    opacity:0;
    transition:opacity .4s ease;
}

img[loading="lazy"].loaded{
    opacity:1;
}