/* ============================================================
   IB-S Homepage — Below-fold sections design system  v1.0.2
   ============================================================ */

/* ============================================================
   RESEARCH AREAS  [ibs_research_areas]
   ============================================================ */

/* Divi section wrapper zero-out */
.et_pb_section:has(.ibs-ra) {
    padding: 0 !important;
    background: #ffffff !important;
}
.et_pb_row:has(.ibs-ra),
.et_pb_column:has(.ibs-ra) {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.ibs-ra {
    width: 100%;
    padding: 6rem 5vw 5rem;
    background: #ffffff;
    box-sizing: border-box;
}

.ibs-ra__header {
    max-width: 680px;
    margin: 0 auto 3.5rem;
    text-align: center;
}
.ibs-ra__title {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 800;
    color: #0d2218;
    margin: 0 0 .75rem;
    position: relative;
    display: inline-block;
}
/* Green underline accent */
.ibs-ra__title::after {
    content: '';
    display: block;
    width: 3rem;
    height: 3px;
    background: #3dba72;
    margin: .6rem auto 0;
    border-radius: 2px;
}
.ibs-ra__sub {
    color: #4a5a50;
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0;
}

/* 4-column card grid */
.ibs-ra__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    max-width: 1380px;
    margin: 0 auto;
}

/* Individual card */
.ibs-ra__card {
    display: flex;
    flex-direction: column;
    padding: 2rem 1.75rem;
    background: #f7fdf9;
    border: 1px solid rgba(61,186,114,0.15);
    border-top: 3px solid #3dba72;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: transform .25s ease, box-shadow .25s ease, border-top-color .25s ease;
    animation: ibsCardIn .6s cubic-bezier(.16,1,.3,1) calc(var(--ibs-idx) * 0.12s) both;
}
@keyframes ibsCardIn {
    from { opacity:0; transform:translateY(20px); }
    to   { opacity:1; transform:translateY(0); }
}
.ibs-ra__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 40px rgba(61,186,114,.18), 0 2px 8px rgba(0,0,0,.06);
    border-top-color: #2ea660;
}

/* SVG icon */
.ibs-ra__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: rgba(61,186,114,.10);
    border-radius: 12px;
    margin-bottom: 1.25rem;
    color: #3dba72;
    flex-shrink: 0;
    transition: background .25s, transform .25s;
}
.ibs-ra__card:hover .ibs-ra__icon {
    background: rgba(61,186,114,.20);
    transform: scale(1.08);
}
.ibs-ra__icon svg {
    width: 28px;
    height: 28px;
}

.ibs-ra__card-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0d2218;
    margin: 0 0 .65rem;
    line-height: 1.3;
}
.ibs-ra__card-desc {
    font-size: .9rem;
    color: #4a5a50;
    line-height: 1.6;
    margin: 0 0 1.25rem;
    flex: 1;
}
.ibs-ra__cta {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #3dba72;
    margin-top: auto;
    transition: letter-spacing .2s;
}
.ibs-ra__card:hover .ibs-ra__cta { letter-spacing: .1em; }

/* ============================================================
   LATEST NEWS  — Divi et_pb_section_2 targeting
   ============================================================ */

/* Section background */
.et_pb_section_2 {
    background: #f4f7f5 !important;
    padding: 5rem 0 !important;
}

/* Section heading row */
.et_pb_section_2 .et_pb_row:first-child {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 5vw 2.5rem !important;
}
.et_pb_section_2 .et_pb_row:first-child h2 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 800;
    color: #0d2218;
    margin-bottom: .5rem;
    position: relative;
    display: inline-block;
}
.et_pb_section_2 .et_pb_row:first-child h2::after {
    content: '';
    display: block;
    width: 3rem;
    height: 3px;
    background: #3dba72;
    margin: .6rem 0 0;
    border-radius: 2px;
}
.et_pb_section_2 .et_pb_row:first-child p {
    color: #4a5a50;
    font-size: 1.05rem;
    line-height: 1.6;
}

/* Cards row */
.et_pb_section_2 .et_pb_row:nth-child(2) {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 5vw !important;
    gap: 1.5rem;
}

