section {
    scroll-margin-top: 80px; /* Adjust this based on your navbar height */
}

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

/* Navbar */
.navbar {
    text-align: center;
    padding: 15px 0;
    background-color: white; /* Matches site background */
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid #ddd;
}

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

.navbar ul li {
    display: inline;
    margin: 0 20px;
}

.navbar ul li a {
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 500;
    font-family: "Hanken Grotesk", sans-serif;
    color: #333;
    transition: color 0.3s;
}

.navbar ul li a:hover {
    color: #28a745;
}

/* Specific styles for Book a Demo button */
.cta-nav {
    font-size: 1.1rem;
    background-color: #28a745;
    color: #fff !important; /* Added !important to force white text */
    padding: 10px 30px;
    border-radius: 5px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: background-color 0.3s;
	width: 950px !important;
}

.cta-nav:hover {
    background-color: #007f00;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

.top-banner {
    height: 90px;
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
	margin-top: 25px;
	scroll-margin-top: 80px; /* Adjust this based on your navbar height */
}

/* Default positioning for larger screens (closer to the middle-left) */
.banner-icon {
    height: 40px;
    width: auto;
    position: absolute;
    left: 15%; /* Move it 15% from the left edge */
    transition: left 0.3s ease;
}

.banner-logo {
	height: 40px;
    width: auto;
    position: absolute;
	right: 15%;
}


/* Body */
body {
    /*font-family: 'Roboto', sans-serif;*/
	font-family:"Helvetica Neue",Helvetica,sans-serif;
    line-height: 1.5;
    color: #333;
    background-color: #fff;

}

/* Container */
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Hero Section */
.hero {
    background-color: #fff;
    color: #000;
	margin-top: 30px;
	margin-bottom: 50px;
    text-align: center;
    background-image: url('path-to-your-image.jpg');
    background-size: cover;
    background-position: center;

}

.hero h1 {
    font-size: 4.5rem;
    font-weight: 250;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
	max-width: 60%;
    margin: 0 auto;
	text-align: center;
    margin-bottom: 40px;
	line-height: 1.0;
	word-spacing: -5px; /* Adds space between words */
    letter-spacing: -3px;
}

.hero p {
	text-align: center;
	margin: 50px 340px;
	color: #000000;
    font-size: 1.5rem;
    line-height: 1.2;
	font-family: "Hanken Grotesk", sans-serif;
}

.cta {
    font-size: 1.1rem;
    background-color: #28a745;
    color: #fff;
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: background-color 0.3s;
}

.cta:hover {
    background-color: #007f00;
}

.image-container {
    max-width: 100%; /* Ensure image doesn't overflow horizontally */
	display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    margin-bottom: 60px;
}

.image-container img {
    height: auto; /* Maintain aspect ratio */
    max-height: 750px;
	border-radius: 20px; /* Adjust this value for more or less rounding */
}

/* Summary Section */

.summary {
	justify-content: center;
    align-items: center; /* Aligns divs vertically */
    padding: 20px; /* Adds spacing inside the section */
	margin-bottom: 60px;
	margin-top: -30px;
	background-color: #F0F0F0;
}

.summary-text {
	margin-bottom: 40px;
	margin-top: 35px;
}

.summary-text-h2 {
    font-size: 4.5rem;
    font-weight: 350;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
    margin: 0 auto;
	text-align: center;
    margin-bottom: 40px;
	line-height: 1.0;
	word-spacing: -5px; /* Adds space between words */
    letter-spacing: -3px;
}

.summary-price {
	display: flex;
    justify-content: center;
    align-items: center; /* Aligns divs vertically */
	color: rgb(34, 160, 64);
}

.summary-price-2 {
    font-size: 5.5rem;
	text-align: center;
    font-weight: 450;
}

.summary-price-3 {
	text-align: left;
    font-size: 2.5rem;
    font-weight: 350;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
    margin-bottom: 40px;
	margin-top: 40px;
	margin-left: 10px;
	line-height: 1.0;
	word-spacing: -5px; /* Adds space between words */
    letter-spacing: -3px;
}

.summary-para-top {
	font-size: 1.5rem;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
	text-align: center;
    color:  #333;
	margin-bottom: -35px;
}

.summary-para-bottom {
	font-size: 1.5rem;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
	text-align: center;
    color:  #333;
	margin-top: -20px;
}

/* Features Section */
.features {
    background-color: #fff;
	align-items: center;
}

.features h2 {
    font-size: 4rem;
    font-weight: 350;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
	max-width: 60%;
    margin: 0 auto;
	text-align: center;
    margin-bottom: 40px;
	line-height: 1.0;
	word-spacing: -5px; /* Adds space between words */
    letter-spacing: -3px;
}
  
.feature-list {
    display: flex;
	align-items: center;
	justify-content: space-around;
	justify-content: center;
	
}

.feature-item {
    width: 375px;
	height: 200px;
    margin: 20px;
    padding: 20px;
    background-color: #fff;
    margin-bottom: 150px;
    text-align: left;
}

.feature-item h3 {
    font-size: 2.5rem;
    margin-bottom: 25px;
	text-align: left;
	line-height: 1.0;
	word-spacing: -3px; /* Adds space between words */
    letter-spacing: -1px;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
    font-weight: 450;
}

.feature-item p {
    font-size: 1.5rem;
    color:  #333;
	font-family: "Hanken Grotesk", sans-serif;
}

.features-2 {
    background-color: #fff;
	align-items: center;
	margin-bottom: 80px;
}

.features-2 h2 {
    font-size: 4rem;
    font-weight: 350;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
	max-width: 60%;
    margin: 0 auto;
	text-align: center;
    margin-bottom: 40px;
	line-height: 1.0;
	word-spacing: -5px; /* Adds space between words */
    letter-spacing: -3px;
}

.feature-item-2 {
    font-size: 1.5rem;
    color: #333;
	font-family: "Hanken Grotesk", sans-serif;
	border: 1px solid #e1e1e1;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background-color: #f9f9f9;
    width: 350px;
	height: 245px;
    margin: 20px;
    padding: 20px;
}

.feature-item-2 h3 {
	margin-bottom: 10px;
}


/* About Us Section */
.about-us {
	background-color: #F0F0F0;
    text-align: center;
    padding: 60px 0;
}

.about-us h2 {
    font-size: 3.5rem;
    font-weight: 350;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
	max-width: 60%;
    margin: 0 auto;
	text-align: center;
    margin-bottom: 60px;
	line-height: 1.0;
	word-spacing: -5px; /* Adds space between words */
    letter-spacing: -3px;
}

.about-us-container {
	display: flex;
	align-items: center;
	justify-content: space-around;
	justify-content: center;
}

.about-us h3 {
    font-size: 3.5rem;
    font-weight: 350;
	font-family: "Hanken Grotesk", sans-serif;
    font-style: normal;
	max-width: 60%;
	text-align: left;
    margin-bottom: 40px;
	line-height: 1.0;
	word-spacing: -2px; /* Adds space between words */
    letter-spacing: -3px;
	text-align: left;
}

.about-us p {
    font-size: 1.5rem;
    color: #333;
	font-family: "Hanken Grotesk", sans-serif;
	padding-right: 50px;
	width: 450px;
	text-align: left;
}

.about-us img {
	margin-top: 40px;
    max-height: 800px;
	border-radius: 20px; /* Adjust this value for more or less rounding */
}

.about-us-image p {
	text-align: right;
}

/* Logo Section */

.logo {
	display: flex;
	align-items: center;
	justify-content: space-around;
	justify-content: center;
	height:250px;
}

.contact-us {
    font-size: 1.5rem;
    color: #666;
	font-family: "Hanken Grotesk", sans-serif;
	padding-left: 50px;
	width: 450px;
	text-align: center-right;
}

/* Footer */
footer {
    text-align: center;
    padding: 20px;
    background-color: rgb(34, 160, 64);
    color: #fff;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .feature-list {
        flex-direction: column;
        align-items: center;
    }

    .feature-item {
        width: 80%;
        margin-bottom: 20px;
    }

    .testimonial-list {
        flex-direction: column;
        align-items: center;
    }

    .testimonial-item {
        width: 80%;
    }
}



