body {
  box-sizing: border-box;
  background-color: #0a0f0a;
}

section,
footer {
    padding-inline: 15px !important;
}

section:nth-of-type(1) {
  padding-top: 315px;
}

@media (min-width: 912px) {
  .hero,
  #select-quotes,
  #quote,
  #contact {
    padding-top: 285px;
  }
}

@media (min-width: 1097px) {
  .hero,
  #select-quotes,
  #quote,
  #contact {
    padding-top: 215px;
  }
}

.content {
  padding-top: 235px;
}

.glass {
  background-color: rgba(255, 255, 255, 0.3);
  transition: background-color 0.4s linear;
  backdrop-filter: blur(2px) saturate(180%);
  border: 0.0625rem solid rgba(255, 255, 255, 0.8);
  border-radius: 32px;
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2), inset 0 4px 10px rgba(255, 255, 255, 0.7);
}

.glass.expanded {
  background-color: grey;
}

.glass::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 32px;
  backdrop-filter: blur(1px);
  box-shadow: inset -10px -8px 0px -11px rgba(255, 255, 255, 1),
  inset 0px -9px 0px -8px rgba(255, 255, 255, 1);
  opacity: 0.6;
  z-index: -1;
  filter: blur(1px) drop-shadow(10px 4px 6px black) brightness(115%);
  pointer-events: none;
}

section {
  padding-block: 40px;
    scroll-margin-top: 252px;
}

html {
  scroll-margin-top: 222px;
}

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

a {
  button.btn-success {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
  }
}

form {
  display: flex;
  flex-flow: column;
  max-width: 600px;
  margin-inline: auto;
  padding-top: 20px;

  input[type="number"]::-webkit-outer-spin-button,
  input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
  }

  p {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    margin-bottom: 15px;

    input,
    input::placeholder,
    textarea,
    textarea::placeholder {
      margin-block: 5px;
      border: rgb(74, 222, 128) !important;
      color: rgba(255, 255, 255, 0.5) !important;
      border-radius: 5px !important;
    }
  }

  .button {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
  }

  .display-quote {
    .card-header {
      border-bottom: 1px solid darkgreen;
      padding-bottom: 20px;
      font-size: 24px;
    }

    .card-footer {
      border-top: 1px solid darkgreen !important;
      border-bottom: 0;
      padding-top: 10px;

      .card-item {
        display: flex;
        padding-top: 10px;

        .card-title,
        .card-value {
          width: 50%;
          margin: 0;
          font-size: 20px;
          text-align: left;
        }
      }

      .card-submit {
        display: flex;
        flex-flow: column;
        padding-block: 20px;

        p {
          font-size: 18px;
        }

        button {
          margin-top: 10px;
          width: 100%;
          padding: 10px 40px;
        }
      }
    }

    .card-body {
      display: flex;
      flex-flow: column;
      padding-block: 10px;

      .card-item {
        display: flex;
        width: 100%;
        padding-block: 10px;
        border-bottom: 1px solid #2e8b5775;

        .card-title,
        .card-value {
          display: flex;
          align-items: center;
          text-align: left;
          width: 50%;
        }
      }

      .card-item:first-of-type {
        padding-top: 0;
      }

      .card-item:last-of-type {
        border-bottom: 0;
        padding-bottom: 0;
      }
    }
  }

  .font-display {
    font-family: 'Playfair Display', serif;
  }

  .font-body {
    font-family: 'Outfit', sans-serif;
  }

  @keyframes float {
    0%, 100% {
      transform: translateY(0px) rotate(0deg);
    }
    50% {
      transform: translateY(-20px) rotate(5deg);
    }
  }

  @keyframes pulse-glow {
    0%, 100% {
      box-shadow: 0 0 20px rgba(74, 222, 128, 0.3);
    }
    50% {
      box-shadow: 0 0 40px rgba(74, 222, 128, 0.6);
    }
  }

  @keyframes gradient-shift {
    0% {
      background-position: 0% 50%;
    }
    50% {
      background-position: 100% 50%;
    }
    100% {
      background-position: 0% 50%;
    }
  }

  .floating {
    animation: float 6s ease-in-out infinite;
  }

  .floating-delay {
    animation: float 6s ease-in-out infinite;
    animation-delay: -2s;
  }

  .floating-delay-2 {
    animation: float 6s ease-in-out infinite;
    animation-delay: -4s;
  }

  .glow-btn {
    animation: pulse-glow 3s ease-in-out infinite;
  }

  .gradient-bg {
    background: linear-gradient(-45deg, #0a0f0a, #1a2f1a, #0f1f0f, #152515);
    background-size: 400% 400%;
    animation: gradient-shift 15s ease infinite;
  }

  .leaf-pattern {
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5c-8 12-20 20-5 35 10-15 20-10 5-35z' fill='%234ade8010'/%3E%3C/svg%3E");
  }

  .service-card {
    background: linear-gradient(135deg, rgba(74, 222, 128, 0.05) 0%, rgba(20, 40, 20, 0.8) 100%);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(74, 222, 128, 0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .service-card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(74, 222, 128, 0.4);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(74, 222, 128, 0.1);
  }

  .stat-card {
    background: rgba(10, 20, 10, 0.6);
    border: 1px solid rgba(74, 222, 128, 0.15);
  }

  .text-gradient {
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 50%, #86efac 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .border-green-500 {
    border-color: rgb(34 197 94 / 0.2) !important;
  }

  @media (min-width: 500px) {
    .display-quote {
      .card-header {
        font-size: 30px;
      }

      .card-footer {
        .card-submit {
          button {
            width: auto;
          }
        }
      }
    }
  }

  @media (min-width: 912px) {
    .content {
      padding-top: 162px;
    }
  }
}

@media (min-width: 912px) {
  section {
    scroll-margin-top: 223px;
  }
}

@media (min-width: 1012px) {
  section {
    scroll-margin-top: 153px;
  }
}