/* ===== GENERAL ===== */

:root{

    --purple:#6A1B7A;
    --green:#7BA428;
    --cream:#FAFAF8;
    --dark:#2F2F2F;

}

body{

    font-family:'Poppins',sans-serif;

    background:var(--cream);

    color:var(--dark);

}

.navbar{

    padding:16px 0;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.nav-link{

    font-weight:500;
    margin-left:24px;
    position:relative;
    transition:.3s;}


.nav-link.active{

    color: var(--purple) !important;
    font-weight:600;

}

.nav-link.active::after{

    width:100%;
    background: var(--purple);

}

.nav-link::after{

    content:"";
    position:absolute;
    width:0;
    height:2px;
    left:0;
    bottom:-6px;

    background:var(--purple);

    transition:.3s;

}

.nav-link:hover::after{

    width:100%;

}

.navbar-brand img{

    height:65px;
    width:auto;
    transition:.3s;

}

.navbar-brand img:hover{

    transform:scale(1.05);

}

.navbar.scrolled{

    background:white;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

}


.btn{

    border-radius:14px;
    padding:14px 26px;
    font-weight:600;

}

.btn-success{
    background: var(--green);
    border: none;
    border-radius: 12px;
    padding: 14px 28px;
    font-weight: 600;
    transition: .3s;
}

.btn-success:hover{
    background:#648b20;
    transform: translateY(-2px);
}

.btn-outline-dark{
    border-radius:12px;
    padding:14px 28px;
    transition:.3s;
}

.btn-outline-dark:hover{
    transform:translateY(-2px);
}

.hero {

    min-height: 62vh;

    display: flex;

    align-items: center;

    padding: 10px 0 10px;

    text-align:justify;

}

.hero h1{

    color:var(--purple);

}

.hero-image{
    width:650px;
    margin-left:-40px;
    margin-top:20px;
}

.container{
    width: 1500px;
    max-width: auto;
}

.hero-text{
    padding-right:60px;
}

.hero p{

    margin-top:30px;
    margin-bottom:35px;
    line-height:1.8;
    max-width:1500px;
    text-align:justify;

}

.hero{

    background:
        radial-gradient(circle at 75% 35%,
        rgba(106,27,122,.05),
        transparent 40%);

}

.hero-title{

    font-size:1.4rem;

    line-height:1.15;

    color:var(--purple);

    font-weight:700;

}

.hero-project{

    display:block;

    font-size:2rem;

    font-weight:700;

    color:var(--green);

    margin-bottom:1px;

    letter-spacing:0.5px;

}

@keyframes float {

    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }

}

.project-badge{
    font-size:.82rem;
    letter-spacing:.5px;
}

.funded{
    color:var(--green);
    font-weight:700;
}

.separator{
    color:#999;
}

/* ===== ABOUT ===== */

.about-section{

    padding:30px 0;

}

