/* =========================
   ABOUT PAGE HERO SECTION
========================= */

.about-page {
    position: relative;
    width: 100%;
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 140px 7% 100px;

    overflow: hidden;

    /* HERO IMAGE */
    background-image:
    linear-gradient(
        to right,
        rgba(0, 0, 0, 0.30),
        rgba(0, 0, 0, 0.10)
    ),
    url("../../images/About/contemporary-passional-dance.jpg");

    background-size: cover;
    background-position: center 25%;
    background-repeat: no-repeat;
    }

/* Optional dark overlay */
.about-page::before {
    content: "";

    position: absolute;
    inset: 0;

    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.15) 0%,
        rgba(0, 0, 0, 0.4) 70%,
        rgba(0, 0, 0, 1) 100%
    );

    z-index: 1;

    /* Calm, slow overlay fade-in */
    animation: about-overlay-fade 2s ease-out forwards;
    will-change: opacity;
}

.about-page-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1200px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
}

/* TITLE */
.about-page-container h1 {
    color: #ffffff;

    font-size: 120px;
    line-height: 0.9;
text-align: center; 
    font-weight: 900;
    text-transform: uppercase;

    letter-spacing: -5px;

    margin-bottom: 35px;
}

/* DESCRIPTION */
.about-page-container p {
    max-width: 650px;

    color: rgba(255, 255, 255, 0.88);
    text-align: center;
    font-size: 20px;
    line-height: 1.8;

    font-weight: 400;
}

/* =========================
   HERO ANIMATIONS
========================= */

.about-page-container h1 {
    opacity: 0;
    /* Elegant, calm text slide-up and fade-in */
    animation: about-fade-in-up 1.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    animation-delay: 0.3s;
    will-change: transform, opacity;
}

.about-page-container p {
    opacity: 0;
    /* Sequenced reveal animation */
    animation: about-fade-in-up 1.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    animation-delay: 0.7s;
    will-change: transform, opacity;
}

/* =========================
   KEYFRAME ANIMATIONS
========================= */

@keyframes about-overlay-fade {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes about-fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(25px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================
   RESPONSIVE
========================= */

@media screen and (max-width: 991px) {

    .about-page {
        min-height: 85vh;

        padding: 120px 6% 80px;
    }

    .about-page-container h1 {
        font-size: 82px;

        letter-spacing: -3px;
    }

    .about-page-container p {
        font-size: 18px;

        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {

    .about-page {
        min-height: 75vh;

        padding: 100px 24px 70px;
    }

    .about-page-container h1 {
        font-size: 58px;

        line-height: 0.95;

        margin-bottom: 25px;
    }

    .about-page-container p {
        font-size: 16px;
        line-height: 1.7;
    }
}

@media screen and (max-width: 480px) {

    .about-page-container h1 {
        font-size: 44px;

        letter-spacing: -2px;
    }

    .about-page-container p {
        font-size: 15px;
    }
}