/* Import the main style file to inherit global variables and shared styles */
@import url("style.css");

/* --- About Page Specific Styles --- */

/* Refined base font sizes for a sleeker, high-quality look */
body { font-size: 15.5px; } /* Base body text size */
p, .section-subtitle { font-size: 1em; line-height: 1.75; color: var(--text-medium); } /* Relative to body font size */
h1, h2, h3, h4 { font-family: var(--font-primary); font-weight: 700; line-height: 1.3; color: var(--text-dark);}
h1 { font-size: clamp(3.2em, 6vw, 5.5em); font-weight: 800; line-height: 1.1; margin-bottom: 0.2em;} /* Larger, bolder H1 */
h2.section-title { font-size: clamp(2.4em, 4.5vw, 3.5em); text-align: center; margin-bottom: 0.5em; }
h3 { font-size: clamp(1.6em, 3.5vw, 2em); } /* Larger H3s */
h4 { font-size: clamp(1.2em, 2.5vw, 1.4em); font-weight: 600;}

/* Adjusting component-specific text sizes based on new base */
.nav-link { font-size: 0.95rem; }
.btn { font-size: 0.9rem; padding: 1.1em 2.2em;} /* Slightly larger padding */
.btn-course-view { font-size: 0.85rem; padding: 0.9em 1.8em; }
.mv-card h4 { font-size: 1.3em; }
.mv-card p { font-size: 0.95em; line-height: 1.6;}
.belief-item h4 { font-size: 1.3em; }
.belief-item p { font-size: 0.95em; }
.team-member-info h4 { font-size: 1.2em; }
.team-title { font-size: 0.9rem; }
.team-bio { font-size: 0.85em; line-height: 1.6;}
.stat-number { font-size: clamp(2.8em, 5vw, 3.8em); } /* Larger stats numbers */
.stat-text { font-size: 1em; } /* Consistent stat text size */


/* NOTE: The 'body' styles from logo.html are NOT copied here as they would break main page layout */

/* Styles for the NEW Pulsating Shards logo container within the header */
.logo .logo-container-shards {
    display: flex;
    align-items: center; /* Align shards vertically */
    gap: 4px; /* Reduced space between shards for header */
    transform: skewX(-10deg); /* Adjusted skew angle for header */
    /* Ensure this container fits nicely in the header */
    padding: 0;
    background-color: transparent;
    box-shadow: none;
}

.logo .shard {
    width: 8px; /* Reduced width for header */
    height: 40px; /* Base reduced height for header */
    background: linear-gradient(135deg, #D90429, #8D0000); /* Keep gradient */
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); /* Keep Hexagon shape */
    opacity: 0.7;
    animation: pulseShardHeader 2.5s infinite ease-in-out; /* Use header-specific animation */
    /* Adjusted box-shadow for header size */
    box-shadow: 0 0 5px #D90429, 0 0 10px #8D0000;
        /* Ensure shards don't affect layout much */
        flex-shrink: 0;
}

    /* Adjust heights for variety in the header */
    .logo .shard:nth-child(1) { animation-delay: 0s; height: 40px;}
    .logo .shard:nth-child(2) { animation-delay: 0.2s; height: 45px;} /* Slightly taller */
    .logo .shard:nth-child(3) { animation-delay: 0.4s; height: 50px;} /* Tallest */
    .logo .shard:nth-child(4) { animation-delay: 0.6s; height: 45px;} /* Slightly taller */
    .logo .shard:nth-child(5) { animation-delay: 0.8s; height: 40px;} /* Back to base height */


/* Keyframes for Animations - Adjusted for header size */
@keyframes pulseShardHeader {
    0%, 100% {
        transform: scaleY(1); /* No translateY needed if aligned center */
        opacity: 0.7;
        /* Adjusted box shadow for pulse, matching header size */
        box-shadow: 0 0 5px #D90429, 0 0 10px #8D0000;
    }
    50% {
        transform: scaleY(1.1); /* Scale vertically */
        opacity: 1;
        /* Adjusted enhanced box shadow for pulse */
        box-shadow: 0 0 8px #D90429, 0 0 15px #8D0000, 0 0 20px #D90429;
    }
}

