@media (max-width: 1024px) {
    header {
        padding-top: 0; /* Handled inside .navBar padding */

        .navBar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: relative;
            margin-bottom: 0;
            padding-left: 20px;
            padding-right: 20px;
            box-sizing: border-box;
            .Logo {
                position: static;
                transform: none;

                a {
                    display: block;
                }

                img {
                    width: 181px;
                    height: auto;
                    max-height: 50px;
                    object-fit: contain;
                    display: block;
                    margin: 0;
                }
            }

            > .HeaderSecond {
                display: none;
            }

            .menu-toggle {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 38px;
                height: 38px;
                min-width: 38px;
                min-height: 38px;
                background: var(--yellow);
                border: none;
                font-size: 16px;
                color: #ffffff;
                cursor: pointer;
                z-index: 1002;
                border-radius: 50%;
                box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
                padding: 0;
                margin-left: auto;
                position: relative;

                i {
                    color: #ffffff;
                    display: block;
                    line-height: 1;
                }
            }

            nav.main-navigation {
                position: fixed;
                top: 0;
                right: -100%;
                width: 100vw;
                max-width: 100vw;
                height: 100vh;
                background-color: #ffffff;
                border-radius: 0;
                padding: 90px 24px 40px;
                z-index: 1001;
                transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
                overflow-y: auto;
                display: flex;
                flex-direction: column;
                box-sizing: border-box;

                ul.menu {
                    display: flex;
                    flex-direction: column;
                    justify-content: flex-start;
                    gap: 0;
                    padding: 0;
                    margin: 0;
                    width: 100%;
                    list-style-type: none;

                    li {
                        position: relative;
                        width: 100%;
                        border-bottom: 1px solid rgba(0, 0, 0, 0.08);

                        a {
                            display: flex;
                            justify-content: space-between;
                            align-items: center;
                            padding: 12px 0;
                            color: var(--green);
                            font-weight: 600;
                            font-size: 18px;
                            text-decoration: none;
                            width: 100%;
                            box-sizing: border-box;
                        }

                        &.menu-item-has-children {
                            > a i.fa-chevron-down {
                                color: var(--green);
                                font-size: 14px;
                                transition: transform 0.3s ease;
                                margin-left: auto;
                            }

                            &.sub-open > a i.fa-chevron-down {
                                transform: rotate(180deg);
                            }
                        }
                    }

                    ul.sub-menu {
                        display: none;
                        position: static;
                        background-color: transparent;
                        width: 100%;
                        padding-left: 15px;
                        padding-bottom: 10px;
                        border-radius: 0;
                        box-shadow: none;

                        li {
                            border-bottom: none;

                            a {
                                font-size: 16px;
                                color: var(--green);
                                padding: 8px 0;
                            }
                        }
                    }
                }

                .HeaderSecond {
                    display: flex;
                    margin-top: 30px;
                    padding-top: 20px;
                    border-top: 2px solid var(--green);
                    flex-direction: column;
                    align-items: center;
                    gap: 15px;
                    width: 100%;

                    .Button {
                        text-align: center;
                        width: 100%;
                    }
                }
            }
        }
    }
	
	.trusted-families-header {
		h2 {
			font-size: 32px;
			line-height: 36px;
		}
	}
	
	.slick-track {
		gap: 20px;
		
		.testimonial-slide {
			padding-left: 0;
			padding-right: 0;
		}
	}
	
	.PageWrap.MainWrap {
		text-align: center;
		
		.desktop-only-heading {
			display: none;
		}

		.responsive-row {
			display: flex;
			flex-direction: column-reverse;
			padding-bottom: 0;
		}

		.mobile-image-card {
			position: relative;
			border-radius: 24px;
			overflow: hidden;
			margin-bottom: 24px;
			margin-top: 50px;

			&::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				height: 65%;
				background: linear-gradient(
					180deg,
					rgba(98, 195, 112, 0.95) 0px,
					rgba(98, 195, 112, 0.95) 70px,
					rgba(98, 195, 112, 0) 100%
				);
				z-index: 1;
				pointer-events: none;
			}

			.mobile-only-heading {
				position: absolute;
				top: 32px;
				left: 20px;
				right: 20px;
				z-index: 2;
				text-align: center;

				h2 {
					display: block;
					color: #ffffff;
					margin: 0;
					font-size: 32px;
					line-height: 1.15;
					font-weight: 700;
				}
			}

			.lady-daughter-image {
				width: 100%;

				img {
					width: 100%;
					height: auto;
					display: block;
				}
			}
		}

		.paint-stroke-outer-wrapper {
			background: #FFFFFF;
			
			.paint-stroke-top,
			.paint-stroke-bottom {
				display: none;
			}
			
			#how-do-we-help {
				padding: 0 !important;
				background: #FFFFFF !important;
				
				.vc_row-flex {
					gap: 20px;
				}
				
				.h2 {
					color: var(--green);
				}
				
				.Button {
					background: var(--green);
					color: #FFFFFF;
				}
			}
		}
	}

	body.menu-open {
		overflow: hidden;

		header .navBar {
			nav.main-navigation {
				right: 0;
			}
		}
	}

	.posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.PostWrap .page-title-header {
		grid-template-columns: 1fr;
		padding: 30px;
	}

	.footer-enquiry__inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.HomeBanner {
		padding-top: 50px;
		.PaintStroke {
			top: -40px;
		}

		.container {
			display: flex;
			flex-direction: column;
			gap: 30px;
		}

		.HomeBannerText {
			text-align: center;
			display: flex;
			flex-direction: column;
			align-items: center;

			h1 {
				font-size: 32px;
			}

			.ButtonWrap {
				display: flex;
				flex-direction: row;
				justify-content: center;
				align-items: center;
				gap: 12px;
				width: 100%;

				.Button {
					flex: 1;
					text-align: center;
					font-size: 14px;
				}
			}
		}

		.HomeBannerImage {
			width: 100%;
			display: flex;
			justify-content: center;

			img {
				max-width: 100%;
				height: auto;
			}
		}
	}
	
	.HeaderBannerWrapper {
		margin-bottom: 50px;
	}

	.footer-enquiry__inner {
		padding: 35px;
	}

	.footer-enquiry__form {
		.gform_fields {
			grid-template-columns: 1fr;
		}

		.gfield {
			input, textarea {
				background: var(--green);
			}
		}

		input::placeholder,
		textarea::placeholder {
			color: #FFF;
		}
	}

	.gform-footer.gform_footer.top_label {
		flex-direction: column;
	}

	.site-footer {
		.site-footer__supported-logo {
			display: block;
			float: none;
			outline: none;
			padding: 0 10px;
			box-sizing: border-box;

			img {
				max-width: 100%;
				max-height: 55px;
				width: auto;
				height: auto;
				margin: 0 auto;
				display: block;
			}
		}
	}

	.site-footer__container {
		width: min(100% - 30px, 1200px);
	}

	.site-footer__top {
		align-items: center;
		flex-direction: column;
		gap: 30px;
		padding: 40px 0 30px;
		text-align: center;
	}

	.site-footer__social {
		justify-content: center;
	}

	.site-footer__bottom {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 35px;
		padding: 30px 0 40px;
		text-align: center;
	}

	.site-footer__supported-text {
		text-align: center;
	}

	.site-footer__supported-logos {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow: hidden;
		box-sizing: border-box;

		.slick-list {
			width: 100%;
			overflow: hidden;
		}

		.slick-track {
			display: flex;
			align-items: center;
		}
	}

	.posts-grid {
		grid-template-columns: 1fr;
		gap: 20px;

		&.posts-carousel {
			display: flex;
			overflow-x: auto;
			scroll-snap-type: x mandatory;
			scroll-behavior: smooth;
			gap: 16px;
			padding-bottom: 20px;
			margin: 0 -15px;
			padding-left: 15px;
			padding-right: 15px;
			-webkit-overflow-scrolling: touch;
			scrollbar-width: none;

			&::-webkit-scrollbar {
				display: none;
			}

			.post-card {
				flex: 0 0 85%;
				scroll-snap-align: center;
			}
		}
	}

	.post-card {
		padding: 12px;
	}

	.page-header-images .placeholder-image-wrapper {
		height: 220px;
	}

	.PostWrap .page-title-header .page-header-images .featured-img {
		height: 220px;
	}
}

@media (min-width: 768px) {
	.site-footer__supported-logos {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: wrap;
		gap: 20px;
	}

	.site-footer__supported-logo {
		display: flex;
		align-items: center;
		justify-content: center;

		img {
			display: block;
			width: auto;
			max-width: 160px;
			max-height: 65px;
			height: auto;
		}
	}
}

@media (min-width: 1025px) {
	.mobile-only-heading {
		display: none !important;
	}
}