:root {
        --green: #1f7a3a;
        --green-dark: #155c2b;
        --dark: #102018;
        --light-green: #eef8f1;
        --soft: #f6f8f6;
      }

      body {
        font-family: Arial, sans-serif;
        color: #1f1f1f;
        line-height: 1.7;
      }

      .hero {
        background:
          linear-gradient(rgba(16, 32, 24, 0.76), rgba(16, 32, 24, 0.76)),
          url('images/hero-fotovoltaico.jpg') center/cover no-repeat;
        color: white;
        padding: 120px 0;
      }

      .btn-main {
        background: var(--green);
        color: white;
        border-radius: 30px;
        padding: 12px 28px;
        font-weight: 700;
        border: none;
      }

      .btn-main:hover {
        background: var(--green-dark);
        color: white;
      }

      .section-title {
        font-weight: 800;
        color: var(--dark);
      }

      .badge-soft {
        display: inline-block;
        background: var(--light-green);
        color: var(--green);
        padding: 8px 16px;
        border-radius: 30px;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 13px;
        letter-spacing: 0.5px;
      }

      .feature-card,
      .service-card {
        border: 0;
        border-radius: 18px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
        height: 100%;
        transition: 0.25s ease;
      }

      .feature-card:hover,
      .service-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
      }

      .service-number {
        font-size: 42px;
        font-weight: 800;
        color: var(--green);
        opacity: 0.28;
        line-height: 1;
        margin-bottom: 20px;
      }

      .mission-box {
        background: var(--light-green);
        border-radius: 24px;
        padding: 32px;
        height: 100%;
      }

      .gallery-img {
        height: 220px;
        object-fit: cover;
        border-radius: 16px;
        width: 100%;
        background: #6c757d;
      }

      .cta {
        background: var(--green);
        color: white;
        border-radius: 28px;
      }

      footer {
        background: var(--dark);
        color: #d7e8dd;
      }

      a {
        color: inherit;
      }
      .energy-why-section {
  position: relative;
  overflow: hidden;
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

.energy-why-section .row {
  padding-top: 70px;
}

.floating-card {
  position: relative;
  overflow: visible;
  min-height: 260px;
  padding-top: 120px !important;
  border: 0;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.10);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.floating-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.16);
}

.feature-floating-img {
  position: absolute;
  top: -75px;
  left: 50%;
  width: 165px;
  height: 135px;
  object-fit: contain;
  transform: translateX(-50%);
  z-index: 3;
  filter: drop-shadow(0 22px 24px rgba(15, 23, 42, 0.22));
  animation: featureFloat 4.5s ease-in-out infinite;
}

.floating-card:nth-child(2) .feature-floating-img {
  animation-delay: 0.4s;
}

.floating-card:nth-child(3) .feature-floating-img {
  animation-delay: 0.8s;
}

.floating-card:nth-child(4) .feature-floating-img {
  animation-delay: 1.2s;
}

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

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

.floating-card h5 {
  color: #0f172a;
  margin-bottom: 14px;
}

.floating-card p {
  color: #64748b;
  margin-bottom: 0;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Планшеты */
@media (max-width: 991.98px) {
  .energy-why-section .row {
    row-gap: 70px;
  }

  .floating-card {
    min-height: 240px;
  }
}

/* Телефон */
@media (max-width: 575.98px) {
  .energy-why-section {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  .energy-why-section .row {
    padding-top: 45px;
    row-gap: 65px;
  }

  .floating-card {
    min-height: auto;
    padding-top: 105px !important;
    text-align: center;
    border-radius: 22px;
  }

  .feature-floating-img {
    top: -62px;
    width: 135px;
    height: 115px;
  }
}
.gallery-more-box {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}

.gallery-more-overlay {
  position: absolute;
  inset: 0;
  background: rgba(16, 32, 24, 0.72);
  color: #fff;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  text-align: center;
  transition: 0.25s ease;
}

.gallery-more-overlay:hover {
  background: rgba(16, 32, 24, 0.85);
  color: #fff;
}

.gallery-more-overlay span {
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
}

.gallery-more-overlay strong {
  margin-top: 10px;
  font-size: 18px;
}
.hero-house-wrap{
    position:relative;
}

.hero-house-wrap::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    background:rgba(46,204,113,.25);
    border-radius:50%;
    filter:blur(120px);
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}

.hero-house{
    width:100%;
    max-width:650px;
    position:relative;
    z-index:2;
    filter:drop-shadow(0 30px 60px rgba(0,0,0,.35));
}

@media(max-width:991px){

    .hero-house{
        max-width:420px;
        margin-top:50px;
    }

    .hero-house-wrap::before{
        width:300px;
        height:300px;
    }
}


.navbar-brand img {
    height: 55px;
    width: auto;
}

.navbar-brand {
    font-size: 1.6rem;
    color: var(--green) !important;
}