/* Dynamic Intro Section */
#intro-statement {
    padding-top: calc(var(--header-height) + 80px); /* Header offset */
    padding-bottom: 120px;
    min-height: 90vh; /* Full viewport height */
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at top left, var(--primary-red-glow), transparent 50%),
                radial-gradient(circle at bottom right, var(--accent-color), transparent 50%); /* Subtle radial gradient */
    background-color: var(--bg-white); /* Fallback */
    isolation: isolate;
}
.intro-background-elements {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: -2;

    /* Example: Animated grid pattern or particles */
    /* background-image: linear-gradient(var(--border-color) 1px, transparent 1px), linear-gradient(to right, var(--border-color) 1px, transparent 1px); */
    /* background-size: 20px 20px; */
    /* opacity: 0.3; */
     /* Or use a complex SVG pattern */
}

.intro-container {
    display: grid;
    grid-template-columns: 1.5fr 1fr; /* Content wider than visual */
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.intro-tagline {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-red);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 15px;
    padding: 6px 14px;
    background-color: rgba(var(--primary-red-glow), 0.15);
    border-radius: var(--border-radius-pill);
     border: 1px solid rgba(var(--primary-red-glow), 0.4);
    transform: translateY(20px); opacity: 0; /* Initial state for animation */
    will-change: transform, opacity;
}
.intro-tagline.is-visible { transform: translateY(0); opacity: 1; }


.intro-title {
    color: var(--text-dark);
    margin-bottom: 0; /* Subtitle is part of h1 */
    transform: translateY(30px); opacity: 0; /* Initial state */
    will-change: transform, opacity;
}
.intro-title.is-visible { transform: translateY(0); opacity: 1; }

.statement-subtitle {
     display: block; /* New subtitle below main line */
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    color: var(--text-medium);
    max-width: 600px;
    margin-top: 15px; /* Space above subtitle */
    line-height: 1.6;
     transform: translateY(30px); opacity: 0; /* Initial state */
    will-change: transform, opacity;
}
.statement-subtitle.is-visible { transform: translateY(0); opacity: 1; }


.intro-cta-group {
    display: flex;
    gap: 25px;
    margin-top: 40px;
     transform: translateY(30px); opacity: 0; /* Initial state */
    will-change: transform, opacity;
}
.intro-cta-group.is-visible { transform: translateY(0); opacity: 1; }

.intro-visual {
    position: relative;
    width: 100%; height: 500px; /* Fixed height or use aspect-ratio */
    display: flex;
    align-items: center;
    justify-content: center;
     transform: translateX(50px); opacity: 0; /* Initial state */
    will-change: transform, opacity;
}
.intro-visual.is-visible { transform: translateX(0); opacity: 1; }


.abstract-shape-1, .abstract-shape-2 {
    position: absolute;
    background: linear-gradient(45deg, var(--primary-red), var(--accent-color)); /* Gradient shapes */
    border-radius: 50%;
    opacity: 0.3;
    filter: blur(50px);
    animation: pulseColor 8s infinite ease-in-out alternate, floatElements 12s infinite ease-in-out alternate; /* Combine animations */
     will-change: transform, opacity, filter;
}
.abstract-shape-1 { width: 400px; height: 400px; top: 0; left: 0; animation-delay: -2s; }
.abstract-shape-2 { width: 350px; height: 350px; bottom: 0; right: 0; animation-delay: -6s; animation-direction: alternate-reverse; }

.abstract-icon {
    font-size: 6rem; /* Large icon */
    color: var(--primary-red-lighter); /* Color matching brand */
    filter: drop-shadow(0 0 15px rgba(var(--primary-red-glow), 0.8)); /* Strong glow */
    animation: bounceIcon 3s infinite ease-in-out; /* Gentle bounce */
    position: relative; z-index: 1;
     will-change: transform, filter;
}
@keyframes pulseColor {
    0% { opacity: 0.3; }
    100% { opacity: 0.45; }
}
@keyframes bounceIcon {
    0%, 100% { transform: translateY(0) rotate(-5deg); }
    50% { transform: translateY(-15px) rotate(5deg); }
}


