:root{

--primary:#2E7D32;

--secondary:#4CAF50;

--light:#F8FAFC;

--dark:#263238;

--text:#555;

--white:#fff;

}
*{

margin:0;

padding:0;

box-sizing:border-box;

font-family:'Poppins',sans-serif;

}

body{

background:#fff;

color:#444;

overflow-x:hidden;

}

a{

text-decoration:none;

}

section{

padding:90px 0;

}
.hero{

background:linear-gradient(135deg,#EDF8EC,#ffffff);

min-height:100vh;

display:flex;

align-items:center;

}

.hero h1{

font-size:58px;

font-weight:700;

margin:20px 0;

line-height:1.2;

}

.hero p{

font-size:18px;

color:#666;

margin-bottom:35px;

}

.hero-image{

width:430px;

border-radius:50%;

border:10px solid white;

box-shadow:0 20px 50px rgba(0,0,0,.15);

}
.section-subtitle{

display:inline-block;

color:#2E7D32;

font-weight:600;

text-transform:uppercase;

letter-spacing:2px;

margin-bottom:10px;

}

.section-title{

font-size:42px;

font-weight:700;

margin-bottom:20px;

color:#1d1d1d;

}

.section-text{

max-width:700px;

margin:auto;

color:#666;

}

.research-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.research-card:hover{

transform:translateY(-12px);

}

.research-image{

width:100%;

height:240px;

object-fit:cover;

}

.research-content{

padding:30px;

}

.research-icon{

width:70px;

height:70px;

background:#2E7D32;

color:#fff;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:30px;

margin-top:-65px;

position:relative;

margin-bottom:20px;

border:6px solid #fff;

}

.research-content h4{

font-size:24px;

font-weight:600;

margin-bottom:15px;

}

.research-content p{

color:#666;

line-height:1.8;

}

.read-more{

display:inline-block;

margin-top:15px;

font-weight:600;

color:#2E7D32;

}

.read-more:hover{

text-decoration:none;

}

.projects-section{

background:#f8fafc;

}

.project-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.project-card:hover{

transform:translateY(-10px);

}

.project-image{

width:100%;

height:240px;

object-fit:cover;

}

.project-content{

padding:30px;

}

.project-content h4{

font-size:24px;

font-weight:600;

margin-bottom:20px;

}

.project-status{

padding:6px 14px;

border-radius:30px;

font-size:13px;

font-weight:600;

color:#fff;

}

.project-status.ongoing{

background:#28a745;

}

.project-status.completed{

background:#0d6efd;

}

.project-status.upcoming{

background:#ffc107;

color:#000;

}

.project-duration{

font-size:14px;

font-weight:600;

color:#666;

}

.project-content p{

color:#666;

line-height:1.8;

}
.publication-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.publication-card:hover{

transform:translateY(-10px);

}

.publication-image{

width:100%;

height:260px;

object-fit:cover;

}

.publication-content{

padding:30px;

}

.publication-year{

background:#2E7D32;

color:#fff;

padding:5px 14px;

border-radius:30px;

font-size:13px;

display:inline-block;

margin-bottom:15px;

}

.publication-content h4{

font-size:22px;

font-weight:600;

margin-bottom:15px;

}

.authors{

font-size:14px;

color:#666;

}

.journal{

font-weight:600;

color:#2E7D32;

margin-bottom:15px;

}

.publication-buttons{

margin-top:20px;

display:flex;

gap:10px;

flex-wrap:wrap;

}
.gallery-item{

position:relative;

display:block;

overflow:hidden;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.12);

}

.gallery-photo{

width:100%;

height:260px;

object-fit:cover;

transition:.4s;

}

.gallery-item:hover .gallery-photo{

transform:scale(1.08);

}

.gallery-overlay{

position:absolute;

left:0;

right:0;

bottom:0;

padding:20px;

background:linear-gradient(transparent,rgba(0,0,0,.85));

color:#fff;

opacity:0;

transition:.3s;

}

.gallery-item:hover .gallery-overlay{

opacity:1;

}

.gallery-overlay h6{

font-size:18px;

margin-bottom:5px;

}

.gallery-overlay span{

font-size:13px;

background:#2E7D32;

padding:5px 12px;

border-radius:20px;

}

.awards-section{

background:#fff;

}

.timeline{

position:relative;

margin-top:60px;

}

