/* ===========================
ABOUT HERO
=========================== */

.about-hero{
    padding:120px 0 110px;
    background:#F7F3EB;
    text-align:center;
}

.about-hero .container{
    width:90%;
    max-width:1100px;
    margin:auto;
}

.about-hero h1{
    font-size:72px;
    line-height:1.15;
    font-weight:700;
    color:#111;
    margin-bottom:35px;
}

.about-hero h1 span{
    color:#6FCF97;
    font-style:italic;
    font-weight:500;
}

.about-hero p{
    max-width:720px;
    margin:auto;
    color:#666;
    font-size:17px;
    line-height:1.9;
}

.hero-buttons{
    margin-top:40px;
    display:flex;
    justify-content:center;
    gap:18px;
}

.btn-dark{
    background:#111;
    color:#fff;
    padding:14px 28px;
    border-radius:8px;
    text-decoration:none;
}

.btn-light{
    background:#fff;
    color:#111;
    border:1px solid #d8d8d8;
    padding:14px 28px;
    border-radius:8px;
    text-decoration:none;
}

.btn-dark:hover{
    background:#000;
}

.btn-light:hover{
    background:#f2f2f2;
}

/* ================= STORY SECTION ================= */

/* ==========================
STORY SECTION
========================== */

.story-section{
    padding:100px 0;
    background:#F7F3EB;
}

.story-container{
    width:90%;
    max-width:1280px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:80px;
}

.story-content{
    flex:1;
}

.story-content h2{
    font-size:46px;
    font-weight:400;
    color:#111;
    margin-bottom:35px;
    padding-left:18px;
    position:relative;
}

.story-content h2::before{
    content:"";
    position:absolute;
    left:0;
    top:6px;
    width:3px;
    height:46px;
    background:#222;
}

.story-content p{
    font-size:15px;
    color:#666;
    line-height:1.9;
    margin-bottom:22px;
    max-width:520px;
}

.story-image{
    flex:1;
    display:flex;
    justify-content:flex-end;
}

.story-image img{
    width:100%;
    max-width:620px;
    border-radius:28px;
    display:block;
}


/* ==========================
MISSION & VISION
========================== */

.mission-section{
    padding:110px 0 80px;
    background:#F7F3EB;
}

.section-title{
    text-align:center;
    font-size:46px;
    font-weight:400;
    margin-bottom:60px;
}

