*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, sans-serif;
    background:#f4f7fb;
    color:#222;
    font-size:18px;
    line-height:1.7;
}

html{
    scroll-behavior:smooth;
}

#dashboard-section{
    scroll-margin-top:30px;
}

/* HERO SECTION */

.hero{
    position:relative;
    min-height:90vh;

    background:
    linear-gradient(rgba(0,0,0,0.65),
    rgba(0,0,0,0.65)),

    url("HOF.png");

    background-size:cover;
    background-position:center;

    color:white;
}

.hero::after{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

backdrop-filter:blur(1px);

z-index:1;

pointer-events:none;

}

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

.navbar{

    position:relative;
    z-index:100;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:18px 6%;

    background:rgba(255,255,255,0.08);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    border-bottom:1px solid rgba(255,255,255,0.15);

}

/* ----------------------------
   LEFT BUTTON
----------------------------- */

.research-nav-btn{

    display:inline-block;

    padding:15px 34px;

    background:#1b82e4;

    color:white;

    text-decoration:none;

    font-weight:600;

    font-size:22px;

    border-radius:40px;

    transition:.3s;

    z-index:101;

}

.research-nav-btn:hover{

    background:#156cc0;

    transform:translateY(-3px);

}

/* ----------------------------
   BRAND
----------------------------- */

.brand{

    display:flex;

    align-items:center;

    gap:18px;

    flex:1;

    justify-content:center;

    margin-left:80px;

}

/* ----------------------------
   LOGO
----------------------------- */

.brand img{

    width:78px;

    height:78px;

    object-fit:cover;

    border-radius:50%;

    cursor:pointer;

    transition:0.35s ease;

    box-shadow:0 6px 18px rgba(0,0,0,.25);

}

.brand img:hover{

    transform:scale(1.10);

    box-shadow:0 10px 25px rgba(0,0,0,.35);

}

/* ----------------------------
   LOGO TEXT
----------------------------- */

.logo-text{

    font-size:32px;

    font-weight:700;

    color:white;

    letter-spacing:.5px;

    white-space:nowrap;

}

/* ----------------------------
   ABOUT BUTTON
----------------------------- */

.about-nav-btn{

    color:white;

    text-decoration:none;

    font-size:22px;

    font-weight:600;

    padding:12px 24px;

    border:2px solid rgba(255,255,255,.8);

    border-radius:35px;

    transition:.3s;

    z-index:101;

}

.about-nav-btn:hover{

    background:white;

    color:#0d355d;

}

/* ----------------------------
   HERO CONTENT
----------------------------- */

.hero-content{

    position:relative;

    z-index:2;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding-top:70px;

}

.hero-button{

margin:35px 0;

display:flex;

justify-content:center;

align-items:center;

}

.cta-button{

display:inline-block;

background:#0077cc;

color:white;

padding:16px 34px;

border-radius:40px;

text-decoration:none;

font-weight:600;

transition:.3s;

}

.cta-button:hover{

background:#005fa3;

transform:translateY(-3px);

}

/* HERO CONTENT */

.hero-content h1{

font-size:60px;

font-weight:700;

line-height:1.2;

margin-bottom:15px;

}

.hero-content p{

max-width:850px;

font-size:26px;

margin-top:20px;

animation:fadeIn 2s ease;

}
    
/* HERO BUTTON */

.hero-btn{

display:inline-block;

background:#0077cc;

color:white;

padding:15px 30px;

border-radius:12px;

text-decoration:none;

font-weight:bold;

transition:0.3s;
}

.hero-btn:hover{

background:#005fa3;

transform:translateY(-3px);
}

.focus-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:20px;
}

.focus-card{

background:#f8fbff;

padding:25px;

border-radius:15px;

text-align:center;

transition:0.3s;
}

.focus-card:hover{

transform:translateY(-8px);

box-shadow:0 8px 20px rgba(0,0,0,0.1);
}

.focus-card i{

font-size:35px;

color:#0077cc;

margin-bottom:15px;
}
    