/* Story & Purpose Section */
#story-purpose { /* Uses bg-light */
     padding: 100px 0;
     position: relative;
     overflow: hidden;
}
.story-purpose-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}
.story-block { /* Contains the story title, paragraphs, and inline image */
    padding-right: 40px;
     border-right: 1px solid var(--border-color);
}
.story-block p { margin-bottom: 1.5em; line-height: 1.8;}
.section-title-left { /* Inherited */ text-align: left; }

.story-image-inline {
     margin: 30px 0; /* Space around the image */
    width: 100%; /* Ensure it takes full width of the block */
    padding: 15px; /* Padding for dynamic border effect */
    background: radial-gradient(circle, var(--primary-red-lighter) 0%, transparent 70%); /* Subtle radial background behind image */
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
     isolation: isolate;
    transition: transform 0.4s ease-out, box-shadow 0.4s ease-out;
}
.story-image-inline:hover {
    transform: scale(1.02) rotate(-1deg); /* Slight tilt and scale on hover */
     box-shadow: var(--shadow-lg);
}
.story-image-inline::before { /* Dynamic border effect */
    content: '';
    position: absolute;
    top: -10%; left: -10%;
    width: 120%; height: 120%;
    border: 5px solid transparent;
     background: linear-gradient(45deg, var(--primary-red), var(--accent-color)) border-box; /* Gradient border */
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    border-radius: var(--border-radius-lg);
    animation: rotateBorder 6s linear infinite; /* Rotating border animation */
    z-index: 1;
    pointer-events: none;
}
@keyframes rotateBorder {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.story-image-inline img {
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-sm); /* Slightly less rounded image */
    display: block; /* Remove extra space below image */
    position: relative; z-index: 2;
     transition: transform 0.3s ease-out;
}
.story-image-inline:hover img { transform: scale(1.03); } /* Gentle zoom */


.purpose-block { /* Contains the mission and vision cards */
    padding: 40px;
    border-radius: var(--border-radius-xl);
    background: var(--bg-gradient-dark);
    color: var(--text-light);
    box-shadow: var(--shadow-xl);
    transform: translateY(-30px);
    transition: transform 0.6s ease-out, box-shadow 0.6s ease-out;
    position: relative; z-index: 1; /* Ensure it's above section background */
    overflow: hidden; /* For potential internal effects */
     isolation: isolate;
}
.purpose-block:hover {
    transform: translateY(-40px);
     box-shadow: 0 30px 80px rgba(0,0,0,0.4);
}
/* Background pattern inside purpose block */
.purpose-block::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(var(--primary-red-glow), 0.08) 0%, transparent 30%);
     background-size: 300px 300px;
    animation: subtlePan 15s linear infinite alternate; /* Subtle panning */
    z-index: -1;
    pointer-events: none;
}
@keyframes subtlePan {
    0% { background-position: 0% 0%; }
    100% { background-position: 100% 100%; }
}


.purpose-block h3 {
    color: var(--text-light);
    margin-bottom: 30px;
    text-align: center;
    font-size: 2em;
    position: relative;
    z-index: 1;
}
.purpose-block h3::after { /* Underline for purpose title */
    content: '';
    position: absolute;
    bottom: -10px; left: 50%; transform: translateX(-50%);
    width: 80px; height: 4px; /* Wider underline */
    background-color: var(--primary-red-lighter);
    border-radius: 2px;
}
.mv-card { /* Cards inside the purpose block */
    background-color: rgba(255,255,255,0.05);
    backdrop-filter: blur(5px); /* More blur */
    -webkit-backdrop-filter: blur(5px);
    padding: 30px; /* More padding */
    border-radius: var(--border-radius-lg);
    margin-bottom: 25px;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: var(--shadow-xs) rgba(0,0,0,0.1);
    transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
    position: relative; z-index: 1; /* Above background pattern */
}
.mv-card:last-child { margin-bottom: 0; }
.mv-card:hover {
     background-color: rgba(255,255,255,0.1);
     border-color: var(--accent-color); /* Accent border on hover */
}
.mv-card .mv-icon {
    font-size: 2.8rem; /* Larger icon */
    color: var(--primary-red-lighter); /* Primary color for icons */
    margin-bottom: 15px;
    filter: drop-shadow(0 0 5px rgba(var(--primary-red-glow), 0.5)); /* Subtle glow */
}
.mv-card h4 { color: var(--text-light); font-size: 1.4em; margin-bottom: 10px; } /* Larger heading */
.mv-card p { color: var(--text-light-variant); font-size: 1em; line-height: 1.7;}


