
    body > section,
	#home-search,
	#services > *,
	#services #learn > *,
	#services #learn a,
	#quality,
	#quality > div,
	#quality .vp,
	#quality picture,
	#services #learn a picture {
        display: -webkit-flex;
        display: flex;
    }

	#home-search,
	#services .brief,
	#services #learn,
	#services #learn .col_a,
	#services #learn a,
	#quality,
	#services #learn a picture {
		flex-direction: column;
		-webkit-flex-direction: column;
	}



	 #banner-main {
	 	margin-bottom: 10px;
	 }

	body#home .street-map-marker {
		-webkit-align-items: center;
		align-items: center;
		background-color: var(--white);
		border: 1px solid rgba(36, 0, 51, 0.18);
		border-radius: 999px;
		box-shadow: 0 8px 18px rgba(36, 0, 51, 0.18);
		color: var(--purple-darkest);
		display: -webkit-inline-flex;
		display: inline-flex;
		font-size: 1.2rem;
		font-weight: 700;
		line-height: 1;
		max-width: 210px;
		padding: 7px 10px 7px 8px;
		text-decoration: none;
		transition-duration: 0.2s;
		transition-property: background-color, box-shadow, color, transform;
		white-space: nowrap;
	}

	body#home .street-map-marker:hover,
	body#home .street-map-marker:focus {
		background-color: var(--purple-dark);
		box-shadow: 0 10px 24px rgba(36, 0, 51, 0.26);
		color: var(--white);
		outline: none;
		transform: translateY(-2px);
	}

	body#home .street-map-marker-pin {
		background-color: var(--pink);
		border: 2px solid currentColor;
		border-radius: 50% 50% 50% 0;
		height: 13px;
		margin-right: 7px;
		transform: rotate(-45deg);
		width: 13px;
	}

	body#home .street-map-marker-label {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	body#home .street-map-marker-count {
		background-color: #eaf8fb;
		border-radius: 999px;
		color: #154d5d;
		font-size: 1rem;
		margin-left: 7px;
		min-width: 20px;
		padding: 4px 6px;
		text-align: center;
	}

	body#home .street-map-marker:hover .street-map-marker-count,
	body#home .street-map-marker:focus .street-map-marker-count {
		background-color: var(--white);
		color: var(--purple-darkest);
	}
	

	 #home-search h1 {
	 	color: var(--white);
		margin: auto auto 10px 20px;
	 }
	
	#home-search {
		align-items:center;
		-webkit-align-items:center;
		margin: auto;
		padding: 0px 7vw;
		max-width: 1400px;
		width: 100%;
		z-index: 1;
	}

	#home-search form {
		background-color: #fffa;
		backdrop-filter: blur(10px);
		border: none;
		border-radius: 5px;
		color: initial;
		margin-bottom: 0px;
		padding: 5px 0px;
	}

	#home-search form input,
	#home-search form select {
		background-color: transparent;
		border: none !important;
	}
	
	#home-search .search_box > form > *:not(:last-of-type) {
		background-color: #fff9;
		border: none !important;
		border-radius: 5px;
		padding-left: 10px;
	}

	#home-search .sb-area,
	#home-search .sb-rent {
		border-right: none;
	}
	
	#home-search .sb-area {
		margin-left: 20px;
		padding-left: 20px
	}

	#home-search .sb-area #hs-area {
		border: 1px solid #c1a9cb;
		border-radius: 4px;
	}

	#home-search .search_box > form label {
		margin-right: 5px;
	}

	#home-search .sb-beds {
		padding-left: 0px;
	}

	#home-search .sb-rent {
		padding-left: 5px;
	}

	
	#home-search #h-property-search {
		-webkit-flex: 1;
		flex: 1;
		background-color: var(--purple-dark);
		color: var(--white);
		height: 39px;
		margin: auto 24px auto 10px;
		padding: 7px 15px 7px 12px;
	}
	
	#home-search #h-property-search svg {
		fill: var(--pink);
		margin-right: 10px;
	}
	
	#banner-main picture,
	#banner-main picture img {
		border-radius: 0px;
		width: 100%;
	}

    #banner-main .vp {
        margin: auto;
        -webkit-transform: scale(1);
        transform: scale(1);
		width: 100%;
    }

				
	#banner-intro {
		display: flex;
		display: -webkit-flex;
	}


	#banner-intro h1 {
		font-size: 5vw;
		font-weight: 500;
		text-transform: none;
	}


	#banner-intro h1,
	#banner-intro h1 + p {
		flex-wrap: nowrap;
		-webkit-flex-wrap: nowrap;
		align-items: flex-start;
		-webkit-align-items: flex-start;
		text-align: left;
	}


	#banner-intro {
		background-color: var(--white);
		margin-bottom: 5vw;
	}
	
			

	#banner-intro h2 {
		margin-bottom: 30px;
	}

	#banner-intro > div > * {
		flex: unset;
		-webkit-flex: unset;
	}

	#banner-intro p {
		font-size: 1.6em;
	}

	#banner-intro .col_a {
		justify-content: center;
	}

	#banner-intro .case_panel {
		transform: none;
	}

	
	

	/*nav, #main-navigation {
		background-color: var(--white);
	}*/
	

	#favourites h2,
	#favourites h2 + p { 
		padding-left: 20px;   
		width: 100%;
	}


	#favourites h2 { 
		margin-bottom: 0px;
	}

	
	#favourites h2 + p { 
		margin-bottom: 20px;
	}

	
	
	
		

	#contact-ways a {
		border-radius: 5px;
	}
	
	

	
	
	#sign-up {
		background-color: #f5f2e8;
		padding-bottom: calc(15px + 2vw);
	}
	
	#sign-up p {
		text-align: center;
	}
	
	
	
	#banner-intro {
		display:flex;
		display:-webkit-flex;
		align-items: center;
		-webkit-align-items: center;
		justify-content: center;
		-webkit-justify-content: center;
		color: var(--white);
		height: 60vh;
		max-height: 550px;
		padding: 0px;
		position: relative;
	}
	
	#banner-intro > div {
		position: absolute;
	}
	
	#banner-intro h1 {
		font-family: 'REM';
		letter-spacing: 0.4px;
		text-transform: none;
		width: auto;
	}
	
	#banner-intro h1:after {
		border: none;
		margin: unset;
	}
	
	
	.bg_fade {
		display:flex;
		display:-webkit-flex;
		align-items: center;
		-webkit-align-items: center;
		justify-content: center;
		-webkit-justify-content: center;
		flex: 1;
		-webkit-flex: 1;
		background: linear-gradient(0deg, rgb(31 24 16) 0, rgba(31, 24, 16, 0) 100%);
		backdrop-filter: brightness(0.7);
		height: 100%;
		width: 100%;
		z-index: 1;
	}
	
	
	
	
	#services {
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		justify-content: space-between;
		-webkit-justify-content: space-between;
		/*color: var(--white);*/
		position: relative;
	}


	#services .onboarding form .group {
		width: 50%;
	}

	

	#services #intro {
		margin-bottom: calc(2vw + 10px);
		text-align: center;
		width:100%;
	}
	
	
	#services .brief {
		border-radius: 5px;
		margin-bottom: 30px;
	}

	
	#services .brief {
		padding-top: 3rem;
		width: calc(30% - 10px);
	}
	
	
	
	#services #pro-snoop h3 img {
		filter: invert(1) contrast(0) brightness(2);
	}
	
	
	#services > div {
		transition-property: opacity, transform, color;
		transition-duration: 1.5s;
		transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
	}
	
	
	#services #intro {
		transform: translateY(15px);
		-webkit-transform:translateY(15px);
	}
	
	
	#services #starter-snoop {		transition-delay: .3s; transform: translateX(-45px); }
	#services #pro-snoop {			transition-delay: .5s; transform: translateX(-30px); }
	#services #turbo-snoop {		transition-delay: .7s; transform: translateX(-15px); }

	#services.fade-in > div {
		opacity: 1;
		transform: translateX(0px) translateY(0px) !important;
		-webkit-transform: translateX(0px) translateY(0px) !important;
	}
	
	
	
	#services ul {
		font-size: 16px;
		padding: 0px;
	}
	
	.fillsvg {
		fill:red !important;
	}
		
	#services ul li {
		color: #f8f8f7;
		list-style: none;
		margin-bottom: 10px;
		padding-left: 30px;
		position: relative;
	}

	#services ul li::before {
		content: "";
		position: absolute;
		left: 0;
		top: 5px;
		width: 16px;
		height: 12px;
		background-color: #d1c9aa;
		mask-image: url('/_images/icons/tick-sq.svg');
		-webkit-mask-image: url('/_images/icons/tick-sq.svg');
		mask-size: cover;
		-webkit-mask-size: cover;
	}
	
	#services > picture img {
		margin: auto;
		width: auto;
	}
		

	#services #learn .col_a,
	#services #learn .col_b,
	#services #learn a,
	#services #learn a picture {
		width: 100%;
	}	

		
	#services #learn a {
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
		background-color: transparent;
		border-radius: 5px;
		color: inherit;
		margin:0px 1px 30px 0px;
		padding: 15px 15px 15px 15px;
		position: relative;
	}


	#services #learn a label {		
		border-radius: 4px;
		bottom: 25px;
		left: 30px;
		margin: 0px;
		padding: 10px 20px 10px 15px;
		position: absolute;
	}


	#services #learn a label svg {
		fill: var(--pink);
		margin-left: 8px;
	}


	#services #learn a picture {
		border-radius: 4px;
		overflow: hidden;
	}


	#services #learn a picture, 
	#services #learn a picture img {
		height: 100%;
	}


	#services #learn a p {
		margin-top: auto;
		margin-bottom: 0;
		padding-left: 20px;
	}

	/*#services #learn h2 {
		color: var(--pink);
	}
	
	#services #learn a label:after {
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 8px solid var(--pink);
        content: '';
		display: inline-block;
        font-size: .3em;
        margin-left: 10px;
		margin-top: 0px;
        vertical-align: middle;
    }*/
	
	
	
	#quality {
		justify-content: center;
		-webkit-justify-content: center;
		background-color: var(--white);
		padding-top: 0px;
	}
	
	#quality > div {
		background-color: var(--pale-sky);
		border-radius: 0px 0px 5px 5px;		
		margin: 0px auto calc(2vw + 15px) auto;
	}
	
	.property-listing h2,
	#quality h2,
	#testimonials h2 {
		color: var(--purple-darkest);
		fill: var(--purple-darkest);
	}
	
	#quality h2 + p {
		font-size: 1.6em;
	}
	
	#quality .vp {
		position: relative;
	}
	
	#quality video {
		position: absolute;
	}
	
	#quality picture,
	#quality video {
		border-radius:5px;
		overflow: hidden;
		z-index: 1 !important;
	}
	
	#quality #next-level {
		justify-content: space-around;
		-webkit-justify-content: space-around;
		margin-top: 3vw;
	}
	
	
	#quality #next-level a {		
		padding: 20px;
	}
	
	
	
	#favourites h2 svg {
		margin-bottom: 3px;
	}

	
		

	h3 {
		margin-bottom:35px;
	}
	
	

	#sign-up-b {
		background-color: var(--white);
		padding: 3vw 10vw 4vw 10vw;
	}
	
    
	

	@media (max-width:640px) {			
		#wrapper {
			padding-bottom: 0px;
			padding-top: 30px;
		}

		#intro {
			-webkit-justify-content: center;
			justify-content: center;
			margin:40px auto;
		}

		#intro h1 {	
			font-size:2.2em;
		}
	}



	@media (max-width:991px) {

		#intro p {
			font-size: 2em;
			letter-spacing: initial;
			max-width: 80vw;
		}
		
		#intro .btn {
			width: 60%;
		}
		
		#top_banner .vt video {
			height: 77vh;
		}
		
		.vt video, .vt picture {
			border-radius:3px;
			left: 20px;
			top: 20px;
			width: calc(100% - 40px);
		}
				


		#banner-intro h1 {
			
			font-weight: 900;
			text-align: center;
			text-transform: uppercase;
		}
		
		#banner-intro p {
			padding-left: 20px;
			padding-right: 20px;
		}
		
		#banner-intro .case_panel {
			margin: 0px;
			max-width: 100%;
			padding: 20px;
		}
		
		
		
		#home #enquire {
        	background-color: #eaf2f5;
		}
		
		#home #enquire #contact-ways a {
			background-color: #f7e6ff;
			box-shadow: 0 0 50px #fff8;
			margin: 0px auto;
		}
		
		#home #enquiry {
			padding:0px;
		}
		
		#home #enquiry #contact-enquiry {
			margin-top:0px;
		}
		
		
		
		/*#services {
			padding: calc(2vw + 15px) 20px;
		}*/
	}




	@media (min-width:992px) {
	
		#intro p {
			background-color:transparent;
			/*border: 2px solid #eee3;
			border-radius: 7px;*/
			font-size: calc(2em + 1.5vw);
		}
		


		#banner-intro {
			padding:0vw 4rem 0vw 0px;
		}


		#banner-intro .col_a {
			padding:0px 4rem 0px 10vw;
			width: calc(60% - 10vw + 2rem);
		}

		#banner-intro .case_panel {
			padding:0vw 4rem;
		}	
		
		

		#testimonials {
			margin-top: 40px;
			padding: 0px 7vw;
		}


     
		#enquire #enquiry {
			margin-top: calc(-50px - 5vw);
		}			
		

		#enquire #contact-ways a {
			margin-bottom: calc(40px + 5vw);
		}
		


		body#home #p-tile {
			margin-top: 10px;
		}


		
		#services,
		#services #learn,
		#services #learn .col_b {
			justify-content: space-evenly;
			-webkit-justify-content: space-evenly;
		}

		#services {
			margin-top: 10px;
			padding-bottom: 0px;
			padding-top: 0px;
		}
		
		#services .brief {			
			margin-top: 0vw;
			padding-left: 2%;
			padding-right: 2%;
			width: 30%;
		}
		
		
		#services .brief,			
		#services #learn a,
		#services #learn a label svg,
		#services #learn a picture img,
		#quality #next-level a {
			transition-duration: .4s;
			transition-property: background, border, transform;
		}

		#services .brief:hover {
			background-color: rgba(50, 45, 40, 0.4);
		}
		
		#services > picture {
			object-fit: cover;
			position: absolute;
			top: 0;
			z-index: -1;
		}
		
		#services #learn a picture {
			box-shadow: 0px 0px 5px #5553;
		}
						
		#p-tile, 
		#services #learn, 
		#quality > div {
			width: calc(100% - 14vw);
		}
						
		#services #learn {
			/*backdrop-filter: blur(5px) brightness(0.7) saturate(2);*/
			backdrop-filter: blur(15px) brightness(1.5);
			border-radius: 5px 5px 0px 0px;
			/*box-shadow: 0px 30px 50px #7777;*/
			margin-top: calc(40px + 20vw);
			padding: 15px 0px 0px 0px;
		}
					
		#services #learn .col_a {
			padding: 0px 30% 0px 35px;
		}		
			
		#services #learn .col_b {
			flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			justify-content: space-evenly;
			-webkit-justify-content: space-evenly;
			/*background: linear-gradient(3deg, rgba(36, 30, 40, 0.7) 0%, rgba(255, 255, 255, 0) 74%);*/
			font-size: 1.6em;
			padding: 25px 25px 0px 25px;
		}
		
		
		#services #learn a {
			border:1px solid transparent;
			width: 30%;
		}
		
		#services #learn a:hover * {
			cursor: pointer;
		}
		
		#services #learn a:hover {
			background-color: var(--white);
			/*border-color:var(--pink);*/
			text-decoration: none;
		}
		
		#services #learn a:hover label svg {
			transform: translateX(5px);
		}
		
		#services #learn a:hover picture img {
			transform: scale(1.2);
		}
		
		
		#quality {
			padding-bottom: 40px;
		}
		
		#quality .vp {
			border-radius: 5px;
			height: 38vw;
			margin: 3vw 3vw -3vw 3vw;
			overflow: hidden;
			width:32%;
		}
		
		#quality picture img,
		#quality video {
			width: 100%;
		}
		
		#quality picture + div,
		#quality .vp + div {
			margin: auto;
			width:calc(67% - 4vw);
		}
		
		#quality picture + div {
			padding-right:4vw;
		}		
		
		#quality h2 {
			margin-bottom:15px;
		}		
		
		#quality h2 {
			font-size:5vw;
		}
		
		#quality #next-level {
			justify-content: flex-start;
			-webkit-justify-content: flex-start;
			margin-top: 3vw;
		}
		
		#quality #next-level > * {
			width: 45%;
		}

		#quality #next-level a:hover {
			cursor: pointer;
			text-decoration: none;
		}
		
		
		
		#testimonials .highlighted .testimonial:nth-of-type(even) {
			background-color: #f3f3fb;
			border-radius: 10px;
			margin-top: 55px;
			padding-bottom: 15px;
		}
		
				

		#sign-up-b #onboarding-email--b {
			margin: auto 10vw;
		}
		
	}
		
	
	@media (min-width:1640px) {
		#top_banner {	
			max-height: 72vh;
		}
		
		
		#enquire #enquiry {
			padding-right:8vw;
		}
	}
	
	

	@media (min-width:2048px) {	
		body > section.proposition {
			max-width: initial;
		}
		
		#services > picture img {
			border-radius: 5px;
			margin: 0px auto;
			object-fit: cover;		
		}
		
		/*body > section.proposition,
		body > section:not(#top_banner, .img_bg) {
			padding-left: 20vw;
			padding-right: 20vw;		
		}*/
	}


	@keyframes fadeInAnimation {
		0% {	opacity: 0; }
		100% {	opacity: 1; }
	}

	@keyframes fadeOutAnimation {
		0% {	opacity: 1; }
		100% {	opacity: 0; }
	}

	@media (max-width:991px) {
		body#home #banner-main {
			margin-bottom: 10px;
			min-height: auto;
		}

		body#home #banner-main .vp,
		body#home #banner-main .vp picture,
		body#home #banner-main .vp picture img,
		body#home #banner-main .vp video {
			display: -webkit-flex;
			display: flex;
			min-height: clamp(420px, 72vh, 720px);
		}

		body#home #banner-main .vp {
			overflow: hidden;
			position: relative;
			width: 100%;
			z-index: 0;
		}

		body#home #banner-main .vp picture,
		body#home #banner-main .vp picture img,
		body#home #banner-main .vp video {
			height: 100%;
			inset: 0;
			margin: 0;
			min-height: 0;
			object-fit: cover;
			padding: 0;
			position: absolute;
			width: 100%;
		}

		body#home #banner-main .vp picture {
			z-index: 1 !important;
		}

		body#home #banner-main .vp picture img {
			z-index: auto !important;
		}

		body#home #banner-main .vp video {
			z-index: 0 !important;
		}

		body#home #banner-main .vp picture.out {
			display: none;
		}
		

		body#home #home-search {
			min-height: clamp(420px, 72vh, 720px);
			padding: 20px;
			position: absolute;
			top: 40px;
		}

		body#home #home-search h1 {
			font-size: clamp(2.1rem, 7vw, 3.75rem);
			line-height: 1.05;
			margin: 0 0 18px 0;
			max-width: 12ch;
		}

		body#home #home-search .search_box,
		body#home #home-search form {
			width: 100%;
		}

		body#home #home-search form {
			display: flex;
			display: -webkit-flex;
			-webkit-flex-direction: column;
			flex-direction: column;
			gap: 12px;
			padding: 16px;
		}

		body#home #home-search .search_box > form > * {
			-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
			margin: 0 !important;
			max-width: none;
			width: 100%;
		}

		body#home #home-search .search_box > form > *:not(:last-of-type) {
			padding: 12px 14px;
		}

		body#home #home-search .sb-area {
			margin-left: 0;
			padding-left: 0;
		}

		body#home #home-search .sb-area #hs-area {
			min-height: 48px;
			padding: 0 12px;
			width: 100%;
		}

		/*body#home #home-search .sb-beds,
		body#home #home-search .sb-rent {
			display: grid;
			gap: 10px;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}*/

		body#home #home-search .sb-beds label,
		body#home #home-search .sb-rent label {
			grid-column: 1 / -1;
			margin-right: 0;
		}

		body#home #home-search .sb-beds select,
		body#home #home-search .sb-rent select {
			min-height: 46px;
			padding: 0 12px;
			width: 100%;
		}

		body#home #home-search #h-property-search {
			-webkit-justify-content: center;
			justify-content: center;
			margin: 0;
			min-height: 50px;
			padding: 0 18px;
			width: 100%;
		}

		body#home #p-tile .prop_tile {
			margin: 10px 15px;
		}
		
		body#home #services > picture {
			display: none;
		}

		body#home #services #learn {
			background-color: var(--pale-sky);
			border-radius: 10px;
			margin: 5px 0px 18px 0px;
			padding: 18px;
			width: 100%;
		}

		body#home #services #learn .col_a,
		body#home #services #learn .col_b {
			padding: 0;
			width: 100%;
		}

		body#home #services #learn .col_b {
			display: grid;
			gap: 14px;
		}

		body#home #services #learn .col_a h2,
		body#home #services #learn .col_a h2 + p {
			margin-bottom: 10px;
		}

		body#home section h2:first-of-type {
			margin: 0px auto 10px 0px;
			text-align: center;
		}

		body#home #services #learn a {
			margin: 0;
			overflow: hidden;
			padding: 0;
		}

		body#home #services #learn a picture {
			aspect-ratio: 5 / 3;
			height: auto;
		}

		body#home #services #learn a label {
			-webkit-align-items: center;
			align-items: center;
			display: flex;
			display: -webkit-flex;
			-webkit-justify-content: space-between;
			justify-content: space-between;
			left: 16px;
			right: 16px;
			width: auto;
		}
		
		body#home .property-listing .property-card .property-info svg.arr-right {
			display: none;
		}

		body#home #quality {
			display: block;
			padding: 0 20px 28px;
		}

		body#home #quality > div {
			border-radius: 12px;
			-webkit-flex-direction: column;
			flex-direction: column;
			margin-bottom: 0;
			overflow: hidden;
		}

		body#home #quality .vp {
			aspect-ratio: 4 / 3;
			height: 45vh;
			margin: 0;
			overflow: hidden;
			width: 100%;
		}

		body#home #quality picture + div,
		body#home #quality .vp + div {
			padding: 22px 20px;
			width: 100%;
		}
		
		#quality picture, 
		#quality video {
    		border-radius: 5px 5px 0px 0px;
		}

		body#home #quality h2 {
			font-size: clamp(2rem, 9vw, 3.5rem);
		}

		body#home #quality #next-level {
			margin-top: 24px;
		}

		body#home #quality #next-level > * {
			width: 100%;
		}

		body#home #quality #next-level a {
			-webkit-justify-content: center;
			justify-content: center;
			width: 100%;
		}

		body#home #favourites {
			display: grid;
			gap: 18px;
			grid-template-columns: 1fr;
			padding: 32px 20px 0;
		}

		body#home #favourites h2,
		body#home #favourites h2 + p {
			grid-column: 1 / -1;
			padding-left: 0;
		}

		body#home #favourites .property-card {
			margin: 0;
			width: 100%;
		}

		body#home #favourites .property-card img {
			height: 260px;
		}

		body#home #favourites .property-card .property-info {
			-webkit-justify-content: space-around;
			justify-content: space-around;
			padding: 16px 18px 18px;
		}

		body#home #location {
			margin-top: 32px;
			padding: 0 20px;
		}

		body#home #location h2,
		body#home #location p {
			padding-left: 0;
			padding-right: 0;
		}

		body#home #location,
		body#home #cs-map {
			min-height: 0;
		}

		body#home #cs-map {
			height: 420px;
			min-height: 420px;
		}

		body#home #testimonials {
			margin-top: 32px;
			padding: 0 20px 32px;
		}

		/* ---- Services brief cards — stack to single column ---- */
		body#home #services .brief {
			width: 100%;
			padding-left: 0;
			padding-right: 0;
			margin-bottom: 0;
		}

		/* ---- Banner intro ---- */
		body#home #banner-intro {
			height: auto;
			min-height: 50vh;
			padding: 30px 20px;
		}

		body#home #banner-intro h1 {
			font-size: clamp(2rem, 8vw, 3.5rem);
			text-align: center;
		}

		body#home #banner-intro p {
			font-size: 1.2em;
			text-align: center;
		}

		body#home #banner-intro > div {
			position: relative;
			padding: 20px;
			width: 100%;
		}

		/* ---- Sign-up / email capture sections ---- */
		body#home #sign-up,
		body#home #sign-up-b {
			padding: 24px 20px;
		}

		body#home #sign-up p {
			font-size: 1em;
		}

	}

	@media (max-width:640px) {
		body#home #banner-main .vp,
		body#home #banner-main .vp picture,
		body#home #banner-main .vp picture img,
		body#home #banner-main .vp video,
		body#home #home-search {
			min-height: 500px;
		}

		body#home #home-search {
			padding: 16px;
		}

		body#home #home-search form {
			padding: 14px;
		}

		body#home #home-search .sb-beds,
		body#home #home-search .sb-rent {
			grid-template-columns: 1fr;
		}

		body#home #services,
		body#home #quality,
		body#home #favourites,
		body#home #location,
		body#home #testimonials {
			padding-left: 15px;
			padding-right: 15px;
		}

		body#home #services #learn,
		body#home #quality > div {
			border-radius: 10px;
		}

		body#home #favourites .property-card img {
			height: 220px;
		}

		body#home #cs-map {
			height: 340px;
			min-height: 340px;
		}

		/* ---- Search form: ensure every field is comfortably tappable ---- */
		body#home #home-search .sb-area #hs-area,
		body#home #home-search .sb-beds select,
		body#home #home-search .sb-rent select {
			font-size: 16px; /* prevent iOS auto-zoom on focus */
			min-height: 48px;
		}

		body#home #home-search #h-property-search {
			font-size: 16px;
			min-height: 50px;
		}

		/* ---- Services: reduce top padding on small screens ----
		body#home #services {
			padding-top: 20px;
		} */

		/* ---- Sign-up sections ---- */
		body#home #sign-up,
		body#home #sign-up-b {
			padding: 20px 15px;
		}
	}


	/* ============================================================
	   VERY SMALL PHONES — max-width: 375px
	   ============================================================ */
	@media (max-width: 375px) {

		body#home #home-search h1 {
			font-size: 1.9rem;
			text-align: center;
		}

		body#home #home-search form {
			gap: 10px;
			padding: 12px;
		}

		body#home #home-search .search_box > form > *:not(:last-of-type) {
			padding: 10px 12px;
		}

		body#home #banner-main .vp,
		body#home #banner-main .vp picture,
		body#home #banner-main .vp picture img,
		body#home #banner-main .vp video,
		body#home #home-search {
			min-height: 530px;
		}

		body#home #favourites .property-card img {
			height: 190px;
		}

		body#home #cs-map {
			height: 300px;
			min-height: 300px;
		}
	}

