/* ============================================================
   OUR STORY — FULL RESPONSIVE, ANIMATED, CAPSULE-STYLED CSS
   Scoped under .rg-ourstory to avoid global conflicts
============================================================ */

.rg-ourstory {
    padding-bottom: 40px;
    overflow-x: hidden;
}

/* ------------------------------------------------------------
   HERO SECTION
------------------------------------------------------------ */
.rg-os-hero {
    background: linear-gradient(135deg, #002b5c, #0f4c81);
    color: #ffffff;
    padding: 60px 0;
}

.rg-os-hero-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: center;
}

.rg-os-hero-text h1 {
    font-size: 40px;
    font-weight: 900;
    margin-bottom: 10px;
}

.rg-os-hero-img {
    max-width: 420px;
    border-radius: 18px;
    box-shadow: var(--rg-shadow);
    transition: transform 0.6s ease;
}

.rg-os-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;
}

/* ------------------------------------------------------------
   ABOUT US — colourful shadowed box
------------------------------------------------------------ */
.rg-os-about-box {
    background: #fff7e6; /* soft gold tint */
    border-left: 6px solid var(--rg-gold);
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--rg-shadow);
}

/* ------------------------------------------------------------
   GENERIC SECTION BLOCKS
------------------------------------------------------------ */
.rg-os-section {
    padding: 50px 0;
}

.rg-os-two-col {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: flex-start;
}

.rg-os-text {
    flex: 1 1 360px;
}

.rg-os-media {
    flex: 1 1 300px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rg-os-card-img {
    width: 100%;
    border-radius: 16px;
    box-shadow: var(--rg-shadow);
    object-fit: cover;
}

/* ------------------------------------------------------------
   TIMELINE
------------------------------------------------------------ */
.rg-os-timeline {
    border-left: 4px solid var(--rg-gold);
    padding-left: 20px;
    margin-top: 20px;
}

.rg-os-timeline-item {
    margin-bottom: 18px;
    position: relative;
}

.rg-os-timeline-item::before {
    content: '';
    position: absolute;
    left: -12px;
    top: 4px;
    width: 12px;
    height: 12px;
    background: var(--rg-gold);
    border-radius: 50%;
}

/* ------------------------------------------------------------
   PRESENTATION SECTION
------------------------------------------------------------ */
.rg-os-media-box {
    background: #ffffff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--rg-shadow);
}

/* ------------------------------------------------------------
   HEADMISTRESSES GRID
------------------------------------------------------------ */
.rg-os-heads-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

.rg-os-head-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 16px;
    box-shadow: var(--rg-shadow);
    text-align: center;
    transition: transform 0.3s ease;
}

.rg-os-head-card:hover {
    transform: translateY(-6px);
}

.rg-os-head-img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 12px;
}

/* ------------------------------------------------------------
   BOARD GRID (WITH IMAGES)
------------------------------------------------------------ */
.rg-os-board-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

.rg-os-board-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 16px;
    box-shadow: var(--rg-shadow);
    text-align: center;
    transition: transform 0.3s ease;
}

.rg-os-board-card:hover {
    transform: translateY(-6px);
}

.rg-os-board-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 12px;
}

/* ------------------------------------------------------------
   EROGA SECTION — improved formatting
------------------------------------------------------------ */
.rg-os-eroga-box {
    background: #f0f7ff; /* soft blue tint */
    border-left: 6px solid #0f4c81;
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--rg-shadow);
}

.rg-os-eroga-img {
    width: 100%;
    border-radius: 16px;
    box-shadow: var(--rg-shadow);
}

/* ------------------------------------------------------------
   GALLERY PREVIEW
------------------------------------------------------------ */
.rg-os-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

.rg-os-gallery-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 16px;
    box-shadow: var(--rg-shadow);
    transition: transform 0.3s ease;
}

.rg-os-gallery-card:hover {
    transform: translateY(-6px);
}

.rg-os-gallery-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 12px;
}

/* ------------------------------------------------------------
   AUDIO PLAYER
------------------------------------------------------------ */
.rg-os-audio {
    width: 100%;
    margin-top: 10px;
}

/* ------------------------------------------------------------
   BUTTONS
------------------------------------------------------------ */
.rg-btn-gold {
    background: var(--rg-gold);
    color: var(--rg-dark-blue);
    padding: 10px 22px;
    border-radius: 30px;
    font-weight: 800;
    text-decoration: none;
    display: inline-block;
    margin-top: 10px;
}

.rg-btn-outline {
    background: transparent;
    border: 2px solid var(--rg-gold);
    color: var(--rg-dark-blue);
    padding: 10px 22px;
    border-radius: 30px;
    font-weight: 800;
    text-decoration: none;
    display: inline-block;
    margin-top: 10px;
}

.rg-btn-outline:hover {
    background: var(--rg-gold);
    color: var(--rg-dark-blue);
}

/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */
@media (max-width: 768px) {
    .rg-os-hero-inner {
        flex-direction: column;
        text-align: center;
    }

    .rg-os-two-col {
        flex-direction: column;
    }

    .rg-os-head-img,
    .rg-os-board-img,
    .rg-os-gallery-img {
        height: 200px;
    }
}