/* What We Believe Section */
.beliefs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); /* Wider minmax */
    gap: 30px;
    margin-top: 50px;
}
.belief-item { /* Inherits torch-jelly-effect */
    background-color: rgba(255,255,255,0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--border-radius-xl); /* More rounded */
    padding: 40px 25px; /* More padding */
    text-align: center;
    box-shadow: var(--shadow-md) rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.15);
    color: var(--text-light);
     position: relative; z-index: 1;
     transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.3s ease;
}
.belief-item:hover {
    transform: scale(1.08); 
     box-shadow: var(--shadow-lg) rgba(0,0,0,0.3);
     border-color: var(--accent-color);
}

.belief-icon {
    font-size: 3.5rem; /* Larger icon */
    color: var(--accent-color);
    background: none;
    padding: 0;
    border-radius: 0;
    display: block;
    margin: 0 auto 20px auto; /* More space below icon */
     position: relative; z-index: 2;
     transition: transform 0.4s ease-out, color 0.3s ease-out, filter 0.3s ease-out;
     filter: drop-shadow(0 0 8px rgba(var(--accent-color), 0.5)); /* Stronger initial glow */
}
.belief-item:hover .belief-icon {
    transform: scale(1.15) rotate(8deg); /* More dramatic icon animation */
    color: var(--accent-color);
     filter: drop-shadow(0 0 15px rgba(var(--accent-color), 0.8));
}
.belief-item h4 { color: var(--text-light); font-size: 1.4em; margin-bottom: 12px; position: relative; z-index: 2; } /* Larger heading */
.belief-item p { color: var(--text-light-variant); font-size: 1em; margin-bottom: 0; position: relative; z-index: 2;} /* Larger paragraph */