/* SOCIAL ICONS */

.social-icons{
    margin-top:35px;
}

.social-icons a{
    text-decoration:none;
    color:white;

    width:55px;
    height:55px;

    display:inline-flex;
    justify-content:center;
    align-items:center;

    border:2px solid white;
    border-radius:50%;

    margin:10px;

    font-size:24px;

    transition:0.3s;
}

.social-icons a:hover{
    background:white;
    color:#003366;
    transform:translateY(-5px);
}

/* ANIMATION */

@keyframes fadeIn{
    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* SEARCH BAR */

.search-section{
    text-align:center;
    margin-top:25px;
    margin-bottom:25px;
}

.search-box{
    width:80%;
    max-width:500px;

    padding:15px 20px;

    border:2px solid #0077cc;

    border-radius:50px;

    font-size:18px;

    outline:none;

    transition:0.3s;
}

.search-box:focus{
    box-shadow:0 0 12px rgba(0,119,204,0.3);
}
    
/* MAIN CONTAINER */

.container{
    width:92%;
    max-width:1200px;
    margin:auto;
    margin-top:-60px;
    position:relative;
    z-index:5;
}

/* CARDS */

.card{

    background:#ffffff;

    border-radius:22px;

    padding:35px;

    margin:40px 0;

    box-shadow:
    0 12px 35px rgba(0,0,0,0.08);

    transition:0.35s;

    border:1px solid #f1f1f1;

}

.card:hover{

    transform:translateY(-6px);

    box-shadow:
    0 20px 45px rgba(0,0,0,0.12);

}

.card h2{
    text-align:center;
    margin-bottom:25px;
    color:#003366;
    font-size:38px;
}

/* FOCUS AREA CARDS */

.focus-grid{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));
gap:20px;
}

.focus-card{
background:#f8fbff;
padding:25px;
border-radius:15px;
text-align:center;
transition:0.3s;
}

.focus-card:hover{
transform:translateY(-8px);
box-shadow:0 8px 20px rgba(0,0,0,0.1);
}

.focus-card i{
font-size:35px;
color:#0077cc;
margin-bottom:15px;
}
    
/* NEWS SECTION */

.news-grid{
    display:grid;

    grid-template-columns:
    repeat(auto-fit, minmax(300px,1fr));

    gap:25px;

    align-items:start;
}

.news-card{

    background:#f9fbff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 4px 15px rgba(0,0,0,0.08);

    transition:0.3s;
}

.news-card:hover{
    transform:translateY(-8px);
}

.news-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.news-content{
    padding:20px;
}

.news-content h3{
    color:#003366;
    margin-bottom:12px;
}

.news-content p{
    color:#555;
    margin-bottom:18px;
}

.news-btn{
    background:#0077cc;
    color:white;

    border:none;

    padding:10px 18px;

    border-radius:10px;

    cursor:pointer;

    transition:0.3s;
}

.news-btn:hover{
    background:#005fa3;
}
    
/* BUTTON */

button{

    background:linear-gradient(
    135deg,
    #0077cc,
    #0055aa);

    color:white;

    border:none;

    padding:14px 30px;

    border-radius:40px;

    cursor:pointer;

    font-size:16px;

    font-weight:600;

    transition:.35s;

}

button:hover{

    transform:translateY(-3px);

    box-shadow:
    0 12px 25px rgba(0,119,204,.25);

}

#regionSelect{

padding:12px;

font-size:16px;

border-radius:10px;

border:1px solid #ccc;

min-width:250px;
}
    
.news-btn:hover{
    background:#005fa3;
}

/* SECTION BACKGROUND */

.section-grey{
    background:#f5f7fa;
}

/* ECONOMIC TICKER */

.ticker{

background:#002244;

color:white;

overflow:hidden;

white-space:nowrap;

padding:12px 0;

font-weight:bold;

position:relative;
}