.mission-grid{
    width:90%;
    max-width:1280px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.mission-card{

    background:#fff;

    padding:42px;

    min-height:300px;

    border-radius:8px;

    border:1px solid #ececec;

    box-shadow:none;

}

.mission-card img{
    width:42px;
    margin-bottom:28px;
}

.mission-card h3{
    font-size:32px;
    font-weight:500;
    margin-bottom:20px;
}

.mission-card p{
    font-size:15px;
    color:#666;
    line-height:1.9;
}


/* ==========================
SERVICES OVERVIEW
========================== */

.services-overview{

    padding:110px 0;

    background:#F7F3EB;

}

.services-overview .container{
    width:90%;
    max-width:1280px;
    margin:auto;
}

.services-overview h2{
    font-size:56px;
    font-weight:400;
    line-height:1.15;
    margin-bottom:20px;
    max-width:100%;
    white-space:nowrap;
}

.services-subtitle{
    font-size:18px;
    font-weight:400;
    line-height:1.8;
    color:#666;

    max-width:980px;

    margin-bottom:65px;
}

.overview-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.overview-card{

    position:relative;

    background:#fff;

    border-radius:14px;

    padding:38px;

    min-height:290px;

    border:1px solid #ececec;

    box-shadow:0 12px 25px rgba(0,0,0,.06);

    transition:.3s;

}

.overview-card:hover{

    transform:translateY(-6px);

}

.overview-card img{

    width:30px;

    margin-bottom:28px;

}

.overview-card h3{

    font-size:22px;

    font-weight:500;

    line-height:1.35;

    margin-bottom:18px;

}

.overview-card p{

    font-size:15px;

    color:#666;

    line-height:1.9;

}

.overview-card span{

    position:absolute;

    top:-16px;

    right:-16px;

    width:64px;

    height:64px;

    background:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

}

/*==========================
WHY CHOOSE US
==========================*/

.why-section{

    padding:110px 0;

    background:#F7F3EB;

}

.why-section .container{

    width:90%;
    max-width:1300px;
    margin:auto;

}

.why-title{

    text-align:center;

    font-size:50px;

    font-weight:400;

    margin-bottom:70px;

    color:#111;

}

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.why-card{

    background:#fff;

    border:1px solid #e9e9e9;

    border-radius:14px;

    height:220px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:30px;

    box-shadow:0 8px 18px rgba(0,0,0,.08);

}

.why-card img{

    width:54px;

    height:54px;

    object-fit:contain;

    margin-bottom:22px;

}

.why-card h3{

    font-size:20px;

    font-weight:500;

    line-height:1.5;

    max-width:190px;

    margin:0;

}
.why-card:hover{

    transform:translateY(-8px);

}

/*==========================
CORE VALUES
==========================*/

.values-section{
    padding:120px 0;
    background:#F7F3EB;
}

.values-container{
    width:90%;
    max-width:1280px;
    margin:auto;

    display:grid;
    grid-template-columns:420px 1fr;   /* was 350px */
    column-gap:80px;
}

/* LEFT */

.values-left h2{
    font-size:58px;
    line-height:1.1;
    margin-bottom:40px;
    white-space:nowrap;     /* keeps Our Core Values on one line */
}

.values-left h3{
    font-size:32px;
    line-height:1.28;
    max-width:400px;        /* was 300px */
    margin-bottom:24px;
}

.values-left p{
    max-width:340px;        /* was 280px */
    font-size:16px;
    line-height:1.8;
    color:#666;
}

/* RIGHT */

.values-right{
    position:relative;
    padding-left:70px;
}

.timeline{
    position:absolute;
    left:18px;
    top:0;
    bottom:0;
    width:2px;
    background:#d9d9d9;
}

.value-item{
    position:relative;
    display:grid;
    grid-template-columns:150px 1fr;
    column-gap:40px;
    padding-bottom:55px;
    margin-bottom:55px;
    border-bottom:1px solid #dddddd;
}

.value-item:last-child{
    border-bottom:none;
    margin-bottom:0;
    padding-bottom:0;
}

.dot{
    position:absolute;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#000;
    left:-58px;
    top:10px;
}

.number{
    font-size:86px;
    font-weight:700;
    line-height:1;
    color:transparent;
    -webkit-text-stroke:2px #e3e3e3;
    user-select:none;
}

.value-content h4{
    font-size:26px;
    margin-bottom:18px;
}

.value-content p{
    font-size:16px;
    line-height:1.8;
    color:#555;
    max-width:500px;
}
/*=========================
TRAINING SECTION
=========================*/

.training-section{
    padding:120px 0;
    background:#F7F3EB;
}

.training-container{

    width:90%;
    max-width:1280px;
    margin:auto;

    display:flex;
    justify-content:space-between;
    align-items:center;

    gap:100px;

}

/* LEFT */

.training-left{

    width:34%;

}

.training-left h2{

    font-size:58px;
    line-height:1.1;
    margin-bottom:25px;
    color:#111;

}

.training-left h3{

    font-size:34px;
    line-height:1.35;
    margin-bottom:20px;

}

.training-left p{

    width:320px;

    font-size:17px;
    line-height:1.8;

    color:#666;

    margin-bottom:40px;

}

.training-btn{

    display:inline-block;

    padding:15px 28px;

    background:#000;
    color:#fff;

    text-decoration:none;

    border-radius:8px;

}

/*=========================
RIGHT SIDE
=========================*/

.training-right{

    width:760px;
    height:680px;

    position:relative;

}

/* CARD */

.academy-card{

    position:absolute;

    width:320px;
    min-height:270px;

    padding:35px;
    padding-bottom:75px;

    border-radius:18px;

    color:#fff;

    box-shadow:0 18px 40px rgba(0,0,0,.18);

}

/* COLORS */

.purple{

    background:#7157F3;

    top:0;
    left:220px;

    z-index:3;

}

.green{

    background:#64D86C;

    top:190px;
    left:0;

    z-index:2;

}

.orange{

    background:#FFA100;

    top:340px;
    left:390px;

    z-index:4;

}

/* NUMBER */

.number{

    display:block;

    font-size:60px;

    line-height:1;

    color:transparent;

    font-weight:700;

    -webkit-text-stroke:2px rgba(255,255,255,.95);

    margin-bottom:20px;

}

/* TITLE */

.academy-card h4{

    font-size:20px;

    line-height:1.35;

    margin-bottom:12px;

}

/* TEXT */

.academy-card p{

    font-size:15px;

    line-height:1.7;

    width:230px;

    margin:0;

}

/* ARROW */

.arrow{

    position:absolute;

    left:35px;

    bottom:25px;

    font-size:32px;

    color:#fff;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:991px){

.training-container{

    flex-direction:column;

}

.training-left{

    width:100%;
    text-align:center;

}

.training-left p{

    margin:0 auto 30px;

}

.training-right{

    width:100%;
    height:950px;

}

.purple{

    left:50%;
    transform:translateX(-50%);

}

.green{

    top:280px;
    left:20px;

}

.orange{

    top:560px;
    left:50%;
    transform:translateX(-10%);

}

}

/*=========================
FAQ
=========================*/

.faq-section{

    background:#F7F3EB;
    padding:120px 0;

}

.faq-section .container{

    width:90%;
    max-width:900px;
    margin:auto;

}

.faq-title{

    text-align:center;
    font-size:52px;
    color:#111;
    margin-bottom:12px;

}

.faq-subtitle{

    text-align:center;
    color:#777;
    font-size:16px;
    margin-bottom:60px;

}

.faq-list{

    display:flex;
    flex-direction:column;
    gap:22px;

}

.faq-item{

    background:#fff;
    border-radius:24px;
    padding:28px 30px;
    border:1px solid #e7e1d8;

    transition:.3s;

}

.faq-question{

    display:flex;
    justify-content:space-between;
    align-items:center;

}

.faq-question h4{

    font-size:20px;
    color:#111;
    margin:0;

}

.faq-question button{

    width:46px;
    height:46px;

    border-radius:50%;

    border:1px solid #d9d9d9;
    background:#fff;

    font-size:24px;
    cursor:pointer;

    transition:.3s;

}

.faq-question button:hover{

    background:#111;
    color:#fff;

}

.faq-answer{

    margin-top:18px;

    color:#666;
    line-height:1.9;
    font-size:15px;

    max-width:720px;

}

.faq-item:not(.active) .faq-answer{

    display:none;

}

.faq-answer{
    display:none;
}

.faq-item.active .faq-answer{
    display:block;
}

.faq-question{
    cursor:pointer;
}

.faq-question button{
    cursor:pointer;
}


.ready-section{
    background:#000;
    padding:80px 20px;
}

.ready-container{
    max-width:760px;
    margin:0 auto;
    text-align:center;
}

.ready-container h2{
    font-size:28px;
    font-weight:600;
    line-height:1.35;
    color:#fff;
    margin-bottom:14px;
}

.ready-container p{
    max-width:520px;
    margin:0 auto 26px;
    font-size:12px;
    line-height:1.8;
    color:#BEBEBE;
}

.ready-buttons{
    display:flex;
    justify-content:center;
    gap:10px;
}

.ready-btn{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    padding:11px 20px;
    border-radius:6px;
    font-size:12px;
    text-decoration:none;
    transition:.3s;
}

.ready-btn.primary{
    background:#fff;
    color:#111;
}

.ready-btn.secondary{
    border:1px solid rgba(255,255,255,.4);
    color:#fff;
}

.ready-btn.primary:hover{
    background:#f2f2f2;
}

.ready-btn.secondary:hover{
    background:#fff;
    color:#111;
}


/*=========================
Responsive
==========================*/

@media(max-width:768px){

.ready-container h2{

    font-size:38px;

}

.ready-container p{

    font-size:15px;

}

.ready-buttons{

    flex-direction:column;
    align-items:center;

}

.ready-btn{

    width:220px;
    text-align:center;

}

}
/*=========================================
RESPONSIVE — TABLET (≤991px)
=========================================*/

@media(max-width:991px){

    /* HERO */
    .about-hero h1{
        font-size:52px;
    }

    .about-hero p{
        font-size:16px;
    }

    /* STORY */
    .story-container{
        flex-direction:column;
        gap:50px;
    }

    .story-content h2{
        font-size:36px;
    }

    .story-content p{
        max-width:100%;
    }

    .story-image{
        justify-content:center;
    }

    .story-image img{
        max-width:100%;
    }

    /* MISSION & VISION */
    .mission-grid{
        grid-template-columns:1fr;
    }

    /* SERVICES OVERVIEW */
    .services-overview h2{
        font-size:38px;
        white-space:normal;
    }

    .overview-grid{
        grid-template-columns:repeat(2,1fr);
    }

    /* WHY CHOOSE US */
    .why-title{
        font-size:36px;
    }

    .why-grid{
        grid-template-columns:repeat(2,1fr);
    }

    /* CORE VALUES */
    .values-container{
        grid-template-columns:1fr;
        row-gap:50px;
    }

    .values-left h2{
        white-space:normal;
        font-size:44px;
    }

    .values-left h3{
        max-width:100%;
        font-size:26px;
    }

    .values-left p{
        max-width:100%;
    }

    .value-item{
        grid-template-columns:90px 1fr;
        column-gap:24px;
    }

    .number{
        font-size:56px;
    }

    /* FAQ */
    .faq-title{
        font-size:38px;
    }

    /* FOOTER */
    .footer-container{
        grid-template-columns:repeat(2,1fr);
        gap:40px;
    }

}

/*=========================================
RESPONSIVE — MOBILE (≤600px)
=========================================*/

@media(max-width:600px){

    /* HERO */
    .about-hero{
        padding:80px 0 60px;
    }

    .about-hero h1{
        font-size:34px;
        margin-bottom:24px;
    }

    .about-hero p{
        font-size:15px;
    }

    .hero-buttons{
        flex-direction:column;
        gap:14px;
    }

    .btn-dark,
    .btn-light{
        width:100%;
        text-align:center;
    }

    /* STORY */
    .story-section{
        padding:60px 0;
    }

    .story-content h2{
        font-size:28px;
    }

    .story-content p{
        font-size:14px;
    }

    /* MISSION & VISION */
    .mission-section{
        padding:60px 0;
    }

    .section-title{
        font-size:30px;
    }

    .mission-card{
        padding:28px;
        min-height:auto;
    }

    .mission-card h3{
        font-size:24px;
    }

    /* SERVICES OVERVIEW */
    .services-overview{
        padding:60px 0;
    }

    .services-overview h2{
        font-size:28px;
    }

    .services-subtitle{
        font-size:15px;
        margin-bottom:40px;
    }

    .overview-grid{
        grid-template-columns:1fr;
    }

    .overview-card{
        min-height:auto;
        padding:28px;
    }

    /* WHY CHOOSE US */
    .why-section{
        padding:60px 0;
    }

    .why-title{
        font-size:26px;
        margin-bottom:40px;
    }

    .why-grid{
        grid-template-columns:1fr;
    }

    .why-card{
        height:auto;
        padding:24px;
    }

    /* CORE VALUES */
    .values-section{
        padding:60px 0;
    }

    .values-left h2{
        font-size:32px;
    }

    .values-left h3{
        font-size:22px;
    }

    .values-right{
        padding-left:40px;
    }

    .dot{
        left:-34px;
    }

    .value-item{
        grid-template-columns:1fr;
        row-gap:12px;
    }

    .number{
        font-size:40px;
    }

    .value-content h4{
        font-size:20px;
    }

    .value-content p{
        font-size:15px;
    }

    /* TRAINING SECTION — tighten mobile card stack */
    .training-section{
        padding:60px 0;
    }

    .training-left h2{
        font-size:36px;
    }

    .training-left h3{
        font-size:24px;
    }

    .training-left p{
        width:100%;
        max-width:320px;
        margin-left:auto;
        margin-right:auto;
    }

    .academy-card{
        width:280px;
        padding:28px;
        padding-bottom:65px;
    }

    .academy-card p{
        width:auto;
    }

    .training-right{
        height:850px;
    }

    .green{
        left:50%;
        transform:translateX(-50%);
        top:270px;
    }

    .orange{
        left:50%;
        transform:translateX(-50%);
        top:540px;
    }

    /* FAQ */
    .faq-section{
        padding:60px 0;
    }

    .faq-title{
        font-size:28px;
    }

    .faq-subtitle{
        font-size:14px;
        margin-bottom:40px;
    }

    .faq-item{
        padding:22px 20px;
    }

    .faq-question h4{
        font-size:17px;
    }

    .faq-question button{
        width:38px;
        height:38px;
        font-size:20px;
    }

    /* FOOTER */
    .footer-container{
        grid-template-columns:1fr;
        gap:36px;
        text-align:left;
    }

}