/* Our Team Section */
.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 40px;
    margin-top: 50px;
    @media (min-width: 1600px) {
        grid-template-columns: repeat(4, 1fr);
         gap: 30px;
    }
}
.team-member { /* Inherits torch-jelly-effect */
    background-color: var(--bg-white);
    border-radius: var(--border-radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    text-align: center;
    border: 1px solid var(--border-color);
    position: relative; z-index: 1;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.3s ease;
}
.team-member:hover {
    transform: scale(1.02); /* More pronounced effect on card hover */
     box-shadow: 0 15px 35px var(--shadow-lg);
     border-color: var(--primary-red-lighter);
}

.team-member-img {
    width: 160px; /* Even larger avatar */
    height: 160px;
    margin: 30px auto 25px auto; /* Adjusted margin */
    border-radius: 50%;
    overflow: hidden;
    border: 6px solid var(--primary-red);
    box-shadow: var(--shadow-lg) rgba(0,0,0,0.2); /* Stronger shadow around image */
    position: relative; z-index: 2;
     transition: transform 0.3s ease-out, border-color 0.3s ease-out;
     flex-shrink: 0;
}
.team-member:hover .team-member-img {
    transform: scale(1.08) rotate(5deg); /* More pronounced effect on card hover */
    border-color: var(--accent-color);
}
.team-member-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-member-info {
    padding: 0 25px 25px 25px; /* Adjusted padding */
    display: flex;
    flex-direction: column;
    flex-grow: 1;
     position: relative; z-index: 2;
}
.team-member-info h4 { font-size: 1.3em; margin-bottom: 8px; }
.team-title { font-size: 0.95rem; margin-bottom: 15px; flex-shrink: 0;}
.team-bio { font-size: 0.9em; margin-bottom: 20px; flex-grow: 1; line-height: 1.6;}
.team-socials {
    margin-top: auto;
    padding-top: 12px; /* More space */
     border-top: 1px solid var(--border-color);
}
.team-socials a {
    font-size: 1.5em; /* Larger icons */
    color: var(--text-medium);
    margin: 0 10px;
    transition: color var(--transition-fast), transform var(--transition-fast);
}
.team-socials a:hover {
    color: var(--primary-red);
    transform: translateY(-4px) scale(1.2); /* More pronounced lift and pop */
}


/* Impact Section - Styles inherited */

/* About CTA Section */
.about-cta-container {
    text-align: center;
    padding: 60px; /* More padding */
    background: var(--bg-gradient-dark); /* Dark gradient background */
    color: var(--text-light);
    border-radius: var(--border-radius-xl); /* More rounded */
    box-shadow: var(--shadow-lg);
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.about-cta-container::before { /* Abstract shape */
    content: '';
    position: absolute;
    top: -80px; left: -80px;
    width: 250px; height: 250px;
    background: rgba(var(--primary-red-glow), 0.15);
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    filter: blur(50px);
    animation: floatElements 18s infinite ease-in-out alternate; /* Reuse animation */
    z-index: -1;
}
.about-cta-container::after { /* Abstract shape */
    content: '';
    position: absolute;
    bottom: -80px; right: -80px;
    width: 300px; height: 300px;
    background: rgba(var(--accent-color), 0.15);
    border-radius: 70% 30% 30% 70% / 70% 70% 30% 30%;
    filter: blur(60px);
    animation: floatElements 22s infinite ease-in-out alternate-reverse; /* Reuse & reverse */
    z-index: -1;
}

.about-cta-container .section-title { margin-bottom: 15px; color: var(--text-light); }
.about-cta-container .section-subtitle { margin-bottom: 40px; color: var(--text-light-variant); }
.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 25px;
    flex-wrap: wrap;
}
.cta-buttons .btn { min-width: 200px; }
.about-cta-container .btn-primary { /* Style primary button for dark background */
     background-color: var(--primary-red);
     color: var(--text-light);
     border-color: var(--primary-red);
     box-shadow: var(--shadow-md) rgba(var(--primary-red-glow), 0.5);
}
.about-cta-container .btn-primary:hover {
     background-color: var(--primary-red-darker);
     border-color: var(--primary-red-darker);
     box-shadow: var(--shadow-lg) rgba(var(--primary-red-glow), 0.7);
     transform: translateY(-4px);
}
.about-cta-container .btn-secondary { /* Style secondary button for dark background */
     background-color: transparent;
     color: var(--accent-color); /* Accent color for secondary */
     border-color: var(--accent-color);
     box-shadow: var(--shadow-md) rgba(var(--accent-color), 0.3);
}
.about-cta-container .btn-secondary:hover {
     background-color: var(--accent-color);
     color: var(--bg-darker-gray); /* Dark text on accent hover */
     border-color: var(--accent-color);
     box-shadow: var(--shadow-lg) rgba(var(--accent-color), 0.5);
     transform: translateY(-4px);
}


/* Footer - Styles inherited */



/* Footer - Styles inherited */


/* --- Responsive Design for About Page --- */
@media (max-width: 992px) {
    /* Inherits many mobile styles from style.css */

    #intro-statement { padding-top: calc(var(--header-height) + 60px); padding-bottom: 80px; min-height: unset;}
    .intro-container { grid-template-columns: 1fr; gap: 60px; text-align: center;}
    .intro-content { order: 2; }
     .intro-tagline, .intro-title, .statement-subtitle, .intro-cta-group { transform: none !important; opacity: 1 !important; /* Disable initial animation for mobile, let fadeIn work */}
     .intro-title { margin-bottom: 15px; }
     .statement-subtitle { margin: 10px auto 0 auto; max-width: 90%; font-size: 1.1rem;}
     .intro-cta-group { justify-content: center; margin-top: 30px; gap: 20px;}
     .intro-visual { order: 1; height: 300px; margin-bottom: 30px; transform: none !important; opacity: 1 !important; /* Disable initial animation */}
     .abstract-shape-1, .abstract-shape-2 { width: 200px; height: 200px; filter: blur(40px); }
     .abstract-icon { font-size: 4rem; animation: bounceIcon 3s infinite ease-in-out; filter: drop-shadow(0 0 10px rgba(var(--primary-red-glow), 0.6)); } /* Keep icon animation */
     @keyframes bounceIcon { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-10px) rotate(3deg); } } /* Adjusted bounce */


    #story-purpose { padding: 80px 0;}
    .story-purpose-container { grid-template-columns: 1fr; gap: 60px; }
    .story-block {
        padding-right: 0;
        border-right: none;
        padding-bottom: 30px;
        border-bottom: 1px solid var(--border-color);
    }
     .story-block p { font-size: 0.95em;}
     .story-image-inline { margin: 25px auto; max-width: 400px; padding: 10px; border-radius: var(--border-radius-md); transform: none !important; opacity: 1 !important; /* Disable initial animation */}
      .story-image-inline:hover { transform: none; box-shadow: var(--shadow-md);}
      .story-image-inline::before { animation: rotateBorder 6s linear infinite; border-radius: var(--border-radius-md);} /* Keep border animation */
      .story-image-inline:hover img { transform: scale(1); } /* Disable zoom */

    .purpose-block {
        transform: translateY(0) !important; opacity: 1 !important; /* Disable initial animation */
        box-shadow: var(--shadow-lg);
        padding: 30px;
    }
    .purpose-block:hover { transform: translateY(0); box-shadow: var(--shadow-xl); }
    .purpose-block::before { display: none; } /* Hide background pattern */
    .purpose-block h3 { font-size: 1.8em; margin-bottom: 25px;}
    .purpose-block h3::after { width: 60px; }
    .mv-card { padding: 20px; margin-bottom: 20px; border-radius: var(--border-radius-md);}
     .mv-card .mv-icon { font-size: 2.5rem; margin-bottom: 12px; filter: none;}
     .mv-card h4 { font-size: 1.1em; }
     .mv-card p { font-size: 0.9em;}


    #our-beliefs { padding: 80px 0;}
    .beliefs-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 25px; margin-top: 40px;}
    .belief-item { padding: 30px 20px; border-radius: var(--border-radius-lg);}
     /* Torch effect handled by style.css media query */
    .belief-icon { font-size: 3rem; margin-bottom: 15px; filter: none;}
    .belief-item:hover .belief-icon { transform: none; filter: none;} /* Disable icon animation/glow */
     .belief-item h4 { font-size: 1.2em;}
     .belief-item p { font-size: 0.9em;}


    #our-team { padding: 80px 0;}
    .team-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 30px; margin-top: 40px;}
    .team-member { border-radius: var(--border-radius-lg);}
    /* Torch effect handled by style.css media query */
    .team-member-img { width: 140px; height: 140px; margin: 25px auto 20px auto; border-width: 5px;}
     .team-member:hover .team-member-img { transform: none; border-color: var(--primary-red);}
     .team-member-info { padding: 0 20px 20px 20px; }
     .team-member-info h4 { font-size: 1.2em;}
     .team-title { font-size: 0.9rem; margin-bottom: 12px;}
     .team-bio { font-size: 0.85em; margin-bottom: 15px;}
     .team-socials { padding-top: 10px; }
     .team-socials a { font-size: 1.3em; margin: 0 8px;}
     .team-socials a:hover { transform: none;}

    #impact { padding: 60px 0; } /* Inherited */

    #about-cta { padding: 60px; }
     .about-cta-container { border-radius: var(--border-radius-xl); }
     .about-cta-container::before, .about-cta-container::after { display: none; } /* Hide background shapes */
     .about-cta-container .section-title { font-size: clamp(1.8em, 3vw, 2.5em); margin-bottom: 15px;}
     .about-cta-container .section-subtitle { font-size: clamp(0.9em, 1.8vw, 1.1em); margin-bottom: 30px;}
     .cta-buttons { gap: 20px; }
     .cta-buttons .btn { min-width: unset; width: 180px; padding: 1em 2em; font-size: 0.9rem;}
     .about-cta-container .btn:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
}