.timeline:before{

content:"";

position:absolute;

left:40px;

top:0;

bottom:0;

width:4px;

background:#2E7D32;

}

.timeline-item{

position:relative;

padding-left:100px;

margin-bottom:50px;

}

.timeline-icon{

position:absolute;

left:20px;

top:20px;

width:42px;

height:42px;

background:#2E7D32;

color:#fff;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:18px;

z-index:2;

}

.timeline-content{

background:#fff;

padding:25px;

border-radius:18px;

box-shadow:0 12px 35px rgba(0,0,0,.08);

transition:.3s;

}

.timeline-content:hover{

transform:translateY(-5px);

}

.award-image{

width:100%;

height:170px;

object-fit:cover;

border-radius:12px;

}

.award-year{

display:inline-block;

padding:6px 15px;

background:#2E7D32;

color:#fff;

border-radius:25px;

font-size:14px;

margin-bottom:12px;

font-weight:600;

}

@media(max-width:768px){

.timeline:before{

left:20px;

}

.timeline-item{

padding-left:60px;

}

.timeline-icon{

left:0;

}

.award-image{

margin-bottom:20px;

}

}

.news-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.news-card:hover{

transform:translateY(-10px);

}

.news-image-wrapper{

position:relative;

overflow:hidden;

}

.news-image{

width:100%;

height:240px;

object-fit:cover;

transition:.4s;

}

.news-card:hover .news-image{

transform:scale(1.08);

}

.featured-news{

position:absolute;

top:15px;

left:15px;

background:#FFC107;

color:#000;

padding:6px 14px;

border-radius:30px;

font-size:12px;

font-weight:600;

}

.news-body{

padding:25px;

}

.news-category{

display:inline-block;

background:#2E7D32;

color:#fff;

padding:6px 14px;

border-radius:25px;

font-size:13px;

margin-bottom:15px;

}

.news-date{

color:#777;

margin-bottom:15px;

font-size:14px;

}

.news-body h4{

font-size:24px;

font-weight:600;

margin-bottom:15px;

}

.news-body p{

color:#666;

line-height:1.8;

}

.footer{

background:#1f2937;

color:#fff;

padding:70px 0 30px;

}

.footer h3,

.footer h5{

margin-bottom:20px;

}

.footer-links{

list-style:none;

padding:0;

}

.footer-links li{

margin-bottom:12px;

}

.footer-links a{

color:#ddd;

text-decoration:none;

}

.footer-links a:hover{

color:#4CAF50;

}

.social-icons{

display:flex;

gap:15px;

margin-top:20px;

}

.social-icons a{

width:45px;

height:45px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#2E7D32;

color:#fff;

font-size:20px;

transition:.3s;

}

.social-icons a:hover{

transform:translateY(-5px);

background:#4CAF50;

}

#topBtn{

position:fixed;

right:30px;

bottom:30px;

width:55px;

height:55px;

border:none;

background:#2E7D32;

color:#fff;

border-radius:50%;

display:none;

z-index:999;

font-size:22px;

cursor:pointer;

}

/*.page-banner{

margin-top:80px;

padding:120px 0;

background:linear-gradient(rgba(20,40,20,.65),rgba(20,40,20,.65)),
url('../images/banner.jpg');

background-size:cover;

background-position:center;

color:#fff;

text-align:center;

}*/

.page-banner {
    margin-top: 80px;
    min-height: 380px;
    padding: 100px 20px;

    background:
        linear-gradient(rgba(20, 40, 20, 0.65), rgba(20, 40, 20, 0.65)),
        url('./images/banner1.png');

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    color: #fff;
    text-align: center;

    display: flex;
    align-items: center;
    justify-content: center;
}

.info-box{

background:#fff;

padding:35px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

/*height:100%;*/

}

.info-box h3{

color:#2E7D32;

margin-bottom:20px;

}

.stats h2{

font-size:48px;

font-weight:700;

color:#2E7D32;

}

.research-page-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.research-page-card:hover{

transform:translateY(-10px);

}

.research-page-image{

width:100%;

height:320px;

object-fit:cover;

}

.research-icon{

width:70px;

height:70px;

background:#2E7D32;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:30px;

color:#fff;

margin-bottom:20px;

}

.research-page-card h3{

font-size:26px;

font-weight:600;

margin-bottom:20px;

}

.research-description{

line-height:1.8;

color:#666;

}