.ticker-content{

display:inline-block;

padding-left:100%;

animation:ticker 25s linear infinite;
}

@keyframes ticker{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-100%);
}
}
    
/* FOOTER */

footer{
    background:#002244;
    color:white;

    text-align:center;

    padding:25px;

    margin-top:40px;
}
    
/* INFLATION DASHBOARD */

.kpi-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin-bottom:40px;
}

.kpi-card{

    background:white;

    border-radius:20px;

    padding:30px;

    text-align:center;

    transition:.35s;

    border:1px solid #eef2f7;

    box-shadow:
    0 10px 25px rgba(0,0,0,.06);

}
    
.kpi-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 18px 35px rgba(0,119,204,.18);

}
    
.kpi-card h3{
    color:#555;
    margin-bottom:15px;
}

.kpi-card h1{

    color:#0077cc;

    font-size:42px;

    margin-top:12px;

    margin-bottom:8px;

    font-weight:700;

}

.chart-container{
    position:relative;

    width:100%;
    height:420px;

    background:white;

    padding:30px;

    border-radius:20px;

    margin-top:40px;

    box-shadow:0 5px 20px rgba(0,0,0,0.08);

    overflow:hidden;
}

.chart-container canvas{
    display:block;

    width:100% !important;
    height:100% !important;
}

.dashboard-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
    flex-wrap:wrap;
}

.dashboard-description{

    text-align:center;

    color:#666;

    font-size:18px;

    margin-bottom:35px;

}
    
.nav-btn{

    background:linear-gradient(
    135deg,
    #0077cc,
    #0055aa);

    color:white;

    border:none;

    padding:12px 28px;

    border-radius:50px;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

    box-shadow:
    0 8px 18px rgba(0,119,204,.25);

}

.nav-btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 14px 28px rgba(0,119,204,.35);

}

.cost-table{

    width:100%;

    border-collapse:collapse;

    overflow:hidden;

    border-radius:18px;

    background:white;

    box-shadow:
    0 8px 20px rgba(0,0,0,.05);

}

.cost-table th,
.cost-table td{

    padding:15px;

    border-bottom:1px solid #ececec;

}

.cost-table th{

    background:#003366;

    color:white;

    padding:16px;

    font-size:17px;

}

.cost-table tr:hover{

    background:#f4f9ff;

}
    
/* MOBILE */

@media(max-width:768px){

.logo{
    font-size:24px;
}

/* NEW MOBILE BRAND SETTINGS */

.brand{
    gap:10px;
}

.brand img{
    width:55px;
    height:55px;
}

.logo-text{
    font-size:20px;
}

.hero-content p{
    font-size:20px;
    padding:0 15px;
}

.card h2{
    font-size:30px;
}

}

.research-nav-btn{

background:#1476c6;

color:white;

padding:12px 24px;

border-radius:30px;

text-decoration:none;

font-weight:bold;

transition:.3s;

}

.research-nav-btn:hover{

background:#0b5ea8;

transform:translateY(-2px);

}

.gallery-section{

    margin-top:50px;

    padding-top:30px;

    border-top:1px solid #ddd;

}

.gallery-section h2{

    margin-bottom:15px;

}

.gallery-section p{

    text-align:center;

    color:#666;

    margin-bottom:30px;

}

/*==========================
ABOUT PAGE
===========================*/

.page-title{

font-size:46px;

text-align:center;

color:#0d3b73;

margin-bottom:10px;

}

