html,
body {
    margin: 0;
    padding: 0;
}

/* Fixed navbar */
#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
}

/* MAIN FIX: pushes hero slightly down so it's not cropped */
body {
    padding-top: 100px;
    /* adjust if needed: 95px or 105px */
}

/* Remove theme spacing conflicts */
.body,
.main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Ensure hero starts clean */
.custom-section-full-width {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.id-card {
    background: #ffffff;
    border-radius: 16px;
    /* Slightly more rounded card corners */
    padding: 2rem 1rem;
    /* Padding inside the card */
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.05);
    height: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

/* Creating the Circular Image */
.profile-wrapper {
    width: 120px;
    height: 120px;
    margin: 0 auto 1.5rem;
    /* Centers the circle and adds bottom margin */
    position: relative;
}

.profile-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    /* This makes it a perfect circle */
    border: 4px solid #f8f9fa;
    /* Small border around the photo */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

/* Hover Effects */
.id-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.id-card:hover img {
    transform: scale(1.05);
    border-color: #0984e3;
    /* Border changes color on hover */
}

/* Typography Adjustments */
.card-content h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #2d3436;
}

.job-title {
    color: #0984e3;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 0.75rem;
}

.card-content p {
    font-size: 0.85rem;
    color: #636e72;
    margin: 0;
}


/* Section Styling */
.team-section {
    background-color: #fcfcfc;
}

.header-line {
    width: 60px;
    height: 3px;
    background-color: #0984e3;
    border-radius: 2px;
}

/* ID Card Base */
.id-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 2.5rem 1.5rem;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.04);
    height: 100%;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.02);
}

.id-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    border-color: rgba(9, 132, 227, 0.2);
}

/* Circular Profile Styling */
.profile-wrapper {
    width: 130px;
    height: 130px;
    margin: 0 auto 1.5rem;
    position: relative;
    z-index: 1;
}

.profile-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    /* Makes it a circle */
    border: 5px solid #fff;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.id-card:hover .profile-wrapper img {
    transform: scale(1.08);
    border-color: #0984e3;
}

/* Typography */
.card-content h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #2d3436;
    margin-bottom: 0.4rem;
}

.job-title {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #0984e3;
    letter-spacing: 1px;
    margin-bottom: 1.2rem;
}

.card-content p {
    font-size: 0.9rem;
    color: #636e72;
    line-height: 1.6;
    margin-bottom: 0;
}

/* Responsive Media Queries */
@media (max-width: 991px) {
    .id-card {
        padding: 2rem 1rem;
    }

    .profile-wrapper {
        width: 110px;
        height: 110px;
    }
}

@media (max-width: 576px) {
    .team-section {
        padding-left: 15px;
        padding-right: 15px;
    }
}