/* ------------------ GLOBAL ------------------ */
body {
    margin: 0;
    font-family: "Poppins", sans-serif;
    color: #ffffff;
    background-color: #0d1a2d;
}

section {
    width: 100%;
    height: 100vh;  
    padding: 80px 8%;
    box-sizing: border-box;
    display: flex;                /* center content */
    flex-direction: column;
    justify-content: center;
}

.highlight {
    color: #c1ff72;
}

/* Gradient overlay helper */
.section-with-bg {
    position: relative;
    background-size: cover;
    background-position: center;
}

.section-with-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
}

.section-with-bg > * {
    position: relative;
    z-index: 2;
}

/* ------------------ SECTION 1 ------------------ */
.section1 {
    text-align: center;
    padding-top: 120px;
    padding-bottom: 120px;
}

.section1 h1 {
    font-size: 6rem;
    font-weight: 700;
    margin: 0;
}

.section1 p {
    font-size: 2rem;
    margin-top: 12px;
    opacity: 0.9;
}

/* ------------------ SECTION 2 ------------------ */
.section2 {
    background-color: #0d1a2d;
    h2 { width: 70% }
    p { width: 60% }
    img { height: 5em }
    .energy-stats .highlight {
        font-size: 2rem;
    }
    .energy-stats .label {
        font-size: 1.3rem;
    }
}

.section2 .title-highlight {
    font-size: 3.5rem;
    font-weight: 700;
}

.section2 .title-bold {
    font-size: 2rem;
    font-weight: 700;
}

.section2 p.description {
    margin-top: 16px;
    font-size: 1.7rem;
}

/* Stat box container */
.stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

/* Individual stat box */
.stat-item {
    background: rgba(255, 255, 255, 0.05);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.09);
}

.stat-item img {
    width: 38px;
    opacity: 0.9;
    margin-bottom: 12px;
}

.stat-item .number {
    font-size: 26px;
    font-weight: 700;
    color: #5ae65a;
}

.stat-item .label {
    margin-top: 6px;
    font-size: 14px;
    color: #d8d8d8;
}

/* ------------------ SECTION 3 ------------------ */
.section3 {
    text-align: center;
    padding-top: 120px;
    padding-bottom: 120px;
}

.section3 h2 {
    font-size: 4.5rem;
    font-weight: 700;
}

.section3 p {
    margin-top: 16px;
    font-size: 1.8rem;
    color: #e6e6e6;
}

.section3 .title {
    width: 80%;
}

/* ------------------ RESPONSIVE ------------------ */
@media (max-width: 768px) {
    section:nth-of-type(2) {
        height: 100%;
    }

    .section1 h1 {
        font-size: 2.5rem;
    }

    .section1 p {
        font-size: 1.5rem;
        margin-top: 12px;
        opacity: 0.9;
    }

    .section2 {
        h2 {
            width: 100%;
        }

        p.description {
            width: 100%;
            font-size: 1.2rem;
        }

        .energy-stats {
            .highlight {
                font-size: 1.5rem;
            }
            .label {
                font-size: 1.1rem;
            }
        }
    }

    .section2 .title-bold,
    .section2 .title-highlight {
        font-size: 1.8rem;
    }

    .stats {
        gap: 20px;
    }

    .section3  {
        .title {
            width: 100%;
        }

        h2 {
            font-size: 2.5rem;
        }

        p {
            font-size: 1.3rem;
        }
    }
}

.bg-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.bg-overlay:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #4280ae;
    background: linear-gradient(60deg, rgba(9, 70, 107, 1) 20%, rgb(0 0 0 / 85%) 60%);
    opacity: .85;
}

.bg-overlay-i {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.bg-overlay-i:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #4280ae;
    background: linear-gradient(220deg, rgba(9, 70, 107, 1) 20%, rgb(0 0 0 / 85%) 60%);
    opacity: .85;
}