/* =========================================================
   NOVA INSTITUTE
   ABOUT PAGE STYLES
   Uses the existing Home Page design system
   ========================================================= */


/* ================= ABOUT HERO ================= */

/* ================= ABOUT PAGE BANNER ================= */

.about-hero{
    position:relative;
    height:360px;
    width:100%;
    overflow:hidden;

    display:flex;
    align-items:center;

    background-image:
        linear-gradient(
            90deg,
            rgba(7,25,58,.94) 0%,
            rgba(7,25,58,.78) 50%,
            rgba(7,25,58,.48) 100%
        ),
        url("https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=1800&q=85");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.about-hero__overlay{
    display:none;
}

.about-hero__container{
    position:relative;
    z-index:2;
    width:100%;
}

.about-hero__content{
    max-width:650px;
    padding:40px 0;
}

.about-hero__content h1{
    margin:10px 0 12px;
    color:#fff;
    font-family:'Fraunces',serif;
    font-size:clamp(2.3rem,4.5vw,4rem);
    line-height:1.08;
    font-weight:600;
}

.about-hero__content h1 em{
    color:var(--cyan);
    font-style:normal;
}

.about-hero__content > p:not(.eyebrow){
    max-width:600px;
    margin:0;
    color:#e2eafb;
    font-size:.95rem;
    line-height:1.7;
}

.about-hero .breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:20px;
    font-size:.82rem;
}

.about-hero .breadcrumb a{
    color:var(--cyan);
    text-decoration:none;
    font-weight:600;
}

.about-hero .breadcrumb span{
    color:rgba(255,255,255,.45);
}

.about-hero .breadcrumb strong{
    color:#fff;
    font-weight:500;
}


/* ================= MOBILE ================= */

@media(max-width:768px){

    .about-hero{
        height:320px;
        background-position:center;
    }

    .about-hero__content{
        padding:30px 0;
    }

    .about-hero__content h1{
        font-size:2.35rem;
    }

    .about-hero__content > p:not(.eyebrow){
        font-size:.86rem;
        line-height:1.6;
    }

}

@media(max-width:480px){

    .about-hero{
        height:300px;
    }

    .about-hero__content h1{
        font-size:2rem;
    }

}

/* ================= ABOUT STORY ================= */

.about__grid{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:64px;
    align-items:center;
}

.about__media{
    position:relative;
}

.about__img{
    width:100%;
    aspect-ratio:4/4.4;
    object-fit:cover;
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-lg);
}

.about__badge{
    position:absolute;
    right:-18px;
    bottom:34px;
    background:var(--grad);
    color:#fff;
    padding:1.1rem 1.4rem;
    border-radius:var(--r);
    box-shadow:var(--shadow);
    text-align:center;
}

.about__badge strong{
    font-family:'Fraunces',serif;
    display:block;
    font-size:1.5rem;
    line-height:1;
}

.about__badge span{
    display:block;
    font-size:.76rem;
    opacity:.92;
    margin-top:.3rem;
}

.about__body{
    max-width:650px;
}

.about__body h2{
    font-family:'Fraunces',serif;
    font-weight:600;
    line-height:1.12;
    font-size:clamp(1.9rem,3.6vw,3rem);
    color:var(--navy);
    margin:.2rem 0 1.2rem;
}

.about__body h2 em{
    color:var(--blue);
}

.about__body > p{
    color:var(--muted);
    margin-bottom:1.25rem;
}

.about__body .btn{
    margin-top:.4rem;
}


/* ================= VISION & MISSION ================= */

.vm{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:1.6rem 0;
}

.vm__card{
    background:var(--sky-2);
    border:1px solid var(--line);
    border-radius:var(--r);
    padding:1.5rem;
    transition:
        transform .4s var(--ease),
        box-shadow .4s var(--ease),
        border-color .4s var(--ease);
}

.vm__card:hover{
    transform:translateY(-7px);
    box-shadow:var(--shadow);
    border-color:rgba(22,87,207,.18);
}

.vm__icon{
    width:48px;
    height:48px;
    border-radius:13px;
    background:var(--grad);
    color:#fff;
    display:grid;
    place-items:center;
    margin-bottom:.85rem;
    font-size:1.05rem;
}

.vm__card h3{
    color:var(--navy);
    font-size:1.08rem;
    margin-bottom:.4rem;
}

.vm__card p{
    color:var(--muted);
    font-size:.88rem;
    margin:0;
}


/* ================= CHAIRMAN MESSAGE ================= */

.message--chair{
    background:var(--grad-navy);
    color:#fff;
}

.message__grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:64px;
    align-items:center;
}

.message__media{
    position:relative;
    display:flex;
    justify-content:center;
}

.message__media img{
    width:100%;
    max-width:360px;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-lg);
    position:relative;
    z-index:2;
}

.message__ring{
    position:absolute;
    width:78%;
    aspect-ratio:1;
    border-radius:var(--r-lg);
    border:2px dashed rgba(255,255,255,.28);
    top:-18px;
    left:8%;
    z-index:1;
}

.message__body{
    position:relative;
    z-index:2;
}

.message__quote{
    font-family:'Fraunces',serif;
    font-size:clamp(1.15rem,2vw,1.5rem);
    line-height:1.5;
    font-weight:400;
    color:#eaf1ff;
    position:relative;
    padding-top:1.2rem;
    margin:0;
}

.message__quote i{
    color:var(--cyan);
    font-size:1.6rem;
    display:block;
    margin-bottom:.5rem;
    opacity:.85;
}

.message__sign{
    margin-top:1.6rem;
}

.message__sign strong{
    display:block;
    font-size:1.05rem;
    color:#fff;
}

.message__sign span{
    display:block;
    font-size:.85rem;
    color:#a9bde6;
    margin-top:.2rem;
}