.about-card{

background:#fff;

max-width:1200px;

margin:40px auto;

padding:60px;

border-radius:22px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.about-text h2{

color:#0d3b73;

margin-top:35px;

margin-bottom:15px;

}

.about-text p{

font-size:18px;

line-height:1.9;

color:#444;

}

.neo-stats{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin:60px 0;

}

.neo-stat{

background:#f8fbff;

padding:30px;

border-radius:18px;

text-align:center;

transition:.3s;

}

.neo-stat:hover{

transform:translateY(-5px);

}

.neo-stat h3{

font-size:42px;

color:#1476c6;

margin-bottom:10px;

}

.founder-info{

display:grid;

grid-template-columns:2fr 1fr;

gap:50px;

align-items:center;

margin-top:60px;

}

.founder-role{

font-weight:600;

color:#1476c6;

margin-bottom:20px;

}

.founder-list{

list-style:none;

padding:0;

margin-top:25px;

}

.founder-list li{

margin-bottom:12px;

font-size:17px;

}

.founder-photo{

text-align:center;

}

.founder-photo img{

width:280px;

height:280px;

object-fit:cover;

border-radius:50%;

border:6px solid #1476c6;

box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.gallery-section{

margin-top:80px;

text-align:center;

}

@media(max-width:768px){

.about-card{

padding:30px;

}

.neo-stats{

grid-template-columns:repeat(2,1fr);

}

.founder-info{

grid-template-columns:1fr;

text-align:center;

}

.page-title{

font-size:34px;

}

}

.hero-buttons{

margin-bottom:35px;

}

/* ==========================================
   MANAGEMENT SECTION
========================================== */

#management-section {
    width: 100%;
    padding: 40px 20px 60px;
    box-sizing: border-box;
}


/* ==========================================
   MANAGEMENT MAIN CARD
========================================== */

#management-section .card {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 35px 40px 45px;
    box-sizing: border-box;
    border-radius: 20px;
}


/* ==========================================
   MANAGEMENT HEADER
========================================== */

#management-section .dashboard-header {
    width: 100%;
    display: grid;
    grid-template-columns: 150px 1fr 150px;
    align-items: center;
    gap: 20px;
    margin-bottom: 35px;
}


/* Management heading */

#management-section .dashboard-header h2 {
    margin: 0;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
}


/* ==========================================
   MANAGEMENT NAVIGATION BUTTONS
========================================== */

#management-section .nav-btn {
    width: 130px;
    padding: 12px 18px;
    border: none;
    border-radius: 25px;
    background: #0077cc;
    color: white;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.25s ease;
}


/* Previous button */

#management-section .dashboard-header .nav-btn:first-child {
    justify-self: start;
}


/* Next button */

#management-section .dashboard-header .nav-btn:last-child {
    justify-self: end;
}


/* Hover */

#management-section .nav-btn:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}


/* ==========================================
   MANAGEMENT MEMBER GRID
========================================== */

#management-section .management-grid {
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 35px 40px;
}


/* ==========================================
   INDIVIDUAL MEMBER CARD
========================================== */

#management-section .management-member {
    width: 100%;
    background: white;
    border-radius: 18px;
    overflow: hidden;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.10);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* Hover effect */

#management-section .management-member:hover {
    transform: translateY(-4px);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.14);
}


/* ==========================================
   MEMBER PHOTO
========================================== */

#management-section .member-photo {
    width: 100%;
    height: 260px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e8eef4;

    color: #657383;

    font-size: 18px;
}


/* ==========================================
   MEMBER INFORMATION
========================================== */

#management-section .member-info {
    padding: 22px 20px 24px;

    text-align: center;

    background: white;
}


#management-section .member-info h3 {
    margin: 0 0 8px;

    font-size: 21px;
    font-weight: 700;

    color: #111;
}


#management-section .member-info p {
    margin: 0;

    font-size: 17px;

    color: #59636d;
}


/* ==========================================
   EXECUTIVE MANAGEMENT
========================================== */

#executiveManagement {
    width: 100%;
}


/* ==========================================
   BOARD MANAGEMENT
========================================== */

#boardManagement {
    width: 100%;
}


/* ==========================================
   MOBILE RESPONSIVENESS
========================================== */

@media (max-width: 900px) {

    #management-section .card {
        width: 95%;
        padding: 30px 25px 40px;
    }


    #management-section .management-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
    }


    #management-section .dashboard-header {
        grid-template-columns: 1fr;
        gap: 15px;
    }


    #management-section .dashboard-header h2 {
        order: 1;
        font-size: 28px;
    }


    #management-section .dashboard-header .nav-btn:first-child {
        order: 2;
        justify-self: center;
    }


    #management-section .dashboard-header .nav-btn:last-child {
        order: 3;
        justify-self: center;
    }

}


