/* =====================================
   GLOBAL
===================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    color: #222;
    overflow-x: hidden;
}

a {
    text-decoration: none;
}


/* =====================================
   NAVBAR
===================================== */

.baidehi-navbar {
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(10px);
    padding: 18px 0;
    transition: all 0.3s ease;
}

.logo-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #f9b233;
    color: #145a24;

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

    font-size: 20px;
    font-weight: 800;
}

.brand-name {
    font-size: 18px;
    font-weight: 700;
}

.brand-tagline {
    font-size: 9px;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

.navbar-nav .nav-link {
    color: white;
    font-size: 14px;
    font-weight: 500;
    margin-left: 20px;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: #f9b233;
}

.btn-nav-contact {
    background: #f9b233;
    color: #145a24;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 30px;
}

.btn-nav-contact:hover {
    background: white;
    color: #145a24;
}


/* =========================================
   HERO SECTION
========================================= */

.hero-section {
    position: relative;
    min-height: 100vh;

    display: flex;
    align-items: center;

    background-image:
        linear-gradient(
            90deg,
            rgba(5, 35, 18, 0.88) 0%,
            rgba(5, 35, 18, 0.65) 45%,
            rgba(5, 35, 18, 0.25) 100%
        ),
        url("../images/hero/hero-solar.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    overflow: hidden;
}


/* Hero content */

.hero-section .container {
    position: relative;
    z-index: 2;
}

.hero-content {
    max-width: 760px;
    padding-top: 80px;
}

.hero-content h1 {
    color: white;

    font-size: clamp(2.5rem, 5vw, 4.5rem);

    font-weight: 700;

    line-height: 1.12;

    margin-bottom: 20px;
}

.hero-content p {
    color: rgba(255, 255, 255, 0.9);

    font-size: 1.05rem;

    line-height: 1.8;

    max-width: 650px;

    margin-bottom: 0;
}


/* Small label above heading */

.hero-label {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: #f9b233;

    font-size: 0.85rem;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    margin-bottom: 18px;
}

.hero-label i {
    font-size: 1rem;
}


/* =========================================
   HERO BUTTONS
========================================= */

.hero-buttons {
    margin-top: 35px;

    display: flex;

    gap: 15px;

    flex-wrap: wrap;
}

.btn-primary-custom {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    background: #f9b233;

    color: #145a24;

    padding: 14px 28px;

    border-radius: 30px;

    font-weight: 600;

    text-decoration: none;

    border: 1px solid #f9b233;

    transition: all 0.3s ease;
}

.btn-primary-custom:hover {
    background: white;

    color: #145a24;

    border-color: white;

    transform: translateY(-2px);
}


.btn-outline-light-custom {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    border: 1px solid rgba(255, 255, 255, 0.8);

    color: white;

    background: transparent;

    padding: 14px 28px;

    border-radius: 30px;

    font-weight: 500;

    text-decoration: none;

    transition: all 0.3s ease;
}

.btn-outline-light-custom:hover {
    background: white;

    color: #145a24;

    border-color: white;

    transform: translateY(-2px);
}


/* =========================================
   HERO SCROLL INDICATOR
========================================= */

.scroll-indicator {
    position: absolute;

    bottom: 30px;

    left: 50%;

    transform: translateX(-50%);

    color: white;

    display: flex;

    flex-direction: column;

    align-items: center;

    font-size: 12px;

    opacity: 0.7;

    z-index: 3;

    text-decoration: none;

    animation: heroScroll 2s ease-in-out infinite;
}

.scroll-indicator i {
    font-size: 20px;

    margin-top: 5px;
}


/* Scroll animation */

@keyframes heroScroll {

    0%,
    100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(6px);
    }
}


/* =========================================
   MOBILE HERO
========================================= */

@media (max-width: 768px) {

    .hero-section {
        min-height: 90vh;

        background-position: center;
    }

    .hero-content {
        padding-top: 90px;

        padding-bottom: 80px;
    }

    .hero-content h1 {
        font-size: 2.4rem;

        line-height: 1.15;
    }

    .hero-content p {
        font-size: 0.95rem;

        line-height: 1.7;
    }

    .hero-buttons {
        margin-top: 25px;

        gap: 10px;
    }

    .btn-primary-custom,
    .btn-outline-light-custom {
        padding: 12px 22px;

        font-size: 0.9rem;
    }

    .scroll-indicator {
        bottom: 20px;
    }
}


/* =====================================
   STATS
===================================== */

.stats-section {
    background: #145a24;
    color: white;
}

.stats-wrapper {
    display: flex;
}

.stat-item {
    padding: 35px 20px;
    text-align: center;

    border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.stat-item:last-child {
    border-right: none;
}

.stat-item i {
    color: #f9b233;
    font-size: 28px;
}

.stat-item h3 {
    margin-top: 10px;
    font-size: 28px;
    font-weight: 700;
}

.stat-item p {
    margin: 0;
    font-size: 13px;
    opacity: 0.7;
}


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

@media (max-width: 991px) {

    .navbar-nav {
        background: #145a24;
        padding: 20px;
        border-radius: 10px;
        margin-top: 15px;
    }

    .navbar-nav .nav-link {
        margin-left: 0;
        padding: 10px 0;
    }

}

@media (max-width: 767px) {

    .hero-section {
        min-height: 90vh;
    }

    .hero-section h1 {
        font-size: 42px;
    }

    .hero-description {
        font-size: 15px;
    }

    .stats-wrapper {
        display: block;
    }

    .stat-item {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }

    .about-preview {
        padding: 70px 0;
    }

    .about-preview h2 {
        font-size: 34px;
    }

    .about-image-placeholder {
        height: 300px;
    }

}
/* =====================================
   WHY CHOOSE
===================================== */

.why-choose{
    background:#f8f9fa;
    padding:100px 0;
}

.feature-card{
    background:#fff;
    border-radius:18px;
    padding:35px 25px;
    text-align:center;
    height:100%;
    transition:.3s ease;
    box-shadow:0 10px 25px rgba(0,0,0,.06);
}

.feature-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.feature-icon{
    width:75px;
    height:75px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#1e7d32;
    color:#fff;

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

    font-size:30px;
}

.feature-card h4{
    margin-bottom:15px;
    font-weight:600;
}

.feature-card p{
    color:#666;
    line-height:1.7;
    font-size:15px;
}

/* =====================================
   FLAGSHIP PROJECT
===================================== */

.flagship-project {
    padding: 110px 0;
    background: #ffffff;
}

.project-intro {
    margin-top: 20px;
    color: #666;
    line-height: 1.8;
    font-size: 16px;
    max-width: 600px;
}

.project-details {
    margin-top: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.project-detail {
    display: flex;
    align-items: center;
    gap: 14px;
}

.project-detail i {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #fff3d6;
    color: #f5a900;

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

    font-size: 19px;
    flex-shrink: 0;
}

.project-detail strong {
    display: block;
    font-size: 15px;
    color: #222;
}

.project-detail span {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #777;
}

.btn-project {
    margin-top: 35px;
    background: #f5a900;
    color: #17301d;
    border-radius: 30px;
    padding: 13px 24px;
    font-weight: 600;
    border: none;
}

.btn-project:hover {
    background: #e49b00;
    color: #17301d;
}

.project-image-box {
    height: 480px;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background: #eef4ef;
}

.project-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-image-overlay {
    position: absolute;
    left: 25px;
    right: 25px;
    bottom: 25px;

    padding: 20px 22px;
    border-radius: 15px;

    background: rgba(0, 0, 0, 0.65);
    color: white;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.project-image-overlay span {
    font-size: 12px;
    letter-spacing: 1px;
}

.project-image-overlay strong {
    font-size: 25px;
    color: #f5a900;
}
/* =====================================
   GALLERY PAGE
===================================== */

.page-header {
    padding: 110px 0 80px;
    background: #17301d;
    color: white;
    text-align: center;
}

.page-header .section-label {
    color: #f5a900;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.page-header h1 {
    margin-top: 15px;
    font-size: 48px;
    font-weight: 700;
}

.page-header p {
    margin: 15px auto 0;
    max-width: 600px;
    color: #d7d7d7;
}

.gallery-page {
    background: #f8faf8;
}

.gallery-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}

.gallery-image-wrapper {
    height: 280px;
    position: relative;
    overflow: hidden;
}

.gallery-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.gallery-card:hover .gallery-image-wrapper img {
    transform: scale(1.05);
}

.gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);

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

    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery-card:hover .gallery-overlay {
    opacity: 1;
}

.gallery-overlay i {
    width: 48px;
    height: 48px;
    border-radius: 50%;

    background: #f5a900;
    color: #17301d;

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

    font-size: 18px;
}

.gallery-card-content {
    padding: 20px 22px;
}

.gallery-card-content h5 {
    margin: 0;
    font-weight: 600;
    color: #222;
}

.gallery-card-content p {
    margin: 8px 0 0;
    color: #777;
    font-size: 14px;
    line-height: 1.6;
}

.gallery-empty {
    padding: 80px 20px;
}

.gallery-empty i {
    font-size: 55px;
    color: #f5a900;
}

.gallery-empty h4 {
    margin-top: 20px;
}
/* =====================================
   TEAM PAGE
===================================== */

.team-page {
    background: #f8faf8;
}

.team-intro {
    max-width: 850px;
    margin: 0 auto 70px;
    text-align: center;
    color: #666;
    line-height: 1.8;
}

.team-category {
    margin-bottom: 80px;
}

.team-category-title {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 35px;
}

.team-category-title span {
    height: 1px;
    flex: 1;
    background: #dfe5df;
}

.team-category-title h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    color: #17301d;
}

.team-card {
    background: white;
    border-radius: 18px;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.team-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.11);
}

.team-photo {
    height: 280px;
    background: #eef3ee;
}

.team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aeb8ae;
}

.team-photo-placeholder i {
    font-size: 80px;
}

.team-info {
    padding: 20px;
    text-align: center;
}

.team-info h5 {
    margin: 0;
    font-weight: 600;
}

.team-info p {
    margin: 7px 0 0;
    color: #f5a900;
    font-size: 14px;
    font-weight: 500;
}

.team-info small {
    display: block;
    margin-top: 12px;
    color: #777;
    line-height: 1.5;
}

.chairman-message-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 14px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #145a24;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.chairman-message-button:hover,
.chairman-message-button:focus-visible {
    background: #c78300;
    color: #fff;
    transform: translateY(-1px);
}

.chairman-message-button i {
    transition: transform 0.2s ease;
}

.chairman-message-button:hover i,
.chairman-message-button:focus-visible i {
    transform: translateX(3px);
}

.team-empty {
    padding: 80px 20px;
}

.team-empty i {
    font-size: 60px;
    color: #f5a900;
}

/* =========================================
   NEWS PAGE
========================================= */

.news-page {
    background: #f7f9f7;
}

.news-card {
    height: 100%;
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e5ebe7;
    box-shadow: 0 8px 30px rgba(16, 35, 23, 0.06);
    transition: transform 0.3s ease,
                box-shadow 0.3s ease;
}

.news-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(16, 35, 23, 0.12);
}

.news-image {
    width: 100%;
    height: 230px;
    overflow: hidden;
}

.news-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.news-content {
    padding: 25px;
}

.news-date {
    display: block;
    margin-bottom: 10px;
    color: #5d7968;
    font-size: 13px;
    font-weight: 500;
}

.news-content h3 {
    margin-bottom: 12px;
    color: #173c29;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
}

.news-content p {
    margin: 0;
    color: #68736c;
    font-size: 14px;
    line-height: 1.8;
}

.news-empty {
    padding: 90px 20px;
}

.news-empty i {
    font-size: 55px;
    color: #9aaa9f;
}

.news-empty h4 {
    margin-top: 20px;
    color: #173c29;
}

.news-empty p {
    color: #777;
}


/* =========================================
   NEWS MOBILE
========================================= */

@media (max-width: 767px) {

    .news-image {
        height: 220px;
    }

    .news-content {
        padding: 22px;
    }

    .news-content h3 {
        font-size: 18px;
    }

}
/* =====================================
   ABOUT PAGE
===================================== */

.about-main h2,
.about-project-section h2,
.vision-section h2,
.mission-section h2,
.objectives-section h2,
.core-values-section h2,
.commitment-section h2 {
    color: #17301d;
    font-weight: 700;
}

