        body {
            font-family: 'Work Sans', sans-serif;
            background-color: #f0f4f8;
            color: #333;
            margin: 0;
            padding: 0;
        }
		
		.oswald-700 {
		  font-family: "Oswald", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: 400;
		  font-size: 2em;
		  font-style: normal;
		}
		
		.section-heading {
			margin: 0 0 1em 0;
		}
		
		.section-image {
			max-height: 300px;
			float: right;
			display: block;
		}
		
		.no-top-left-margin {
		  margin: 0 1em 1em 0 !important;
		}
		
		.slogan {
			background: linear-gradient(135deg, #d3d3d3 0%, #949292 100%);
			-webkit-background-clip: text;
			background-clip: text;
			color: transparent;
			display: inline-block;
			text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
		}
		
        .parallax {
            background-attachment: fixed;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            min-height: 50vh;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
        }
        .parallax::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* background: #356d6e; */
			background: linear-gradient(to bottom, #204242 0%, #356d6e 100%);
            z-index: 1;
        }
        .parallax-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: white;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
        }
		#home, #home p {
			padding: 1em;
		}
		
		#cognito-form-container {
			background-color: white;
			padding: 1em;
		}
		
        .welcome-section { display: flex; max-width: 1200px; margin: 40px auto; padding: 0 20px; }
        .welcome-text { flex: 1; padding-right: 20px; }
        .welcome-image { flex: 1; }
        .welcome-image img { width: 100%; height: auto; border-radius: 8px; }		
		
		.carousel {
		  position: relative;
		  width: 100%;
		  overflow: hidden;
		}

		.carousel-inner {
		  display: flex;
		  transition: transform 0.5s ease-in-out;
		}

		.carousel-item {
		  flex: 0 0 100%;          /* Ensures each slide takes full width */
		  width: 100%;
		}

		.carousel-item img {
		  width: 100%;
		  height: auto;
		  display: block;
		  object-fit: contain;          /* ← Critical change: shows full image, no side crop */
		  background-color: #0f172a;    /* Optional dark fallback for letterbox areas */
		}	
		.learn {
			background-color: #152c2c;
			color: white;
			margin: 1em 0 0 0;
		}
		
        .service-section {
            padding: 60px 20px;
            background: linear-gradient(to bottom, #ffffff, #e6f0fa);
        }
        .service-image {
            width: 100%;
            max-height: 400px;
            object-fit: cover;
            border-radius: 10px;
        }
        .book-appointment {
            background: #003366;
            color: white;
            padding: 60px 20px;
            text-align: center;
        }
        .navbar {
            /*background: #152c2c;*/
			background: linear-gradient(to bottom, #152c2c 0%, #091212 100%);
            position: sticky;
            top: 0;
            z-index: 10;
            padding: 15px 0;
        }
        .navbar a {
            color: white;
            text-decoration: none;
            font-weight: 400;
            transition: color 0.3s;
            padding: 0 10px;
        }
        .navbar a:hover {
            color: #66ccff;
        }
        .hamburger {
            display: none;
            font-size: 20px;
            color: white;
            cursor: pointer;
            padding: 10px;
        }
        .nav-menu {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px;
            max-width: 1200px;
            margin: 0 auto;
        }
        .nav-menu.active {
            display: flex;
            flex-direction: column;
            position: absolute;
            top: 60px;
            left: 0;
            width: 100%;
            background: #152c2c;
            padding: 10px 0;
        }
        .nav-menu.active a {
            padding: 15px;
            text-align: center;
            width: 100%;
        }
        .footer {
            background: #003366;
            color: white;
            text-align: center;
            padding: 20px 0;
        }
		
		@media (min-width: 769px) {
		.carousel-item img {
			max-height: 600px;
		}
		
		
        @media (max-width: 768px) {
            .parallax {
                background-attachment: scroll;
            }
			.carousel-item img {
				aspect-ratio: 4 / 3;       /* Taller shape helps show full boat */
				max-height: 70vh;          /* Or 500px/550px — use vh for better screen fit */
            .service-image {
                max-height: 250px;
            }
            .hamburger {
                display: block;
            }
            .nav-menu {
                display: none;
            }
            .parallax-content img {
                max-width: 250px;
                max-height: 250px;
            }
            .navbar {
                padding: 10px 0;
                display: flex;
                justify-content: space-between;
                align-items: center;
            }
            .navbar a {
                padding: 0 10px;
            }
            .nav-menu.active a {
                padding: 10px;
            }
            .service-section, .book-appointment {
                padding: 30px 10px;
            }
        }