/* ==========================================
   SMALL MOBILE DEVICES
========================================== */

@media (max-width: 500px) {

    #management-section {
        padding: 25px 10px 40px;
    }


    #management-section .card {
        width: 100%;
        padding: 25px 15px 35px;
        border-radius: 15px;
    }


    #management-section .dashboard-header h2 {
        font-size: 24px;
    }


    #management-section .management-grid {
        gap: 25px;
    }


    #management-section .member-photo {
        height: 220px;
    }


    #management-section .nav-btn {
        width: 120px;
        font-size: 15px;
    }

}

/* ==========================================
   MOBILE RESPONSIVE DESIGN
========================================== */

@media screen and (max-width:768px){

/* Container */

.container{
    width:95%;
    padding:10px;
}

/* Cards */

.card{
    padding:20px;
    margin:20px 0;
}

/* Dashboard titles */

.dashboard-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:35px;

    padding:18px 25px;

    border-radius:18px;

    background:linear-gradient(
    90deg,
    #003366,
    #0055aa);

    color:white;

}

.dashboard-header h2{

    color:white;

    font-size:32px;

    letter-spacing:0.5px;

    font-weight:700;

}

/* KPI Grid */

.kpi-grid{

grid-template-columns:repeat(2,1fr);

gap:15px;

}

.kpi-card{

padding:18px;

border-radius:18px;

}

.kpi-card h1{

font-size:28px;

}

.kpi-card h3{

font-size:15px;

}

/* Tables */
    
.cost-table{

display:block;

overflow-x:auto;

white-space:nowrap;

border-radius:12px;

}

/* Charts */

.chart-container{

height:300px;

padding:15px;

overflow:hidden;

}

canvas{

max-width:100% !important;

height:100% !important;

}

/* Maps */

.map-wrapper{

flex-direction:column;

align-items:center;

gap:20px;

}

#namibiaMap{

max-width:320px;

}

.region-info{

width:100%;

max-width:350px;

}
    
/* About section */

.about-content{

    flex-direction:column;

}

.about-text{

    font-size:16px;

}

.founder img{

    width:180px;

    height:190px;

}

/* Gallery */

.gallery{

display:flex;

flex-direction:column;

gap:20px;

align-items:center;

}

.gallery img{

width:100%;

max-width:320px;

border-radius:18px;

}

/* Footer */

footer{

padding:30px 20px;

font-size:14px;

text-align:center;

line-height:1.8;

}

.founder-info{

    flex-direction:column;

    text-align:center;

}

.founder-photo{

    width:100%;

}

.founder-photo img{

    width:200px;

    height:200px;

}
    
/* Navigation */

.navbar{

flex-direction:column;

padding:15px;

gap:15px;

text-align:center;

}

.logo{

width:70px;

height:70px;

}

.navbar h1{

font-size:28px;

line-height:1.3;

}

.research-nav-btn{

width:100%;

max-width:250px;

text-align:center;

}

/* Hero */

.hero{

height:auto;

padding:80px 20px;

text-align:center;

}

.hero-content{

max-width:100%;

}

.hero-content h1{

font-size:34px;

line-height:1.3;

}

.hero-content p{

font-size:18px;

line-height:1.6;

}

.hero button{

width:100%;

max-width:260px;

}
    
}

/* ==========================================
   RESEARCH HUB
========================================== */

.page-header{

background:#0d355d;

color:white;

text-align:center;

padding:60px 20px;

}

.page-header h1{

font-size:42px;

margin-bottom:15px;

}

.page-header p{

font-size:20px;

opacity:.9;

margin-bottom:25px;

}