@media (max-width: 576px) {
    /* Inherits many mobile styles from style.css */
     body { font-size: 15px;} /* slightly increase base font again for small screen */
     h1 { font-size: 2em;}
     h2.section-title { font-size: 1.6em; }
     h3 { font-size: 1.4em; }
     h4 { font-size: 1.1em;}
     p, .section-subtitle { font-size: 1em; line-height: 1.7;}

     #intro-statement { padding-top: calc(var(--header-height) + 50px); padding-bottom: 60px;}
     .intro-container { gap: 40px; }
     .intro-tagline { font-size: 0.9rem; padding: 5px 10px;}
     .intro-title { font-size: 1.8em;}
     .statement-subtitle { font-size: 1em; margin-top: 8px; max-width: 95%;}
     .intro-cta-group { margin-top: 25px; flex-direction: column; gap: 15px;}
      .intro-cta-group .btn { width: 100%; padding: 0.9em 1.8em;}
     .intro-visual { height: 250px; margin-bottom: 25px;}
      .abstract-shape-1, .abstract-shape-2 { width: 150px; height: 150px; filter: blur(30px); }
     .abstract-icon { font-size: 3rem;}
     @keyframes bounceIcon { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-8px) rotate(2deg); } }


    #story-purpose { padding: 60px 0;}
    .story-purpose-container { gap: 40px; }
    .story-block { padding-bottom: 25px;}
     .story-block p { font-size: 0.9em; line-height: 1.6;}
     .story-image-inline { margin: 20px auto; padding: 8px; border-radius: var(--border-radius-md);}
      .story-image-inline::before { border-radius: var(--border-radius-md);}

    .purpose-block { padding: 25px; border-radius: var(--border-radius-lg); }
    .purpose-block h3 { font-size: 1.6em; margin-bottom: 20px;}
    .purpose-block h3::after { width: 50px; height: 3px;}
    .mv-card { padding: 15px; margin-bottom: 15px; border-radius: var(--border-radius-md);}
     .mv-card .mv-icon { font-size: 2.2rem; margin-bottom: 10px;}
     .mv-card h4 { font-size: 1em; }
     .mv-card p { font-size: 0.9em; line-height: 1.5;}


    #our-beliefs { padding: 60px 0;}
    .beliefs-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 30px;}
    .belief-item { padding: 30px 15px; border-radius: var(--border-radius-lg);}
    .belief-icon { font-size: 2.8rem; margin-bottom: 15px;}
     .belief-item h4 { font-size: 1.1em;}
     .belief-item p { font-size: 0.85em;}

    #our-team { padding: 60px 0;}
    .team-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 30px;}
    .team-member { border-radius: var(--border-radius-lg);}
    .team-member-img { width: 120px; height: 120px; margin: 20px auto 15px auto; border-width: 4px;}
     .team-member-info { padding: 0 15px 15px 15px; }
     .team-member-info h4 { font-size: 1.1em;}
     .team-title { font-size: 0.85rem; margin-bottom: 10px;}
     .team-bio { font-size: 0.8em; margin-bottom: 12px;}
     .team-socials { padding-top: 8px; }
     .team-socials a { font-size: 1.1em; margin: 0 6px;}

     #impact { padding: 50px 0; } /* Inherited */

     #about-cta { padding: 50px; }
     .about-cta-container { border-radius: var(--border-radius-xl); } /* Keep rounded */
     .about-cta-container .section-title { font-size: 1.6em; margin-bottom: 12px;}
     .about-cta-container .section-subtitle { font-size: 0.9em; margin-bottom: 25px;}
     .cta-buttons { gap: 15px; }
     .cta-buttons .btn { width: 100%; padding: 0.9em 1.8em; font-size: 0.9rem;}
}