.project-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 12px 35px rgba(0,0,0,.08);

transition:.3s;

height:100%;

}

.project-card:hover{

transform:translateY(-8px);

}

.project-image{

width:100%;

height:230px;

object-fit:cover;

}

.project-content{

padding:25px;

}

.project-content h4{

font-size:22px;

font-weight:600;

margin-bottom:15px;

}

.project-content p{

color:#666;

line-height:1.8;

margin-bottom:12px;

}

.project-sidebar{

background:#fff;

padding:30px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

position:sticky;

top:110px;

}

.project-sidebar h4{

margin-bottom:20px;

font-weight:600;

}

.project-sidebar p{

margin-bottom:20px;

line-height:1.8;

}

.project-description{

line-height:2;

font-size:17px;

color:#555;

}
.publication-card-horizontal{

background:#fff;

padding:25px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.3s;

}

.publication-card-horizontal:hover{

transform:translateY(-6px);

}

.publication-cover{

width:100%;

height:260px;

object-fit:cover;

border-radius:15px;

}

.publication-card-horizontal h3{

font-size:28px;

margin-bottom:20px;

font-weight:600;

}

.publication-card-horizontal p{

margin-bottom:12px;

color:#555;

}

.publication-card-horizontal .btn{

margin-right:10px;

}
.gallery-grid{

columns:4 280px;

column-gap:20px;

}

.gallery-box{

position:relative;

margin-bottom:20px;

break-inside:avoid;

overflow:hidden;

border-radius:18px;

box-shadow:0 12px 35px rgba(0,0,0,.12);

}

.gallery-box img{

width:100%;

display:block;

transition:.4s;

}

.gallery-box:hover img{

transform:scale(1.08);

}

.gallery-caption{

position:absolute;

left:0;

right:0;

bottom:0;

padding:20px;

background:linear-gradient(transparent,rgba(0,0,0,.9));

color:#fff;

opacity:0;

transition:.3s;

}

.gallery-box:hover .gallery-caption{

opacity:1;

}

.gallery-caption h5{

margin-bottom:5px;

}

@media(max-width:768px){

.gallery-grid{

columns:2 160px;

}

}

@media(max-width:480px){

.gallery-grid{

columns:1;

}

}
.award-timeline{

position:relative;

margin-top:50px;

padding-left:50px;

}

.award-timeline::before{

content:"";

position:absolute;

left:18px;

top:0;

bottom:0;

width:4px;

background:#2E7D32;

}

.award-item{

position:relative;

margin-bottom:50px;

}

.award-dot{

position:absolute;

left:-2px;

top:25px;

width:42px;

height:42px;

background:#2E7D32;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

color:#fff;

font-size:18px;

z-index:5;

}

.award-card{

margin-left:60px;

background:#fff;

border-radius:20px;

padding:25px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.3s;

}

.award-card:hover{

transform:translateY(-8px);

}

.award-photo{

width:100%;

height:180px;

object-fit:cover;

border-radius:15px;

}

.award-year{

display:inline-block;

background:#2E7D32;

color:#fff;

padding:5px 15px;

border-radius:25px;

margin-bottom:15px;

font-weight:600;

}

@media(max-width:768px){

.award-timeline{

padding-left:25px;

}

.award-card{

margin-left:35px;

}

.award-photo{

margin-bottom:20px;

}

}
.news-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.3s;

height:100%;

}

.news-card:hover{

transform:translateY(-8px);

}

.news-image-wrapper{

position:relative;

overflow:hidden;

}

.news-image{

width:100%;

height:240px;

object-fit:cover;

transition:.4s;

}

.news-card:hover .news-image{

transform:scale(1.08);

}

.featured-news{

position:absolute;

top:15px;

left:15px;

background:#ffc107;

color:#000;

padding:6px 12px;

border-radius:25px;

font-size:12px;

font-weight:600;

}

.news-body{

padding:25px;

}

.news-body h4{

font-size:24px;

font-weight:600;

margin:15px 0;

}

.news-body p{

color:#666;

line-height:1.8;

}

.news-date{

color:#777;

font-size:14px;

}
.news-detail-image{

width:100%;

height:450px;

object-fit:cover;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.1);

}

.news-content{

margin-top:30px;

line-height:2;

font-size:17px;

color:#555;

}

.sidebar-card{

background:#fff;

padding:25px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

position:sticky;

top:110px;

}

