/* ==========================================================================
   RESET & SYSTEM VARIABLE STANDARDS
   ========================================================================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: #333344;
    background-color: #fcfdfe;
}

/* Base layout constraints matching web application container standards */
.ContentAreaWeb {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* ==========================================================================
   EDGE-TO-EDGE SPLIT BACKGROUND HERO BANNER
   ========================================================================== */
.about-hero-section {
    width: 100%;
    position: relative;
    background-color: #05220c;
    /* Uses gradient transitions to blend textual cards seamlessly into the structural background file */
    background-image: linear-gradient(to right, #05220c 45%, rgba(5, 34, 12, 0.35) 75%), 
                      url('/images/School_building_front.jpg'); 
    background-size: cover;
    background-position: center right;
    padding: 4.5rem 0;
    overflow: hidden;
}

.hero-wrapper {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    align-items: center;
}

.hero-left-text {
    color: #ffffff;
}

.hero-left-text h1 {
    font-size: 2.6rem;
    font-weight: 700;
    letter-spacing: -0.5px;
    margin-bottom: 0.5rem;
}

.hero-tagline {
    font-size: 1.25rem;
    color: #ffd700; /* High-contrast golden tone matching brand accents */
    font-weight: 600;
    margin-bottom: 1.25rem;
}

.hero-desc {
    font-size: 1.02rem;
    line-height: 1.65;
    opacity: 0.9;
    max-width: 550px;
}

/* ==========================================================================
   BREADCRUMBS ROW
   ========================================================================== */
.breadcrumb-bar {
    background-color: #f4f9f6;
    border-bottom: 1px solid #e1ebe6;
    padding: 0.75rem 0;
}

.breadcrumb-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: #666677;
}

.breadcrumb-wrapper a {
    color: #0b3b17;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.breadcrumb-wrapper a:hover {
    color: #1b632b;
}

.bc-separator {
    color: #bbbbcc;
    font-size: 0.75rem;
}

.bc-current {
    color: #555566;
}

/* ==========================================================================
   MAIN CORE CONTENT GRID
   ========================================================================== */
.about-main-content {
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.about-two-column-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 3rem;
    align-items: start;
}

/* Left Section Blocks */
.content-segment {
    margin-bottom: 2.5rem;
}

.segment-title {
    font-size: 1.6rem;
    color: #0b3b17;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.4rem;
    font-weight: 700;
}

/* The exact left underline aesthetic indicator shown in the mockups */
.segment-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background-color: #0b3b17;
    border-radius: 2px;
}

.segment-paragraph {
    font-size: 1.02rem;
    line-height: 1.65;
    color: #4a4a55;
}

/* ==========================================================================
   MISSION & VALUES SIDE-BY-SIDE GRID
   ========================================================================== */
.pillars-dual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 3.5rem;
}

.pillar-flex-card {
    background: #ffffff;
    border: 1px solid #ebf2ee;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(11, 59, 23, 0.02);
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.pillar-icon-circle {
    width: 44px;
    height: 44px;
    background-color: #eaf5ee;
    color: #0b3b17;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.pillar-info-text h3 {
    font-size: 1.15rem;
    color: #0b3b17;
    margin-bottom: 0.5rem;
    font-weight: 700;
}

.pillar-info-text p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #555566;
}

/* Internal Green Checkmark Lists */
.values-checkmark-list {
    list-style: none;
}

.values-checkmark-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.93rem;
    margin-bottom: 0.5rem;
    color: #444455;
    font-weight: 500;
}

.values-checkmark-list li i {
    color: #128236;
    font-size: 1rem;
}

/* ==========================================================================
   LEADERSHIP PROFILES GRID
   ========================================================================== */
.leadership-horizontal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.executive-profile-card {
    display: flex;
    gap: 1.25rem;
    background-color: #ffffff;
    border: 1px solid #ebf2ee;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 4px 15px rgba(11, 59, 23, 0.02);
    align-items: flex-start;
}

.executive-img-box {
    width: 105px;
    height: 125px;
    border-radius: 8px;
    overflow: hidden;
    flex: 0 0 105px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.executive-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.executive-bio-box h4 {
    font-size: 1.05rem;
    color: #0b3b17;
    margin-bottom: 0.15rem;
    font-weight: 700;
}

.executive-role {
    display: inline-block;
    font-size: 0.85rem;
    color: #666677;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.executive-bio-box p {
    font-size: 0.88rem;
    line-height: 1.5;
    color: #555566;
}

/* ==========================================================================
   RIGHT SIDEBAR WIDGETS
   ========================================================================== */
.right-sidebar-panel {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.sidebar-widget-card {
    background-color: #ffffff;
    border: 1px solid #eef4f0;
    border-radius: 14px;
    padding: 1.5rem;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.03);
}

.sidebar-widget-card h3 {
    font-size: 1.25rem;
    color: #0b3b17;
    margin-bottom: 1rem;
    font-weight: 700;
}

/* Quick Facts List Settings */
.facts-icon-list {
    list-style: none;
}

.facts-icon-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0.75rem 0;
    border-bottom: 1px dashed #eef4f0;
    font-size: 0.93rem;
    color: #444455;
}

.facts-icon-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.facts-icon-list li i {
    width: 20px;
    color: #128236;
    font-size: 1.05rem;
    text-align: center;
}

/* Contact List Rows */
.contact-icon-rows {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.contact-row-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.contact-row-item i {
    color: #128236;
    font-size: 1rem;
    margin-top: 3px;
    width: 20px;
    text-align: center;
}

.contact-row-item p {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #4a4a55;
}

/* Core Action CTA Buttons */
.sidebar-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    background-color: #0b3b17;
    color: #ffffff;
    text-decoration: none;
    padding: 0.8rem;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.95rem;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.sidebar-action-btn:hover {
    background-color: #115222;
}

.sidebar-action-btn:active {
    transform: scale(0.99);
}

/* ==========================================================================
   MEDIA VIEWPORT ADJUSTMENTS (RESPONSIVENESS)
   ========================================================================== */

/* 1. Tablet and Small Laptops */
@media (max-width: 1024px) {
    .about-two-column-layout {
        grid-template-columns: 1fr; /* Sidebar collapses to form a clean vertical list */
        gap: 2.5rem;
    }
    
    .right-sidebar-panel {
        display: grid;
        grid-template-columns: 1fr 1fr; /* Sidebar panels balance cleanly side-by-side */
        gap: 1.5rem;
    }
    
    .hero-left-text h1 {
        font-size: 2.2rem;
    }
}

/* 2. Medium and Small Phablets */
@media (max-width: 768px) {
    .hero-wrapper {
        grid-template-columns: 1fr;
    }
    
    .about-hero-section {
        background-image: linear-gradient(180deg, #05220c 70%, rgba(5, 34, 12, 0.85) 100%);
        padding: 3rem 0;
    }
    
    .pillars-dual-grid, 
    .leadership-horizontal-grid,
    .right-sidebar-panel {
        grid-template-columns: 1fr; /* Complex nested multi-column elements downscale gracefully into standard structural single-rows */
    }
}

/* 3. Tiny Mobile Viewports */
@media (max-width: 480px) {
    .executive-profile-card {
        flex-direction: column; /* Profile picture drops perfectly centered above text elements */
        align-items: center;
        text-align: center;
    }
    
    .hero-left-text h1 {
        font-size: 1.8rem;
    }
}