.about-image{

    border-radius:20px;

    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.section-label{

    color:var(--green);

    font-weight:700;

    letter-spacing:2px;

    font-size:.85rem;

}

.section-title{

    color:var(--purple);

    font-size:2.2rem;

    font-weight:700;

    margin:15px 0 25px;

}

.section-text{

    font-size:1.08rem;

    line-height:1.8;

    color:#555;

    text-align:justify

}

.learn-link{

    display:inline-block;

    margin-top:15px;

    color:var(--green);

    text-decoration:none;

    font-weight:600;

}

.learn-link:hover{

    color:var(--purple);

}

/* ===== RESEARCH ===== */

.research-section{

    padding:50px 0;

}

.research-card{

    background:white;

    border-radius:22px;

    padding:40px 30px;

    text-align:center;

    height:100%;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.35s;

}

.research-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.research-icon{

    font-size:3rem;

    margin-bottom:20px;

}

.research-card h4{

    color:var(--purple);

    margin-bottom:18px;

    font-weight:700;

}

.research-card p{

    color:#666;

    line-height:1.7;

}
/* ===== NEWS ===== */

.news-section{

    padding:50px 0;

}

.news-card{

    background:white;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.3s;

    height:100%;

}

.news-card:hover{

    transform:translateY(-8px);

}

.news-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.news-content{

    padding:25px;
    display:flex;
    flex-direction:column;
    flex:1;

}

.news-card h4{

    color:var(--purple);
    margin:15px 0;
    display:flex;
    flex-direction:column;
    height:100%;

}

.news-date{

    color:#999;

    font-size:.85rem;

    border-top:1px solid #ECECEC;

    padding-top:15px;

    margin-top: auto;

}

.news-link{

    display:inline-block;

    margin-top:8px;

    margin-bottom:20px;

    text-decoration:none;

    font-weight:600;

    color:var(--purple);

    transition:.3s;

}

.news-link:hover{

    color:var(--green);

}

.news-category{

    display:inline-block;

    padding:6px 12px;

    border-radius:20px;

    background:#EEF6DD;

    color:var(--green);

    font-size:.75rem;

    font-weight:700;

}

.news-content p{

    text-align: justify;

    line-height: 1.7;

}

/* ===== FOOTER ===== */

.footer{

    background:white;

    padding:50px 0 30px;

    margin-top:100px;

}

.footer-logo{

    width:220px;

}

.footer h5{

    color:var(--purple);

    margin-bottom:20px;

}

.footer-links{

    list-style:none;

    padding:0;

}

.footer-links li{

    margin-bottom:10px;

}

.footer-links a{

    text-decoration:none;

    color:#666;

}

.footer-links a:hover{

    color:var(--green);

}

.footer hr{

    margin:40px 0 20px;

}

/* ===== Scroll Animations ===== */

.fade-up{
    opacity:0;
    transform:translateY(40px);
    transition:opacity .7s ease, transform .7s ease;
}

.fade-up.show{
    opacity:1;
    transform:translateY(0);
}

/* ---------- Footer Funding ---------- */

.footer-divider-lg{

    margin:25px 0;

    opacity:.15;

}

.funding-logo{

    width:500px !important;

    max-width:none !important;

    margin-top:20px;

    margin-bottom:10px;

}

.footer-description{
    text-align: justify;
    max-width: 400px;
    font-size:.85rem;
    line-height: 1.7;
}

.partner-row{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:45px;

    margin-top:20px;

}

.partner-logo{

    max-height:none !important;

    width:200px !important;

    height:auto !important;

    transition:.3s;

}

.partners-section{
    margin-top:40px;
}


.partner-logo:hover{

    transform:scale(1.4);

}

.quinta-logo{

   
    max-height:none !important;

    width:150px !important;

    height:auto !important;

    transition:.3s;

}

.cta-section{

    padding: 70px 0;
    text-align: center;
    background: var(--light-bg);   /* optional */

}

.method-card{

    background:#fff;

    border-radius:16px;

    padding:1.5rem;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    height:100%;

    transition:.3s;

}

.method-card:hover{

    transform:translateY(-5px);

}

.method-card strong{

    color:var(--purple);

    font-size:1.1rem;

    display:block;

    margin-bottom:.75rem;

}

.method-card p{

    margin:0;

    color:#666;

    font-size:.95rem;

}

.impact-quote{

    max-width:900px;
    margin:0 auto;

    padding:2rem;

    border-left:5px solid var(--green);

    background:#ffffff;

    border-radius:16px;

    font-size:1.15rem;

    font-style:italic;

    color:#555;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.team-feature-photo{

    width:280px;
    height:280px;

    object-fit:cover;

    border-radius:50%;

    box-shadow:0 15px 40px rgba(0,0,0,.15);

}

.team-card{

    background:#fff;

    border-radius:20px;

    padding:2rem;

    height:100%;

    display:flex;

    flex-direction:column;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    text-align:center;

}

.team-card:hover{

    transform:translateY(-6px);

}

.team-photo-large{

    width:100%;

    height:320px;

    object-fit:cover;

    object-position:center;

    border-radius:12px;

    margin-bottom:1.5rem;

}

.team-role{

    color:var(--green);

    font-weight:600;

    margin-bottom:1rem;

}

.partner-card{

    background:#fff;

    padding:2rem;

    border-radius:16px;

    text-align:center;

    height:100%;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.partner-card img{

    max-height:80px;

    object-fit:contain;

}

.publication-cover{

    max-width:320px;

    border-radius:18px;

    transition:.3s;

}

.publication-cover:hover{

    transform:translateY(-6px);

}

.publication-journal{

    color:var(--green);

    font-weight:600;

    font-size:1.05rem;

    margin:1.5rem 0;

}

html {
    scroll-behavior: smooth;
}

.news-image-ovelha {
    object-position: center top;
}