.related-news{

display:flex;

gap:15px;

align-items:center;

}

.related-news-img{

width:90px;

height:70px;

object-fit:cover;

border-radius:10px;

flex-shrink:0;

}

.related-news h6{

font-size:15px;

margin-bottom:5px;

}

.related-news h6 a{

color:#222;

text-decoration:none;

}

.related-news h6 a:hover{

color:#2E7D32;

}

.contact-card{

background:#fff;

padding:35px;

border-radius:20px;

text-align:center;

box-shadow:0 15px 35px rgba(0,0,0,.08);

margin-bottom:30px;

transition:.3s;

height:100%;

}

.contact-card:hover{

transform:translateY(-8px);

}

.contact-card i{

font-size:45px;

color:#2E7D32;

margin-bottom:20px;

}

.contact-form{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.contact-sidebar{

background:#2E7D32;

padding:40px;

border-radius:20px;

color:#fff;

height:100%;

}

.social-contact{

display:flex;

flex-direction:column;

gap:15px;

margin-top:25px;

}

.social-contact a{

color:#fff;

text-decoration:none;

font-weight:500;

}

.social-contact i{

width:35px;

display:inline-block;

font-size:20px;

}

.contact-form .form-control{

padding:14px;

border-radius:12px;

}
.hero-slider{

/*margin-top:80px;*/
margin-top:-32px;
}

.hero-slide{

height:90vh;

background-size:cover;

background-position:center;

position:relative;

display:flex;

align-items:center;

}

.hero-slide .overlay{

position:absolute;

left:0;

top:0;

right:0;

bottom:0;

/*background:rgba(0,0,0,.55);*/

}

.hero-content{

position:relative;

z-index:5;

color:#fff;

max-width:700px;

}

.hero-content h5{

font-size:22px;

color:#8BC34A;

margin-bottom:15px;

}

.hero-content h1{

font-size:62px;

font-weight:700;

margin-bottom:25px;

line-height:1.2;

}

.hero-content p{

font-size:20px;

line-height:1.8;

margin-bottom:35px;

}

.swiper-button-next,
.swiper-button-prev{

color:#fff;

}

.swiper-pagination-bullet{

background:#fff;

opacity:1;

}

.swiper-pagination-bullet-active{

background:#28a745;

}

@media(max-width:768px){

.hero-slide{

height:70vh;

}

.hero-content h1{

font-size:34px;

}

.hero-content p{

font-size:16px;

}

}

/* =========================================================
   HOMEPAGE VISUAL ENHANCEMENT
   Richer agriculture-themed layout with less white space
   ========================================================= */

.homepage {
    background: #f3f8f2;
    color: #34423a;
}

.homepage .navbar {
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(46,125,50,.08);
    box-shadow: 0 8px 30px rgba(25,70,35,.08) !important;
}

.homepage .navbar-brand {
    font-size: 1.35rem;
    letter-spacing: -.3px;
}

.homepage .navbar .nav-link {
    color: #334238;
    font-weight: 500;
    padding: .75rem .8rem !important;
    transition: .25s ease;
}

.homepage .navbar .nav-link:hover,
.homepage .navbar .nav-link.active {
    color: #2e7d32;
}

.homepage .navbar .btn-success {
    box-shadow: 0 8px 20px rgba(46,125,50,.22);
}

/* Hero */
.homepage .hero-slider {
    margin-top: 0;
}

.homepage .hero-slide {
    min-height: 680px;
    height: calc(100vh - 78px);
    background-position: center;
}

.homepage .hero-slide .overlay {
    display: block;
   /* background:
        linear-gradient(90deg, rgba(8,35,18,.78) 0%, rgba(8,35,18,.48) 45%, rgba(8,35,18,.12) 100%);*/
}

.homepage .hero-content {
    padding-top: 55px;
    max-width: 760px;
    text-shadow: 0 2px 18px rgba(0,0,0,.18);
}

.homepage .hero-content h5 {
    display: inline-block;
    background: rgba(139,195,74,.16);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50px;
    padding: 8px 16px;
    color: #d7efb7;
    font-size: 15px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.homepage .hero-content h1 {
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.08;
    letter-spacing: -1.5px;
    margin-bottom: 22px;
}

.homepage .hero-content p {
    max-width: 650px;
    color: rgba(255,255,255,.92);
    font-size: 18px;
    line-height: 1.75;
}

.homepage .hero-content .btn {
    padding: 13px 28px;
    border-radius: 50px;
    box-shadow: 0 12px 30px rgba(0,0,0,.22);
}

.homepage .swiper-button-next,
.homepage .swiper-button-prev {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    backdrop-filter: blur(6px);
}

.homepage .swiper-button-next:after,
.homepage .swiper-button-prev:after {
    font-size: 18px;
}

.homepage .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
}

.homepage .swiper-pagination-bullet-active {
    width: 26px;
    border-radius: 10px;
}

/* General sections */
.homepage section {
    position: relative;
}

.homepage .section-subtitle {
    color: #2e7d32;
    background: #e4f1df;
    border: 1px solid #d3e7cc;
    padding: 7px 15px;
    border-radius: 50px;
    font-size: 12px;
    letter-spacing: 1.7px;
}

.homepage .section-title {
    color: #173b24;
    font-size: clamp(30px, 3.5vw, 43px);
    letter-spacing: -.8px;
}

.homepage .section-text {
    color: #647168;
    line-height: 1.8;
}

/* Statistics */
.homepage .stats {
    padding: 0 !important;
    background: linear-gradient(135deg, #14532d, #2e7d32) !important;
    color: #fff;
    position: relative;
    z-index: 5;
    box-shadow: 0 18px 45px rgba(22,72,34,.18);
}

.homepage .stats .container {
    padding-top: 35px;
    padding-bottom: 35px;
}

.homepage .stats .col-md-3 {
    position: relative;
}

.homepage .stats .col-md-3:not(:last-child):after {
    content: "";
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 1px;
    background: rgba(255,255,255,.22);
}

.homepage .stats h2 {
    color: #fff !important;
    font-size: clamp(34px, 4vw, 48px);
    margin-bottom: 4px;
    line-height: 1;
}

.homepage .stats p {
    color: rgba(255,255,255,.82);
    margin: 0;
    font-weight: 500;
}

/* About */
.homepage .stats + section {
    background:
        radial-gradient(circle at 10% 20%, rgba(76,175,80,.08), transparent 28%),
        #eef6ec;
}

.homepage .stats + section .img-fluid {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
    border: 8px solid #fff;
    box-shadow: 0 25px 60px rgba(28,74,36,.15) !important;
}

.homepage .stats + section h6 {
    letter-spacing: 2px;
    font-weight: 700;
}

.homepage .stats + section h2 {
    color: #173b24;
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 700;
}

.homepage .stats + section p {
    color: #5d6a61;
    font-size: 16px;
    line-height: 1.9;
}

.homepage .stats + section .btn {
    border-radius: 50px;
    padding: 11px 24px;
    box-shadow: 0 10px 25px rgba(46,125,50,.2);
}

/* Research */
.homepage .research-section {
    background:
        radial-gradient(circle at 95% 10%, rgba(139,195,74,.11), transparent 25%),
        #f7fbf5;
}

.homepage .research-card,
.homepage .project-card,
.homepage .publication-card,
.homepage .homepage-book-card {
    border: 1px solid rgba(46,125,50,.08);
    box-shadow: 0 14px 35px rgba(25,70,35,.08);
}

.homepage .research-card:hover,
.homepage .project-card:hover,
.homepage .publication-card:hover,
.homepage .homepage-book-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 22px 45px rgba(25,70,35,.14);
}

.homepage .research-content h4,
.homepage .project-content h4,
.homepage .publication-content h4 {
    color: #1c3d27;
}

.homepage .research-content p,
.homepage .project-content p,
.homepage .publication-content p {
    color: #647168;
}

.homepage .research-icon {
    box-shadow: 0 8px 20px rgba(46,125,50,.2);
}

/* Projects */
.homepage .projects-section {
    background:
        linear-gradient(135deg, #eaf4e7 0%, #f5f9f3 50%, #e8f2e5 100%) !important;
}

.homepage .project-card {
    background: rgba(255,255,255,.94);
}

.homepage .project-image,
.homepage .research-image,
.homepage .publication-image {
    transition: transform .5s ease;
}

.homepage .research-card:hover .research-image,
.homepage .project-card:hover .project-image,
.homepage .publication-card:hover .publication-image {
    transform: scale(1.04);
}

/* Publications */
.homepage .publications-section {
    background: #f7fbf5;
}

.homepage .publication-card {
    background: #fff;
}

.homepage .publication-year {
    box-shadow: 0 5px 14px rgba(46,125,50,.16);
}

/* Awards */
.homepage .awards-section {
    background:
        radial-gradient(circle at 90% 20%, rgba(255,193,7,.08), transparent 22%),
        #edf6ea;
}

.homepage .timeline:before {
    background: linear-gradient(#2e7d32, #8bc34a);
}

.homepage .timeline-content {
    border: 1px solid rgba(46,125,50,.08);
    box-shadow: 0 14px 35px rgba(25,70,35,.08);
}

/* Books */
.homepage section.bg-light {
    background: #eaf4e7 !important;
}

.homepage section.bg-light .card {
    border-radius: 20px !important;
    border: 1px solid rgba(46,125,50,.08) !important;
    box-shadow: 0 14px 35px rgba(25,70,35,.08) !important;
    transition: .3s ease;
}

.homepage section.bg-light .card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 45px rgba(25,70,35,.13) !important;
}

.homepage section.bg-light .card-body {
    background: linear-gradient(145deg, #fff, #f7fbf5);
}

/* Gallery */
.homepage .gallery-section {
    background: #f7fbf5 !important;
}

.homepage .gallery-item {
    box-shadow: 0 12px 30px rgba(25,70,35,.12);
    border: 4px solid #fff;
}

/* Contact */
.homepage .contact-section {
    background:
        linear-gradient(135deg, #173b24 0%, #245d32 100%);
    color: #fff;
}

.homepage .contact-section .section-subtitle {
    background: rgba(139,195,74,.15);
    border-color: rgba(255,255,255,.18);
    color: #d7efb7;
}

.homepage .contact-section .section-title,
.homepage .contact-section p {
    color: #fff;
}

.homepage .contact-section .section-title {
    margin-bottom: 18px;
}

.homepage .contact-info {
    display: grid;
    gap: 13px;
    margin-top: 28px;
}

.homepage .contact-info > div {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: rgba(255,255,255,.88);
}

.homepage .contact-info i {
    color: #a5d66a;
    font-size: 19px;
    min-width: 22px;
}

.homepage .contact-section form {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 24px;
    padding: 30px;
    backdrop-filter: blur(10px);
}

.homepage .contact-section .form-control {
    background: rgba(255,255,255,.96);
    border: 0;
    padding: 14px 16px;
    border-radius: 12px;
}

.homepage .contact-section .btn-success {
    background: #8bc34a;
    border-color: #8bc34a;
    color: #173b24;
    font-weight: 700;
    border-radius: 50px;
    padding: 12px 27px;
}

/* Map */
.homepage iframe {
    display: block;
    filter: saturate(.82);
    box-shadow: 0 18px 45px rgba(25,70,35,.12);
}

/* Footer */
.homepage .footer {
    background: #102c1a;
    padding-top: 65px;
}

.homepage .footer p,
.homepage .footer-links a {
    color: rgba(255,255,255,.72);
}

.homepage .footer-links a:hover {
    color: #a5d66a;
}

.homepage .social-icons a {
    background: rgba(139,195,74,.15);
    border: 1px solid rgba(139,195,74,.22);
    color: #b8e47e;
}

.homepage .social-icons a:hover {
    background: #8bc34a;
    color: #173b24;
}

/* Buttons */
.homepage .btn-success {
    background: #2e7d32;
    border-color: #2e7d32;
}

.homepage .btn-success:hover {
    background: #256b2a;
    border-color: #256b2a;
}

/* Mobile */
@media (max-width: 991px) {
    .homepage .hero-slide {
        min-height: 620px;
        height: 78vh;
    }

    .homepage .hero-content {
        padding: 80px 20px 20px;
    }

    .homepage .stats .col-md-3:not(:last-child):after {
        display: none;
    }

    .homepage .stats .col-md-3 {
        padding-top: 12px;
        padding-bottom: 12px;
    }
}

@media (max-width: 768px) {
    .homepage section {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .homepage .hero-slide {
        min-height: 570px;
        height: 72vh;
    }

    .homepage .hero-slide .overlay {
        background: linear-gradient(90deg, rgba(8,35,18,.78), rgba(8,35,18,.42));
    }

    .homepage .hero-content h1 {
        font-size: 38px;
        letter-spacing: -.7px;
    }

    .homepage .hero-content p {
        font-size: 15px;
    }

    .homepage .contact-section form {
        margin-top: 30px;
        padding: 22px;
    }

    .homepage iframe {
        height: 280px;
        border-radius: 14px !important;
    }
}

@media (max-width: 480px) {
    .homepage .hero-slide {
        min-height: 540px;
    }

    .homepage .hero-content h1 {
        font-size: 32px;
    }

    .homepage .stats h2 {
        font-size: 34px;
    }
}


/* ================= PATENTS ================= */

.patent-page-card,
.patent-card {
    background: #fff;
    border: 1px solid #e8ece9;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(0,0,0,.06);
    transition: all .3s ease;
}

.patent-page-card:hover,
.patent-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(0,0,0,.10);
}

.patent-image-wrap {
    background: #f5f8f6;
    min-height: 100%;
}

.patent-page-image {
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    display: block;
}

.patent-no-image {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #198754;
    background: #f4f8f5;
    font-size: 18px;
}

.patent-no-image i {
    font-size: 55px;
}

.patent-page-content,
.patent-content {
    padding: 26px;
}

.patent-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #198754;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 10px;
}

.patent-page-content h3,
.patent-content h4 {
    font-weight: 700;
    color: #1d2b22;
    line-height: 1.35;
    margin-bottom: 15px;
}

.patent-meta {
    color: #59635d;
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 8px;
}

.patent-meta strong {
    color: #27332c;
}

.patent-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    background: #f4f8f5;
}

.patent-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #198754;
    font-size: 70px;
}

.patent-content p {
    color: #5e6862;
    font-size: 14px;
    line-height: 1.6;
}

.patent-date {
    font-weight: 600;
    color: #198754 !important;
}

@media (max-width: 767px) {
    .patent-page-image,
    .patent-no-image {
        min-height: 240px;
    }

    .patent-page-content {
        padding: 20px;
    }
}


/*Mobile Responsive*/

/* =========================================================
   PATENTS PAGE - MOBILE ONLY
   Does NOT change desktop design
   ========================================================= */

@media (max-width: 767px) {

    /* Patent cards - keep existing desktop card design */
    .patent-page-card {
        width: 100%;
        height: auto !important;
        border-radius: 14px;
    }

    /* Patent document area */
    .patent-page-card .patent-image-wrap {
        min-height: 200px !important;
        height: 200px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        padding: 10px;
        background: #f5f8f6;
    }

    /* Small complete certificate preview */
    .patent-page-card .patent-page-image {
        width: 130px !important;
        height: 175px !important;

        min-height: 0 !important;
        max-height: 175px !important;

        object-fit: contain !important;

        display: block;
        margin: 0 auto !important;

        padding: 3px;
        background: #fff;
        border-radius: 6px;
    }

    /* If image is missing */
    .patent-page-card .patent-no-image {
        width: 130px !important;
        height: 175px !important;
        min-height: 175px !important;

        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;

        margin: 0 auto;
        border-radius: 6px;
    }

    .patent-page-card .patent-no-image i {
        font-size: 40px;
    }

    /* Patent information */
    .patent-page-card .patent-page-content {
        padding: 18px !important;
    }

    .patent-page-card .patent-page-content h3 {
        font-size: 19px !important;
        line-height: 1.35;
        margin-bottom: 12px;
    }

    .patent-page-card .patent-label {
        font-size: 11px;
        margin-bottom: 7px;
    }

    .patent-page-card .patent-meta {
        font-size: 13px;
        line-height: 1.6;
        margin-bottom: 8px;
    }

    /* Buttons */
    .patent-page-card .mt-3 {
        margin-top: 14px !important;
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
    }

    .patent-page-card .mt-3 .btn {
        margin-right: 0 !important;
        font-size: 12px;
        padding: 8px 11px;
    }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 480px) {

    .patent-page-card .patent-image-wrap {
        height: 180px !important;
        min-height: 180px !important;
    }

    .patent-page-card .patent-page-image {
        width: 110px !important;
        height: 155px !important;
        max-height: 155px !important;
    }

    .patent-page-card .patent-no-image {
        width: 110px !important;
        height: 155px !important;
        min-height: 155px !important;
    }

    .patent-page-card .patent-page-content {
        padding: 15px !important;
    }

    .patent-page-card .patent-page-content h3 {
        font-size: 17px !important;
    }

    .patent-page-card .patent-meta {
        font-size: 12px;
    }

}