.back-btn{

display:inline-block;

padding:12px 28px;

background:#1476c6;

color:white;

text-decoration:none;

border-radius:30px;

font-weight:bold;

transition:.3s;

}

.back-btn:hover{

background:#0b5ea8;

transform:translateY(-2px);

}

.research-section{

max-width:1100px;

margin:60px auto;

padding:0 20px;

}

.research-section h2{

font-size:32px;

color:#0d355d;

margin-bottom:30px;

}

.research-card{

background:white;

padding:30px;

margin-bottom:25px;

border-radius:18px;

box-shadow:0 8px 25px rgba(0,0,0,.08);

transition:.3s;

}

.research-card:hover{

transform:translateY(-5px);

box-shadow:0 12px 30px rgba(0,0,0,.12);

}

.research-card h3{

margin-bottom:10px;

color:#0d355d;

}

.research-card p{

margin-bottom:20px;

color:#666;

}

.research-btn{

display:inline-block;

background:#1476c6;

color:white;

padding:12px 28px;

border-radius:30px;

text-decoration:none;

font-weight:bold;

transition:.3s;

}

.research-btn:hover{

background:#0b5ea8;

}

.category-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:25px;

}

.category-card{

background:white;

padding:35px;

text-align:center;

border-radius:18px;

font-size:22px;

font-weight:bold;

box-shadow:0 8px 20px rgba(0,0,0,.08);

transition:.3s;

}

.category-card:hover{

background:#1476c6;

color:white;

transform:translateY(-5px);

}

/* ==========================================
   DATA COLLECTION PORTAL
========================================== */

.portal-intro{

max-width:850px;

margin:20px auto 40px;

text-align:center;

font-size:18px;

line-height:1.8;

color:#555;

}

.portal-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:25px;

}

.portal-card{

background:white;

padding:30px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.3s;

text-align:center;

}

.portal-card:hover{

transform:translateY(-6px);

box-shadow:0 15px 30px rgba(0,0,0,.15);

}

.download-btn{

display:inline-block;

margin-top:20px;

padding:12px 28px;

background:#1476c6;

color:white;

border-radius:30px;

text-decoration:none;

font-weight:bold;

transition:.3s;

}

.download-btn:hover{

background:#0b5ea8;

}

.status{

display:inline-block;

margin-top:15px;

padding:8px 15px;

border-radius:20px;

font-size:14px;

font-weight:bold;

}

.pending{

background:#fff3cd;

color:#856404;

}

.received{

background:#d4edda;

color:#155724;

}

.missing{

background:#f8d7da;

color:#721c24;

}

.upload-card{

background:white;

padding:40px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

text-align:center;

}

.upload-btn{

margin-top:20px;

padding:14px 35px;

background:#003366;

color:white;

border:none;

border-radius:30px;

font-size:16px;

cursor:pointer;

transition:.3s;

}

.upload-btn:hover{

background:#1476c6;

}

.upload-note{

margin-top:20px;

font-size:14px;

color:#777;

}

.guideline-card{

background:white;

padding:35px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.guideline-card ul{

line-height:2;

font-size:17px;

padding-left:20px;

}

/* ==========================================
   SUBMISSION PROGRESS
========================================== */

.submission-progress{

background:white;

padding:30px;

border-radius:18px;

box-shadow:0 8px 20px rgba(0,0,0,.08);

margin-bottom:40px;

text-align:center;

}

.progress-bar{

width:100%;

height:20px;

background:#e6e6e6;

border-radius:30px;

overflow:hidden;

margin:20px 0;

}

.progress-fill{

height:100%;

width:0%;

background:#28a745;

transition:.6s;

}

.submission-progress p{

font-size:17px;

font-weight:bold;

}

/* ==========================================
INTERACTIVE NAMIBIA MAP
========================================== */

.map-wrapper{

display:flex;

flex-wrap:wrap;

justify-content:center;

align-items:flex-start;

gap:30px;

margin-top:35px;

}

#namibiaMap{

    width:100%;

    max-width:500px;

    height:auto;

    background:#f8f9fa;

    border-radius:20px;

    padding:15px;

    box-shadow:0 8px 25px rgba(0,0,0,0.08);

    pointer-events:auto;
}

