/* ============================================================
   STUDENT LIFE — Responsive, Animated, Capsule-Styled
   Scoped under .rg-studentlife
============================================================ */

.rg-studentlife {
    padding-bottom: 40px;
    overflow-x: hidden;
}

/* ------------------------------------------------------------
   HERO SECTION
------------------------------------------------------------ */
.rg-sl-hero {
    background: linear-gradient(135deg, #002b5c, #0f4c81);
    color: #ffffff;
    padding: 60px 0;
}

.rg-sl-hero-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: center;
}

.rg-sl-hero-text h1 {
    font-size: 40px;
    font-weight: 900;
    margin-bottom: 10px;
}

.rg-sl-hero-img {
    max-width: 420px;
    border-radius: 18px;
    box-shadow: var(--rg-shadow);
    transition: transform 0.6s ease;
}

.rg-sl-hero-img:hover {
    transform: translateY(-8px);
}

/* ------------------------------------------------------------
   CAPSULES
------------------------------------------------------------ */
.rg-pill-gold,
.rg-pill-blue,
.rg-pill-clear {
    display: inline-block;
    padding: 6px 18px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 13px;
    margin-bottom: 12px;
}

.rg-pill-gold {
    background: var(--rg-gold);
    color: var(--rg-dark-blue);
}

.rg-pill-blue {
    background: #0f4c81;
    color: #ffffff;
}

.rg-pill-clear {
    background: #ffffff;
    color: #002b5c;
    border: 2px solid #002b5c;
}

/* ------------------------------------------------------------
   GENERIC SECTION BLOCKS
------------------------------------------------------------ */
.rg-sl-section {
    padding: 50px 0;
}

.rg-sl-two-col {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: flex-start;
}

.rg-sl-box {
    flex: 1 1 360px;
    background: #fff7e6;
    border-left: 6px solid var(--rg-gold);
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--rg-shadow);
}

.rg-sl-img {
    flex: 1 1 360px;
    width: 100%;
    border-radius: 16px;
    box-shadow: var(--rg-shadow);
}

/* ------------------------------------------------------------
   GRID CARDS
------------------------------------------------------------ */
.rg-sl-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

.rg-sl-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 20px;
    box-shadow: var(--rg-shadow);
    transition: transform 0.3s ease;
}

.rg-sl-card:hover {
    transform: translateY(-6px);
}

/* ------------------------------------------------------------
   LISTS
------------------------------------------------------------ */
.rg-sl-list {
    margin-top: 12px;
    padding-left: 20px;
}

.rg-sl-list li {
    margin-bottom: 8px;
}

/* ------------------------------------------------------------
   GALLERY PREVIEW
------------------------------------------------------------ */
.rg-sl-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

.rg-sl-gallery-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 16px;
    box-shadow: var(--rg-shadow);
    transition: transform 0.3s ease;
}

.rg-sl-gallery-card:hover {
    transform: translateY(-6px);
}

.rg-sl-gallery-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 12px;
}

/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */
@media (max-width: 768px) {
    .rg-sl-hero-inner {
        flex-direction: column;
        text-align: center;
    }

    .rg-sl-two-col {
        flex-direction: column;
    }

    .rg-sl-img {
        height: auto;
    }
}
