section{
    align-items: center;
}

h2{
    font-weight: var(--font-weight-500);
}

.about-page {
    min-height: 100dvh;
}

.about-hero {
    background: var(--color-bg-secondary);
    padding: 5rem 0;
    margin-top: var(--space-192);
    align-items: start;
}

.about-hero h1 {
    font-size: 3.5rem;
    margin: 0 0 1rem 0;
    font-weight: 600;
    font-family: 'garet-book';
}

.about-hero-subtitle {
    font-size: 1.5rem;
    color: var(--color-text-secondary);
    max-width: 600px;
    margin: 0 auto;
}

.about-mission {
    padding: 5rem 0;
    align-items: center;
}

.stone-svg {
    width: 80dvw;
    margin: var(--space-48) auto;
    max-width: 900px;
    opacity: 0.5;
}

.mission-content {
    max-width: 800px;
    margin: 0 auto;
}

.mission-content h2 {
    font-size: 2.5rem;
    color: var(--color-text-primary);
    margin: 0 0 2rem 0;
    text-align: center;
}

.mission-content p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--color-text-secondary);
    margin-bottom: 1.5rem;
}

.about-features {
    padding: 5rem 0;
    background: var(--color-bg-secondary);
    align-items: center;
}

.about-features h2 {
    font-size: 2.5rem;
    color: var(--color-text-primary);
    text-align: center;
    margin: 0 0 3rem 0;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.feature-card {
    background: white;
    padding: 2.5rem;
    border-radius: var(--radius-4xl);
    text-align: center;
    box-shadow: var(--shadow-lg);
    transition: transform 0.2s ease;
}

.feature-card:hover {
    transform: translateY(-4px);
}

.feature-icon {
    width: 4rem;
    height: 4rem;
    color: var(--color-primary);
    margin-bottom: 1.5rem;
}

.feature-card h3 {
    font-size: 1.5rem;
    color: var(--color-text-primary);
    margin: 0 0 1rem 0;
}

.feature-card p {
    color: var(--color-text-secondary);
    line-height: 1.6;
}

.about-cta {
    padding: 5rem 0;
    text-align: center;
    align-items: center;
}

.about-cta h2 {
    font-size: 2.5rem;
    color: var(--color-text-primary);
    margin: 0 0 1rem 0;
}

.about-cta p {
    font-size: 1.25rem;
    color: var(--color-text-secondary);
    margin: 0 0 2rem 0;
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 640px) {
    .about-hero h1 {
        font-size: 2.5rem;
    }
    
    .about-hero-subtitle {
        font-size: 1.1rem;
    }
    
    .mission-content h2,
    .about-features h2,
    .about-cta h2 {
        font-size: 2rem;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .btn-lg {
        width: 100%;
    }
}

.reveal {
    opacity: 0; 
    transform: translateY(20px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}
.reveal.visible { opacity: 1; transform: none; }

/* --- Keyframes --- */

@keyframes stone-scale {
from { opacity: 0; scale: 0; }
to   { opacity: 1; scale: 1; }
}

@keyframes logo-scale {
from { opacity: 0; scale: 0; }
to   { opacity: 1; scale: 1; }
}

/* --- Shared animation --- */
/* ease-out gives a gentle deceleration, no bounce */

[id^="surStone"] {
opacity: 0;
transform-origin: center center;
animation: stone-scale 1s ease-out forwards;
}

/* --- Stagger (12 stones over ~950ms) --- */

#surStone1  { animation-delay: 0ms;   }
#surStone2  { animation-delay: 200ms;  }
#surStone3  { animation-delay: 400ms; }
#surStone4  { animation-delay: 600ms; }
#surStone5  { animation-delay: 800ms; }
#surStone6  { animation-delay: 1000ms; }
#surStone7  { animation-delay: 1200ms; }
#surStone8  { animation-delay: 1400ms; }
#surStone9  { animation-delay: 1600ms; }
#surStone10 { animation-delay: 1800ms; }
#surStone11 { animation-delay: 2000ms; }
#surStone12 { animation-delay: 2200ms; }

/* --- Logo scales in last, slightly slower --- */

#mainStone {
    opacity: 0;
    transform: scale(0);
    transform-origin: 50% 50%;
    transform-box: fill-box;
    animation: slideFadeIn 2s ease-out forwards;
    animation-delay: 3000ms;
}

@keyframes slideFadeIn {
to {
    opacity: 1;
    transform: scale(1);
}
}

.about-hero em {
    color: var(--rust);
}