.about-main h2 {
    font-size: 44px;
    margin: 15px 0 25px;
}

.about-main h2 span {
    display: block;
}

.about-main p,
.about-project-section p,
.commitment-section p {
    color: #6f756f;
    line-height: 1.85;
}

.about-highlight-card {
    background: #17301d;
    color: white;
    border-radius: 24px;
    padding: 40px;
    text-align: center;
}

.highlight-number {
    font-size: 38px;
    font-weight: 700;
}

.highlight-title {
    color: #d6ddd6;
    margin-top: 5px;
}

.about-highlight-card hr {
    border-color: rgba(255,255,255,.2);
    margin: 25px 0;
}

.about-project-section {
    background: #f7f9f7;
    padding: 90px 0;
}

.about-project-section h2 {
    font-size: 40px;
    margin: 15px 0 25px;
}

.about-project-placeholder {
    min-height: 400px;
    border-radius: 24px;
    background: #e6ece6;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #7c857c;
}

.about-project-placeholder i {
    font-size: 65px;
    margin-bottom: 15px;
}

.about-project-placeholder h4 {
    color: #17301d;
}

.vision-section {
    background: white;
}

.large-text {
    font-size: 20px;
    color: #6f756f;
    line-height: 1.9;
    margin-top: 20px;
}

.mission-section {
    background: #f7f9f7;
}

.section-heading-center {
    text-align: center;
}

.section-heading-center h2 {
    font-size: 40px;
    margin-top: 12px;
}

.value-card {
    background: white;
    padding: 32px;
    border-radius: 20px;
    height: 100%;
    transition: transform .2s ease;
}

.value-card:hover {
    transform: translateY(-5px);
}

.value-card i {
    font-size: 32px;
    color: #e8a900;
}

.value-card h4 {
    color: #17301d;
    margin: 18px 0 10px;
    font-weight: 600;
}

.value-card p,
.core-value-card p {
    color: #727872;
    line-height: 1.7;
    margin-bottom: 0;
}

.objectives-section {
    background: white;
}

.objective-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.objective-list li {
    position: relative;
    padding: 0 0 18px 32px;
    margin-bottom: 18px;
    border-bottom: 1px solid #e5e9e5;
    color: #656d65;
    line-height: 1.7;
}

.objective-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #e8a900;
    font-weight: 700;
}

.core-values-section {
    background: #f7f9f7;
}

.core-value-card {
    background: white;
    padding: 30px;
    border-radius: 18px;
    height: 100%;
}

.core-value-card h4 {
    color: #17301d;
    font-weight: 600;
    margin-bottom: 12px;
}

.commitment-section {
    background: white;
}

.commitment-box {
    background: #17301d;
    color: white;
    border-radius: 28px;
    padding: 60px;
}

.commitment-box h2 {
    color: white;
    font-size: 40px;
    margin: 15px 0 25px;
}

.commitment-box p {
    color: #d8ded8;
}

@media (max-width: 768px) {

    .about-main h2,
    .about-project-section h2,
    .section-heading-center h2,
    .commitment-box h2 {
        font-size: 32px;
    }

    .about-highlight-card {
        padding: 30px;
    }

    .commitment-box {
        padding: 35px 25px;
    }

}
/* =====================================
   CHAIRMAN'S MESSAGE
===================================== */

.chairman-section {
    background: #ffffff;
}

.chairman-photo {
    height: 600px;
    background: #f1f4f1;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
}

.chairman-photo-placeholder {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #a8b0a8;
}

.chairman-photo-placeholder i {
    font-size: 100px;
    margin-bottom: 15px;
}

.chairman-photo-placeholder span {
    font-size: 15px;
}

.chairman-section .chairman-portrait {
    width: min(100%, 280px);
    margin: 0 auto;
}

.chairman-section .chairman-photo {
    width: 100%;
    height: 310px;
    border: 1px solid #e0e8e1;
    box-shadow: 0 10px 24px rgba(20, 90, 36, 0.1);
}

.chairman-section .chairman-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.chairman-portrait-caption {
    padding-top: 14px;
    text-align: center;
}

.chairman-portrait-caption strong,
.chairman-portrait-caption span {
    display: block;
}

.chairman-portrait-caption strong {
    color: #17301d;
    font-size: 1.05rem;
}

.chairman-portrait-caption span {
    margin-top: 3px;
    color: #c78300;
    font-size: 0.86rem;
    font-weight: 600;
}

.chairman-title {
    color: #17301d;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
    margin: 18px 0 30px;
}

.chairman-message p {
    color: #666;
    line-height: 1.9;
    margin-bottom: 20px;
}

.chairman-signature {
    border-left: 3px solid #f5a900;
    padding-left: 20px;
    margin-top: 35px;
    display: flex;
    flex-direction: column;
}

.chairman-signature strong {
    color: #17301d;
    font-size: 20px;
}

.chairman-signature span {
    color: #777;
    margin-top: 3px;
}

@media (max-width: 991px) {

    .chairman-section .chairman-photo {
        height: 300px;
    }

    .chairman-title {
        font-size: 34px;
    }

}
/* =====================================
   PROJECT PAGE
===================================== */

.project-intro {
    background: #fff;
}

.project-intro h2 {
    color: #17301d;
    font-size: 40px;
    font-weight: 700;
    margin: 15px 0 25px;
}

.project-intro p {
    color: #666;
    line-height: 1.9;
}

.project-image-placeholder {
    height: 430px;
    border-radius: 24px;
    background: #eef3ee;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #a8b0a8;
}

.project-image-placeholder i {
    font-size: 90px;
    margin-bottom: 15px;
}

.project-highlights {
    background: #f8faf8;
}

.project-stat-card {
    background: #fff;
    border-radius: 18px;
    padding: 30px 20px;
    text-align: center;
    height: 100%;
    box-shadow: 0 7px 25px rgba(0, 0, 0, 0.05);
}

.project-stat-card i {
    display: block;
    font-size: 30px;
    color: #f5a900;
    margin-bottom: 15px;
}

.project-stat-card strong {
    display: block;
    color: #17301d;
    font-size: 28px;
}

.project-stat-card span {
    color: #777;
    font-size: 14px;
}

.project-overview {
    background: #fff;
}

.project-table {
    overflow: hidden;
    border-radius: 15px;
    border: 1px solid #e5e9e5;
}

.project-table th {
    width: 30%;
    background: #f3f6f3;
    color: #17301d;
    font-weight: 600;
    padding: 18px;
}

.project-table td {
    padding: 18px;
    color: #666;
}

.technology-section {
    background: #f8faf8;
}

.technology-card {
    background: #fff;
    border-radius: 18px;
    padding: 30px;
    height: 100%;
    box-shadow: 0 7px 25px rgba(0, 0, 0, 0.04);
}

.technology-card i {
    font-size: 32px;
    color: #f5a900;
}

.technology-card h4 {
    color: #17301d;
    margin-top: 18px;
}

.technology-card p {
    color: #555;
    margin-bottom: 5px;
}

.technology-card span {
    color: #888;
    font-size: 14px;
}

.advantages-section {
    background: #fff;
}

.advantages-section h2 {
    color: #17301d;
    font-size: 38px;
    font-weight: 700;
    margin: 15px 0;
}

.advantages-section p {
    color: #777;
    line-height: 1.8;
}