/* ================= ABOUT PAGE BUTTON SUPPORT ================= */

.about-hero .btn{
    margin-top:1.2rem;
}

.about-hero .btn--primary{
    background:var(--grad);
    color:#fff;
}


/* ================= ABOUT PAGE REVEAL ================= */

.about-hero .reveal,
.about__grid .reveal,
.vm .reveal,
.message--chair .reveal{
    opacity:0;
    transform:translateY(30px);
    transition:
        opacity .8s var(--ease),
        transform .8s var(--ease);
}

.about-hero .reveal.in-view,
.about__grid .reveal.in-view,
.vm .reveal.in-view,
.message--chair .reveal.in-view{
    opacity:1;
    transform:none;
}


/* ================= RESPONSIVE ================= */

@media(max-width:900px){

    .about-hero{
        min-height:410px;
    }

    .about-hero__content{
        padding:50px 0;
    }

    .about__grid{
        grid-template-columns:1fr;
        gap:48px;
    }

    .about__media{
        max-width:520px;
    }

    .about__body{
        max-width:none;
    }

    .message__grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .message__media{
        max-width:340px;
        margin:0 auto;
    }

}


@media(max-width:640px){

    .about-hero{
        min-height:390px;
    }

    .about-hero__content{
        padding:42px 0;
    }

    .about-hero__content h1{
        font-size:2.5rem;
    }

    .about-hero__content > p:not(.eyebrow){
        font-size:.9rem;
    }

    .about-hero .breadcrumb{
        margin-top:1.1rem;
        font-size:.8rem;
    }

    .about__badge{
        right:10px;
        bottom:20px;
        padding:.9rem 1.1rem;
    }

    .about__badge strong{
        font-size:1.3rem;
    }

    .vm{
        grid-template-columns:1fr;
    }

    .message__quote{
        font-size:1.15rem;
    }

}


/* ================= REDUCED MOTION ================= */

@media(prefers-reduced-motion:reduce){

    .about-hero .reveal,
    .about__grid .reveal,
    .vm .reveal,
    .message--chair .reveal{
        opacity:1;
        transform:none;
        transition:none;
    }

}

/* =========================================
   WHO WE ARE - POLISHED
========================================= */

.about-intro{
    padding-top:80px;
    padding-bottom:80px;
}

.about__grid{
    display:grid;
    grid-template-columns:46% 54%;
    gap:55px;
    align-items:center;
}

.about__media{
    position:relative;
    padding-right:18px;
}

.about__img{
    display:block;
    width:100%;
    height:520px;
    object-fit:cover;
    object-position:center;
    border-radius:24px;
    box-shadow:0 20px 50px rgba(8,35,80,.14);
}

.about__badge{
    position:absolute;
    right:-2px;
    bottom:30px;
    min-width:170px;
    padding:18px 20px;
    border-radius:18px;
    background:linear-gradient(135deg,#0b3d91,#16a9d6);
    color:#fff;
    text-align:center;
    box-shadow:0 14px 35px rgba(11,61,145,.25);
}

.about__badge strong{
    display:block;
    font-family:'Fraunces',serif;
    font-size:1.35rem;
    line-height:1.2;
    color:#fff;
}

.about__badge span{
    display:block;
    margin-top:4px;
    font-size:.72rem;
    color:#eaf8ff;
}


/* RIGHT CONTENT */

.about__body{
    max-width:650px;
}

.about__body .section__title,
.about__body h2{
    margin-top:8px;
    margin-bottom:18px;
    font-family:'Fraunces',serif;
    font-size:clamp(2rem,3.2vw,3rem);
    line-height:1.12;
    color:var(--navy);
}

.about__body h2 em{
    color:var(--blue);
    font-style:normal;
}

.about__body > p{
    color:var(--muted);
    font-size:.91rem;
    line-height:1.75;
    margin:0 0 14px;
}


/* HIGHLIGHTS */

.about-intro__highlights{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:22px;
}

.about-intro__highlight{
    display:flex;
    align-items:center;
    gap:14px;
    padding:11px 14px;
    background:#f5f9ff;
    border:1px solid #e2ebf7;
    border-radius:13px;
    transition:all .3s ease;
}

.about-intro__highlight:hover{
    transform:translateX(5px);
    border-color:#c8dbf5;
    box-shadow:0 8px 24px rgba(11,61,145,.08);
}


/* ICON BOX */

.about-intro__highlight > span{
    width:40px !important;
    height:40px !important;
    min-width:40px;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:11px !important;
    background:linear-gradient(135deg,#0b3d91,#16a9d6) !important;
    color:#fff !important;

    font-size:15px !important;
    line-height:1 !important;
}

.about-intro__highlight > span i{
    display:block;
    color:#fff !important;
    font-size:15px;
    line-height:1;
}


/* TEXT */

.about-intro__highlight div{
    flex:1;
}

.about-intro__highlight strong{
    display:block;
    color:var(--navy);
    font-size:.85rem;
    font-weight:700;
    margin-bottom:2px;
}

.about-intro__highlight small{
    display:block;
    color:var(--muted);
    font-size:.72rem;
    line-height:1.4;
}


/* MOBILE */

@media(max-width:900px){

    .about-intro{
        padding-top:60px;
        padding-bottom:60px;
    }

    .about__grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .about__media{
        padding-right:0;
        max-width:600px;
        margin:auto;
    }

    .about__img{
        height:430px;
    }

    .about__body{
        max-width:none;
    }

}


@media(max-width:600px){

    .about__img{
        height:340px;
    }

    .about__badge{
        right:10px;
        bottom:20px;
        min-width:150px;
        padding:14px;
    }

    .about__badge strong{
        font-size:1.15rem;
    }

    .about-intro__highlight{
        padding:10px 12px;
    }

}