/* Individual news card column */
.et_pb_section_2 .et_pb_row:nth-child(2) .et_pb_column {
    background: #ffffff;
    border: 1px solid rgba(61,186,114,0.15);
    border-radius: 8px;
    padding: 2rem !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.04);
    transition: transform .25s, box-shadow .25s;
    display: flex;
    flex-direction: column;
}
.et_pb_section_2 .et_pb_row:nth-child(2) .et_pb_column:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 32px rgba(61,186,114,.14), 0 2px 8px rgba(0,0,0,.06);
}

/* Date chip */
.et_pb_section_2 small {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #3dba72;
    display: inline-block;
    margin-bottom: .5rem;
}
/* News h3 */
.et_pb_section_2 .et_pb_row:nth-child(2) h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0d2218;
    margin-bottom: .65rem;
    line-height: 1.3;
}
/* News paragraph */
.et_pb_section_2 .et_pb_row:nth-child(2) .et_pb_text_inner p:not(:first-child) {
    font-size: .9rem;
    color: #4a5a50;
    line-height: 1.6;
}

/* Fix buttons in news section — override #5c8727 → brand green */
.et_pb_section_2 .et_pb_button {
    background: #3dba72 !important;
    border-color: #3dba72 !important;
    color: #fff !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    padding: .65rem 1.4rem !important;
    border-radius: 4px !important;
    margin-top: 1rem !important;
    transition: background .2s, transform .2s !important;
}
.et_pb_section_2 .et_pb_button:hover {
    background: #2ea660 !important;
    border-color: #2ea660 !important;
    transform: translateY(-2px) !important;
}

/* "All News" row */
.et_pb_section_2 .et_pb_row:nth-child(3) {
    max-width: 1380px;
    margin: 2rem auto 0;
    padding: 0 5vw !important;
    text-align: left;
}
.et_pb_section_2 .et_pb_row:nth-child(3) .et_pb_button,
.et_pb_section_2 .et_pb_row:nth-child(3) .et_pb_button_0 {
    background: transparent !important;
    background-color: transparent !important;
    color: #3dba72 !important;
    border: 2px solid #3dba72 !important;
    text-shadow: none !important;
}
.et_pb_section_2 .et_pb_row:nth-child(3) .et_pb_button:hover,
.et_pb_section_2 .et_pb_row:nth-child(3) .et_pb_button_0:hover {
    background: #3dba72 !important;
    background-color: #3dba72 !important;
    color: #fff !important;
}

/* ============================================================
   PARTNERS CTA  — et_pb_section_3
   ============================================================ */

.et_pb_section_3 {
    background: linear-gradient(135deg, #0d2218 0%, #1a3d26 40%, #0f2d1c 100%) !important;
    padding: 6rem 5vw !important;
    position: relative;
    overflow: hidden;
}
/* Decorative circles */
.et_pb_section_3::before,
.et_pb_section_3::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    opacity: .06;
    background: #3dba72;
    pointer-events: none;
}
.et_pb_section_3::before { width: 500px; height: 500px; top: -120px; right: -100px; }
.et_pb_section_3::after  { width: 300px; height: 300px; bottom: -80px; left: -60px; }

.et_pb_section_3 .et_pb_row {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
}

/* Overline */
.et_pb_section_3 .et_pb_row::before {
    content: '○ IB-S Research Network';
    display: block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(100,230,155,.7);
    margin-bottom: 1.2rem;
}

.et_pb_section_3 h2 {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.15 !important;
    margin-bottom: 1.1rem !important;
    text-shadow: 0 2px 20px rgba(0,0,0,.3) !important;
}

.et_pb_section_3 p {
    color: rgba(210,245,225,.82) !important;
    font-size: 1.1rem !important;
    line-height: 1.65 !important;
    margin-bottom: 2.2rem !important;
}

.et_pb_section_3 .et_pb_button {
    background: #3dba72 !important;
    border: 2px solid #3dba72 !important;
    color: #fff !important;
    font-size: .88rem !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    padding: .85rem 2rem !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 20px rgba(61,186,114,.35) !important;
    transition: all .25s !important;
}
.et_pb_section_3 .et_pb_button:hover {
    background: #2ea660 !important;
    border-color: #2ea660 !important;
    box-shadow: 0 6px 28px rgba(61,186,114,.55) !important;
    transform: translateY(-2px) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    .ibs-ra__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .ibs-ra__grid { grid-template-columns: 1fr; }
    .ibs-ra { padding: 4rem 5vw; }
    .et_pb_section_3 { padding: 4rem 5vw !important; }
}