.region{

    fill:#b0c4de;

    stroke:#ffffff;

    stroke-width:2;

    cursor:pointer;

    pointer-events:all;

    transition:
        fill 0.3s ease,
        transform 0.2s ease;
}

.region:hover{

    fill:#0077cc;

}

.region.active{

    fill:#003366;

    stroke:#ffcc00;

    stroke-width:4;

    filter:
        drop-shadow(0 0 8px rgba(0,0,0,.35));
}

.region-info{

background:white;

padding:25px;

border-radius:18px;

box-shadow:0 8px 20px rgba(0,0,0,0.08);

min-width:260px;

}

.region-info h3{

color:#003366;

margin-bottom:15px;

}

.region-info p{

margin:10px 0;

font-size:16px;

}

@media screen and (max-width:768px){

.map-wrapper{

flex-direction:column;

align-items:center;

}

.region-info{

width:100%;

max-width:400px;

}

}

/* ==========================================
   NEO GALLERY - SEPARATE CARD
========================================== */

.gallery-section {

    width: 90%;
    max-width: 1200px;

    margin: 50px auto;

    padding: 45px 50px 50px;

    background: #ffffff;

    border-radius: 22px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.08);

    text-align: center;

}


/* ==========================================
   GALLERY TITLE
========================================== */

.gallery-section h2 {

    color: #0d3b73;

    font-size: 36px;

    margin-bottom: 12px;

}


.gallery-section > p {

    color: #666;

    font-size: 18px;

    margin-bottom: 30px;

}


/* ==========================================
   GALLERY CONTAINER
========================================== */

.gallery-container {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 25px;

    width: 100%;

}


/* ==========================================
   GALLERY VIEWER
========================================== */

.gallery-viewer {

    width: 100%;

    max-width: 750px;

    height: 430px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #f4f7fb;

    border-radius: 18px;

    overflow: hidden;

    box-shadow:
        0 8px 25px rgba(0,0,0,.08);

}


/* ==========================================
   GALLERY IMAGE
========================================== */

.gallery-viewer img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition: opacity .3s ease;

}


/* ==========================================
   GALLERY NAVIGATION BUTTONS
========================================== */

.gallery-btn {

    width: 55px;

    height: 55px;

    min-width: 55px;

    border: none;

    border-radius: 50%;

    background: #1476c6;

    color: white;

    font-size: 25px;

    font-weight: bold;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    transition: .3s ease;

}


.gallery-btn:hover {

    background: #0b5ea8;

    transform: scale(1.08);

    box-shadow:
        0 8px 20px rgba(20,118,198,.30);

}


/* ==========================================
   GALLERY COUNTER
========================================== */

.gallery-counter {

    margin-top: 18px;

    color: #666;

    font-size: 15px;

    font-weight: 600;

}


/* ==========================================
   MOBILE GALLERY
========================================== */

@media screen and (max-width:768px) {

    .gallery-section {

        width: 95%;

        padding: 30px 20px 35px;

    }


    .gallery-section h2 {

        font-size: 30px;

    }


    .gallery-section > p {

        font-size: 16px;

    }


    .gallery-container {

        gap: 10px;

    }


    .gallery-viewer {

        height: 300px;

    }


    .gallery-btn {

        width: 45px;

        height: 45px;

        min-width: 45px;

        font-size: 20px;

    }

}


@media screen and (max-width:500px) {

    .gallery-section {

        width: 100%;

        border-radius: 15px;

        padding: 25px 10px 30px;

    }


    .gallery-container {

        gap: 6px;

    }


    .gallery-viewer {

        height: 230px;

        border-radius: 12px;

    }


    .gallery-btn {

        width: 40px;

        height: 40px;

        min-width: 40px;

        font-size: 18px;

    }

}
