/* --- SECTION 2: OUR STORY (BLUE THEME) --- */
.wm-story-section {
    padding: var(--spacing-xxl) 0;
    background-color: #ffffff;
}

.wm-story-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 80px; /* Increased gap for a more premium, airy feel */
    align-items: center;
}

.wm-story-heading {
    font-family: var(--font-heading);
    font-weight: var(--fw-bold);
    font-size: var(--fs-h2);
    /* Using our new dark section heading blue */
    color: var(--color-heading-section);
    margin-bottom: var(--spacing-lg);
    letter-spacing: var(--ls-wide);
    position: relative;
}

.wm-story-content p {
    margin-bottom: var(--spacing-md);
    /* Slate blue-grey for modern readability */
    color: #334155; 
    line-height: 1.8; 
    font-size: var(--fs-body);
    text-align: justify;
    letter-spacing: var(--ls-wide);
}

.wm-story-image-column {
    display: flex;
    justify-content: center;
}

.wm-story-image-wrapper {
    position: relative;
    width: 100%;
    max-width: 400px;
}

.wm-story-image {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    /* Deep blue-tinted shadow */
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15);
    position: relative;
    z-index: 2;
}

.wm-story-accent-frame {
    position: absolute;
    bottom: -20px;
    left: -20px;
    width: 100%;
    height: 100%;
    /* Updated from beige to our light theme blue */
    background-color: var(--color-hero-bg); 
    border-radius: var(--radius-sm);
    /* Added a subtle blue border to the frame */
    border: 2px solid var(--color-accent-light);
    z-index: 1;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 992px) {
    .wm-story-grid {
        grid-template-columns: 1fr;
        gap: 60px;
        text-align: center;
    }

    .wm-story-heading::after {
        margin: 10px auto 0 auto;
    }

    .wm-story-image-column {
        padding: 0 20px;
    }
    
    .wm-story-image {
        height: 350px;
    }
}

@media (max-width: 500px) {
    .wm-story-content p {
        text-align: left;
    }
}

/* --- SECTION 3: PILLARS (BLUE THEME) --- */
.wm-pillars-section {
    /* Subtle blue-grey background instead of warm beige */
    background-color: var(--color-hero-bg); 
    border-bottom: 1px solid var(--color-border);
    padding: var(--spacing-xxl) 0;
}

.wm-pillars-intro {
    text-align: center;
    margin-bottom: var(--spacing-xl);
}

.wm-pillars-heading {
    font-family: var(--font-heading);
    font-weight: var(--fw-bold);
    font-size: var(--fs-h2);
    color: var(--color-heading-section);
    letter-spacing: var(--ls-wide);
}

.wm-pillars-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px; /* Slightly wider gap for breathing room */
}

.wm-pillar-card {
    background: #FFFFFF; 
    padding: 45px 30px;
    border-radius: var(--radius-sm); /* Sharper, more technical corners */
    border: 1px solid rgba(15, 23, 42, 0.08); 
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); /* Smoother interaction */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 1 calc(33.333% - 24px); /* Changed to 3-column layout on desktop for better flow */
    min-width: 280px;
}

.wm-pillar-card:hover {
    transform: translateY(-10px);
    border-color: var(--color-accent);
    /* Blue-tinted shadow on hover */
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.1);
}

.wm-pillar-icon {
    color: var(--color-accent);
    margin-bottom: 25px;
    /* Soft Blue background for icons */
    background: var(--color-accent-light); 
    width: 64px; 
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    transition: transform 0.3s ease;
}

.wm-pillar-card:hover .wm-pillar-icon {
    transform: scale(1.1) rotate(5deg);
}

.wm-pillar-card h3 {
    font-family: var(--font-heading);
    font-size: 1.15rem; 
    font-weight: var(--fw-bold);
    color: var(--color-heading);
    margin-bottom: 12px;
    letter-spacing: var(--ls-wide);
}

.wm-pillar-card p {
    font-size: var(--fs-small); 
    color: #64748b; /* Slate blue-grey text */
    line-height: var(--lh-body);
    letter-spacing: var(--ls-wide);
}

/* --- RESPONSIVENESS --- */

/* Tablet (Pillars 2x2 or 2-column) */
@media (max-width: 1100px) {
    .wm-pillar-card { flex: 0 1 calc(50% - 24px); }
}

/* Mobile Adjustments */
@media (max-width: 600px) {
    .wm-pillars-section {
        padding: var(--spacing-xl) 0;
    }
    
    .wm-pillars-heading { 
        font-size: 1.75rem; 
    }
    
    .wm-pillar-card { 
        flex: 0 1 100%; 
        min-width: 100%; 
        padding: 35px 20px;
    }
    
    .wm-pillar-icon {
        width: 56px;
        height: 56px;
    }
}