/* ==============================
   BASE & LAYOUT
============================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


.container {
    padding-left: 15px;
    padding-right: 15px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.col-lg-6, .col-lg-3, .col-md-6, .col-sm-6 {
    padding-left: 15px;
    padding-right: 15px;
}

/* ==============================
   HERO SECTION
============================== */
.hero-section {
    
    background: var(--color-primary-100, #F7FAFF);
   
}


.hero-title span {
    color: #003E9C;
}

.hero-text {
    margin: 20px 0 30px;
    font-size: 18px;
}

.hero-img {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 600px;
}

/* ==============================
   BACKGROUND ELEMENTS
============================== */
.bg-element {
    position: absolute;
    border: 1px solid rgba(0,31,128,0.15);
    pointer-events: none;
    z-index: 1;
    border-radius: 50%;
}

.bg-circle-1 { width: 414px; height: 414px; top: 117px; left: 962px; }
.bg-circle-2 { width: 344px; height: 344px; top: 152px; left: 997px; }
.bg-circle-3 { width: 265px; height: 265px; top: 192px; left: 1037px; }
.bg-circle-4 { width: 162px; height: 162px; top: 243px; left: 1088px; }

.blur-bg {
    position: absolute;
    width: 212px;
    height: 264px;
    top: 100px;
    left: -100px;
    background: rgba(150,192,255,0.1);
    transform: rotate(27.33deg);
    filter: blur(173px);
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}
/* ==============================
   Program SECTION
============================== */
.program-item h3{
    color:var(--color-primary-900);
}
/* ==============================
   TEAM SECTION
============================== */
.team-section {
    padding: 40px 0;
    background: #F7FAFF;
    text-align: center;
}

.section-title {
    font-size: 40px;
    font-weight: 700;
    color: #001F80;
    margin-bottom: 24px;
}

.section-subtitle {
    font-size: 20px;
    font-weight: 400;
    color: #1A1A1A;
    max-width: 80%;
    margin: 0 auto 60px auto;
    line-height: 32px;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 32px;
    max-width: 1200px;
    margin: 0 auto;
}

.team-card {
    padding: 0;
    text-align: left;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.team-img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    margin: 0 auto 16px auto;
}

.team-name { font-size: 20px; font-weight: 590; margin-bottom: 4px; }
.team-job { font-size: 18px; color: #003E9C; margin-bottom: 12px; }
.team-desc { font-size: 16px; color: #666666; }

/* ==============================
   HIGHLIGHTS SECTION
============================== */
.highlights-section {
    padding: 40px 0;
}

.highlights-row-wrapper {
    max-width: 1006px;
    margin: 0 auto;
}

.highlight-card {
    max-width: 299px;
    width: 100%;
    height: 322px;
    display: flex;
    flex-direction: column;
    padding: 0;
    text-align: left;
    margin: 0 auto;
    opacity: 1;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.highlight-card img {
    width: 100px;
    height: 100px;
    margin-bottom: 16px;
}

.highlight-card p {
    font-size: 22px;
    line-height: 32px;
    color: #1A1A1A;
    text-align: center;
    margin: 0;
}

.highlight-card:hover {
    background: #003E9C;
    border: 1px solid #96C0FF;
    box-shadow: 0px 4px 24px rgba(0,0,0,0.08);
    transform: scale(1.025);
}

.highlight-card:hover p { color: #FFFFFF; }

/* ==============================
   RESPONSIVE
============================== */
@media (max-width: 991px) {
    .team-grid { grid-template-columns: repeat(2,1fr); justify-items: center; }
    .team-card { max-width: 320px; width: 100%; text-align: center; }
    .highlight-card { margin: 0 auto; }
    .program-item .col-lg-6 { display: flex; flex-direction: column; align-items: center; }
    .hero-title,
.hero-title span,
.hero-text {
    text-align: center;
}
}

@media (max-width: 576px) {
    .team-grid { grid-template-columns: 1fr; }
    .highlight-card { width: 100%; }
}