/* =====================================================
   Minimal Mobile Compatibility (preserve original look)
   ===================================================== */

/* Never overflow screen horizontally */
html, body { overflow-x: hidden; }

/* Make media fluid on small screens */
@media (max-width: 1024px) {
  img, video { max-width: 100%; height: auto; }
}

/* Nav: allow wrapping, fix oversized CTA */
@media (max-width: 900px) {
  .navbar ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 12px; }
  .navbar ul li { display: inline-flex; margin: 0 6px; }
  .cta-nav { width: auto !important; display: inline-block; white-space: nowrap; }
}

/* Top banner logos: keep centered on narrow viewports without changing sizes on desktop */
@media (max-width: 768px) {
  .top-banner { justify-content: center; gap: 12px; }
  .banner-icon, .banner-logo { position: static; height: 40px; width: auto; }
}

/* Hero copy: preserve desktop styles; only avoid overflow margins on smaller screens */
@media (max-width: 1024px) {
  .hero p { margin: 24px auto; max-width: 70ch; padding: 0 16px; }
}
@media (max-width: 560px) {
  .hero h1 { font-size: 2.4rem; letter-spacing: -1px; word-spacing: -2px; }
  .hero p { font-size: 1.1rem; }
  .cta { display: inline-block; padding: 12px 20px; }
}

/* Feature grids: allow wrap, keep card sizes */
@media (max-width: 1100px) {
  .feature-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
  .feature-item { width: 375px; height: auto; margin: 12px; }
  .feature-item-2 { width: 350px; height: auto; margin: 12px; }
}

/* Summary: neutralize negative top margin on small screens to prevent overlap */
@media (max-width: 1024px) {
  .summary { margin-top: 0 !important; }
  .summary-price { flex-wrap: wrap; gap: 8px; }
}

/* About: stack columns, keep original spacing in desktop */
@media (max-width: 1024px) {
  .about-us-container { flex-wrap: wrap; gap: 20px; justify-content: center; }
  .about-us p { width: auto; max-width: 70ch; padding-right: 0; }
  .about-us img { max-width: 100%; height: auto; max-height: none; }
}

/* Logo / contact: stack on narrow screens */
@media (max-width: 900px) {
  .logo { flex-wrap: wrap; height: auto; gap: 12px; padding: 16px 0; }
  .contact-us { width: auto; padding-left: 0; text-align: center; }
}

/* Hero showcase image: respect container and avoid huge fixed heights on phones */
@media (max-width: 768px) {
  .image-container img { max-height: none; border-radius: 16px; }
}
