  * { margin: 0; padding: 0; box-sizing: border-box; }
  body { font-family: 'Inter', sans-serif; }
  
  /* Navbar */
  .navbar {
    display: flex; align-items: center; justify-content: space-between;
    padding:  12px 60px;
    border-bottom: 1px solid #E5E8EB;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    position: relative; background: #fff;
    position: sticky; /* or fixed */
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000; /* make sure it stays above other content */

  }

  .navbar.scrolled {
    padding: 8px 60px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  }

  .navbar.behind {
    z-index: 0;
  }
  .sidebar {
    z-index: 2000; /* make sure it's higher */
  }
  
  /* Logo */
  .logo { display: flex; align-items: center; gap: 10px; }
  .logo img { height: 32px; }
  .brand {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 600;
  }
  .brand .ace { color: #005E34; }
  .brand .solar { color: #B4D137; }
  
  /* Center Box for Navigation */
  .nav-center {
      flex: 1;
      display: flex;
      justify-content: center;
    }  
  
  /* Nav Links */
  .nav-links { display: flex; gap: 32px; list-style: none; flex-wrap: wrap; }
  .nav-item {
    font-size: 18px; font-weight: 500; color: #343A40;
    position: relative; padding-bottom: 4px;
    text-decoration: none;
    transition: color 0.3s;
  }
  .nav-item.active {
    color: #21C45D;
  }
  .nav-item.active::after {
    content: ""; position: absolute; left: 0;
    bottom: 0; width: 100%; height: 2px;
    background: #21C45D; margin-top: 4px;
  }
  
  /* Hover effect */
  .nav-item:hover {
    color: #3C83F6;
  }
  .nav-item:hover::after {
    content: "";
    position: absolute;
    bottom: 0; left: 0;
    height: 2px;
    background: #3C83F6;
    margin-top: 4px;
    width: 0;
    animation: underline 0.3s forwards;
  }
  @keyframes underline {
    to { width: 100%; }
  }
  
  /* CTA button */
  .quote-btn {
    background-color: #64D68E; color: #fff;
    font-size: 16px; font-weight: 700;
    padding: 9.5px 16px; border-radius: 8px; text-decoration: none;
    transition: background 0.3s;
  }
  .quote-btn:hover { background-color: #4dc67c; }
  
  /* Hamburger */
  .hamburger {
    display: none; font-size: 28px; background: none; border: none; cursor: pointer;
  }
  
  /* Sidebar for mobile */
  .sidebar {
    position: fixed; top: 0; right: -100%;
    width: 250px; height: 100vh;
    background: #343A40; color: #fff;
    transition: right 0.3s ease;
    z-index: 20; padding: 40px 20px;
  }
  .sidebar.open { right: 0; }
  .close-btn {
    background: none; border: none; color: #fff;
    font-size: 24px; position: absolute; top: 16px; right: 16px; cursor: pointer;
  }
  .sidebar-links { list-style: none; margin-top: 60px; display: flex; flex-direction: column; gap: 24px; }
  .side-item {
    font-size: 20px; font-weight: 600; color: #fff; text-decoration: none;
    padding-bottom: 4px; position: relative;
  }
  .side-item.active {
    color: #21C45D;
  }
  .side-item.active::after {
    content: ""; position: absolute; left: 0;
    bottom: 0; width: 100%; height: 2px;
    background: #21C45D; margin-top: 4px;
  }
  
  /* Responsive behavior for MOBILE ≤ 768px */
  @media (max-width: 960px) {
      .navbar{ padding: 10px 20px; } 
      .navbar.scrolled { padding: 10px 20px; }
      .hamburger { display: block; }
      .nav-center, .nav-links, .quote-btn { display: none; }
    }
    
  /* Dynamic spacing starts shrinking below 1200px */
  @media (max-width: 1200px) {
    .nav-links {
      gap: clamp(12px, 2.5vw, 32px);
      flex-wrap: wrap;
      justify-content: center;
      row-gap: 16px;
    }
  }







  /* CTA SECTION */

  .cta-section {
    padding: 90px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    text-align: center;
    background: linear-gradient(100deg, #19A246 0.11%, #1E453B 99.89%);
    color: white;
    box-sizing: border-box;
  }
  
  .cta-heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: clamp(30px, 1vw + 1.5rem, 40px);
    margin: 0;
    align-self: stretch;
  }
  
  .cta-heading .highlight {
    color: #B4D137;
  }
  
  .cta-subtext {
    color: #F9F9F9;
    font-weight: 400;
    font-family: 'Inter', sans-serif;
    font-size: clamp(16px, 1vw + 0.7rem, 22px);
    line-height: 28px;
    max-width: 768px;
  }
  
  .cta-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  
  .btn-primary {
    background: white;
    color: #202427;
    border: none;
    padding: 14px 24px;
    font-size: clamp(16px, 1vw + 0.6rem, 20px);
    font-family: 'Inter', sans-serif;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
    transition: background 0.3s ease;
  }
  
  .btn-primary:hover {
    background: #f0f0f0;
  }
  
  .btn-outline {
    background: transparent;
    color: white;
    border: 1px solid white;
    padding: 14px 20px;
    font-size: clamp(16px, 1vw + 0.6rem, 20px);
    font-family: "Space Grotesk";
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.3s ease, border-color 0.3s ease;
  }
  
  .btn-outline:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #ddd;
  }
  
  .btn-outline svg {
    flex-shrink: 0;
    width: clamp(20px, 1.5vw, 24px);
    height: clamp(20px, 1.5vw, 24px);
  }

  @media (max-width: 468px) {
    .cta-section {
      padding: 50px 40px;}
  }






  /* FOOTTER SECTION */

  .footer {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 43px 140px 0 140px;
    background-color: #2f3438;
    color: #d1d5db;
    gap: 48px;
    box-sizing: border-box;
  }
  
  /* Top Section Layout */
  .footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 40px;
  }
  
  /* Left Section */


  .footer-left{
    display: flex;
    width: clamp(330px, 1vw + 0.6rem, 448px);
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .footer-left-top{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
  }

  .footer-logo {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .brand {
    font-family: Montserrat, sans-serif;
    font-weight: 600;
    font-size: 20px;
    color: #005E34;
  }
  
  .brand span {
    color: #B4D137;
  }
  
  .footer-desc {
    max-width: 400px;
    font-size: 14px;
    line-height: 1.6;
  }
  
  .social-links {
    display: flex;
    gap: 12px;
  }

  
  .footer-left-bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
  }

  .footer-left-bottom svg{
    vertical-align: middle;
  }


  /* Button */
  .btn-quote {
    display: inline-block;
    background-color: #21c45d;
    color: white;
    font-weight: 600;
    border-radius: 6px;
    padding: 10px 16px;
    text-decoration: none;
  }
  
  /* Right Section */

  .footer-right svg {
    flex-shrink: 0;
    vertical-align: middle;
  }

  .footer-right{
    display: flex;
    width: clamp(330px, 1vw + 0.6rem, 400px);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
    align-self: stretch;
  }

  .footer-right h3 {
    font-family: Montserrat, sans-serif;
    font-size: 18px;
    margin-bottom: clamp(
      8px,
      calc(8px + (16 - 8) * ((100vw - 375px) / (1440 - 375))),
      16px
    );
    color: white;
    vertical-align: middle;
  }
  
  .footer-right p {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    line-height: 24px;
    vertical-align: middle;
  }
  


  .footer-mail.footer-phone.footer-add{
    display: flex;
    align-items: center;
    gap: 18px;
    align-self: stretch;
    color: #D1D5DB;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
  }

  /* Divider */
  .footer hr {
    border: none;
    height: 1px;
    background-color: rgba(255,255,255,0.2);
    width: 100%;
  }
  
  /* Bottom Section */
  .footer-bottom {
    text-align: center;
    font-size: 14px;
    line-height: 1.4;
    white-space: nowrap;
    color: #aaa;
    border-top: 1px solid #E0E7F0;
    /* padding-bottom: 16px; */
    width: clamp(
      330px,
      calc(330px + (1200 - 330) * ((100vw - 375px) / (1440 - 375))),
      1200px
    );
    padding: 24px;
  }
  
  /* Responsive */
  @media (max-width: 1100px) {
    .footer {
      padding: 32px 40px 0 40px;
      gap: 32px;
      align-items: center;
    }
    .footer-top {
      flex-direction: column;
      align-items: center;
      /* text-align: center; */
    }
    .footer-right h3 {
      font-family: Montserrat, sans-serif;
      text-align: center;
    }
    .footer-right p {
      justify-content: center;
    }
  }

  @media (max-width: 583px) {
    .footer-bottom {
      white-space: normal; /* allow wrapping */
    }
    .footer-bottom .line1,
    .footer-bottom .line2 {
      display: block; /* each on its own line */
    }
  }