.advantage-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.advantage-list div {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.advantage-list i {
    color: #f5a900;
    font-size: 20px;
    margin-top: 3px;
}

.advantage-list span {
    color: #666;
    line-height: 1.6;
}

.environment-section {
    background: #f8faf8;
}

.environment-card {
    background: #fff;
    padding: 30px 20px;
    border-radius: 18px;
    text-align: center;
    height: 100%;
}

.environment-card i {
    font-size: 35px;
    color: #f5a900;
}

.environment-card h4 {
    color: #17301d;
    margin: 15px 0 10px;
}

.environment-card p {
    color: #777;
    line-height: 1.6;
    font-size: 14px;
}

.investment-section {
    background: #fff;
}

.investment-card {
    background: #f8faf8;
    border-radius: 18px;
    padding: 35px;
    text-align: center;
    height: 100%;
}

.investment-card span,
.investment-card small {
    display: block;
    color: #777;
}

.investment-card strong {
    display: block;
    color: #17301d;
    font-size: 30px;
    margin: 10px 0;
}

.project-status-section {
    background: #17301d;
}

.status-box {
    max-width: 900px;
    margin: auto;
    color: #fff;
}

.status-box h2 {
    font-size: 38px;
    margin: 15px 0 25px;
}

.status-box p {
    color: #d8ded8;
    line-height: 1.9;
}

.status-box .section-label {
    color: #f5a900;
}

@media (max-width: 768px) {

    .project-intro h2,
    .advantages-section h2,
    .status-box h2 {
        font-size: 30px;
    }

    .project-image-placeholder {
        height: 320px;
    }

    .project-table th {
        width: 40%;
    }

}
/* =====================================
   CONTACT PAGE
===================================== */

.contact-section {
    background: #fff;
}

.contact-section h2 {
    color: #17301d;
    font-size: 42px;
    font-weight: 700;
    margin: 15px 0;
}

.contact-intro {
    color: #777;
    line-height: 1.8;
    max-width: 500px;
}

.contact-info {
    margin-top: 35px;
}

.contact-item {
    display: flex;
    gap: 18px;
    margin-bottom: 28px;
}

.contact-icon {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border-radius: 50%;
    background: #f4f7f4;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-icon i {
    color: #f5a900;
    font-size: 22px;
}

.contact-item strong {
    color: #17301d;
}

.contact-item p {
    color: #777;
    margin: 5px 0 0;
    line-height: 1.6;
}

.contact-form-card {
    background: #f7f9f7;
    border-radius: 24px;
    padding: 40px;
}

.contact-form-card h3 {
    color: #17301d;
    font-size: 28px;
    font-weight: 700;
}

.contact-form-card > p {
    color: #777;
    margin-bottom: 30px;
}

.contact-form-card label {
    display: block;
    color: #17301d;
    font-weight: 500;
    margin-bottom: 7px;
}

.contact-form-card .form-control {
    border: 1px solid #dfe4df;
    border-radius: 10px;
    padding: 13px 15px;
    box-shadow: none;
}

.contact-form-card .form-control:focus {
    border-color: #17301d;
    box-shadow: none;
}

.map-section {
    padding: 80px 0;
    background: #f8faf8;
}

.map-container {
    margin-top: 35px;
}

.map-placeholder {
    min-height: 400px;
    background: #e9eee9;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #7d877d;
}

.map-placeholder i {
    font-size: 60px;
    margin-bottom: 15px;
}

.map-placeholder h4 {
    color: #17301d;
}

.map-placeholder p {
    margin-bottom: 8px;
}

.map-placeholder span {
    font-size: 13px;
}
#baidehi-map {
    width: 100%;
    height: 500px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

@media (max-width: 768px) {

    .contact-section h2 {
        font-size: 32px;
    }

    .contact-form-card {
        padding: 25px;
    }

}
/* =====================================
   BAIDEHI CONTACT MAP
===================================== */

#baidehi-map {
    width: 100%;
    height: 500px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.map-section {
    padding: 80px 0;
    background: #f8faf8;
}

.map-container {
    margin-top: 35px;
    width: 100%;
}

.section-heading-center {
    text-align: center;
}

.section-heading-center h2 {
    color: #17301d;
    font-size: 38px;
    font-weight: 700;
    margin-top: 10px;
}
/* =====================================
   BAIDEHI CONTACT MAP
===================================== */

#baidehi-map {
    width: 100%;
    height: 500px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.map-section {
    padding: 80px 0;
    background: #f8faf8;
}

.map-container {
    margin-top: 35px;
    width: 100%;
}

.section-heading-center {
    text-align: center;
}

.section-heading-center h2 {
    color: #17301d;
    font-size: 38px;
    font-weight: 700;
    margin-top: 10px;
}
/* =========================================
   GLOBAL RESPONSIVE DESIGN
========================================= */

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

/* =========================================
   2026 VISUAL SYSTEM
   A bright, responsive finish shared by every public page.
========================================= */
:root {
    --ink: #123326;
    --green: #157347;
    --green-deep: #092c21;
    --lime: #98d645;
    --sun: #ffc83d;
    --surface: #f5fbf4;
    --line: #dcebdc;
}

body { background: var(--surface); color: #294337; line-height: 1.7; }
main { overflow: hidden; }
.baidehi-navbar { padding: 12px 0; background: rgba(7, 43, 30, .92); border-bottom: 1px solid rgba(255,255,255,.12); }
.baidehi-navbar .navbar-brand { min-height: 56px; gap: 10px; }
.brand-logo { width: 52px; height: 52px; object-fit: contain; flex: 0 0 auto; }
.brand-copy strong, .brand-copy small { display: block; color: #fff; line-height: 1.2; }
.brand-copy strong { font-size: 1rem; letter-spacing: -.02em; }
.brand-copy small { margin-top: 3px; font-size: .66rem; color: rgba(255,255,255,.72); letter-spacing: .04em; }
.navbar-nav .nav-link { font-weight: 600; letter-spacing: .01em; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--lime); }
.btn-nav-contact, .btn-primary-custom { background: var(--sun); border-color: var(--sun); color: var(--green-deep); box-shadow: 0 10px 22px rgba(255,200,61,.2); }
.btn-nav-contact:hover, .btn-primary-custom:hover { background: #fff4c9; border-color: #fff4c9; color: var(--green-deep); }

.hero-section { min-height: min(760px, 100vh); background-position: 58% center; }
.hero-overlay { background: linear-gradient(100deg, rgba(3, 39, 27, .93), rgba(9, 75, 42, .76) 48%, rgba(7, 50, 30, .26)); }
.hero-label { color: #d8fa9f; }
.hero-text h1 span { color: #fff1ad; }
.hero-highlights > div { border-left-color: rgba(216,250,159,.38); }
.hero-highlights strong { color: #fff; }
.hero-scroll { color: var(--sun); }

.stats-section { background: linear-gradient(105deg, #0d593b, #218c56); }
.stat-number { color: #fff8d6; }
.page-header { position: relative; padding: 148px 0 84px; background: radial-gradient(circle at 82% 15%, rgba(173,224,73,.24), transparent 27%), linear-gradient(125deg, #092e21, #176b42); }
.page-header h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); letter-spacing: -.045em; }
.page-header .section-label, .section-label { color: #c8ef83; font-weight: 700; }

.home-about-section, .about-main, .project-intro, .contact-section, .vision-section, .objectives-section, .commitment-section, .advantages-section, .investment-section { background: #fff; }
.why-section, .about-team-section, .mission-section, .core-values-section, .project-highlights, .technology-section, .environment-section, .gallery-page, .team-page, .news-page, .map-section { background: var(--surface); }
.home-section-title, .about-main h2, .about-project-section h2, .project-intro h2, .contact-section h2 { color: var(--ink); letter-spacing: -.04em; }
.section-heading-center h2 { color: var(--ink); letter-spacing: -.035em; }
.why-card, .value-card, .core-value-card, .project-stat-card, .technology-card, .environment-card, .investment-card, .news-card, .gallery-card, .team-card { border: 1px solid var(--line); box-shadow: 0 14px 34px rgba(19, 77, 45, .07); }
.why-card:hover, .value-card:hover, .project-stat-card:hover, .technology-card:hover, .environment-card:hover, .gallery-card:hover, .team-card:hover, .news-card:hover { transform: translateY(-7px); box-shadow: 0 20px 42px rgba(19, 77, 45, .14); }
.btn-project { background: var(--green); color: #fff; }
.btn-project:hover { background: var(--green-deep); color: #fff; }
.about-highlight-card, .commitment-box, .project-status-section { background: linear-gradient(145deg, #0b3828, #176d43); box-shadow: 0 20px 45px rgba(10, 70, 39, .18); }
.project-image-placeholder, .about-project-placeholder, .map-placeholder { background: linear-gradient(145deg, #e8f7df, #d8efcb); color: var(--green); }
.project-stat-card i, .technology-card i, .environment-card i, .value-card i, .contact-icon i { color: var(--green); }
.project-table { border-color: var(--line); }
.project-table th { background: #eaf6e6; color: var(--ink); }
.contact-form-card { background: linear-gradient(145deg, #f2faef, #fff); border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(19, 77, 45, .08); }
.contact-form-card .form-control:focus { border-color: var(--green); box-shadow: 0 0 0 .2rem rgba(21,115,71,.13); }

/* About: concise team cards match the dedicated team page. */
.about-team-section { padding: 96px 0 !important; }
.about-team-category { margin-top: 44px; }
.about-team-category:first-of-type { margin-top: 0; }
.about-team-category > h3 { margin: 0 0 20px; color: var(--ink); font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; }
.about-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.about-team-card { background: #fff; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 12px 28px rgba(19,77,45,.07); transition: transform .25s ease, box-shadow .25s ease; }
.about-team-card:hover { transform: translateY(-7px); box-shadow: 0 20px 40px rgba(19,77,45,.14); }
.about-team-photo { height: 210px; background: linear-gradient(145deg, #eaf6e6, #d9edd5); overflow: hidden; }
.about-team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.about-team-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #75a36f; font-size: 4rem; }
.about-team-info { padding: 20px 20px 22px; text-align: center; }
.about-team-info h3 { margin: 0; color: var(--ink); font-size: 1.05rem; font-weight: 700; }
.about-team-info p { margin: 5px 0 0; color: var(--green); font-size: .86rem; font-weight: 600; }
.about-team-empty { grid-column: 1 / -1; padding: 3rem; text-align: center; color: #65796b; background: #fff; border: 1px dashed var(--line); border-radius: 16px; }

@media (max-width: 991px) {
    .baidehi-navbar { background: #0a3928; }
    .navbar-nav { background: transparent; padding: 12px 0 0; }
    .navbar-nav .nav-link { padding: 10px 0; }
    .about-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-header { padding-top: 125px; }
}

@media (max-width: 575px) {
    .brand-logo { width: 45px; height: 45px; }
    .brand-copy strong { font-size: .9rem; }
    .hero-section { min-height: 690px; }
    .hero-highlights { gap: 8px; }
    .hero-highlights > div { padding: 0 8px; }
    .page-header { padding: 116px 0 58px; }
    .about-team-section { padding: 64px 0 !important; }
    .about-team-grid { grid-template-columns: 1fr; }
    .about-team-photo { height: 290px; }
}


/* Tablets */
@media (max-width: 991px) {

    .container {
        width: 92%;
        max-width: 100%;
    }

    .page-header {
        padding: 80px 0 60px;
    }

    .page-header h1 {
        font-size: 42px;
    }

    .about-main,
    .about-project-section,
    .vision-section,
    .mission-section,
    .objectives-section,
    .core-values-section,
    .commitment-section {
        padding-top: 65px !important;
        padding-bottom: 65px !important;
    }

    .about-main h2 {
        font-size: 38px;
    }

    .about-project-section h2 {
        font-size: 36px;
    }

    .section-heading-center h2 {
        font-size: 36px;
    }

    .commitment-box h2 {
        font-size: 36px;
    }

    #baidehi-map {
        height: 450px;
    }
}


/* Mobile */
@media (max-width: 767px) {

    .container {
        width: 92%;
    }


    /* PAGE HEADER */

    .page-header {
        padding: 60px 0 45px;
        text-align: center;
    }

    .page-header h1 {
        font-size: 32px;
        line-height: 1.2;
    }

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


    /* SECTION LABEL */

    .section-label {
        font-size: 12px;
        letter-spacing: 1.2px;
    }


    /* HEADINGS */

    .about-main h2,
    .about-project-section h2,
    .section-heading-center h2,
    .commitment-box h2 {
        font-size: 30px;
        line-height: 1.25;
    }


    /* BODY TEXT */

    .about-main p,
    .about-project-section p,
    .commitment-section p {
        font-size: 15px;
        line-height: 1.75;
    }


    /* ABOUT HIGHLIGHT CARD */

    .about-highlight-card {
        padding: 28px 20px;
        border-radius: 20px;
    }

    .highlight-number {
        font-size: 32px;
    }


    /* PROJECT IMAGE */

    .about-project-placeholder {
        min-height: 280px;
        border-radius: 20px;
    }


    /* VISION */

    .large-text {
        font-size: 17px;
        line-height: 1.75;
    }


    /* VALUE CARDS */

    .value-card {
        padding: 25px;
        border-radius: 18px;
    }


    /* OBJECTIVES */

    .objective-list li {
        padding-left: 28px;
        font-size: 15px;
        line-height: 1.65;
    }


    /* CORE VALUES */

    .core-value-card {
        padding: 25px;
    }


    /* COMMITMENT */

    .commitment-box {
        padding: 35px 22px;
        border-radius: 20px;
    }


    /* MAP */

    #baidehi-map {
        height: 350px;
        border-radius: 18px;
    }

    .map-section {
        padding: 55px 0;
    }


    /* CONTACT */

    .contact-section {
        padding-top: 55px !important;
        padding-bottom: 55px !important;
    }

    .contact-form-card {
        padding: 25px !important;
    }


    /* BUTTONS */

    .btn-dark-custom {
        width: auto;
        max-width: 100%;
    }

}


/* Small phones */
@media (max-width: 480px) {

    .container {
        width: 94%;
    }

    .page-header h1 {
        font-size: 28px;
    }

    .about-main h2,
    .about-project-section h2,
    .section-heading-center h2,
    .commitment-box h2 {
        font-size: 27px;
    }

    .highlight-number {
        font-size: 28px;
    }

    #baidehi-map {
        height: 300px;
    }

    .value-card,
    .core-value-card {
        padding: 22px;
    }

}
/* =========================================
   HOMEPAGE HERO
========================================= */

.hero-section {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;


    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    color: white;
    overflow: hidden;
}

.hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(8, 25, 15, 0.88) 0%,
            rgba(8, 25, 15, 0.68) 45%,
            rgba(8, 25, 15, 0.30) 100%
        );

    
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-text {
    max-width: 760px;
    padding: 90px 0;
}

.hero-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;

    margin-bottom: 22px;
}

.hero-label i {
    font-size: 16px;
}

.hero-text h1 {
    font-size: clamp(48px, 6vw, 78px);
    line-height: 1.05;
    font-weight: 700;

    margin: 0 0 25px;
}

.hero-text h1 span {
    display: block;
}

.hero-description {
    max-width: 650px;

    font-size: 18px;
    line-height: 1.8;

    color: rgba(255, 255, 255, 0.88);

    margin-bottom: 30px;
}

.hero-highlights {
    display: flex;
    gap: 0;

    margin-bottom: 35px;
}

.hero-highlights > div {
    padding: 0 28px;

    border-left: 1px solid rgba(255, 255, 255, 0.35);
}

.hero-highlights > div:first-child {
    padding-left: 0;
    border-left: none;
}

.hero-highlights strong {
    display: block;

    font-size: 27px;
    font-weight: 700;
}

.hero-highlights span {
    display: block;

    margin-top: 4px;

    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;

    color: rgba(255, 255, 255, 0.70);
}

.hero-buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.hero-scroll {
    position: absolute;

    bottom: 25px;
    left: 50%;

    transform: translateX(-50%);

    z-index: 3;

    font-size: 22px;

    animation: heroScroll 1.8s infinite;
}

@keyframes heroScroll {

    0%,
    100% {
        transform: translate(-50%, 0);
    }

    50% {
        transform: translate(-50%, 8px);
    }
}


/* =========================================
   HERO MOBILE
========================================= */

@media (max-width: 767px) {

    .hero-section {
        min-height: 650px;

        background-position: center;
    }

    .hero-text {
        padding: 80px 0 70px;
    }

    .hero-label {
        font-size: 11px;
        letter-spacing: .8px;
    }

    .hero-text h1 {
        font-size: 42px;
        line-height: 1.08;
    }

    .hero-description {
        font-size: 15px;
        line-height: 1.7;
    }

    .hero-highlights {
        display: grid;
        grid-template-columns: repeat(3, 1fr);

        width: 100%;
    }

    .hero-highlights > div {
        padding: 0 12px;
    }

    .hero-highlights > div:first-child {
        padding-left: 0;
    }

    .hero-highlights strong {
        font-size: 21px;
    }

    .hero-highlights span {
        font-size: 9px;
        letter-spacing: .5px;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-buttons .btn {
        width: 100%;
        text-align: center;
    }

}


/* =========================================
   SMALL PHONES
========================================= */

@media (max-width: 480px) {

    .hero-section {
        min-height: 680px;
    }

    .hero-text {
        padding: 70px 0;
    }

    .hero-text h1 {
        font-size: 35px;
    }

    .hero-highlights strong {
        font-size: 18px;
    }

    .hero-highlights span {
        font-size: 8px;
    }

}
/* =========================================
   HOMEPAGE STATS
========================================= */

.stats-section {
    background: #17301d;
    padding: 42px 0;
    color: white;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.stat-item {
    text-align: center;
    padding: 10px 25px;
    border-right: 1px solid rgba(255,255,255,.18);
}

.stat-item:last-child {
    border-right: none;
}

.stat-number {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
}

.stat-label {
    margin-top: 7px;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255,255,255,.68);
}


/* TABLET */

@media (max-width: 767px) {

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 25px;
    }

    .stat-item {
        border-right: none;
    }

    .stat-number {
        font-size: 27px;
    }

}


/* SMALL PHONE */

@media (max-width: 480px) {

    .stats-section {
        padding: 30px 0;
    }

    .stat-number {
        font-size: 24px;
    }

    .stat-label {
        font-size: 9px;
    }

}
/* =========================================
   HOMEPAGE ABOUT
========================================= */

.home-about-section {
    padding: 100px 0;
    background: white;
}

.home-section-title {
    color: #17301d;
    font-size: 44px;
    line-height: 1.15;
    font-weight: 700;
    margin: 15px 0 25px;
}

.home-section-title span {
    display: block;
}

.home-about-section p {
    color: #6e756e;
    line-height: 1.8;
    font-size: 16px;
}

.home-about-section .btn {
    margin-top: 15px;
}

.home-about-image {
    min-height: 450px;
    border-radius: 25px;
    background: #e8eee8;

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

    overflow: hidden;
}

.home-about-image > img,
.flagship-project-image > img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
}

.image-placeholder-content {
    text-align: center;
    color: #7b857b;
}

.image-placeholder-content i {
    font-size: 65px;
    margin-bottom: 15px;
}

.image-placeholder-content h4 {
    color: #17301d;
    font-weight: 600;
}

.image-placeholder-content p {
    margin: 0;
}


/* MOBILE */

@media (max-width: 767px) {

    .home-about-section {
        padding: 65px 0;
    }

    .home-section-title {
        font-size: 31px;
    }

    .home-about-image {
        min-height: 300px;
    }

}
/* =========================================
   WHY BAIDEHI
========================================= */

.why-section {
    padding: 100px 0;
    background: #f6f9f6;
}

.section-heading-center {
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}

.section-heading-center h2 {
    color: #17301d;
    font-size: 42px;
    font-weight: 700;
    margin: 12px 0 15px;
}

.section-heading-center > p {
    color: #717871;
    line-height: 1.8;
}

.why-card {
    height: 100%;
    background: white;
    padding: 32px 25px;
    border-radius: 20px;

    transition: transform .2s ease,
                box-shadow .2s ease;
}

.why-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

.why-icon {
    width: 55px;
    height: 55px;

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

    border-radius: 14px;

    background: #eef4ee;
    color: #17301d;

    font-size: 25px;

    margin-bottom: 22px;
}

.why-card h4 {
    color: #17301d;
    font-size: 19px;
    font-weight: 600;
    margin-bottom: 12px;
}

.why-card p {
    color: #747b74;
    line-height: 1.7;
    font-size: 14px;
    margin: 0;
}


@media (max-width: 767px) {

    .why-section {
        padding: 65px 0;
    }

    .section-heading-center h2 {
        font-size: 31px;
    }

}
/* =========================================
   FLAGSHIP PROJECT
========================================= */

.flagship-project-section {
    padding: 100px 0;
    background: white;
}

.flagship-project-image {
    min-height: 500px;

    border-radius: 25px;

    background: #e8eee8;

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

    overflow: hidden;
}

.project-image-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;

    color: #7a857a;

    text-align: center;
}

.project-image-placeholder i {
    font-size: 70px;
    margin-bottom: 18px;
}

.project-image-placeholder span {
    font-size: 16px;
    font-weight: 500;
}

.flagship-title {
    color: #17301d;

    font-size: 43px;
    line-height: 1.2;

    font-weight: 700;

    margin: 12px 0 15px;
}

.project-capacity {
    color: #17301d;

    font-size: 24px;
    font-weight: 700;

    margin-bottom: 22px;
}

.project-capacity span {
    color: #7b857b;

    font-size: 16px;
    font-weight: 500;

    margin-left: 8px;
}

.flagship-project-section p {
    color: #717871;

    font-size: 15px;
    line-height: 1.8;
}

.project-info-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;

    margin: 30px 0;
}

.project-info-grid > div {
    padding: 17px;

    border-radius: 14px;

    background: #f5f8f5;
}

.project-info-grid span {
    display: block;

    color: #7a817a;

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: .8px;

    margin-bottom: 5px;
}

.project-info-grid strong {
    display: block;

    color: #17301d;

    font-size: 14px;

    font-weight: 600;
}


/* MOBILE */

@media (max-width: 767px) {

    .flagship-project-section {
        padding: 65px 0;
    }

    .flagship-project-image {
        min-height: 300px;
    }

    .flagship-title {
        font-size: 31px;
    }

    .project-capacity {
        font-size: 21px;
    }

    .project-info-grid {
        grid-template-columns: 1fr;
    }

}
/* =========================================
   GALLERY PREVIEW
========================================= */

.home-gallery-section {
    padding: 100px 0;
    background: #f6f9f6;
}

.gallery-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 35px;
}

.gallery-heading h2 {
    color: #17301d;

    font-size: 42px;

    font-weight: 700;

    margin: 10px 0 0;
}

.gallery-view-link {
    color: #17301d;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

    white-space: nowrap;
}

.gallery-view-link i {
    margin-left: 5px;
}

.gallery-preview-grid {
    display: grid;

    grid-template-columns: 2fr 1fr 1fr;

    gap: 18px;

    height: 420px;
}

/* =========================================
   HOMEPAGE GALLERY IMAGES
========================================= */

.gallery-preview-item {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    height: 260px;
}

.gallery-preview-item.large {
    height: 540px;
}

.gallery-preview-item img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;

    transition: transform 0.4s ease;
}

.gallery-preview-item:hover img {
    transform: scale(1.04);
}


/* =========================================
   MOBILE GALLERY
========================================= */

@media (max-width: 767px) {

    .gallery-preview-item,
    .gallery-preview-item.large {
        height: 240px;
    }

}

.gallery-placeholder {
    height: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    color: #7a857a;
}

.gallery-placeholder i {
    font-size: 50px;

    margin-bottom: 10px;
}

.gallery-placeholder span {
    font-size: 14px;
}


/* MOBILE */

@media (max-width: 767px) {

    .home-gallery-section {
        padding: 65px 0;
    }

    .gallery-heading {
        align-items: flex-start;

        flex-direction: column;
    }

    .gallery-heading h2 {
        font-size: 31px;
    }

    .gallery-preview-grid {
        grid-template-columns: 1fr;

        height: auto;
    }

    .gallery-preview-item {
        height: 230px;
    }

}
/* =========================================
   LATEST NEWS
========================================= */

.latest-news-section {
    padding: 100px 0;
    background: white;
}

.news-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 35px;
}

.news-heading h2 {
    color: #17301d;
    font-size: 42px;
    font-weight: 700;
    margin: 10px 0 0;
}

.news-view-link {
    color: #17301d;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.news-view-link i {
    margin-left: 5px;
}

.news-card {
    height: 100%;
    overflow: hidden;
    border-radius: 20px;
    background: #f6f9f6;
    transition: transform .2s ease, box-shadow .2s ease;
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

.news-card-image {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
}

.news-card-image-placeholder {
    height: 210px;
    background: #e5ebe5;

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

    color: #7a857a;
    font-size: 45px;
}

.news-card-body {
    padding: 25px;
}

.news-date {
    color: #6c786c;
    font-size: 12px;
    font-weight: 600;
}

.news-card h3 {
    color: #17301d;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 600;
    margin: 10px 0;
}

.news-card p {
    color: #737b73;
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

.news-empty {
    text-align: center;
    padding: 50px 20px;
    border-radius: 20px;
    background: #f6f9f6;
}

.news-empty i {
    font-size: 40px;
    color: #7a857a;
}

.news-empty h4 {
    color: #17301d;
    margin-top: 15px;
}

.news-empty p {
    color: #737b73;
}


/* MOBILE */

@media (max-width: 767px) {

    .latest-news-section {
        padding: 65px 0;
    }

    .news-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .news-heading h2 {
        font-size: 31px;
    }

}
/* =========================================
   CONTACT CTA
========================================= */

.contact-cta-section {
    padding: 100px 0;
    background: #f6f9f6;
}

.contact-cta-box {
    position: relative;
    overflow: hidden;

    display: grid;
    grid-template-columns: 1.4fr .8fr;

    gap: 60px;

    padding: 65px;

    border-radius: 28px;

    background: #17301d;
    color: white;
}

.contact-cta-content {
    position: relative;
    z-index: 2;
}

.contact-cta-content .section-label {
    color: rgba(255,255,255,.7);
}

.contact-cta-content h2 {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 700;
    margin: 15px 0 20px;
}

.contact-cta-content h2 span {
    display: block;
}

.contact-cta-content p {
    max-width: 600px;

    color: rgba(255,255,255,.72);

    font-size: 16px;
    line-height: 1.8;

    margin-bottom: 28px;
}

.btn-light-custom {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    background: white;
    color: #17301d;

    border: 1px solid white;

    padding: 12px 22px;

    border-radius: 8px;

    font-weight: 600;
}

.btn-light-custom:hover {
    background: transparent;
    color: white;
}

.contact-cta-info {
    position: relative;
    z-index: 2;

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

    gap: 25px;
}

.contact-cta-info > div {
    display: grid;
    grid-template-columns: 35px 1fr;
    column-gap: 12px;
}

.contact-cta-info i {
    grid-row: span 2;

    font-size: 20px;
    margin-top: 3px;
}

.contact-cta-info span {
    font-size: 11px;

    text-transform: uppercase;
    letter-spacing: 1px;

    color: rgba(255,255,255,.55);
}

.contact-cta-info a,
.contact-cta-info p {
    color: white;

    text-decoration: none;

    font-size: 14px;

    margin: 3px 0 0;
}

.contact-cta-info a:hover {
    text-decoration: underline;
}

/* Homepage contact details and compact location map */
.home-contact-section { padding: 90px 0; background: #f6f9f6; }
.home-contact-card { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid #dce7dd; border-radius: 24px; background: #fff; box-shadow: 0 16px 38px rgba(16, 48, 29, .08); }
.home-contact-details { padding: 52px; }
.home-contact-details h2 { max-width: 510px; margin: 12px 0 16px; color: #17301d; font-size: 36px; line-height: 1.2; }
.home-contact-details > p { max-width: 520px; color: #627166; line-height: 1.75; }
.home-contact-links { display: grid; gap: 14px; margin: 28px 0; }
.home-contact-links a { display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; color: #17301d; font-weight: 600; text-decoration: none; }
.home-contact-links i { grid-row: span 2; color: #d89d00; font-size: 19px; }
.home-contact-links span { color: #758176; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-contact-map { position: relative; min-height: 355px; background: #e8f1e8; }
.home-contact-map iframe { width: 100%; height: 100%; min-height: 355px; border: 0; }
.home-contact-map > a { position: absolute; right: 16px; bottom: 16px; max-width: calc(100% - 32px); padding: 10px 13px; border-radius: 7px; background: rgba(255,255,255,.94); color: #17301d; font-size: 13px; font-weight: 600; text-decoration: none; box-shadow: 0 3px 12px rgba(0,0,0,.15); }
.news-document-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 18px; color: #176b42; font-size: 14px; font-weight: 600; text-decoration: none; }
.news-document-link:hover { color: #0d4729; text-decoration: underline; }


/* MOBILE */

@media (max-width: 767px) {

    .contact-cta-section {
        padding: 65px 0;
    }

    .contact-cta-box {
        grid-template-columns: 1fr;

        gap: 40px;

        padding: 40px 25px;

        border-radius: 22px;
    }

    .contact-cta-content h2 {
        font-size: 31px;
    }

    .home-contact-section { padding: 65px 0; }
    .home-contact-card { grid-template-columns: 1fr; }
    .home-contact-details { padding: 38px 25px; }
    .home-contact-details h2 { font-size: 30px; }
    .home-contact-map, .home-contact-map iframe { min-height: 280px; }

}
/* =========================================
   FOOTER
========================================= */

.site-footer {
    background: #102317;
    color: white;
    padding: 65px 0 0;
}

.footer-main {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.2fr;
    gap: 70px;
    padding-bottom: 55px;
}

.footer-logo {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 18px;
}

.footer-logo span {
    font-weight: 400;
}

.footer-company p {
    max-width: 390px;
    color: rgba(255,255,255,.62);
    font-size: 14px;
    line-height: 1.8;
}

.footer-main h5 {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 22px;
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.footer-links a,
.footer-contact a {
    color: rgba(255,255,255,.65);
    text-decoration: none;
    font-size: 14px;
    transition: .2s ease;
}

.footer-links a:hover,
.footer-contact a:hover {
    color: white;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.footer-contact a,
.footer-contact p {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-contact i {
    margin-top: 2px;
}

.footer-contact p {
    color: rgba(255,255,255,.65);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);

    min-height: 70px;

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

    gap: 20px;

    color: rgba(255,255,255,.45);

    font-size: 12px;
}


/* =========================================
   FOOTER MOBILE
========================================= */

@media (max-width: 767px) {

    .site-footer {
        padding-top: 50px;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 40px;
        padding-bottom: 40px;
    }

    .footer-bottom {
        min-height: auto;
        padding: 22px 0;

        flex-direction: column;
        align-items: flex-start;

        line-height: 1.6;
    }

}
/* =========================================
   TEAM PAGE
========================================= */

.team-page {
    background: #f7f9f7;
}

.team-intro {
    max-width: 850px;
    margin: 0 auto 60px;
    text-align: center;
}

.team-intro p {
    color: #606b64;
    font-size: 16px;
    line-height: 1.9;
}

.team-category {
    margin-bottom: 70px;
}

.team-category-title {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 35px;
}

.team-category-title span {
    height: 1px;
    flex: 1;
    background: #d8dfda;
}

.team-category-title h2 {
    margin: 0;
    color: #173c29;
    font-size: 25px;
    font-weight: 600;
    text-align: center;
}


/* TEAM CARD */

.team-card {
    height: 100%;
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;

    border: 1px solid #e5ebe7;

    box-shadow: 0 8px 30px rgba(16, 35, 23, 0.06);

    transition: transform 0.3s ease,
                box-shadow 0.3s ease;
}

.team-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(16, 35, 23, 0.12);
}


/* PHOTO */

.team-photo {
    width: 100%;
    height: 300px;
    overflow: hidden;
    background: #eef3ef;
}

.team-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;
}

.team-photo-placeholder {
    width: 100%;
    height: 100%;

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

    background: #edf2ee;
}

.team-photo-placeholder i {
    font-size: 70px;
    color: #aebbb2;
}


/* INFORMATION */

.team-info {
    padding: 22px 20px 25px;
    text-align: center;
}

.team-info h5 {
    margin: 0 0 7px;

    color: #173c29;

    font-size: 18px;
    font-weight: 600;
}

.team-info p {
    margin: 0;

    color: #5d7968;

    font-size: 14px;
    font-weight: 500;
}

.team-info small {
    display: block;

    margin-top: 12px;

    color: #747d77;

    font-size: 12px;
    line-height: 1.6;
}


/* EMPTY STATE */

.team-empty {
    padding: 80px 20px;
}

.team-empty i {
    font-size: 55px;
    color: #9aaa9f;
}

.team-empty h4 {
    margin-top: 20px;
    color: #173c29;
}

.team-empty p {
    color: #777;
}


/* =========================================
   TEAM MOBILE
========================================= */

@media (max-width: 767px) {

    .team-intro {
        margin-bottom: 45px;
    }

    .team-intro p {
        font-size: 14px;
        line-height: 1.8;
    }

    .team-category {
        margin-bottom: 50px;
    }

    .team-category-title {
        gap: 12px;
        margin-bottom: 25px;
    }

    .team-category-title h2 {
        font-size: 20px;
    }

    .team-photo {
        height: 280px;
    }

}
/* =========================================
   FULL GALLERY PAGE
========================================= */

.gallery-page {
    background: #f7f9f7;
}

.gallery-card {
    height: 100%;
    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e5ebe7;
    border-radius: 16px;

    box-shadow: 0 8px 30px rgba(16, 35, 23, 0.06);

    transition: transform 0.3s ease,
                box-shadow 0.3s ease;
}

.gallery-card:hover {
    transform: translateY(-6px);

    box-shadow: 0 15px 35px rgba(16, 35, 23, 0.12);
}


/* IMAGE */

.gallery-image-wrapper {
    position: relative;

    width: 100%;
    height: 300px;

    overflow: hidden;

    background: #edf2ee;
}

.gallery-image-wrapper img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transition: transform 0.45s ease;
}

.gallery-card:hover .gallery-image-wrapper img {
    transform: scale(1.05);
}


/* OVERLAY */

.gallery-overlay {
    position: absolute;

    inset: 0;

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

    background: rgba(16, 35, 23, 0.35);

    opacity: 0;

    transition: opacity 0.3s ease;
}

.gallery-card:hover .gallery-overlay {
    opacity: 1;
}

.gallery-overlay i {
    width: 48px;
    height: 48px;

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

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.95);

    color: #173c29;

    font-size: 18px;
}


/* CONTENT */

.gallery-card-content {
    padding: 20px 22px 23px;
}

.gallery-card-content h5 {
    margin: 0 0 8px;

    color: #173c29;

    font-size: 18px;
    font-weight: 600;
}

.gallery-card-content p {
    margin: 0;

    color: #68736c;

    font-size: 13px;
    line-height: 1.7;
}


/* EMPTY STATE */

.gallery-empty {
    padding: 90px 20px;
}

.gallery-empty i {
    font-size: 55px;
    color: #9aaa9f;
}

.gallery-empty h4 {
    margin-top: 20px;
    color: #173c29;
}

.gallery-empty p {
    color: #777;
}


/* =========================================
   GALLERY MOBILE
========================================= */

@media (max-width: 767px) {

    .gallery-image-wrapper {
        height: 250px;
    }

    .gallery-card-content {
        padding: 18px 20px 21px;
    }

    .gallery-card-content h5 {
        font-size: 17px;
    }

    .gallery-overlay {
        display: none;
    }

}
/* =========================================
   ABOUT PAGE - OUR TEAM
========================================= */

.about-team-section {
    background: #f7f9f6;
}

.about-team-section .section-heading-center {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.about-team-section .section-heading-center p {
    color: #6d766f;
    margin-top: 15px;
}


/* CHAIRMAN FEATURE */

.team-leadership {
    max-width: 900px;
    margin: 0 auto 55px;
}

.chairman-card {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 22px;
    padding: 28px;
    gap: 35px;
    border: 1px solid rgba(23, 61, 39, 0.08);
    box-shadow: 0 12px 35px rgba(20, 50, 30, 0.08);
}

.chairman-photo {
    width: 220px;
    height: 250px;
    flex-shrink: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #edf2ed;
}

.chairman-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.chairman-info {
    padding-right: 20px;
}

.team-category-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: #e59e19;
    margin-bottom: 10px;
}

.chairman-info h3 {
    font-size: 30px;
    font-weight: 700;
    color: #173d27;
    margin-bottom: 5px;
}

.chairman-info h5 {
    font-size: 17px;
    font-weight: 500;
    color: #68736b;
    margin-bottom: 18px;
}

.chairman-info p {
    color: #6d766f;
    line-height: 1.8;
    margin-bottom: 0;
}


/* OTHER TEAM MEMBERS */

.team-members-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.professional-team-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(23, 61, 39, 0.07);
    transition: all 0.3s ease;
}

.professional-team-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(20, 50, 30, 0.10);
}

.professional-team-photo {
    height: 230px;
    background: #edf2ed;
    overflow: hidden;
}

.professional-team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.professional-team-info {
    padding: 20px 22px 22px;
}

.professional-team-info h4 {
    color: #173d27;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 6px;
}

.professional-team-info p {
    color: #d99517;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
}

.professional-team-info span {
    display: block;
    color: #737b75;
    font-size: 13px;
    line-height: 1.6;
}


/* PHOTO PLACEHOLDER */

.team-photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aab5ad;
    font-size: 50px;
}


/* MOBILE */

@media (max-width: 991px) {

    .team-members-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 767px) {

    .chairman-card {
        flex-direction: column;
        text-align: center;
        padding: 22px;
    }

    .chairman-photo {
        width: 180px;
        height: 210px;
    }

    .chairman-info {
        padding-right: 0;
    }

    .chairman-info h3 {
        font-size: 25px;
    }

    .team-members-grid {
        grid-template-columns: 1fr;
    }

}
/* ================================
   NAVBAR LOGO
================================ */

.baidehi-navbar .navbar-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    background: transparent !important;
}

/* Logo image */
.baidehi-navbar .navbar-brand img {
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;

    object-fit: contain;
    display: block;

    /* Make sure the transparent PNG stays transparent */
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Company name beside logo */
.baidehi-navbar .navbar-brand strong {
    font-size: 1rem;
    line-height: 1.1;
    display: block;
    background: transparent !important;
}

.baidehi-navbar .navbar-brand small {
    font-size: 0.65rem;
    line-height: 1;
    display: block;
    background: transparent !important;
}

/* Mobile */
@media (max-width: 991px) {

    .baidehi-navbar .navbar-brand img {
        width: 45px !important;
        height: 45px !important;
        max-width: 45px !important;
        max-height: 45px !important;
    }

    .baidehi-navbar .navbar-brand strong {
        font-size: 0.95rem;
    }

    .baidehi-navbar .navbar-brand small {
        font-size: 0.6rem;
    }
}

/* Final public-site overrides: kept last so legacy page styles cannot dilute the refreshed design. */
:root { --ink: #123326; --green: #157347; --green-deep: #092c21; --lime: #98d645; --sun: #ffc83d; --surface: #f5fbf4; --line: #dcebdc; }
body { background: var(--surface); color: #294337; line-height: 1.7; }
.baidehi-navbar { padding: 12px 0; background: rgba(7, 43, 30, .92); border-bottom: 1px solid rgba(255,255,255,.12); }
.baidehi-navbar .navbar-brand { min-height: 56px; gap: 10px; }
.brand-logo { width: 52px !important; height: 52px !important; object-fit: contain; flex: 0 0 auto; }
.brand-copy strong, .brand-copy small { display: block; color: #fff; line-height: 1.2; }
.brand-copy strong { font-size: 1rem; letter-spacing: -.02em; }
.brand-copy small { margin-top: 3px; font-size: .66rem; color: rgba(255,255,255,.72) !important; letter-spacing: .04em; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--lime); }
.btn-nav-contact, .btn-primary-custom { background: var(--sun); border-color: var(--sun); color: var(--green-deep); box-shadow: 0 10px 22px rgba(255,200,61,.2); }
.btn-nav-contact:hover, .btn-primary-custom:hover { background: #fff4c9; border-color: #fff4c9; color: var(--green-deep); }
.hero-section { min-height: min(760px, 100vh); background-position: 58% center; }
.hero-overlay { background: linear-gradient(100deg, rgba(3,39,27,.93), rgba(9,75,42,.76) 48%, rgba(7,50,30,.26)); }
.hero-label { color: #d8fa9f; }.hero-text h1 span { color: #fff1ad; }.hero-scroll { color: var(--sun); }
.stats-section { background: linear-gradient(105deg, #0d593b, #218c56); }.stat-number { color: #fff8d6; }
.page-header { padding: 148px 0 84px; background: radial-gradient(circle at 82% 15%, rgba(173,224,73,.24), transparent 27%), linear-gradient(125deg, #092e21, #176b42); }
.page-header h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); letter-spacing: -.045em; }.page-header .section-label, .section-label { color: #c8ef83; font-weight: 700; }
.home-about-section, .about-main, .project-intro, .contact-section, .vision-section, .objectives-section, .commitment-section, .advantages-section, .investment-section { background: #fff; }
.why-section, .about-team-section, .mission-section, .core-values-section, .project-highlights, .technology-section, .environment-section, .gallery-page, .team-page, .news-page, .map-section { background: var(--surface); }
.home-section-title, .about-main h2, .about-project-section h2, .project-intro h2, .contact-section h2, .section-heading-center h2 { color: var(--ink); letter-spacing: -.04em; }
.about-highlight-card, .commitment-box, .project-status-section { background: linear-gradient(145deg, #0b3828, #176d43); box-shadow: 0 20px 45px rgba(10,70,39,.18); }
.project-image-placeholder, .about-project-placeholder, .map-placeholder { background: linear-gradient(145deg, #e8f7df, #d8efcb); color: var(--green); }
.why-card, .value-card, .core-value-card, .project-stat-card, .technology-card, .environment-card, .investment-card, .news-card, .gallery-card, .team-card { border: 1px solid var(--line); box-shadow: 0 14px 34px rgba(19,77,45,.07); }
.contact-form-card { background: linear-gradient(145deg, #f2faef, #fff); border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(19,77,45,.08); }
.about-team-section { padding: 96px 0 !important; }
.about-team-category { margin-top: 44px; }
.about-team-category:first-of-type { margin-top: 0; }
.about-team-category > h3 { margin: 0 0 20px; color: var(--ink); font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; }
.about-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.about-team-card { background: #fff; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 12px 28px rgba(19,77,45,.07); transition: transform .25s ease, box-shadow .25s ease; }
.about-team-card:hover { transform: translateY(-7px); box-shadow: 0 20px 40px rgba(19,77,45,.14); }
.about-team-photo { height: 210px; background: linear-gradient(145deg, #eaf6e6, #d9edd5); overflow: hidden; }
.about-team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.about-team-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #75a36f; font-size: 4rem; }
.about-team-info { padding: 20px 20px 22px; text-align: center; }
.about-team-info h4 { margin: 0; color: var(--ink); font-size: 1.05rem; font-weight: 700; }.about-team-info p { margin: 5px 0 0; color: var(--green); font-size: .86rem; font-weight: 600; }
.about-team-empty { grid-column: 1 / -1; padding: 3rem; text-align: center; color: #65796b; background: #fff; border: 1px dashed var(--line); border-radius: 16px; }
.about-project-image, .project-feature-image { height: 400px; overflow: hidden; border-radius: 24px; box-shadow: 0 18px 38px rgba(19,77,45,.13); }
.about-project-image img, .project-feature-image img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 991px) { .navbar-nav { background: transparent; padding: 12px 0 0; }.about-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.page-header { padding-top: 125px; } }
@media (max-width: 575px) { .brand-logo { width: 45px !important; height: 45px !important; }.hero-section { min-height: 690px; }.page-header { padding: 116px 0 58px; }.about-team-section { padding: 64px 0 !important; }.about-team-grid { grid-template-columns: 1fr; }.about-team-photo { height: 250px; }.about-project-image, .project-feature-image { height: 300px; } }

/* Dedicated page visuals — intentionally separate from the editable project gallery. */
.dedicated-visual { position: relative; min-height: 390px; overflow: hidden; border-radius: 24px; isolation: isolate; background: linear-gradient(160deg, #b8e7ef 0%, #e8f6ce 54%, #f8d98a 100%); box-shadow: 0 22px 42px rgba(19, 77, 45, .16); }
.dedicated-visual::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(145deg, transparent 25%, rgba(255,255,255,.38) 25% 27%, transparent 27% 100%); }
.dedicated-visual__sun { position: absolute; top: 12%; right: 13%; width: 92px; aspect-ratio: 1; border-radius: 50%; background: #fff3ad; box-shadow: 0 0 0 18px rgba(255,244,174,.26), 0 0 55px 18px rgba(255,243,160,.5); }
.dedicated-visual__hills { position: absolute; z-index: 1; left: -8%; right: -7%; bottom: 22%; height: 34%; background: #39764d; clip-path: polygon(0 75%, 15% 44%, 26% 64%, 42% 22%, 58% 58%, 76% 30%, 100% 68%, 100% 100%, 0 100%); }
.dedicated-visual__panels { position: absolute; z-index: 2; left: -5%; right: -5%; bottom: -7%; height: 42%; transform: perspective(360px) rotateX(52deg); transform-origin: center bottom; background: repeating-linear-gradient(90deg, transparent 0 5%, rgba(211,244,255,.6) 5.5% 6%, transparent 6.5% 13%), repeating-linear-gradient(0deg, #0c4962 0 21%, #79c6dc 22% 24%, #0d5570 25% 47%); border-top: 7px solid #d7eff1; }
.dedicated-visual__caption, .dedicated-visual__grid, .project-visual-stat { position: absolute; z-index: 4; color: #fff; background: rgba(8, 50, 34, .82); backdrop-filter: blur(8px); box-shadow: 0 10px 22px rgba(8,50,34,.18); }
.dedicated-visual__caption { left: 22px; bottom: 22px; padding: 10px 14px; border-radius: 12px; font-size: .82rem; font-weight: 600; }
.dedicated-visual__caption i { color: var(--sun); margin-right: 5px; }
.dedicated-visual__grid { right: 20px; bottom: 20px; padding: 12px 16px; border-radius: 12px; font-size: .85rem; font-weight: 600; }
.dedicated-visual--about { min-height: 420px; }.dedicated-visual--flagship { min-height: 475px; }.dedicated-visual--about-project .dedicated-visual__sun { left: 12%; right: auto; }.dedicated-visual--project { min-height: 100%; border-radius: 0; box-shadow: none; }

/* The project overview is a single, balanced composition instead of a sparse text/image split. */
.project-intro-panel { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: 0 18px 40px rgba(19,77,45,.10); }
.project-intro-copy { padding: clamp(32px, 5vw, 70px); }.project-intro-copy h2 { max-width: 570px; }.project-intro-copy p { max-width: 620px; }.project-intro-facts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }.project-intro-facts span { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--green); background: var(--surface); font-size: .82rem; font-weight: 700; }.project-intro-facts i { margin-right: 4px; color: #e9a900; }.project-visual-stat { right: 22px; top: 22px; display: grid; padding: 15px 18px; border-radius: 14px; }.project-visual-stat strong { color: #fff3ad; font-size: 1.65rem; line-height: 1; }.project-visual-stat span { margin-top: 4px; font-size: .75rem; font-weight: 600; }

/* Gallery lightbox */
.gallery-image-wrapper { padding: 0; border: 0; cursor: zoom-in; text-align: inherit; }.gallery-image-wrapper:focus-visible { outline: 3px solid var(--sun); outline-offset: -3px; }.gallery-card:hover .gallery-overlay, .gallery-image-wrapper:focus .gallery-overlay { opacity: 1; }.gallery-lightbox[hidden] { display: none; }.gallery-lightbox { position: fixed; z-index: 2000; inset: 0; display: grid; place-items: center; padding: 32px; background: rgba(2, 22, 14, .92); cursor: zoom-out; }.gallery-lightbox__image { display: block; max-width: min(1100px, 100%); max-height: calc(100vh - 64px); object-fit: contain; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,.42); cursor: default; }.gallery-lightbox__close { position: fixed; top: 20px; right: 20px; display: grid; place-items: center; width: 44px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 1.15rem; }.gallery-lightbox__close:hover, .gallery-lightbox__close:focus-visible { background: #fff; color: var(--ink); }.lightbox-open { overflow: hidden; }

/* Compact, uncropped profile photos retain the full portrait inside each team card. */
.team-photo { height: 220px; padding: 12px; background: linear-gradient(145deg, #eaf6e6, #d9edd5); }.team-photo img { object-fit: contain; object-position: center bottom; border-radius: 10px; }.team-photo-placeholder { border-radius: 10px; }.about-team-photo { height: 190px; padding: 10px; }.about-team-photo img { object-fit: contain; object-position: center bottom; border-radius: 9px; }
@media (max-width: 991px) { .project-intro-panel { grid-template-columns: 1fr; }.dedicated-visual--project { min-height: 365px; }.team-photo { height: 245px; } }
@media (max-width: 575px) { .dedicated-visual, .dedicated-visual--about, .dedicated-visual--flagship { min-height: 315px; }.project-intro-copy { padding: 32px 24px; }.dedicated-visual--project { min-height: 300px; }.gallery-lightbox { padding: 18px; }.gallery-lightbox__image { max-height: calc(100vh - 36px); }.team-photo { height: 220px; }.about-team-photo { height: 220px; } }

/* Project page: a full-bleed hero gives the page the same confident rhythm as the homepage. */
.project-hero { position: relative; min-height: 700px; display: flex; align-items: center; padding: 150px 0 135px; overflow: hidden; color: #fff; background: linear-gradient(94deg, rgba(3,35,23,.95) 3%, rgba(7,69,39,.84) 46%, rgba(4,39,24,.32) 100%), url('../images/hero/hero-solar.jpg') center / cover no-repeat; }
.project-hero::after { content: ''; position: absolute; right: -12vw; bottom: -18vw; width: 48vw; aspect-ratio: 1; border: 1px solid rgba(214,247,145,.28); border-radius: 50%; box-shadow: 0 0 0 48px rgba(214,247,145,.06), 0 0 0 96px rgba(214,247,145,.04); pointer-events: none; }
.project-hero .container { position: relative; z-index: 1; }.project-hero__content { max-width: 690px; }.project-hero__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 21px; color: #d9f79d; font-size: .83rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.project-hero__eyebrow i { color: var(--sun); font-size: 1rem; }.project-hero h1 { margin: 0; color: #fff; font-size: clamp(3.1rem, 6.4vw, 5.8rem); font-weight: 750; line-height: .99; letter-spacing: -.065em; }.project-hero h1 span { color: #fff0ae; }.project-hero p { max-width: 605px; margin: 26px 0 0; color: rgba(255,255,255,.88); font-size: 1.07rem; line-height: 1.85; }.project-hero__actions { margin-top: 35px; }.project-hero__facts { position: absolute; z-index: 2; right: 12px; bottom: -204px; display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); width: min(47%, 530px); overflow: hidden; border: 1px solid rgba(255,255,255,.23); border-radius: 18px; background: rgba(9,54,34,.92); box-shadow: 0 22px 45px rgba(3,32,20,.25); backdrop-filter: blur(9px); }.project-hero__facts div { display: grid; gap: 3px; min-height: 102px; padding: 21px 24px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); }.project-hero__facts div:nth-child(even) { border-right: 0; }.project-hero__facts div:nth-last-child(-n + 2) { border-bottom: 0; }.project-hero__facts strong { color: #fff3b7; font-size: 1.45rem; line-height: 1.15; }.project-hero__facts span { color: rgba(255,255,255,.72); font-size: .76rem; font-weight: 600; }
.project-summary { padding: 86px 0 68px; background: #fff; }.project-summary .container { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 72px; align-items: start; }.project-summary h2 { max-width: 510px; margin: 12px 0 0; color: var(--ink); font-size: clamp(2rem, 3.3vw, 3rem); font-weight: 700; line-height: 1.12; letter-spacing: -.045em; }.project-summary__copy { padding-top: 10px; }.project-summary__copy p { max-width: 620px; margin: 0; color: #50675a; font-size: 1.02rem; line-height: 1.9; }
.project-highlights { padding-top: 78px !important; }.project-highlights .section-heading-center { max-width: 650px; margin-inline: auto; }.project-overview .table-responsive { max-width: 950px; margin-inline: auto; }.project-table { border-collapse: separate; border-spacing: 0; border-radius: 18px; box-shadow: 0 14px 32px rgba(19,77,45,.07); }.project-table th { width: 36%; color: var(--ink); background: #eef8e9; }.project-table td { color: #4e6458; background: #fff; }
@media (max-width: 991px) { .project-hero { min-height: 690px; padding-top: 142px; }.project-hero__facts { right: 12px; bottom: -188px; width: min(57%, 480px); }.project-summary { padding-top: 80px; }.project-summary .container { gap: 42px; } }
@media (max-width: 767px) { .project-hero { min-height: auto; padding: 138px 0 42px; }.project-hero h1 { font-size: clamp(2.85rem, 14vw, 4.1rem); }.project-hero p { font-size: .97rem; }.project-hero__facts { position: relative; right: auto; bottom: auto; width: 100%; margin-top: 48px; }.project-hero__facts div { min-height: 88px; padding: 17px; }.project-summary { padding: 54px 0; }.project-summary .container { grid-template-columns: 1fr; gap: 22px; }.project-summary__copy { padding-top: 0; }.project-table th { width: 43%; } }

/* Project introduction: an editorial two-column layout, without a second hero or repeated summary. */
.project-showcase { padding: 145px 0 92px; background: #fff; }.project-showcase__grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(380px, .96fr); gap: clamp(42px, 7vw, 105px); align-items: center; }.project-showcase__copy h1 { max-width: 620px; margin: 13px 0 20px; color: var(--ink); font-size: clamp(2.65rem, 4.5vw, 4.5rem); font-weight: 750; line-height: 1.04; letter-spacing: -.06em; }.project-showcase__copy p { max-width: 620px; margin: 0 0 15px; color: #52685c; line-height: 1.85; }.project-showcase__copy .project-showcase__lead { margin-bottom: 20px; color: var(--green); font-size: 1.15rem; font-weight: 600; line-height: 1.65; }.project-showcase__details { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }.project-showcase__details > div { display: flex; align-items: center; gap: 11px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }.project-showcase__details i { display: grid; place-items: center; width: 35px; aspect-ratio: 1; border-radius: 50%; background: #d9efbd; color: var(--green); font-size: 1rem; }.project-showcase__details span { display: grid; color: #698073; font-size: .71rem; font-weight: 600; }.project-showcase__details strong { margin-top: 2px; color: var(--ink); font-size: .78rem; }.project-showcase__copy .btn-project { margin-top: 28px; }
.project-showcase__art { position: relative; min-height: 470px; overflow: hidden; border-radius: 28px; isolation: isolate; background: linear-gradient(165deg, #b6e4ef 0%, #d5f0e3 61%, #e5d888 100%); box-shadow: 0 24px 45px rgba(19,77,45,.14); }.project-showcase__art::before { content: ''; position: absolute; z-index: -1; inset: 0; opacity: .55; background: linear-gradient(115deg, rgba(255,255,255,.52) 0 12%, transparent 12% 100%); }.project-showcase__sun { position: absolute; top: 11%; right: 12%; width: 94px; aspect-ratio: 1; border-radius: 50%; background: #fff1a8; box-shadow: 0 0 0 17px rgba(255,244,176,.3), 0 0 52px rgba(255,241,168,.68); }.project-showcase__cloud { position: absolute; width: 105px; height: 21px; border-radius: 50px; background: rgba(255,255,255,.58); filter: blur(1px); }.project-showcase__cloud::before, .project-showcase__cloud::after { position: absolute; content: ''; border-radius: 50%; background: inherit; }.project-showcase__cloud::before { width: 42px; height: 42px; bottom: 0; left: 17px; }.project-showcase__cloud::after { width: 32px; height: 32px; bottom: 0; right: 15px; }.project-showcase__cloud--one { top: 23%; left: 12%; }.project-showcase__cloud--two { top: 34%; right: 27%; transform: scale(.65); }.project-showcase__horizon { position: absolute; z-index: 1; right: -12%; bottom: 29%; left: -11%; height: 30%; background: #438156; clip-path: polygon(0 76%, 11% 47%, 23% 70%, 35% 28%, 50% 62%, 67% 34%, 83% 60%, 100% 25%, 100% 100%, 0 100%); }.project-showcase__panels { position: absolute; z-index: 2; right: -7%; bottom: -4%; left: -7%; height: 46%; transform: perspective(420px) rotateX(51deg); transform-origin: center bottom; border-top: 7px solid #c4e9ec; background: repeating-linear-gradient(90deg, transparent 0 6%, rgba(203,239,246,.75) 6.5% 7%, transparent 7.5% 13%), repeating-linear-gradient(0deg, #0e4c66 0 20%, #73bed2 21% 23%, #0c5774 24% 47%); }.project-showcase__caption { position: absolute; z-index: 4; bottom: 22px; left: 22px; display: flex; align-items: center; gap: 10px; padding: 12px 15px; border-radius: 13px; color: #fff; background: rgba(8,50,34,.84); box-shadow: 0 10px 22px rgba(8,50,34,.2); backdrop-filter: blur(8px); font-size: .76rem; line-height: 1.25; }.project-showcase__caption i { color: var(--sun); font-size: 1.25rem; }.project-showcase__caption strong { color: #fff4ba; font-size: .88rem; }
.project-showcase__image { position: relative; min-height: 470px; overflow: hidden; border-radius: 28px; background: #e7f1e6; box-shadow: 0 24px 45px rgba(19,77,45,.14); }.project-showcase__image::after { position: absolute; content: ''; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(5,43,27,.38), transparent 45%); }.project-showcase__image img { width: 100%; height: 100%; min-height: 470px; display: block; object-fit: cover; }
@media (max-width: 991px) { .project-showcase { padding-top: 130px; }.project-showcase__grid { grid-template-columns: 1fr; gap: 40px; }.project-showcase__copy { max-width: 720px; }.project-showcase__art, .project-showcase__image, .project-showcase__image img { min-height: 400px; } }
@media (max-width: 575px) { .project-showcase { padding: 115px 0 58px; }.project-showcase__copy h1 { font-size: 2.75rem; }.project-showcase__copy .project-showcase__lead { font-size: 1.04rem; }.project-showcase__details { grid-template-columns: 1fr; }.project-showcase__art, .project-showcase__image, .project-showcase__image img { min-height: 310px; border-radius: 20px; }.project-showcase__sun { width: 72px; }.project-showcase__caption { bottom: 15px; left: 15px; } }

/* =========================================================
   PREMIUM INTERACTION & RESPONSIVE REFINEMENT
   Kept last to provide one consistent finish across all pages.
========================================================= */
:root {
    --navy-950: #061b2d;
    --navy-900: #092842;
    --navy-800: #0d3858;
    --energy: #31d28b;
    --energy-soft: #dffbed;
    --sky: #4dc7ff;
    --paper: #fbfefd;
    --muted: #60768a;
    --border: rgba(17, 72, 91, .13);
}

html { scroll-behavior: smooth; }
body {
    font-family: 'Manrope', sans-serif;
    background: var(--paper);
    color: #294357;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6, .brand-copy, .btn { font-family: 'Poppins', sans-serif; }
a { transition: color .2s ease, opacity .2s ease; }
:focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; }

.baidehi-navbar {
    background: rgba(6, 27, 45, .82);
    border-bottom-color: rgba(255, 255, 255, .1);
    transition: background .25s ease, padding .25s ease, box-shadow .25s ease;
}
.baidehi-navbar.is-scrolled {
    padding: 7px 0;
    background: rgba(6, 27, 45, .96);
    box-shadow: 0 10px 30px rgba(3, 18, 30, .23);
}
.navbar-nav .nav-link { position: relative; color: rgba(255, 255, 255, .82); }
.navbar-nav .nav-link::after {
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 20px;
    height: 2px;
    content: '';
    background: var(--energy);
    border-radius: 99px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
}
.navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { transform: scaleX(1); }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: #fff; }
.btn-nav-contact, .btn-primary-custom, .btn-project {
    border-color: var(--energy);
    background: var(--energy);
    color: var(--navy-950);
    box-shadow: 0 10px 24px rgba(49, 210, 139, .2);
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}
.btn-nav-contact:hover, .btn-primary-custom:hover, .btn-project:hover {
    background: #81f1bd;
    border-color: #81f1bd;
    color: var(--navy-950);
    box-shadow: 0 15px 30px rgba(49, 210, 139, .27);
    transform: translateY(-3px);
}
.btn-outline-light-custom { border-color: rgba(255, 255, 255, .58); }
.btn-outline-light-custom:hover { color: var(--navy-950); box-shadow: 0 12px 28px rgba(1, 17, 28, .25); }

.hero-section {
    background-image: linear-gradient(101deg, rgba(4, 22, 38, .94) 0%, rgba(7, 47, 65, .78) 48%, rgba(6, 35, 44, .22) 100%), url("../images/hero/hero-solar.jpg");
}
.hero-section::after {
    position: absolute;
    right: -10rem;
    bottom: -12rem;
    width: 32rem;
    height: 32rem;
    content: '';
    border: 1px solid rgba(110, 236, 178, .26);
    border-radius: 50%;
    box-shadow: 0 0 0 3.5rem rgba(110, 236, 178, .045), 0 0 0 7rem rgba(110, 236, 178, .035);
}
.hero-content { max-width: 790px; }
.hero-label { color: #9cf3c7; }
.hero-text h1 span { color: #8ff1c1; }
.hero-highlights > div { border-color: rgba(167, 250, 207, .27); }
.stats-section { background: linear-gradient(105deg, var(--navy-950), var(--navy-800)); }
.stat-item { position: relative; border-color: rgba(255, 255, 255, .12); }
.stat-number { color: var(--energy-soft); letter-spacing: -.04em; }

.page-header { background: radial-gradient(circle at 82% 14%, rgba(77, 199, 255, .27), transparent 26%), linear-gradient(125deg, var(--navy-950), var(--navy-800)); }
.page-header .section-label, .section-label { color: #168e60; }
.page-header .section-label { color: #9cf3c7; }
.section-heading-center p, .page-header p { color: var(--muted); }
.page-header p { color: rgba(255, 255, 255, .74); }

.why-card, .value-card, .core-value-card, .project-stat-card, .technology-card, .environment-card, .investment-card, .news-card, .gallery-card, .team-card, .about-team-card {
    border-color: var(--border);
    box-shadow: 0 12px 32px rgba(5, 39, 57, .07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.why-card:hover, .value-card:hover, .core-value-card:hover, .project-stat-card:hover, .technology-card:hover, .environment-card:hover, .investment-card:hover, .news-card:hover, .gallery-card:hover, .team-card:hover, .about-team-card:hover {
    border-color: rgba(49, 210, 139, .45);
    box-shadow: 0 20px 42px rgba(5, 39, 57, .14);
    transform: translateY(-7px);
}
.why-icon, .project-stat-card > i, .technology-card > i, .environment-card > i { color: var(--energy); }
.project-table { overflow: hidden; border: 1px solid var(--border); }
.project-table th { background: #e9f8f0; color: var(--navy-900); }
.project-table td { color: #506a7a; }
.contact-form-card, .about-highlight-card { border: 1px solid var(--border); }
.site-footer { background: var(--navy-950); }

.will-reveal {
    /* Content is never hidden while waiting for JavaScript or an observer. */
    opacity: 1;
}
.will-reveal.is-visible { animation: section-reveal .55s cubic-bezier(.2, .7, .2, 1) var(--reveal-delay, 0ms) both; }
@keyframes section-reveal {
    from { opacity: .72; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 991px) {
    .navbar-nav .nav-link::after { left: 0; bottom: 2px; }
    .navbar-nav { border: 1px solid rgba(255, 255, 255, .11); background: rgba(4, 23, 39, .94); box-shadow: 0 16px 26px rgba(0, 0, 0, .18); }
}
@media (max-width: 575px) {
    .hero-section::after { right: -15rem; width: 27rem; height: 27rem; }
    .hero-highlights { gap: 10px; }
    .hero-highlights > div { min-width: 84px; }
    .stat-item { padding: 25px 14px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Homepage composition refinements */
/* Keep the solar photograph natural: navy contrast replaces the former green cast. */
.hero-section {
    background-image: linear-gradient(102deg, rgba(3, 18, 35, .9) 0%, rgba(7, 34, 52, .7) 47%, rgba(8, 26, 40, .18) 100%), url("../images/hero/hero-solar.jpg");
}
.hero-overlay { background: linear-gradient(102deg, rgba(3, 18, 35, .16), rgba(7, 34, 52, .04) 56%, transparent); }
.hero-section::after {
    border-color: rgba(77, 199, 255, .25);
    box-shadow: 0 0 0 3.5rem rgba(77, 199, 255, .045), 0 0 0 7rem rgba(77, 199, 255, .03);
}
.hero-label, .hero-text h1 span { color: #9bdcff; }
.hero-highlights > div { border-color: rgba(151, 219, 255, .28); }

/* The mark is the hero of the navigation, with a compact, architectural wordmark. */
.baidehi-navbar {
    padding: 10px 0;
    background: rgba(255, 255, 255, .95);
    border-bottom: 1px solid rgba(6, 27, 45, .1);
    box-shadow: 0 5px 22px rgba(6, 27, 45, .08);
    backdrop-filter: blur(14px);
}
.baidehi-navbar.is-scrolled { padding: 6px 0; background: rgba(255, 255, 255, .98); box-shadow: 0 9px 28px rgba(6, 27, 45, .12); }
.baidehi-navbar .navbar-brand { gap: 12px; min-height: 60px; }
.baidehi-navbar .navbar-brand img, .brand-logo { width: 60px !important; height: 60px !important; max-width: 60px !important; max-height: 60px !important; }
.brand-copy { padding-left: 12px; border-left: 1px solid rgba(6, 27, 45, .15); }
.brand-copy strong, .baidehi-navbar .navbar-brand strong { color: var(--navy-900) !important; font-size: .98rem; font-weight: 800; letter-spacing: -.035em; }
.brand-copy small, .baidehi-navbar .navbar-brand small { color: #668094 !important; font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.navbar-nav { gap: 4px; }
.navbar-nav .nav-link { margin-left: 0; padding: 9px 12px; color: #506a7a; font-size: .77rem; font-weight: 700; letter-spacing: .01em; }
.navbar-nav .nav-link::after { right: 12px; bottom: 4px; left: 12px; background: var(--sky); }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--navy-900); }
.btn-nav-contact { margin-left: 8px; padding: 10px 17px; border-radius: 9px; background: var(--navy-900); border-color: var(--navy-900); color: #fff; box-shadow: 0 8px 18px rgba(9, 40, 66, .18); }
.btn-nav-contact:hover { background: #13507b; border-color: #13507b; color: #fff; box-shadow: 0 12px 24px rgba(9, 40, 66, .24); }
.navbar-toggler { border-color: rgba(6, 27, 45, .18); }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(77, 199, 255, .25); }
.navbar-toggler-icon { filter: invert(16%) sepia(38%) saturate(1097%) hue-rotate(167deg) brightness(90%) contrast(94%); }

/* A shorter, footer-toned contact band keeps the map useful without overpowering the CTA. */
.home-contact-section { padding: 64px 0; background: var(--navy-950); }
.home-contact-card {
    grid-template-columns: minmax(0, 1.22fr) minmax(280px, .78fr);
    border-color: rgba(255, 255, 255, .14);
    border-radius: 20px;
    background: linear-gradient(125deg, #0c3150, #08243c);
    box-shadow: 0 24px 48px rgba(0, 0, 0, .23);
}
.home-contact-details { padding: 42px 48px; }
.home-contact-details .section-label { color: #83dfff; }
.home-contact-details h2 { color: #fff; font-size: clamp(1.75rem, 3vw, 2.25rem); }
.home-contact-details > p { color: rgba(231, 245, 255, .74); }
.home-contact-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 25px; margin: 24px 0; }
.home-contact-links a { color: #fff; font-size: .9rem; }
.home-contact-links i { color: #84e7b5; }
.home-contact-links span { color: #8eb6cd; }
.home-contact-map { min-height: 255px; margin: 18px 18px 18px 0; border-radius: 14px; overflow: hidden; background: #d7e9f1; }
.home-contact-map iframe { min-height: 255px; filter: saturate(.82) contrast(1.03); }
.home-contact-map::after { position: absolute; inset: 0; content: ''; pointer-events: none; border: 1px solid rgba(255, 255, 255, .38); border-radius: inherit; }
.home-contact-map > a { right: 12px; bottom: 12px; border-radius: 8px; color: var(--navy-900); font-size: .75rem; }

@media (max-width: 991px) {
    .baidehi-navbar .navbar-brand img, .brand-logo { width: 52px !important; height: 52px !important; max-width: 52px !important; max-height: 52px !important; }
    .navbar-nav { gap: 0; margin-top: 12px; padding: 10px; border-color: rgba(6, 27, 45, .1); background: #fff; box-shadow: 0 12px 28px rgba(6, 27, 45, .12); }
    .navbar-nav .nav-link { padding: 10px 8px; }
    .btn-nav-contact { display: inline-flex; margin: 8px 0 2px; }
    .home-contact-card { grid-template-columns: 1fr; }
    .home-contact-map { min-height: 250px; margin: 0 18px 18px; }
    .home-contact-map iframe { min-height: 250px; }
}
@media (max-width: 575px) {
    .baidehi-navbar .navbar-brand { gap: 8px; min-height: 52px; }
    .baidehi-navbar .navbar-brand img, .brand-logo { width: 48px !important; height: 48px !important; max-width: 48px !important; max-height: 48px !important; }
    .brand-copy { padding-left: 8px; }
    .brand-copy strong, .baidehi-navbar .navbar-brand strong { font-size: .85rem; }
    .brand-copy small, .baidehi-navbar .navbar-brand small { font-size: .53rem; }
    .home-contact-section { padding: 48px 0; }
    .home-contact-details { padding: 34px 25px; }
    .home-contact-links { grid-template-columns: 1fr; }
    .home-contact-map { min-height: 210px; margin: 0 12px 12px; }
    .home-contact-map iframe { min-height: 210px; }
}

/* Final compact footer and blue panel treatment. */
.about-highlight-card, .commitment-box, .project-status-section {
    background: linear-gradient(135deg, #092842, #13537d);
    box-shadow: 0 20px 45px rgba(5, 39, 57, .2);
}
.about-highlight-card .highlight-title, .status-box p { color: rgba(230, 245, 255, .77); }
.status-box .section-label { color: #8edfff; }

.site-footer { padding-top: 40px; background: var(--navy-950); }
.footer-main { grid-template-columns: 1.35fr .7fr 1fr 1fr; gap: 34px; padding-bottom: 32px; }
.footer-brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; color: #fff; text-decoration: none; }
.footer-brand img { width: 46px; height: 46px; object-fit: contain; background: #fff; border-radius: 50%; }
.footer-logo { margin: 0; color: #fff; font-size: 1rem; letter-spacing: .06em; }
.footer-logo em { color: #83dfff; font-style: normal; font-weight: 500; }
.footer-company p { margin-bottom: 0; font-size: .8rem; line-height: 1.7; }
.footer-main h5 { margin-bottom: 13px; color: #dcefff; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-links { gap: 7px; }
.footer-links a, .footer-contact a, .footer-contact p { font-size: .78rem; line-height: 1.5; }
.footer-contact { gap: 8px; }
.footer-map-frame { height: 132px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .16); border-radius: 10px; background: #dbeaf0; }
.footer-map-frame iframe { display: block; width: 100%; height: 100%; border: 0; filter: saturate(.75); }
.footer-bottom { min-height: 48px; font-size: .74rem; }

/* Tighter centered team presentation lets more profiles fit in one desktop viewport. */
.about-team-section { padding: 66px 0 !important; }
.about-team-section .section-heading-center { margin-bottom: 34px !important; }
.about-team-category { max-width: 1160px; margin: 30px auto 0; }
.about-team-category > h3 { text-align: center; margin-bottom: 16px; }
.about-team-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.about-team-card { border-radius: 14px; }
.about-team-photo { height: 142px; padding: 7px; background: #edf5f8; }
.about-team-info { padding: 12px 10px 14px; }
.about-team-info h4 { font-size: .9rem; }
.about-team-info p { font-size: .75rem; }
.team-page { padding-top: 64px !important; padding-bottom: 64px !important; }
.team-intro { margin-bottom: 38px; }
.team-category { margin-bottom: 44px; }
.team-category-title { margin-bottom: 22px; }
.team-photo { height: 185px; padding: 8px; background: #edf5f8; }
.team-info { padding: 14px 12px; }

@media (max-width: 991px) {
    .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
    .about-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .team-photo { height: 210px; }
}
@media (max-width: 575px) {
    .footer-main { grid-template-columns: 1fr; gap: 25px; }
    .footer-map-frame { height: 170px; }
    .about-team-section { padding: 52px 0 !important; }
    .about-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .about-team-photo { height: 130px; }
    .about-team-info { padding: 10px 7px 12px; }
    .about-team-info h4 { font-size: .8rem; }
    .about-team-info p { font-size: .68rem; }
}

/* Dense, centered people grids keep leadership visible without excessive scrolling. */
.about-team-grid { justify-content: center; }
.team-page .row { justify-content: center; }
@media (min-width: 992px) {
    .team-page .col-lg-3 { flex: 0 0 20%; width: 20%; }
    .about-team-photo { height: 124px; }
    .about-team-info { padding-block: 10px 12px; }
    .team-photo { height: 168px; }
    .team-info { padding: 11px 10px; }
    .team-info h5 { font-size: .92rem; }
    .team-info p { margin-top: 4px; font-size: .76rem; }
    .team-info small { margin-top: 7px; font-size: .72rem; }
}

/* News entries are now readable as individual, shareable pages. */
.news-content h3 a, .news-card-body h3 a { color: inherit; text-decoration: none; }
.news-content h3 a:hover, .news-card-body h3 a:hover { color: #176b9e; }
.news-read-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: #176b9e; font-size: .8rem; font-weight: 800; text-decoration: none; }
.news-read-link:hover { color: var(--navy-900); gap: 10px; }
.news-detail-header h1 { max-width: 900px; margin-inline: auto; }
.news-detail-section { padding: 68px 0 88px; background: #f4f9fc; }
.news-detail-card { max-width: 920px; margin: auto; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: #fff; box-shadow: 0 20px 46px rgba(5, 39, 57, .1); }
.news-detail-image { display: block; width: 100%; max-height: 460px; object-fit: cover; }
.news-detail-content { padding: clamp(28px, 5vw, 58px); }
.news-back-link { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 25px; color: #176b9e; font-size: .82rem; font-weight: 800; text-decoration: none; }
.news-detail-content h2 { margin-bottom: 9px; color: var(--navy-900); font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.2; }
.news-detail-date { color: #7891a1; font-size: .83rem; }
.news-detail-date i { margin-right: 5px; color: var(--sky); }
.news-detail-body { margin-top: 28px; color: #496274; line-height: 1.95; white-space: pre-line; }
@media (max-width: 575px) {
    .news-detail-section { padding: 42px 0 58px; }
    .news-detail-card { border-radius: 14px; }
}

/* Compact, centered desktop team grid: five people are visible across each row. */
.about-team-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1080px;
    margin-inline: auto;
    gap: 14px;
}
.about-team-grid > .about-team-card { flex: 0 1 calc(20% - 12px); max-width: 200px; }
.about-team-card, .team-card { text-align: center; }
.about-team-photo, .team-photo {
    display: grid;
    place-items: center;
}
.about-team-photo img, .team-photo img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: auto;
    object-fit: contain !important;
    object-position: center center !important;
}
@media (min-width: 992px) {
    .about-team-photo { height: 116px; }
    .about-team-info { padding: 9px 8px 11px; }
    .team-page .row { max-width: 1180px; margin-inline: auto; row-gap: 18px !important; }
    .team-page .col-lg-3 { flex: 0 0 20%; width: 20%; }
    .team-photo { height: 156px; }
    .team-info { padding: 10px 8px 11px; }
}
@media (max-width: 991px) {
    .about-team-grid > .about-team-card { flex-basis: calc(33.333% - 11px); max-width: 235px; }
}
@media (max-width: 575px) {
    .about-team-grid > .about-team-card { flex-basis: calc(50% - 6px); max-width: none; }
}

/* Portraits sit in true profile-photo frames: compact, centered, and never cropped. */
.about-team-photo, .team-photo {
    height: auto !important;
    aspect-ratio: 1 / 1;
    padding: 8px !important;
}
.about-team-photo img, .team-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}
@media (min-width: 992px) {
    .about-team-grid > .about-team-card { flex-basis: 170px; max-width: 170px; }
    .team-page .team-card { max-width: 170px; margin-inline: auto; }
}
