/* =========================================================
   KATIE'S ELITE / ALLSTAR
   FULL STYLESHEET
   Existing layout/structure preserved.
   Typography values corrected in-place.
   ========================================================= */

:root{
	--navy:#061f42;
	--navy-dark:#031a36;
	--blue:#14559b;
	--red:#d7192e;
	--text:#132b4b;
	--muted:#566474;
	--line:#dfe4ea;
	--bg:#f7f8fa;
	--max:1180px;
}

*{
	box-sizing:border-box;
}

html,
body {
	height: 100%;
	margin: 0;
}


html{
	scroll-behavior:smooth;
}

body{
	margin:0;
	font-family:Arial,Helvetica,sans-serif;
	color:var(--text);
	font-size:17px;
	background:#fff;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

main {
	flex: 1;
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {
	flex-shrink: 0;
}
a{
	text-decoration:none;
	color:inherit;
}

button,
input,
textarea,
select{
	font:inherit;
}

img{
	max-width:100%;
	display:block;
}

.container{
	width:min(var(--max),calc(100% - 42px));
	margin:auto;
}

/* ---------- TOP STRIP ---------- */
	.top-strip{
		position:relative;
		height:33px;
		background:var(--navy);
		color:#fff;
		font-size:13px;
	    
	    	z-index:1001;
	}

	.top-strip .container{
		height:100%;
		display:flex;
		align-items:center;
		justify-content:space-between;
	}

	.top-left,
	.top-right{
		display:flex;
		align-items:center;
		gap:19px;
	}

	.top-right{
		gap:20px;
	}

	.social{
		display:inline-flex;
		align-items: center;
		gap:13px;
		font-weight:bold;
		font-size:17px;
	}


	/* =========================================================
	   SOCIAL BUTTON
	========================================================= */

	.social a {
		display: inline-flex;
		align-items: center;
		justify-content: center;

		width: 30px;
		height: 30px;

		background: rgba(255, 255, 255, 0.12);

		border: 1px solid rgba(255, 255, 255, 0.18);

		border-radius: 50%;

		color: #ffffff;

		text-decoration: none;

		font-size: 14px;
		font-weight: 700;

		transition:
			background 0.25s ease,
			color 0.25s ease,
			transform 0.25s ease;
	}


	/* =========================================================
	   HOVER
	========================================================= */

	.social a:hover {
		background: #e31b2f;

		color: #ffffff;

		transform: translateY(-2px);
	}
	
/* ---------- MODAL ---------- */
.modal{
	position:fixed;
	inset:0;
	z-index:100;
	background:rgba(2,20,42,.72);
	display:none;
	align-items:center;
	justify-content:center;
	padding:20px;
}

.modal.open{
	display:flex;
}

.modal-box{
	width: min(700px, calc(100% - 40px));
	max-height: 90vh;
	background:#fff;
	border-radius:8px;
	padding: 32px 36px;
	position:relative;
	box-shadow:0 25px 60px rgba(0,0,0,.3);
	overflow-y: auto;
}

.modal-close{
	position:absolute;
	right:12px;
	top:7px;
	border:0;
	background:none;
	font-size:27px;
	color:#667;
	cursor:pointer;
}

.modal-box h3{
	margin:0;
	color:var(--navy);
	font-size:21px;
	text-transform:uppercase;
}

.modal-box>p{
	font-size:12px;
	color:#596777;
	margin:5px 0 16px;
}

.form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.form-field.full{
	grid-column:1/-1;
}

.form-field label{
	display:block;
	font-size:10px;
	font-weight:800;
	margin-bottom:4px;
}

.form-field input,
.form-field select,
.form-field textarea{
	width:100%;
	border:1px solid #ccd5df;
	border-radius:4px;
	padding:9px;
	font-size:12px;
}

.form-field textarea{
	height:75px;
	resize:vertical;
}

.form-submit{
	margin-top:13px;
}

.form-success{
	display:none;
	margin-top:10px;
	padding:8px;
	background:#edf7ef;
	color:#23602d;
	font-size:10px;
	border-radius:4px;
}

/* ---------- RESPONSIVE ---------- */
	@media(max-width:900px){

		.nav-links{
			gap:18px;
		}

		.trust-item{
			padding:0 10px;
		}
	}

	@media(max-width:720px){

		.container{
			width:min(var(--max),calc(100% - 28px));
		}

		.top-strip{
			display: none;
			height:auto;
			min-height:31px;
		}

		.top-strip .container{
			padding:7px 0;
			justify-content:center;
		}

		.top-right{
			display:none;
		}

		.top-left{
			gap:10px;
			font-size:10px;
		}

		.mobile-menu{
			display:block;
		}

		.nav-links{
			display:none;
			position:absolute;
			left:0;
			right:0;
			top:61px;
			height:auto;
			background:#fff;
			box-shadow:0 10px 22px rgba(0,0,0,.12);
			padding:8px 18px;
			flex-direction:column;
			align-items:stretch;
			gap:0;
		}

		.nav-links.open{
			display:flex;
		}

		.nav-links a{
			height:39px;
			border-bottom:1px solid #edf0f3;
		}

		.nav-links a.active:after{
			display:none;
		}

		.nav-links .quote-link{
			height:34px;
			margin:8px 0;
		}


		.quote-bar{
			height:auto;
		}

		.quote-inner{
			padding:13px 0;
			flex-wrap:wrap;
		}

		.quote-copy{
			min-width:0;
			flex:1;
		}

		.footer-main{
			height:auto;
			padding:24px 0;
			grid-template-columns:1fr 1fr;
		}

		.footer-bottom{
			height:auto;
			padding:8px 0;
		}

		.footer-bottom .container{
			height:auto;
			gap:5px;
			flex-direction:column;
			text-align:center;
		}
	}

	@media(max-width:460px){

		.logo-title{
			font-size:20px;
		}

		.logo-sub{
			font-size:8px;
		}

		.trust-grid{
			grid-template-columns:1fr;
		}

		.trust-item{
			border-right:0!important;
		}

		.form-grid{
			grid-template-columns:1fr;
		}

		.form-field.full{
			grid-column:auto;
		}

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

	@media (max-width:720px){

	    html,
	    body{
	        width:100%;
	        max-width:100%;
	        overflow-x:hidden;
	    }

	}

/* ---------- MAIN NAV ---------- */
	.main-nav{
		position: relative;
		width:100%;
		height:69px;
		background:#fff;
		border-bottom:1px solid #e8ebef;
		position:sticky;
		top:0;
	    	transition:
	        	box-shadow .25s ease,
	        	transform .25s ease;
		z-index:9999;
		overflow: visible;
	}

	.main-nav.nav-fixed{
	    position:fixed;
	    top:0;
	    left:0;
	    right:0;

	    width:100%;

	    z-index:9999;

	    box-shadow:
	        0 4px 18px rgba(0,0,0,.12);
	}

	body.nav-is-fixed{
	    padding-top:0;
	}

	.nav-inner{
		height:100%;
		display:flex;
		align-items:center;
		justify-content:space-between;
		overflow: visible;
	}

	.nav-links{
		display:flex;
		align-items:center;
		height:100%;
		gap:31px;
		font-size:13px;
		font-weight:800;
	}

	.nav-links a{
		height:100%;
		display:flex;
		align-items:center;
		position:relative;
		white-space:nowrap;
	}

	.nav-links a:not(.quote-link):hover:after,
	.nav-links a.active:after{
		content:"";
		position:absolute;
		left:0;
		right:0;
		bottom:18px;
		height:2px;
		background:var(--red);
	}

	.nav-links .quote-link{
		height:32px;
		padding:0 22px;
		background:var(--red);
		color:#fff;
		border-radius:3px;
		box-shadow:0 3px 8px rgba(215,25,46,.2);
		font-size:13px;
	}

	.mobile-menu{
		display:none;
		border:0;
		background:none;
		font-size:25px;
		color:var(--navy);
	}

/* ---------- COMBINED HEADER LOGO ---------- */

	.logo {

	    top: 10px !important;
	    display:flex;
	    align-items:center;

	    width:300px;
	    height:auto;

	    flex:0 0 300px;

	    line-height:1;
	    position: relative;
	    object-fit:contain;
	    z-index: 1001;
	}

	.logo img {
	    display:block;

	    width:100%;
	    height:100%;

	    object-fit:contain;
	    object-position:left center;
	}
	.nav-links {
	    display:flex;
	    align-items:center;
	    height:100%;
	    gap:24px;
	    font-size:13px;
	    font-weight:800;
	}


/* =========================================================
	CLICK DROPDOWN
========================================================= */

	.nav-dropdown {
	    position: relative;
	    height: 100%;
	    display: flex;
	    align-items: center;
	}


	/* Parent dropdown link */

		.nav-dropdown > .dropdown-toggle {
		    height: 100%;
		    display: flex;
		    align-items: center;

		    position: relative;

		    color: inherit;
		    text-decoration: none;
		    white-space: nowrap;
		}


	/* Red dropdown marker */

	.dropdown-marker {
	    display: inline-block;

	    width: 6px;
	    height: 6px;

	    margin-left: 7px;

	    border-right: 1.5px solid var(--red);
	    border-bottom: 1.5px solid var(--red);

	    transform: rotate(45deg) translateY(-2px);

	    transition: transform .2s ease;
	}

/* =========================================================
	DROPDOWN IS HIDDEN BY DEFAULT
========================================================= */

	.nav-dropdown .dropdown-menu {
	    display: none;

	    position: absolute;

	    top: 100%;
	    left: 50%;

	    transform: translateX(-50%);

	    width: 190px;

	    margin: 0;
	    padding: 7px 0;

	    background: #fff;

	    border-top: 3px solid var(--red);
	    border-radius: 0 0 5px 5px;

	    box-shadow: 0 8px 22px rgba(0,0,0,.15);

	    z-index: 3000;
	}

/* =========================================================
	OPEN STATE — JAVASCRIPT ADDS .open
========================================================= */

	.nav-dropdown.open .dropdown-menu {
	    display: block;
	}


	/* Rotate marker when open */

	.nav-dropdown.open .dropdown-marker {
	    transform: rotate(225deg) translateY(-2px);
	}

/* =========================================================
	DROPDOWN LINKS
========================================================= */

	.nav-dropdown .dropdown-menu a {
	    display: flex;

	    align-items: center;

	    width: 100%;
	    height: 40px;

	    padding: 0 18px;

	    color: var(--navy);
	    background: #fff;

	    font-size: 13px;
	    font-weight: 700;

	    text-decoration: none;

	    box-sizing: border-box;
	}


	/* IMPORTANT:
	   Prevent the normal navigation underline
	   from appearing on dropdown items.
	*/

	.nav-dropdown .dropdown-menu a::after {
	    display: none !important;
	}


	/* Dropdown hover */

	.nav-dropdown .dropdown-menu a:hover {
	    color: var(--red);
	    background: #f6f8fa;
	}

/* =========================================================
	MOBILE NAVIGATION
========================================================= */
   
	/* =========================================================
	DESKTOP HOVER DROPDOWNS
	========================================================= */

		@media (min-width:721px){

		    .nav-dropdown:hover .dropdown-menu{
		        display:block;
		    }

		    .nav-dropdown:hover .dropdown-marker{
		        transform:rotate(225deg) translateY(-2px);
		    }

		}

		@media (max-width:720px){

		    	.main-nav{
				height:61px;
				position:fixed;
				top:0;
				left:0;
				right:0;
				z-index:1000;
		    	}

		    	.nav-inner{
				height:61px;
				position:relative;
				padding:0 16px;
		    	}

		    	/* Logo */
		    	.logo-title{
		        	font-size:20px;
		    	}

		    	.logo-sub{
				font-size:8px;
				margin-top:4px;
		    	}

			/* -------------------------
				HAMBURGER
			------------------------- */
			    	.mobile-menu{
					display:flex !important;

					position:absolute;
					right:16px;
					top:50%;
					transform:translateY(-50%);

					width:42px;
					height:42px;

					align-items:center;
					justify-content:center;

					border:1px solid #d9dee5;
					border-radius:5px;

					background:#fff;
					color:var(--navy);

					font-size:22px;
					line-height:1;

					cursor:pointer;

					z-index:1003;
			    	}

			/* -------------------------
				MOBILE MENU — CLOSED
			------------------------- */
			    	.nav-links{
					display:none !important;

					position:absolute;

					left:0;
					right:0;
					top:61px;

					height:auto;

					padding:8px 16px 14px;

					background:#fff;

					border-top:1px solid #e5e9ee;

					box-shadow:
					0 8px 18px rgba(0,0,0,.12);

					flex-direction:column;
					align-items:stretch;

					gap:0;

					z-index:1002;
			    	}

			/* -------------------------
			   	MOBILE DROPDOWN ITEMS
		  	------------------------- */
				.nav-dropdown{
					width:100%;
					height:44px;
					flex:0 0 44px;

					display:block;
					position:relative;
				}

				.nav-dropdown > .dropdown-toggle{
					width:100%;
					height:44px;

					display:flex;
					align-items:center;

					padding:0 10px;

					box-sizing:border-box;
				}

				.nav-dropdown .dropdown-marker{
				    	margin-left:7px;
				}

		    	/* -------------------------
				MOBILE MENU — OPEN
			------------------------- */
			    	.nav-links.open{
			        	display:flex !important;
			    	}


			    	/* Menu links */
			    		.nav-links a{
						width:100%;
						height:44px;

						display:flex;
						align-items:center;

						padding:0 10px;

						border-bottom:1px solid #edf0f3;

						font-size:13px;
						font-weight:800;

						color:var(--navy);
			    		}

			    		.nav-links a:last-child{
			        		border-bottom:0;
			    		}


		    	/* Remove desktop underline */
			    	.nav-links a:not(.quote-link):hover:after,
			    	.nav-links a.active:after{
			        	display:none;
			    	}

		    	/* Quote inside mobile menu */

			    	.nav-links .quote-link{
					width:100%;
					height:40px;

					margin:10px 0 0;

					display:flex;
					align-items:center;
					justify-content:center;

					border-radius:4px;

					font-size:12px;
			    	}
		}

/* =========================================================
	Qoutation
========================================================= */
	.floating-quote {
	    position: fixed;
	    right: 5px;
	    top: 50%;
	    transform: translateY(-50%);

	    width: 43px;
	    height: 170px;

	    display: flex;
	    align-items: center;
	    justify-content: center;

	    background: var(--red);
	    color: #fff;

	    border: 0;
	    border-radius: 6px 0 0 6px;

	    box-shadow: 0 4px 12px rgba(0,0,0,.18);

	    z-index: 9999;
	    cursor: pointer;

	    transition:
	        transform .2s ease,
	        background .2s ease,
	        box-shadow .2s ease;
	}

	.floating-quote span {
	    display: block;
	    white-space: nowrap;

	    font-family: Arial, Helvetica, sans-serif;
	    font-size: 15px;
	    font-weight: 600;
	    letter-spacing: .15px;
	    text-transform: uppercase;

	    transform: rotate(90deg);
	}

	.floating-quote:hover {
	    transform: translate(-3px, -50%);
	    background: #bd1024;
	    box-shadow: 0 5px 15px rgba(0,0,0,.24);
	}

/* =========================================================
	HERO
========================================================= */
	/* ---------- HERO ---------- */
		.hero{
			height:500px;
			position:relative;
			overflow:hidden;
			background:#eef2f5;
		}

		.hero-content{
			max-width:1180px;
			margin:0 auto;
		}

		.hero:before,
		.hero:after{
			content:"";
			position:absolute;
			top:0;
			bottom:0;
			width:58%;
			background-size:cover;
			background-position:center;
		}

		.hero:before{
			left:0;
			background-image:url("../images/hero/katies-hero.avif");
		}

		.hero:after{
			right:0;
			background-image:url("../images/hero/allstar-hero.avif");
		}

		.hero-fade{
			position:absolute;
			z-index:1;
			inset:0;
			background:linear-gradient(
				90deg,
				rgba(255,255,255,.08) 0%,
				rgba(255,255,255,.78) 27%,
				rgba(255,255,255,.98) 50%,
				rgba(255,255,255,.78) 72%,
				rgba(255,255,255,.08) 100%
			);
		}

		.hero-content{
			position:relative;
			z-index:2;
			height:100%;
			display:flex;
			justify-content:center;
			text-align:center;
		}

		.hero-copy{
			width:700px;
			padding-top:31px;
		}

		.hero-kicker{
			display:inline-block;
			color:#2162a6;
			font-weight:800;
			font-size:15px;
			letter-spacing:.15px;
			padding-bottom:4px;
			border-bottom:2px solid var(--red);
			position:relative;
		}

		.hero-kicker:after{
			content:"";
			position:absolute;
			width:4px;
			height:4px;
			border-radius:50%;
			background:var(--red);
			left:50%;
			bottom:-4px;
			transform:translateX(-50%);
		}

		.hero h1{
			margin:7px 0 7px;
			font-size:60px;
			line-height:.98;
			letter-spacing:.3px;
			text-transform:uppercase;
			font-weight:900;
			color:var(--navy);
		}

		.hero h1 span{
			display:block;
			color:var(--red);
		}

		.hero-description{
			font-size:16px;
			line-height:1.45;
			color:#202b38;
			margin:0 auto 16px;
			max-width:590px;
		}

		.hero-actions{
			display:flex;
			justify-content:center;
			gap:15px;
		}

		.btn{
			display:inline-flex;
			align-items:center;
			justify-content:center;
			height:32px;
			padding:0 18px;
			border-radius:3px;
			border:0;
			font-size:12px;
			font-weight:800;
			cursor:pointer;
			transition:.2s;
		}

		.btn-blue{
			background:var(--navy);
			color:#fff;
		}

		.btn-red{
			background:var(--red);
			color:#fff;
		}

		.btn:hover{
			transform:translateY(-1px);
			filter:brightness(.96);
		}

		.hero-brands{
			display:flex;
			justify-content:center;
			align-items:center;
			margin-top:22px;
			height:55px;
		}

		.hero-brand{
			width:180px;
			color:var(--navy);
			font-weight:900;
			font-size:22px;
			line-height:.95;

			display:flex;
			align-items:center;
			justify-content:center;
		}

		.hero-brand img{
		    display:block;

		    width:100%;
		    max-width:160px;
		    height:auto;

		    object-fit:contain;
		}


		.hero-brand small{
			display:block;
			font-size:10px;
			letter-spacing:.7px;
			margin-top:4px;
		}

		.hero-brand.allstar{
			font-style:italic;
			width:210px;
		}

		.hero-brand.allstar img{
		    max-width:180px;
		}

		.hero-divider{
			width:1px;
			height:58px;
			background:rgba(10,39,76,.45);
		}

/* =========================================================
	SERVICES
========================================================= */
	/* ---------- INTRO / SERVICE CARDS ---------- */
		.services{
			padding:19px 0 14px;
			background:#fff;
		}

		.services > .container{
			max-width:1180px;
		}

		.section-heading{
			text-align:center;
		}

		.section-heading h2{
			margin:0 0 5px;
			font-size:24px;
			line-height:1.1;
			text-transform:uppercase;
			color:var(--navy);
		}

		.section-heading h2:after{
			content:"";
			display:block;
			margin:5px auto 7px;
			width:62px;
			height:2px;
			background:var(--red);
		}

		.section-heading p{
			margin:0 auto 17px;
			max-width:650px;
			font-size:14px;
			line-height:1.5;
			color:#44505e;
		}

		.service-grid{
			display:grid;
			grid-template-columns:1fr 1fr;
			gap:18px;
			max-width:1000px;
			margin-left:auto;
			margin-right:auto;
		}

		.service-card{
			border:1px solid #dfe3e7;
			border-radius:8px;
			overflow:hidden;
			background:#fff;
			box-shadow:0 2px 8px rgba(0,0,0,.08);
		}

		.service-image{
			height:124px;
			position:relative;
			background-size:cover;
			background-position:center;
		}

		.clean-image{
			background-image:url("../images/experts/home-expert.avif");
		}

		.auto-image{
			background-image:url("../images/experts/allstar-expert.avif");
		}

		.service-image:after{
			content:"";
			position:absolute;
			left:0;
			right:0;
			bottom:0;
			height:48%;
			background:linear-gradient(transparent,rgba(0,0,0,.13));
		}

		.service-icon{
			position:absolute;
			z-index:2;
			left:50%;
			bottom:-20px;
			transform:translateX(-50%);
			width:43px;
			height:43px;
			border-radius:50%;
			display:grid;
			place-items:center;
			background:var(--navy);
			border:2px solid #fff;
			color:#fff;
			font-size:20px;
		}

		.auto-card .service-icon{
			background:var(--red);
		}

		.service-body{
			padding:27px 25px 12px;
			text-align:center;
		}

		.service-body h3{
			font-size:21px;
			margin:0 0 8px;
			text-transform:uppercase;
			color:var(--navy);
		}

		.auto-card .service-body h3{
			color:var(--red);
		}

		.service-body p{
			font-size:14px;
			line-height:1.45;
			color:#475361;
			margin:0 auto 12px;
			max-width:380px;
		}

		.feature-grid{
			display:grid;
			grid-template-columns:1fr 1fr;
			text-align:left;
			gap:4px 23px;
			width:88%;
			margin:0 auto 12px;
		}

		.feature-grid div{
			font-size:12px;
			color:#1e3149;
		}

		.feature-grid div:before{
			content:"✓";
			font-weight:900;
			color:var(--navy);
			margin-right:7px;
		}

		.auto-card .feature-grid div:before{
			color:var(--red);
		}

		.service-body .btn{
			height:29px;
			min-width:210px;
			font-size:12px;
		}

	/* =========================================================
		SERVICES — MOBILE
	========================================================= */

		@media (max-width:720px){

		    /* -----------------------------------------------------
		       Section
		       ----------------------------------------------------- */

		    .services{
		        padding:55px 0 60px;
		        overflow:hidden;
		    }


		    /* -----------------------------------------------------
		       Heading
		       ----------------------------------------------------- */

		    .services .section-heading{
		        margin-bottom:28px;
		        padding:0 15px;
		    }

		    .services .section-heading h2{
		        font-size:24px;
		        line-height:1.2;
		    }

		    .services .section-heading p{
		        font-size:13px;
		        line-height:1.55;
		    }


		    /* -----------------------------------------------------
		       ONE CARD PER ROW
		       ----------------------------------------------------- */

		    .service-grid{
		        display:grid;

		        grid-template-columns:1fr;

		        gap:28px;

		        width:100%;
		        max-width:100%;

		        padding:0 10px;

		        box-sizing:border-box;
		    }


		    /* -----------------------------------------------------
		       SERVICE CARD
		       ----------------------------------------------------- */

		    .service-card{
		        width:100%;
		        max-width:100%;

		        min-width:0;

		        margin:0;

		        box-sizing:border-box;

		        overflow:hidden;

		        border-radius:7px;
		    }


		    /* -----------------------------------------------------
		       SERVICE IMAGE
		       ----------------------------------------------------- */

		    .service-image{
		        width:100%;

		        height:190px;

		        min-height:190px;

		        background-position:center;
		        background-size:cover;
		    }


		    /* -----------------------------------------------------
		       SERVICE ICON
		       ----------------------------------------------------- */

		    .service-icon{
		        width:48px;
		        height:48px;

		        font-size:20px;

		        bottom:-24px;

		        left:50%;

		        transform:translateX(-50%);
		    }


		    /* -----------------------------------------------------
		       SERVICE BODY
		       ----------------------------------------------------- */

		    .service-body{
		        padding:42px 22px 25px;

		        text-align:center;
		    }


		    /* -----------------------------------------------------
		       SERVICE TITLE
		       ----------------------------------------------------- */

		    .service-body h3{
		        margin:0 0 12px;

		        font-size:22px;

		        line-height:1.15;
		    }


		    /* -----------------------------------------------------
		       DESCRIPTION
		       ----------------------------------------------------- */

		    .service-body > p{
		        margin:0 auto 24px;

		        max-width:480px;

		        font-size:13px;

		        line-height:1.6;
		    }


		    /* -----------------------------------------------------
		       FEATURE SECTION
		       ----------------------------------------------------- */

		    .feature-grid{
		        display:grid;

		        grid-template-columns:repeat(2,minmax(0,1fr));

		        column-gap:22px;
		        row-gap:8px;

		        width:100%;

		        margin:0 auto 25px;

		        text-align:left;
		    }


		    .feature-grid > div{
		        min-width:0;

		        /*font-size:12px;*/

		        line-height:1.4;

		        overflow-wrap:break-word;
		    }


		    /* -----------------------------------------------------
		       SERVICE BUTTON
		       ----------------------------------------------------- */

		    .service-body .btn{
		        display:flex;

		        width:100%;

		        min-height:42px;

		        align-items:center;
		        justify-content:center;

		        padding:0 15px;

		        box-sizing:border-box;

		        font-size:11px;

		        line-height:1.2;

		        text-align:center;
		    }

		}


/* =========================================================
	TRUST
========================================================= */
	.trust{
		height:89px;
		background:var(--navy);
		color:#fff;
	}

	.trust-grid{
		max-width:1180px;
		height:100%;
		display:grid;
		grid-template-columns:repeat(4,1fr);
		margin:0 auto;
	}

	.trust-item{
		display:flex;
		align-items:center;
		gap:11px;
		padding:0 20px;
		border-right:1px solid rgba(255,255,255,.45);
	}

	.trust-item:last-child{
		border-right:0;
	}

	.trust-icon{
		width:36px;
		height:42px;
		display:grid;
		place-items:center;
		font-size:28px;
		font-weight:300;
		color:#fff;
	}

	.trust-copy strong{
		display:block;
		font-size:13px;
		text-transform:uppercase;
		margin-bottom:3px;
	}

	.trust-copy span{
		display:block;
		font-size:12px;
		line-height:1.3;
		color:#e6edf4;
	}
    
	/* =========================================================
	TRUST BAR — MOBILE
	========================================================= */
		@media (max-width:720px){

		    .trust{
		        width:100%;
		        max-width:100%;

		        height:auto;
		        min-height:0;

		        overflow:hidden;

		        box-sizing:border-box;

		        background:var(--navy);
		    }


		    .trust .container{
		        width:100%;
		        max-width:100%;

		        margin:0;
		        padding:0;

		        box-sizing:border-box;
		    }


		    /* -----------------------------------------------------
		       TRUST GRID
		       ----------------------------------------------------- */

		    .trust-grid{
		        width:100%;
		        max-width:100%;

		        display:flex;

		        flex-direction:column;

		        gap:0;

		        margin:0;
		        padding:0;

		        box-sizing:border-box;
		    }


		    /* -----------------------------------------------------
		       TRUST ITEM
		       ----------------------------------------------------- */

		    .trust-item{
		        width:100%;
		        min-width:0;

		        min-height:76px;

		        display:flex;

		        align-items:center;

		        justify-content:flex-start;

		        padding:12px 24px;

		        box-sizing:border-box;

		        border-bottom:1px solid rgba(255,255,255,.25);
		    }


		    .trust-item:last-child{
		        border-bottom:0;
		    }


		    /* -----------------------------------------------------
		       ICON
		       ----------------------------------------------------- */

		    .trust-icon{
		        flex:0 0 42px;

		        width:42px;
		        height:42px;

		        display:flex;

		        align-items:center;
		        justify-content:center;

		        margin-right:15px;

		        color:#fff;

		        font-size:22px;

		        text-align:center;
		    }


		    /* -----------------------------------------------------
		       TEXT
		       ----------------------------------------------------- */

		    .trust-copy{
		        flex:1 1 auto;

		        min-width:0;

		        text-align:left;
		    }


		    .trust-copy strong{
		        display:block;

		        margin:0 0 3px;

		        color:#fff;

		        font-size:13px;

		        line-height:1.2;

		        font-weight:800;

		        text-transform:uppercase;
		    }


		    .trust-copy span{
		        display:block;

		        color:#fff;

		        font-size:11px;

		        line-height:1.35;

		        opacity:.95;
		    }

		}

/* =========================================================
WHY CHOOSE US
========================================================= */

	.why-choose{
	    position:relative;

	    padding:80px 0;

	    overflow:hidden;

	    background:#f7f9fb;
	}


	/* =========================================================
	   SPLIT BACKGROUND IMAGES
	   ========================================================= */

	.why-bg{
	    position:absolute;

	    top:0;
	    bottom:0;

	    /*
	       Images overlap in the middle.
	       This prevents the hard 50% vertical line.
	    */
	    width:64%;

	    background-position:center;
	    background-size:cover;
	    background-repeat:no-repeat;

	    z-index:0;

	    pointer-events:none;
	}


	/* =========================================================
	   KATIE'S ELITE — LEFT BACKGROUND
	   ========================================================= */

	.why-bg-cleaning{
	    left:-4%;

	    background-image:url("../images/choose/katies-hero.png");

	    /*
	       Fade the right side gradually toward the centre.
	    */
	    -webkit-mask-image:
	        linear-gradient(
	            to right,
	            #000 0%,
	            #000 52%,
	            rgba(0,0,0,.92) 62%,
	            rgba(0,0,0,.70) 72%,
	            rgba(0,0,0,.40) 82%,
	            rgba(0,0,0,.15) 91%,
	            transparent 100%
	        );

	    mask-image:
	        linear-gradient(
	            to right,
	            #000 0%,
	            #000 52%,
	            rgba(0,0,0,.92) 62%,
	            rgba(0,0,0,.70) 72%,
	            rgba(0,0,0,.40) 82%,
	            rgba(0,0,0,.15) 91%,
	            transparent 100%
	        );
	}


	/* =========================================================
	   ALLSTAR — RIGHT BACKGROUND
	   ========================================================= */

	.why-bg-detailing{
	    right:-4%;

	    background-image:url("../images/choose/allstar-hero.png");

	    /*
	       Fade the left side gradually toward the centre.
	    */
	    -webkit-mask-image:
	        linear-gradient(
	            to left,
	            #000 0%,
	            #000 52%,
	            rgba(0,0,0,.92) 62%,
	            rgba(0,0,0,.70) 72%,
	            rgba(0,0,0,.40) 82%,
	            rgba(0,0,0,.15) 91%,
	            transparent 100%
	        );

	    mask-image:
	        linear-gradient(
	            to left,
	            #000 0%,
	            #000 52%,
	            rgba(0,0,0,.92) 62%,
	            rgba(0,0,0,.70) 72%,
	            rgba(0,0,0,.40) 82%,
	            rgba(0,0,0,.15) 91%,
	            transparent 100%
	        );
	}


	/* =========================================================
	   LIGHT OVERLAY
	   ========================================================= */

	.why-overlay{
	    position:absolute;

	    inset:0;

	    background:rgba(255,255,255,.72);

	    z-index:1;

	    pointer-events:none;
	}


	/* =========================================================
	   CONTENT
	   ========================================================= */

	.why-content{
	    position:relative;

	    z-index:2;
	}


	/* =========================================================
	   SECTION HEADING
	   ========================================================= */

	.why-choose .section-heading{
	    max-width:900px;

	    margin:0 auto 45px;

	    text-align:center;
	}


	.why-choose .section-kicker{
	    margin-bottom:10px;

	    color:var(--red);

	    font-size:20px;

	    font-weight:800;

	    line-height:1.2;

	    letter-spacing:1.5px;

	    text-transform:uppercase;
	}


	.why-choose .section-heading h2{
	    margin:0 0 12px;

	    color:var(--navy);

	    font-size:30px;

	    line-height:1.15;

	    font-weight:800;
	}


	.why-choose .section-heading p{
	    margin:0;

	    color:#657080;

	    font-size:14px;

	    line-height:1.6;
	}


	/* =========================================================
	   WHY CHOOSE CARDS
	   ========================================================= */

	.why-grid{
	    display:grid;

	    grid-template-columns:repeat(4,1fr);

	    gap:22px;
	}


	/* =========================================================
	   INDIVIDUAL CARD
	   ========================================================= */

	.why-card{
	    position:relative;

	    min-height:245px;

	    padding:30px 25px;

	    background:rgba(255,255,255,.94);

	    border:1px solid rgba(230,234,240,.95);

	    border-radius:7px;

	    box-shadow:0 5px 18px rgba(0,0,0,.07);

	    transition:
	        transform .2s ease,
	        box-shadow .2s ease;
	}


	/* =========================================================
	   CARD HOVER
	   ========================================================= */

	.why-card:hover{
	    transform:translateY(-4px);

	    box-shadow:0 10px 25px rgba(0,0,0,.12);
	}


	/* =========================================================
	   ICON
	   ========================================================= */

	.why-icon{
	    width:48px;
	    height:48px;

	    display:flex;

	    align-items:center;
	    justify-content:center;

	    margin-bottom:22px;

	    color:var(--red);

	    background:#fff3f4;

	    border-radius:50%;

	    font-size:19px;
	}


	.why-icon i{
	    line-height:1;
	}


	/* =========================================================
	   NUMBER
	   ========================================================= */

	.why-number{
	    position:absolute;

	    top:25px;
	    right:22px;

	    color:#e9edf2;

	    font-size:30px;

	    line-height:1;

	    font-weight:800;
	}


	/* =========================================================
	   CARD TYPOGRAPHY
	   ========================================================= */

	.why-card h3{
	    margin:0 0 10px;

	    color:var(--navy);

	    font-size:17px;

	    line-height:1.25;

	    font-weight:800;
	}


	.why-card p{
	    margin:0;

	    color:#687382;

	    font-size:13px;

	    line-height:1.6;
	}


	/* =========================================================
	   MOBILE
	   ========================================================= */

	@media(max-width:720px){

	    .why-choose{
	        padding:60px 0;
	    }


	    /* =====================================================
	       MOBILE BACKGROUNDS
	       ===================================================== */

	    .why-bg{
	        width:100%;

	        left:0;
	        right:0;

	        background-position:center;
	        background-size:cover;
	    }


	    /* -----------------------------------------------------
	       KATIE'S ELITE — TOP
	       ----------------------------------------------------- */

	    .why-bg-cleaning{
	        top:0;
	        bottom:auto;

	        height:50%;

	        left:0;

	        -webkit-mask-image:
	            linear-gradient(
	                to bottom,
	                #000 0%,
	                #000 55%,
	                rgba(0,0,0,.75) 72%,
	                rgba(0,0,0,.35) 86%,
	                transparent 100%
	            );

	        mask-image:
	            linear-gradient(
	                to bottom,
	                #000 0%,
	                #000 55%,
	                rgba(0,0,0,.75) 72%,
	                rgba(0,0,0,.35) 86%,
	                transparent 100%
	            );
	    }


	    /* -----------------------------------------------------
	       ALLSTAR — BOTTOM
	       ----------------------------------------------------- */

	    .why-bg-detailing{
	        top:50%;
	        bottom:auto;

	        height:50%;

	        right:0;

	        -webkit-mask-image:
	            linear-gradient(
	                to bottom,
	                transparent 0%,
	                rgba(0,0,0,.35) 14%,
	                rgba(0,0,0,.75) 28%,
	                #000 45%,
	                #000 100%
	            );

	        mask-image:
	            linear-gradient(
	                to bottom,
	                transparent 0%,
	                rgba(0,0,0,.35) 14%,
	                rgba(0,0,0,.75) 28%,
	                #000 45%,
	                #000 100%
	            );
	    }


	    /* -----------------------------------------------------
	       MOBILE OVERLAY
	       ----------------------------------------------------- */

	    .why-overlay{
	        background:rgba(255,255,255,.89);
	    }


	    /* =====================================================
	       HEADING
	       ===================================================== */

	    .why-choose .section-heading{
	        margin-bottom:30px;
	    }


	    .why-choose .section-kicker{
	        font-size:16px;

	        letter-spacing:1.2px;

	        margin-bottom:8px;
	    }


	    .why-choose .section-heading h2{
	        font-size:25px;

	        line-height:1.2;
	    }


	    .why-choose .section-heading p{
	        font-size:13px;
	    }


	    /* =====================================================
	       CARDS
	       ===================================================== */

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

	        gap:14px;
	    }


	    .why-card{
	        min-height:220px;

	        padding:23px 18px;
	    }


	    /* =====================================================
	       ICONS
	       ===================================================== */

	    .why-icon{
	        width:42px;
	        height:42px;

	        margin-bottom:17px;

	        font-size:17px;
	    }


	    /* =====================================================
	       NUMBERS
	       ===================================================== */

	    .why-number{
	        top:20px;
	        right:17px;

	        font-size:24px;
	    }


	    /* =====================================================
	       CARD TYPOGRAPHY
	       ===================================================== */

	    .why-card h3{
	        font-size:15px;
	    }


	    .why-card p{
	        font-size:12px;

	        line-height:1.5;
	    }

	}

/* =========================================================
HOW IT WORKS
========================================================= */

	.how-it-works{
	    position:relative;

	    padding:82px 0 78px;

	    overflow:hidden;

	    background:
	        radial-gradient(
	            circle at 15% 50%,
	            rgba(215,25,46,.055) 0,
	            rgba(215,25,46,0) 32%
	        ),
	        radial-gradient(
	            circle at 85% 50%,
	            rgba(10,39,76,.065) 0,
	            rgba(10,39,76,0) 32%
	        ),
	        #fff;
	}


	/* =========================================================
	   SUBTLE DOT PATTERN
	   ========================================================= */

	.how-it-works::before{
	    content:"";

	    position:absolute;

	    inset:0;

	    background-image:
	        radial-gradient(
	            rgba(10,39,76,.12) 1px,
	            transparent 1px
	        );

	    background-size:22px 22px;

	    opacity:.22;

	    pointer-events:none;

	    z-index:0;
	}


	.how-it-works .container{
	    position:relative;

	    z-index:1;
	}


	/* =========================================================
	   SECTION HEADING
	   ========================================================= */

	.how-heading{
	    max-width:760px;

	    margin:0 auto 52px;

	    text-align:center;
	}


	.how-heading .section-kicker{
	    margin-bottom:10px;

	    color:var(--red);

	    font-size:14px;
	    line-height:1.2;

	    font-weight:800;

	    letter-spacing:1.8px;

	    text-transform:uppercase;
	}


	.how-heading h2{
	    margin:0 0 13px;

	    color:var(--navy);

	    font-size:30px;
	    line-height:1.15;

	    font-weight:800;
	}


	.how-heading p{
	    max-width:650px;

	    margin:0 auto;

	    color:#657080;

	    font-size:14px;
	    line-height:1.6;
	}


	/* =========================================================
	   PROCESS WRAPPER
	   ========================================================= */

	.how-process{
	    position:relative;

	    display:grid;

	    grid-template-columns:repeat(4,1fr);

	    gap:28px;

	    max-width:1100px;

	    margin:0 auto;
	}


	/* =========================================================
	   CONNECTING LINE
	   ========================================================= */

	.how-process::before{
	    content:"";

	    position:absolute;

	    top:29px;

	    left:12.5%;
	    right:12.5%;

	    height:2px;

	    background:#e4e8ed;

	    z-index:0;
	}


	/* =========================================================
	   INDIVIDUAL STEP
	   ========================================================= */

	.how-step{
	    position:relative;

	    z-index:1;

	    text-align:center;

	    padding:0 10px;
	}


	/* =========================================================
	   NUMBER
	   ========================================================= */

	.how-number{
	    position:absolute;

	    top:-18px;

	    left:50%;

	    transform:translateX(-50%);

	    color:var(--red);

	    font-size:16px;
	    line-height:1;

	    font-weight:800;

	    letter-spacing:.5px;

	    z-index:3;

	    white-space:nowrap;
	}


	/* =========================================================
	   ICON
	   ========================================================= */

	.how-icon{
	    width:58px;
	    height:58px;

	    display:flex;

	    align-items:center;
	    justify-content:center;

	    margin:0 auto 22px;

	    color:#fff;

	    background:var(--red);

	    border:6px solid #fff;

	    border-radius:50%;

	    box-shadow:
	        0 0 0 1px #e2e6eb,
	        0 5px 14px rgba(0,0,0,.10);

	    font-size:19px;
	}


	.how-icon i{
	    line-height:1;
	}


	/* =========================================================
	   STEP TITLE
	   ========================================================= */

	.how-step h3{
	    margin:0 0 10px;

	    color:var(--navy);

	    font-size:17px;

	    line-height:1.25;

	    font-weight:800;

	    text-transform:none;
	}


	/* =========================================================
	   STEP DESCRIPTION
	   ========================================================= */

	.how-step p{
	    max-width:220px;

	    margin:0 auto;

	    color:#687382;

	    font-size:13px;

	    line-height:1.6;
	}


	/* =========================================================
	   CTA
	   ========================================================= */

	.how-cta{
	    display:flex;

	    justify-content:center;

	    margin-top:48px;
	}


	.how-cta .btn{
	    display:inline-flex;

	    align-items:center;
	    justify-content:center;

	    min-width:150px;

	    min-height:42px;

	    padding:0 22px;

	    font-size:12px;

	    font-weight:800;

	    letter-spacing:.3px;

	    text-decoration:none;

	    transition:
	        transform .2s ease,
	        box-shadow .2s ease;
	}


	.how-cta .btn:hover{
	    transform:translateY(-2px);

	    box-shadow:0 6px 14px rgba(0,0,0,.12);
	}


	/* =========================================================
	   TABLET
	   ========================================================= */

	@media(max-width:950px) and (min-width:721px){

	    .how-it-works{
	        padding:72px 0;
	    }


	    .how-process{
	        gap:15px;
	    }


	    .how-step{
	        padding:0 5px;
	    }


	    .how-step h3{
	        font-size:16px;
	    }


	    .how-step p{
	        font-size:12px;
	    }


	    .how-number{
	        font-size:15px;
	    }

	}


	/* =========================================================
	   MOBILE
	   ========================================================= */

	@media(max-width:720px){

	    .how-it-works{
	        padding:60px 0 58px;
	    }


	    /* -----------------------------------------------------
	       Heading
	       ----------------------------------------------------- */

	    .how-heading{
	        margin-bottom:36px;
	    }


	    .how-heading .section-kicker{
	        font-size:12px;

	        letter-spacing:1.3px;

	        margin-bottom:8px;
	    }


	    .how-heading h2{
	        font-size:25px;

	        line-height:1.2;
	    }


	    .how-heading p{
	        font-size:13px;

	        line-height:1.55;
	    }


	    /* -----------------------------------------------------
	       Process
	       ----------------------------------------------------- */

	    .how-process{
	        grid-template-columns:1fr;

	        gap:30px;

	        max-width:500px;
	    }


	    /* -----------------------------------------------------
	       Vertical connecting line
	       ----------------------------------------------------- */

	    .how-process::before{
	        top:29px;

	        bottom:29px;

	        left:50%;

	        right:auto;

	        width:2px;

	        height:auto;

	        transform:translateX(-50%);
	    }


	    /* -----------------------------------------------------
	       Step
	       ----------------------------------------------------- */

	    .how-step{
	        position:relative;

	        z-index:1;

	        text-align:center;

	        padding:36px 10px 0;
	    }


	    /* -----------------------------------------------------
	       NUMBER — MOBILE
	       ----------------------------------------------------- */

	    .how-number{
	        position:absolute;

	        top:55px;

	        left:calc(50% - 65px);

	        right:auto;

	        transform:none;

	        color:var(--red);

	        font-size:15px;

	        line-height:1;

	        font-weight:800;

	        letter-spacing:.5px;

	        z-index:3;

	        white-space:nowrap;
	    }


	    /* -----------------------------------------------------
	       Icon
	       ----------------------------------------------------- */

	    .how-icon{
	        width:54px;

	        height:54px;

	        margin-bottom:17px;

	        border-width:5px;

	        font-size:18px;
	    }


	    /* -----------------------------------------------------
	       Title
	       ----------------------------------------------------- */

	    .how-step h3{
	        font-size:16px;

	        margin-bottom:8px;
	    }


	    /* -----------------------------------------------------
	       Description
	       ----------------------------------------------------- */

	    .how-step p{
	        max-width:310px;

	        font-size:12px;

	        line-height:1.55;
	    }


	    /* -----------------------------------------------------
	       CTA
	       ----------------------------------------------------- */

	    .how-cta{
	        margin-top:38px;
	    }


	    .how-cta .btn{
	        min-height:42px;

	        padding:0 20px;

	        font-size:11px;
	    }

	}

/* =========================================================
FEATURED SERVICES
========================================================= */

	.featured-services{
	    position:relative;

	    padding:78px 0 82px;

	    background:#f7f9fb;

	    overflow:hidden;
	}


	/* =========================================================
	   SECTION HEADING
	   ========================================================= */

	.featured-heading{
	    max-width:760px;

	    margin:0 auto 42px;

	    text-align:center;
	}


	.featured-heading .section-kicker{
	    margin-bottom:9px;

	    color:var(--red);

	    font-size:13px;

	    line-height:1.2;

	    font-weight:800;

	    letter-spacing:1.8px;

	    text-transform:uppercase;
	}


	.featured-heading h2{
	    margin:0 0 13px;

	    color:var(--navy);

	    font-size:30px;

	    line-height:1.15;

	    font-weight:800;

	    text-transform:uppercase;
	}


	.featured-heading h2 span{
	    color:var(--red);
	}


	.featured-heading h2:after{
	    content:"";

	    display:block;

	    width:62px;

	    height:2px;

	    margin:9px auto 0;

	    background:var(--red);
	}


	.featured-heading p{
	    max-width:650px;

	    margin:0 auto;

	    color:#657080;

	    font-size:14px;

	    line-height:1.6;
	}


	/* =========================================================
	   FEATURED GRID
	   ========================================================= */

	.featured-grid{
	    display:grid;

	    grid-template-columns:repeat(3,1fr);

	    gap:22px;

	    max-width:1100px;

	    margin:0 auto;
	}


	/* =========================================================
	   FEATURED CARD
	   ========================================================= */

	.featured-card{
	    position:relative;

	    display:flex;

	    flex-direction:column;

	    min-width:0;

	    overflow:hidden;

	    background:#fff;

	    border:1px solid #e1e5ea;

	    border-radius:8px;

	    box-shadow:0 4px 14px rgba(0,0,0,.06);

	    transition:
	        transform .2s ease,
	        box-shadow .2s ease;
	}


	.featured-card:hover{
	    transform:translateY(-4px);

	    box-shadow:0 10px 24px rgba(0,0,0,.11);
	}


	/* =========================================================
	   FEATURED IMAGE
	   ========================================================= */

	.featured-image{
	    position:relative;

	    height:175px;

	    background-position:center;

	    background-size:cover;

	    background-repeat:no-repeat;
	}


	.featured-image::after{
	    content:"";

	    position:absolute;

	    inset:0;

	    background:
	        linear-gradient(
	            to top,
	            rgba(0,0,0,.28),
	            rgba(0,0,0,0) 55%
	        );
	}


	/* =========================================================
	   IMAGE FALLBACKS
	   ========================================================= */

	.featured-image-clean-1{
	    background-image:
	        url("../images/experts/home-expert.avif");
	}


	.featured-image-clean-2{
	    background-image:
	        url("../images/choose/katies-hero.png");
	}


	.featured-image-clean-3{
	    background-image:
	        url("../images/experts/home-expert.avif");
	}


	.featured-image-auto-1{
	    background-image:
	        url("../images/experts/allstar-expert.avif");
	}


	.featured-image-auto-2{
	    background-image:
	        url("../images/choose/allstar-hero.png");
	}


	.featured-image-auto-3{
	    background-image:
	        url("../images/experts/allstar-expert.avif");
	}


	/* =========================================================
	   BRAND LABEL
	   ========================================================= */

	.featured-label{
	    position:absolute;

	    left:15px;

	    bottom:13px;

	    z-index:2;

	    display:inline-flex;

	    align-items:center;

	    min-height:25px;

	    padding:0 10px;

	    color:#fff;

	    background:var(--navy);

	    border-radius:3px;

	    font-size:10px;

	    line-height:1;

	    font-weight:800;

	    letter-spacing:.8px;
	}


	.featured-detailing .featured-label{
	    background:var(--red);
	}


	/* =========================================================
	   CARD BODY
	   ========================================================= */

	.featured-body{
	    position:relative;

	    display:flex;

	    flex-direction:column;

	    flex:1;

	    padding:27px 22px 23px;

	    text-align:center;
	}


	/* =========================================================
	   FEATURED ICON
	   ========================================================= */

	.featured-icon{
	    width:44px;

	    height:44px;

	    display:flex;

	    align-items:center;

	    justify-content:center;

	    margin:-49px auto 17px;

	    position:relative;

	    z-index:3;

	    color:#fff;

	    background:var(--navy);

	    border:3px solid #fff;

	    border-radius:50%;

	    box-shadow:0 2px 8px rgba(0,0,0,.14);

	    font-size:16px;
	}


	.featured-detailing .featured-icon{
	    background:var(--red);
	}


	.featured-icon i{
	    line-height:1;
	}


	/* =========================================================
	   CARD TITLE
	   ========================================================= */

	.featured-body h3{
	    margin:0 0 9px;

	    color:var(--navy);

	    font-size:17px;

	    line-height:1.25;

	    font-weight:800;

	    text-transform:uppercase;
	}


	.featured-detailing .featured-body h3{
	    color:var(--red);
	}


	/* =========================================================
	   CARD DESCRIPTION
	   ========================================================= */

	.featured-body p{
	    max-width:320px;

	    margin:0 auto 18px;

	    color:#687382;

	    font-size:13px;

	    line-height:1.55;
	}


	/* =========================================================
	   LEARN MORE
	   ========================================================= */

	.featured-link{
	    display:inline-flex;

	    align-items:center;

	    justify-content:center;

	    gap:7px;

	    margin-top:auto;

	    color:var(--navy);

	    font-size:11px;

	    line-height:1;

	    font-weight:800;

	    letter-spacing:.4px;

	    text-decoration:none;
	}


	.featured-detailing .featured-link{
	    color:var(--red);
	}


	.featured-link i{
	    font-size:10px;

	    transition:transform .2s ease;
	}


	.featured-link:hover i{
	    transform:translateX(4px);
	}


	/* =========================================================
	   BOTTOM CTA
	   ========================================================= */

	.featured-cta{
	    display:flex;

	    justify-content:center;

	    margin-top:38px;
	}


	.featured-cta .btn{
	    display:inline-flex;

	    align-items:center;

	    justify-content:center;

	    gap:8px;

	    min-height:42px;

	    padding:0 22px;

	    font-size:12px;

	    font-weight:800;

	    text-decoration:none;
	}


	/* =========================================================
	   TABLET
	   ========================================================= */

	@media(max-width:950px) and (min-width:721px){

	    .featured-services{
	        padding:70px 0;
	    }


	    .featured-grid{
	        gap:16px;
	    }

	    .featured-image{
	        height:155px;
	    }


	    .featured-body{
	        padding-left:17px;
	        padding-right:17px;
	    }


	    .featured-body h3{
	        font-size:16px;
	    }


	    .featured-body p{
	        font-size:12px;
	    }

	}


	/* =========================================================
	   MOBILE
	   ========================================================= */

	@media(max-width:720px){

	    .hero {
	        height: auto !important;
	        min-height: 600px !important;
	        overflow: visible;
	    }

		.hero-copy{
			width:700px;
			padding-top:100px;
		}

		.hero-description{
			max-width:400px;
		}

	    .featured-services{
	        padding:60px 0 65px;

	        overflow:hidden;
	    }


	    /* -----------------------------------------------------
	       Heading
	       ----------------------------------------------------- */

	    .featured-heading{
	        margin-bottom:30px;

	        padding:0 15px;
	    }


	    .featured-heading .section-kicker{
	        font-size:12px;

	        letter-spacing:1.4px;
	    }


	    .featured-heading h2{
	        font-size:25px;

	        line-height:1.2;
	    }


	    .featured-heading p{
	        font-size:13px;

	        line-height:1.55;
	    }


	    /* -----------------------------------------------------
	       Grid
	       ----------------------------------------------------- */

	    .featured-grid{
	        grid-template-columns:1fr;

	        gap:22px;

	        width:100%;

	        max-width:100%;

	        padding:0 12px;

	        box-sizing:border-box;
	    }


	    /* -----------------------------------------------------
	       Card
	       ----------------------------------------------------- */

	    .featured-card{
	        width:100%;

	        max-width:100%;

	        min-width:0;

	        box-sizing:border-box;

	        border-radius:7px;
	    }


	    /* -----------------------------------------------------
	       Image
	       ----------------------------------------------------- */

	    .featured-image{
	        height:185px;

	        min-height:185px;
	    }


	    /* -----------------------------------------------------
	       Body
	       ----------------------------------------------------- */

	    .featured-body{
	        padding:27px 20px 22px;
	    }


	    /* -----------------------------------------------------
	       Icon
	       ----------------------------------------------------- */

	    .featured-icon{
	        width:46px;

	        height:46px;

	        margin:-51px auto 17px;

	        font-size:17px;
	    }


	    /* -----------------------------------------------------
	       Title
	       ----------------------------------------------------- */

	    .featured-body h3{
	        font-size:19px;

	        line-height:1.2;
	    }


	    /* -----------------------------------------------------
	       Description
	       ----------------------------------------------------- */

	    .featured-body p{
	        max-width:400px;

	        font-size:13px;

	        line-height:1.55;
	    }


	    /* -----------------------------------------------------
	       CTA
	       ----------------------------------------------------- */

	    .featured-cta{
	        margin-top:30px;
	    }


	    .featured-cta .btn{
	        width:calc(100% - 24px);

	        min-height:42px;

	        font-size:11px;
	    }

	}

/* =========================================================
BEFORE & AFTER / GALLERY
========================================================= */
	.gallery-section{
		position:relative;
		overflow:hidden;

		padding:90px 0 110px;

		background-image:
		url('../images/backgrounds/background.png');

		background-position:center center;

		background-size:cover;
		background-repeat:no-repeat;
	}

	.gallery-section::before {
		content: "";
		position: absolute;
		inset: 0;

		background:
		   	rgba(245, 248, 252, 0.78);

		backdrop-filter: blur(1px);

		pointer-events: none;
		z-index: 0;
	}

	/* =========================================================
	KEEP CONTENT ABOVE BACKGROUND
	========================================================= */
		.gallery-section .container{
			position:relative;
			z-index:1;
		}

	/* =========================================================
	SECTION HEADING
	========================================================= */
		.gallery-heading{
			max-width:760px;

			margin:0 auto 48px;

			text-align:center;
		}

		.gallery-heading .section-kicker{
			margin-bottom:9px;

			color:var(--red);

			font-size:13px;
			line-height:1.2;

			font-weight:800;

			letter-spacing:1.8px;

			text-transform:uppercase;
		}

		.gallery-heading h2{
			margin:0 0 13px;

			color:var(--navy);

			font-size:30px;
			line-height:1.15;

			font-weight:800;

			text-transform:uppercase;
		}

		.gallery-heading h2 span{
			color:var(--red);
		}

		.gallery-heading h2:after{
			content:"";

			display:block;

			width:62px;
			height:2px;

			margin:9px auto 0;

			background:var(--red);
		}

		.gallery-heading p{
			margin:0 auto;

			color:#657080;

			font-size:14px;
			line-height:1.6;
		}

	/* =========================================================
	GALLERY BRANDS
	KATIE'S LEFT / ALLSTAR RIGHT
	========================================================= */
		.gallery-brands{
			display:grid;

			grid-template-columns:
				minmax(0, 1fr)
				minmax(0, 1fr);

			gap:64px;

			align-items:start;

			width:100%;
		}

	/* =========================================================
	BRAND SECTION
	========================================================= */
		.gallery-brand-section{
			position:relative;

			width:100%;

			min-width:0;

			max-width:none;

			margin:0;
		}


		.gallery-brand-section.allstar-gallery{
			margin:0;
		}

	/* =========================================================
	BRAND HEADING
	========================================================= */
		.gallery-brand-heading{
			display:flex;

			align-items:center;

			justify-content:center;

			gap:10px;

			min-height:48px;

			margin-bottom:16px;

			text-align:center;
		}

	/* =========================================================
	BRAND LOGO
	========================================================= */
		.gallery-brand-logo{
			display:block;

			width:auto;

			height:38px;

			max-width:115px;

			object-fit:contain;

			flex:0 0 auto;
		}

	/* =========================================================
	BRAND TITLE
	========================================================= */
		.gallery-brand-heading h3{
			margin:0;

			color:var(--navy);

			font-size:18px;

			line-height:1.2;

			font-weight:800;

			text-transform:uppercase;
		}

	/* =========================================================
	BRAND LABEL
	========================================================= */
		.gallery-brand-label{
			display:inline-flex;

			align-items:center;

			min-height:25px;

			padding:0 10px;

			border-radius:3px;

			color:#fff;

			font-size:9px;

			line-height:1;

			font-weight:800;

			letter-spacing:.8px;

			white-space:nowrap;
		}

		.gallery-brand-label.cleaning{
			background:var(--navy);
		}

		.gallery-brand-label.detailing{
			background:var(--red);
		}

	/* =========================================================
	CAROUSEL
	========================================================= */
		.comparison-carousel{
			position:relative;

			width:100%;

			min-width:0;

			padding:0 38px;

			box-sizing:border-box;
		}

		.comparison-slides{
			position:relative;

			width:100%;

			min-width:0;
		}

	/* =========================================================
	COMPARISON CARD
	========================================================= */
		.comparison-slide{
			display:none;

			width:100%;

			overflow:hidden;

			background:#fff;

			border:1px solid #e1e5ea;

			border-radius:8px;

			box-shadow:
		  	 	0 6px 18px rgba(15,39,68,.10);
		}

		.comparison-slide.active{
			display:block;
		}

	/* =========================================================
	COMPARISON HEADER
	========================================================= */
		.comparison-header{
			display:flex;

			align-items:center;

			justify-content:space-between;

			gap:12px;

			padding:13px 16px;

			background:
			   	rgba(255,255,255,.96);

			border-bottom:
			   	1px solid #e7ebef;
		}

		.comparison-header h4{
			margin:0;

			color:var(--navy);

			font-size:16px;

			line-height:1.2;

			font-weight:800;

			text-transform:uppercase;

			text-align:right;
		}

	/* =========================================================
	COMPARISON BRAND
	========================================================= */
		.comparison-brand{
			display:inline-flex;

			align-items:center;

			min-height:26px;

			padding:0 10px;

			border-radius:3px;

			color:#fff;

			font-size:9px;

			line-height:1;

			font-weight:800;

			letter-spacing:.8px;

			white-space:nowrap;

			flex:0 0 auto;
		}

		.comparison-brand.cleaning{
			background:var(--navy);
		}

		.comparison-brand.detailing{
			background:var(--red);
		}

	/* =========================================================
	BEFORE / AFTER
	========================================================= */
		.before-after{
			position:relative;

			width:100%;

			aspect-ratio:16 / 10;

			overflow:hidden;

			background:#e9edf1;

			cursor:ew-resize;

			user-select:none;

			touch-action:none;
		}

	/* =========================================================
	AFTER IMAGE
	========================================================= */
		.before-after__after{
			position:absolute;

			inset:0;

			display:block;

			width:100%;

			height:100%;

			object-fit:cover;

			object-position:center;
		}

	/* =========================================================
	BEFORE IMAGE
	========================================================= */
		.before-after__before{
			position:absolute;

			top:0;

			left:0;

			width:50%;

			height:100%;

			overflow:hidden;

			z-index:2;
		}

		.before-after__before img{
			display:block;

			width:100%;

			height:100%;

			max-width:none;

			object-fit:cover;

			object-position:left center;
		}

	/*
	* Important:
	*
	* The before image must maintain the full image width
	* while the container is clipped by JavaScript.
	*/

	/* =========================================================
	DIVIDER
	========================================================= */
		.before-after__divider{
			position:absolute;

			top:0;

			left:50%;

			width:2px;

			height:100%;

			background:#fff;

			box-shadow:
				0 0 5px rgba(0,0,0,.25);

			transform:translateX(-50%);

			z-index:4;

			pointer-events:none;
		}

	/* =========================================================
	HANDLE
	========================================================= */
		.before-after__handle{
			position:absolute;

			top:50%;

			left:50%;

			display:flex;

			align-items:center;

			justify-content:center;

			width:42px;

			height:42px;

			transform:
			   	translate(-50%, -50%);

			border:
			   	2px solid var(--navy);

			border-radius:50%;

			background:#fff;

			color:var(--navy);

			font-size:13px;

			box-shadow:
			   	0 4px 12px rgba(0,0,0,.18);
		}

	/* =========================================================
	BEFORE / AFTER LABELS
	========================================================= */
		.before-after__label{
			position:absolute;

			top:14px;

			z-index:5;

			display:inline-flex;

			align-items:center;

			justify-content:center;

			min-height:26px;

			padding:0 10px;

			border-radius:3px;

			background:
				rgba(10,25,42,.88);

			color:#fff;

			font-size:9px;

			line-height:1;

			font-weight:800;

			letter-spacing:1px;

			text-transform:uppercase;

			pointer-events:none;

			transition:
				opacity .15s ease,
				visibility .15s ease;
		}

		.before-after__label.before{
			left:14px;
		}


		.before-after__label.after{
			right:14px;
		}

	/* =========================================================
	CAROUSEL ARROWS
	========================================================= */
		.comparison-arrow{
			position:absolute;

			top:50%;

			display:flex;

			align-items:center;

			justify-content:center;

			width:40px;

			height:40px;

			padding:0;

			transform:
				translateY(-50%);

			border:
			   	1px solid #dce2e8;

			border-radius:50%;

			background:#fff;

			color:var(--navy);

			box-shadow:
				0 4px 12px rgba(0,0,0,.10);

			cursor:pointer;

			z-index:10;

			transition:
				background .2s ease,
				color .2s ease,
				transform .2s ease,
				box-shadow .2s ease;
		}

		.comparison-arrow:hover{
		background:var(--navy);

		color:#fff;

		box-shadow:
		   	0 6px 15px rgba(0,0,0,.15);
		}


		.comparison-arrow:active{
			transform:
				translateY(-50%)
				scale(.96);
		}

		/*
		* Keep each arrow associated with its own gallery.
		*/
			.comparison-arrow-prev{
				left:0;
			}

			.comparison-arrow-next{
				right:0;
			}

			.comparison-arrow i{
				font-size:13px;
			}

	/* =========================================================
	CAROUSEL DOTS
	========================================================= */
		.comparison-dots{
			display:flex;

			align-items:center;

			justify-content:center;

			gap:7px;

			margin-top:16px;
		}

		.comparison-dot{
			width:8px;

			height:8px;

			padding:0;

			border:0;

			border-radius:50%;

			background:#d7dde4;

			cursor:pointer;

			transition:
				transform .2s ease,
				background .2s ease;
		}

		.comparison-dot.active{
			background:var(--red);
			transform:scale(1.25);
		}

	/* =========================================================
	INSTRUCTION
	========================================================= */
		.gallery-instruction{
			display:flex;
			align-items:center;
			justify-content:center;
			gap:8px;
			margin-top:35px;
			color:#687382;
			font-size:12px;
			line-height:1.4;
		}

		.gallery-instruction i{
			color:var(--red);
			font-size:13px;
		}

	/* =========================================================
	CTA
	========================================================= */
		.gallery-cta{
			display:flex;
			justify-content:center;
			margin-top:28px;
		}


		.gallery-cta .btn{
			display:inline-flex;
			align-items:center;
			justify-content:center;

			gap:8px;
			min-height:42px;
			padding:0 22px;
			font-size:12px;
			font-weight:800;
			text-decoration:none;
		}

	/* =========================================================
	TABLET
	========================================================= */
		@media(max-width:1050px){
		    	.gallery-brands{
		        	gap:36px;
		    	}

			.gallery-brand-heading h3{
				font-size:16px;
			}

			.gallery-brand-logo{
				height:34px;
				max-width:100px;
			}

			.comparison-carousel{
				padding:0 30px;
			}

			.comparison-arrow{
				width:36px;
				height:36px;
			}

			.comparison-header h4{
				font-size:14px;
			}
		}

	/* =========================================================
	MOBILE
	========================================================= */

		@media(max-width:720px){

			.gallery-section{
				padding:60px 0 65px;
			}

			/* -----------------------------------------------------
			Heading
			----------------------------------------------------- */
				.gallery-heading{
					margin-bottom:38px;
					padding:0 15px;
				}

				.gallery-heading .section-kicker{
					font-size:12px;
					letter-spacing:1.4px;
				}

				.gallery-heading h2{
					font-size:25px;
					line-height:1.2;
				}

				.gallery-heading p{
					font-size:13px;
					line-height:1.55;
				}

			/* -----------------------------------------------------
			Gallery Layout
			----------------------------------------------------- */
				.gallery-brands{
					grid-template-columns:1fr;
					gap:48px;
				}

			/* -----------------------------------------------------
			Brand Section
			----------------------------------------------------- */
				.gallery-brand-section{
					width:100%;
					max-width:100%;
					margin:0;
				}

				.gallery-brand-section.allstar-gallery{
					margin:0;
				}

			/* -----------------------------------------------------
			Brand Heading
			----------------------------------------------------- */
				.gallery-brand-heading{
					flex-direction:column;
					gap:7px;

					min-height:auto;
					margin-bottom:15px;
					padding:0 15px;
				}

				.gallery-brand-heading h3{
					font-size:18px;
					line-height:1.25;
				}

				.gallery-brand-logo{
					width:auto;
					height:42px;
					max-width:160px;
					margin-bottom:2px;
				}

			/* -----------------------------------------------------
			Carousel
			----------------------------------------------------- */
				.comparison-carousel{
					width:100%;
					padding:0 42px;
					box-sizing:border-box;
				}

			/* -----------------------------------------------------
			Card
			----------------------------------------------------- */
				.comparison-slide{
					width:100%;
					border-radius:7px;
				}

			/* -----------------------------------------------------
			Header
			----------------------------------------------------- */
				.comparison-header{
					flex-direction:column;
					align-items:flex-start;
					gap:7px;
					padding:13px 16px;
				}


				.comparison-header h4{
					font-size:16px;
					text-align:left;
				}

			/* -----------------------------------------------------
			Before / After
			----------------------------------------------------- */
				.before-after{
					aspect-ratio:4 / 3;
				}

				.before-after__handle{
					width:42px;
					height:42px;
					font-size:13px;
				}

				.before-after__label{
					top:11px;
					min-height:25px;
					padding:0 9px;
					font-size:9px;
				}

				.before-after__label.before{
					left:11px;
				}

				.before-after__label.after{
					right:11px;
				}

			/* -----------------------------------------------------
			Carousel arrows
			----------------------------------------------------- */
				.comparison-arrow{
					width:34px;
					height:34px;
				}

				.comparison-arrow-prev{
					left:2px;
				}

				.comparison-arrow-next{
					right:2px;
				}

				.comparison-arrow i{
					font-size:11px;
				}

			/* -----------------------------------------------------
			Dots
			----------------------------------------------------- */
				.comparison-dots{
					margin-top:13px;
					gap:6px;
				}

				.comparison-dot{
					width:7px;
					height:7px;
				}

			/* -----------------------------------------------------
			Instruction
			----------------------------------------------------- */
				.gallery-instruction{
					margin-top:28px;
					padding:0 15px;
					font-size:11px;
					text-align:center;
				}

			/* -----------------------------------------------------
			CTA
			----------------------------------------------------- */
				.gallery-cta{
					margin-top:24px;
				}

				.gallery-cta .btn{
					width:calc(100% - 30px);
					max-width:260px;
					min-height:42px;
					font-size:11px;
				}
		}

/* =========================================================
SERVICE AREAS
========================================================= */
	.service-areas{
		position:relative;
		padding:62px 0 58px;
		background:#f7f9fb;
		overflow:hidden;
	}

	/* =========================================================
	SOFT BACKGROUND
	========================================================= */
		.service-areas::before{
			content:"";
			position:absolute;
			inset:0;

			background:
				radial-gradient(
					circle at 10% 50%,
					rgba(215,25,46,.045) 0,
					rgba(215,25,46,0) 30%
		   		),
		   	radial-gradient(
				circle at 90% 50%,
				rgba(10,39,76,.05) 0,
				rgba(10,39,76,0) 30%
		        );

			pointer-events:none;
			z-index:0;
		}

		.service-areas .container{
			position:relative;
			z-index:1;
			max-width:1000px;
			margin:0 auto;
		}

	/* =========================================================
	HEADING
	========================================================= */
		.service-areas-heading{
			max-width:760px;
			margin:0 auto 32px;
			text-align:center;
		}

		.service-areas-heading .section-kicker{
			margin-bottom:8px;
			color:var(--red);
			font-size:12px;
			line-height:1.2;
			font-weight:800;
			letter-spacing:1.8px;
			text-transform:uppercase;
		}

		.service-areas-heading h2{
			margin:0 0 12px;
			color:var(--navy);
			font-size:29px;
			line-height:1.15;
			font-weight:800;
			text-transform:uppercase;
		}

		.service-areas-heading h2::after{
			content:"";
			display:block;
			width:58px;
			height:2px;
			margin:9px auto 0;
			background:var(--red);
		}

		.service-areas-heading p{
			margin:0 auto;
			max-width:680px;
			color:#657080;
			font-size:13px;
			line-height:1.55;
		}

	/* =========================================================
	LOCATIONS
	========================================================= */
		.service-area-locations{
			display:flex;
			align-items:center;
			justify-content:center;
			flex-wrap:wrap;
			gap:0;
			max-width:900px;
			margin:0 auto;
			padding:18px 20px;
			background:#fff;
			border:1px solid #e0e5ea;
			border-radius:7px;
			box-shadow:0 3px 12px rgba(0,0,0,.05);
		}

		.service-area-locations span{
			display:flex;
			align-items:center;
			color:var(--navy);
			font-size:13px;
			line-height:1.4;
			font-weight:700;
			white-space:nowrap;
		}

		.service-area-locations span:not(:last-child)::after{
			content:"";
			width:4px;
			height:4px;
			margin:0 14px;
			background:var(--red);
			border-radius:50%;
		}

		.service-area-locations i{
			margin-right:6px;
			color:var(--red);
			font-size:11px;
		}

	/* =========================================================
	SERVICES COVERED
	========================================================= */
	.service-area-services{
		display:flex;
		align-items:center;
		justify-content:center;
		gap:28px;
		margin-top:22px;
	}

	.service-area-service{
		display:flex;
		align-items:center;
		gap:9px;
		color:var(--navy);
		font-size:13px;
		font-weight:800;
	}

	.service-area-service i{
		color:var(--red);
		font-size:15px;
	}

	.service-area-divider{
		width:1px;
		height:20px;
		background:#ccd3db;
	}

	/* =========================================================
	AVAILABILITY NOTE
	========================================================= */
	.service-area-note{
		display:flex;
		align-items:center;
		justify-content:center;
		gap:9px;
		margin-top:22px;
		color:#687382;
		font-size:12px;
		line-height:1.4;
		text-align:center;
	}

	.service-area-note > i{
		color:var(--red);
		font-size:13px;
	}

	.service-area-note strong{
		color:var(--navy);
		font-weight:800;
	}

	.service-area-note a{
		display:inline-flex;
		align-items:center;
		gap:6px;
		margin-left:6px;
		color:var(--red);
		font-size:11px;
		font-weight:800;
		text-decoration:none;
		white-space:nowrap;
	}

	.service-area-note a:hover{
		text-decoration:underline;
	}

	.service-area-note a i{
		font-size:10px;
	}

	/* =========================================================
	MOBILE
	========================================================= */
		@media(max-width:720px){
			.service-areas{
				padding:50px 0 48px;
			}

			/* -----------------------------------------------------
			Heading
			----------------------------------------------------- */
				.service-areas-heading{
					margin-bottom:25px;
					padding:0 15px;
				}

				.service-areas-heading .section-kicker{
					font-size:11px;
					letter-spacing:1.4px;
				}

				.service-areas-heading h2{
					font-size:23px;
					line-height:1.2;
				}

				.service-areas-heading p{
					font-size:12px;
					line-height:1.55;
				}

			/* -----------------------------------------------------
			Locations
			----------------------------------------------------- */
				.service-area-locations{
					display:grid;
					grid-template-columns:1fr 1fr;
					gap:12px 10px;
					margin:0 12px;
					padding:18px 15px;
					box-sizing:border-box;
				}

				.service-area-locations span{
					font-size:11px;
					white-space:normal;
				}

				.service-area-locations span:not(:last-child)::after{
					display:none;
				}

				.service-area-locations i{
					flex:0 0 auto;
					font-size:10px;
				}

			/* -----------------------------------------------------
			Services
			----------------------------------------------------- */
				.service-area-services{
					flex-direction:column;
					gap:10px;
					margin-top:20px;
				}

				.service-area-service{
					font-size:12px;
				}

				.service-area-divider{
					display:none;
				}

			/* -----------------------------------------------------
			Note
			----------------------------------------------------- */
				.service-area-note{
					flex-wrap:wrap;
					gap:6px;
					margin:20px 15px 0;
					font-size:11px;
				}

				.service-area-note > i{
					font-size:12px;
				}

				.service-area-note a{
					width:100%;
					justify-content:center;
					margin:7px 0 0;
					padding:10px 15px;
					background:var(--navy);
					color:#fff;
					border-radius:4px;
				}
		}

/* =========================================================
TESTIMONIALS
========================================================= */
	.testimonials{
		position:relative;
		padding:82px 0 78px;
		overflow:hidden;
		background:var(--navy);
	}

	/* =========================================================
	BACKGROUND
	========================================================= */
		.testimonials-bg{
			position:absolute;

			inset:0;

			background:
			   	radial-gradient(
					circle at 15% 50%,
					rgba(215,25,46,.30) 0,
					rgba(215,25,46,.10) 22%,
					rgba(215,25,46,0) 48%
			   	),
			   	radial-gradient(
					circle at 85% 50%,
					rgba(80,130,190,.22) 0,
					rgba(80,130,190,.08) 25%,
					rgba(80,130,190,0) 50%
			   	),
			   	linear-gradient(
					135deg,
					#071f3d 0%,
					#0b2b52 50%,
					#071f3d 100%
			  	);

			z-index:0;
		}

		/* subtle pattern */
			.testimonials-bg::after{
				content:"";
				position:absolute;
				inset:0;
				background-image:
				   	radial-gradient(
				       	rgba(255,255,255,.15) 1px,
				       	transparent 1px
				   	);
				background-size:24px 24px;
				opacity:.12;
			}

	/* =========================================================
	OVERLAY
	========================================================= */
		.testimonials-overlay{
			position:absolute;

			inset:0;

			background:
			   	linear-gradient(
					90deg,
					rgba(5,25,50,.20),
					rgba(5,25,50,.04),
					rgba(5,25,50,.20)
			   	);

			z-index:1;
		}

	/* =========================================================
	CONTAINER
	========================================================= */
		.testimonials-container{
			position:relative;
			z-index:2;
		}

	/* =========================================================
	HEADING
	========================================================= */
		.testimonials-heading{
			max-width:760px;
			margin:0 auto 42px;
			text-align:center;
		}

		.testimonials-heading .section-kicker{
			margin-bottom:9px;
			color:#ff5267;
			font-size:13px;
			line-height:1.2;
			font-weight:800;
			letter-spacing:1.8px;
			text-transform:uppercase;
		}

		.testimonials-heading h2{
			margin:0 0 13px;
			color:#fff;
			font-size:30px;
			line-height:1.15;
			font-weight:800;
			text-transform:uppercase;
		}

		.testimonials-heading h2::after{
			content:"";
			display:block;
			width:62px;
			height:2px;
			margin:9px auto 0;
			background:var(--red);
		}

		.testimonials-heading p{
			max-width:650px;
			margin:0 auto;
			color:#d5e0ec;
			font-size:14px;
			line-height:1.6;
		}

	/* =========================================================
	CAROUSEL
	========================================================= */
		.testimonial-carousel{
			position:relative;
			max-width:760px;
			margin:0 auto;
			padding:0 58px;
			box-sizing:border-box;
		}

	/* =========================================================
	SLIDES
	========================================================= */
		.testimonial-slide{
			display:none;
			width:100%;
		}

		.testimonial-slide.active{
			display:block;
		}

	/* =========================================================
	CARD
	========================================================= */
		.testimonial-card{
			position:relative;
			padding:38px 55px 34px;
			text-align:center;
			background:rgba(255,255,255,.97);
			border:1px solid rgba(255,255,255,.9);
			border-radius:9px;
			box-shadow:
			   	0 12px 35px rgba(0,0,0,.20);
		}

	/* =========================================================
	STARS
	========================================================= */
		.testimonial-stars{
			display:flex;
			justify-content:center;
			gap:5px;
			margin-bottom:20px;
			color:#e4a900;
			font-size:20px;
		}

		.testimonial-stars .star-filled {
		    color: #d4af37;
		}

		.testimonial-stars .star-empty {
		    color: #d9d9d9;
		}
	/* =========================================================
	QUOTE
	========================================================= */
		.testimonial-card blockquote{
			position:relative;

			/*max-width:610px;*/
				margin:0 auto 27px;
				padding:10px 38px;
				color:var(--navy);
				font-size:18px;
				line-height:1.65;
				font-weight:500;
				font-style:italic;

			height:90px;
			overflow:hidden;

		}

		/*
		.testimonial-card blockquote::before{
			content:'“';
			position:absolute;
			left:3px;
			top: 18px;

			color:var(--red);
			font-family:Georgia, "Times New Roman", serif;
			font-size:45px;
			line-height:1;
			font-weight:800;
			font-style:normal;
		}*/
		blockquote .quote {			
			color:var(--red);
			font-family:Georgia, "Times New Roman", serif;
			font-size:45px;
			line-height:1;
			font-weight:800;
			font-style:normal;
		}
	/* =========================================================
	AUTHOR
	========================================================= */
		.testimonial-author{
			display:flex;
			align-items:center;
			justify-content:center;
			gap:10px;
			margin-bottom:20px;
		}

		.testimonial-avatar{
			width:38px;
			height:38px;
			display:flex;
			align-items:center;
			justify-content:center;
			color:#fff;
			background:var(--navy);
			border-radius:50%;
			font-size:14px;
		}

		.testimonial-author > div:last-child{
			text-align:left;
		}

		.testimonial-author strong{
			display:block;
			color:var(--navy);
			font-size:13px;
			line-height:1.3;
			font-weight:800;
		}

		.testimonial-author span{
			display:block;
			margin-top:2px;
			color:#75808c;
			font-size:11px;
			line-height:1.3;
		}

	/* =========================================================
	TESTIMONIAL SUBMISSION CTA
	========================================================= */
		.testimonial-submit{
		    position:relative;
		    width:100%;
		    max-width:650px;

		    margin:36px auto 0;
		    padding:28px 20px 20px;

		    display:flex;
		    flex-direction:column;
		    align-items:center;

		    text-align:center;

		    /* Absolutely no panel */
		    background:transparent !important;
		    background-color:transparent !important;
		    border:none !important;
		    border-radius:0 !important;
		    box-shadow:none !important;
		}

	/* =========================================================
	DIVIDER LINE
	========================================================= */
		.testimonial-submit::before{
		    content:"";

		    position:absolute;
		    top:0;
		    left:50%;

		    width:100%;
		    height:1px;

		    transform:translateX(-50%);

		    background:linear-gradient(
		        90deg,
		        transparent 0%,
		        rgba(125,155,185,.10) 8%,
		        rgba(125,155,185,.35) 25%,
		        rgba(125,155,185,.35) 75%,
		        rgba(125,155,185,.10) 92%,
		        transparent 100%
		    );
		}

	/* =========================================================
	CHAT ICON IN THE CENTER OF DIVIDER
	========================================================= */
		.testimonial-submit::after{
		    content:"\f075";

		    position:absolute;
		    top:-11px;
		    left:50%;

		    width:42px;
		    height:22px;

		    display:flex;
		    align-items:center;
		    justify-content:center;

		    transform:translateX(-50%);

		    /*background:var(--navy);*/

		    /*color:rgba(145,180,210,.60);*/
		    color: #DCEAF5;

		    font-family:"Font Awesome 6 Free";
		    font-weight:900;
		    font-size:26px;
		}

	/* =========================================================
	SHARE YOUR EXPERIENCE BUTTON
	========================================================= */
		.testimonial-submit-btn,
		.testimonial-submit .testimonial-submit-btn{
		    display:inline-flex;
		    align-items:center;
		    justify-content:center;
		    gap:16px;

		    min-width:400px;

		    padding:14px 26px;

		    /* DARK NAVY / BLUE */
		    background:linear-gradient(
		        135deg,
		        #193b63 0%,
		        #102c4b 100%
		    ) !important;

		    color:#f2f6fa !important;

		    border:1px solid rgba(96,167,225,.75) !important;

		    border-radius:8px !important;

		    box-shadow:
		        0 8px 24px rgba(0,0,0,.20),
		        inset 0 1px 0 rgba(255,255,255,.06);

		    font-size:14px;
		    font-weight:800;
		    line-height:1;

		    letter-spacing:1.4px;
		    text-transform:uppercase;

		    text-decoration:none;

		    transition:
		        transform .25s ease,
		        border-color .25s ease,
		        background .25s ease,
		        box-shadow .25s ease;
		    margin-top: 12px;
		}
		/* ICONS */
			.testimonial-submit-btn i{
			    color:#dceaf5 !important;
			    font-size:14px;
			}

			.testimonial-submit-btn i:first-child{
			    margin-right:2px;
			}

			.testimonial-submit-btn i:last-child{
			    margin-left:4px;
			}

	/* =========================================================
	HOVER
	========================================================= */
		.testimonial-submit-btn:hover{
		    background:linear-gradient(
		        135deg,
		        #244d7a 0%,
		        #163b61 100%
		    ) !important;

		    border-color:rgba(140,205,255,.95) !important;

		    color:#ffffff !important;

		    transform:translateY(-2px);

		    box-shadow:
		        0 12px 28px rgba(0,0,0,.28),
		        0 0 18px rgba(60,145,220,.12);
		}

	/* =========================================================
	SUPPORTING TEXT
	========================================================= */
		.testimonial-submit p{
		    max-width:500px;

		    margin:20px auto 0;
		    padding:0;

		    background:transparent !important;

		    color:rgba(210,224,238,.72);

		    font-size:14px;
		    line-height:1.55;
		    font-weight:400;
		}

	/* =========================================================
	   TESTIMONIAL FEEDBACK MODAL
	   COMPLETE CONSOLIDATED CSS
	   REPLACE ALL PREVIOUS TESTIMONIAL MODAL CSS WITH THIS
	========================================================= */

		/* =========================================================
		MODAL OVERLAY
		========================================================= */
			.testimonial-modal{
				position:fixed;
				inset:0;

				display:none;
				align-items:center;
				justify-content:center;

				padding:24px;

				background:rgba(5,18,35,.78);

				z-index:99999;

				overflow-y:auto;

				box-sizing:border-box;
			}

			/* Active / Open */
				.testimonial-modal.active,
				.testimonial-modal.is-open{
				    	display:flex;
				}

		/* =========================================================
		   MODAL CONTENT
		========================================================= */
			.testimonial-modal > div,
			.testimonial-modal .testimonial-modal-content,
			.testimonial-modal .modal-content{
				position:relative;

				width:100%;
				max-width:620px;

				margin:auto;

				padding:34px 44px 30px;

				background:
			        	linear-gradient(
						135deg,
						#ffffff 0%,
						#f4f6f9 100%
			        	);

				border-top:3px solid #c52b38;
				border-right:1px solid rgba(35,65,95,.12);
				border-bottom:1px solid rgba(35,65,95,.12);
				border-left:1px solid rgba(35,65,95,.12);

				border-radius:12px;

				box-shadow:
			        	0 25px 70px rgba(0,0,0,.35);

				box-sizing:border-box;
				overflow:hidden;
			}

		/* =========================================================
		   CLOSE BUTTON
		========================================================= */
			.testimonial-modal .testimonial-close,
			.testimonial-modal .modal-close,
			.testimonial-modal [data-close-testimonial]{
				position:absolute;
				top:16px;
				right:16px;

				display:flex;
				align-items:center;
				justify-content:center;

				width:38px;
				height:38px;

				margin:0;
				padding:0;

				background:#edf1f5;
				color:#183553;

				border:0;
				border-radius:50%;

				box-shadow:none;

				font-size:18px;
				line-height:1;

				cursor:pointer;

				z-index:10;

				transition:
					background .2s ease,
					color .2s ease,
					transform .2s ease;
			}

			.testimonial-modal .testimonial-close::before,
			.testimonial-modal .testimonial-close::after,
			.testimonial-modal .modal-close::before,
			.testimonial-modal .modal-close::after,
			.testimonial-modal [data-close-testimonial]::before,
			.testimonial-modal [data-close-testimonial]::after{
				content:none !important;
				display:none !important;
			}

			.testimonial-modal .testimonial-close:hover,
			.testimonial-modal .modal-close:hover,
			.testimonial-modal [data-close-testimonial]:hover{
				background:#dfe7ee;
				color:#0f2744;

				transform:rotate(90deg);
			}

		/* =========================================================
		   MODAL HEADER
		========================================================= */
			.testimonial-modal-header,
			.testimonial-modal .testimonial-header{
		    		margin:0 0 28px;
		    		text-align:center;
			}

			.testimonial-modal .section-kicker,
			.testimonial-modal .testimonial-kicker{
				margin:0 0 9px;

				color:#c52b38;

				font-size:12px;
				font-weight:800;
				letter-spacing:2.4px;
				line-height:1.2;

				text-transform:uppercase;
			}

			.testimonial-modal h2{
				margin:0;

				color:#1d3552;

				font-size:30px;
				font-weight:800;
				line-height:1.15;
				letter-spacing:.4px;

				text-transform:uppercase;
			}

			.testimonial-modal h2::after{
				content:"";
				display:block;
				width:48px;
				height:2px;
				margin:13px auto 0;
				background:#c52b38;
			}

			.testimonial-modal-header p,
			.testimonial-modal .testimonial-header p{
				max-width:450px;
				margin:17px auto 0;

				color:#667789;
				font-size:14px;
				line-height:1.65;
			}

		/* =========================================================
		   FORM
		========================================================= */
			.testimonial-modal form,
			.testimonial-modal .testimonial-form{
				width:100%;
				margin:0;
				padding:0;
				box-sizing:border-box;
			}

		/* =========================================================
		   FORM ROW
		========================================================= */
			.testimonial-modal .form-row{
				display:grid;
				grid-template-columns:1fr 1fr;
				gap:16px;
				margin-bottom:20px;
			}

		/* =========================================================
		   FORM GROUP
		========================================================= */
			.testimonial-modal .form-group{
				width:100%;
				margin:0 0 18px;
				box-sizing:border-box;
			}

			.testimonial-modal .form-row .form-group{
			    	margin-bottom:0;
			}

		/* =========================================================
		   LABELS
		========================================================= */
			.testimonial-modal label{
				display:block;

				margin:0 0 8px;

				color:#2b4058;

				font-size:11px;
				font-weight:800;
				line-height:1.2;
				letter-spacing:1.3px;

				text-transform:uppercase;
			}

		/* =========================================================
		   INPUTS / SELECT / TEXTAREA
		========================================================= */
			.testimonial-modal input[type="text"],
			.testimonial-modal input[type="email"],
			.testimonial-modal select,
			.testimonial-modal textarea{
				display:block;

				width:100%;
				max-width:100%;

				margin:0;
				padding:12px 14px;

				background:#ffffff;
				color:#33465a;

				border:1px solid #c9d2dc;
				border-radius:8px;

				box-shadow:none;

				font-family:inherit;
				font-size:14px;
				font-weight:400;
				line-height:1.4;

				outline:none;

				box-sizing:border-box;

				transition:
					border-color .2s ease,
					box-shadow .2s ease,
					background .2s ease;
			}

			/* Input height */
				.testimonial-modal input[type="text"],
				.testimonial-modal input[type="email"],
				.testimonial-modal select{
				    	height:46px;
				}

			/* Textarea */
				.testimonial-modal textarea{
				    	min-height:126px;
				    	resize:vertical;
				}

			/* Focus */
				.testimonial-modal input[type="text"]:focus,
				.testimonial-modal input[type="email"]:focus,
				.testimonial-modal select:focus,
				.testimonial-modal textarea:focus{
					background:#ffffff;
					border-color:#5b91c2;
					box-shadow:
				        	0 0 0 3px rgba(91,145,194,.12);
				}

			/* Placeholder */
				.testimonial-modal input::placeholder,
				.testimonial-modal textarea::placeholder{
					color:#8a96a3;
					opacity:1;
				}

		/* =========================================================
		   RATING SECTION
		========================================================= */
			.testimonial-modal .testimonial-rating,
			.testimonial-modal .rating-stars,
			.testimonial-modal .testimonial-stars-input{
				display:flex;
				align-items:center;
				gap:8px;

				margin-top:3px;
			}
		
			/* Individual rating button */
				.testimonial-modal .testimonial-rating button,
				.testimonial-modal .rating-stars button,
				.testimonial-modal .testimonial-stars-input button{
					display:flex;
					align-items:center;
					justify-content:center;

					width:28px;
					height:28px;

					margin:0;
					padding:0;

					background:transparent;
					color:#b7c2cd;

					border:0;

					box-shadow:none;

					font-size:25px;
					line-height:1;

					cursor:pointer;

					transition:
						color .15s ease,
						transform .15s ease;
				}

				.testimonial-modal .testimonial-rating button::before,
				.testimonial-modal .testimonial-rating button::after,
				.testimonial-modal .rating-stars button::before,
				.testimonial-modal .rating-stars button::after,
				.testimonial-modal .testimonial-stars-input button::before,
				.testimonial-modal .testimonial-stars-input button::after{
					content:none !important;
					display:none !important;
				}

			/* Selected / Hover rating */
				.testimonial-modal .testimonial-rating button.active,
				.testimonial-modal .testimonial-rating button:hover,
				.testimonial-modal .rating-stars button.active,
				.testimonial-modal .rating-stars button:hover,
				.testimonial-modal .testimonial-stars-input button.active,
				.testimonial-modal .testimonial-stars-input button:hover{
				    	color:#d89b00;
				    	transform:scale(1.08);
				}

		/* =========================================================
		   CONSENT CHECKBOX
		========================================================= */
			.testimonial-modal .testimonial-consent,
			.testimonial-modal .form-consent{
				display:flex;
				align-items:flex-start;
				gap:10px;

				margin:4px 0 0;
			}

			.testimonial-modal .testimonial-consent input[type="checkbox"],
			.testimonial-modal .form-consent input[type="checkbox"]{
				flex:0 0 auto;
				width:14px;
				height:14px;
				margin:2px 0 0;
				accent-color:#27496d;
				cursor:pointer;
			}

			.testimonial-modal .testimonial-consent label,
			.testimonial-modal .form-consent label{
				margin:0;

				color:#647486;

				font-size:12px;
				font-weight:400;
				line-height:1.5;
				letter-spacing:0;

				text-transform:none;

				cursor:pointer;
			}

		/* =========================================================
		   SUBMIT AREA
		========================================================= */
			.testimonial-modal form{
			    	text-align:left;
			}

			/*
			   This is intentionally highly specific.

			   It overrides the global button styling that was causing
			   the invisible button and floating speech-bubble decoration.
			*/
				.testimonial-modal form button[type="submit"]{
					position:relative !important;

					display:flex !important;
					align-items:center !important;
					justify-content:center !important;
					gap:9px !important;

					width:230px !important;
					min-width:230px !important;
					max-width:230px !important;

					height:42px !important;
					min-height:42px !important;
					max-height:42px !important;

					margin:20px auto 12px !important;
					padding:0 20px !important;

					background:#27496d !important;
					background-image:none !important;

					color:#ffffff !important;

					border:1px solid #477aa8 !important;
					border-radius:5px !important;

					box-shadow:
					0 4px 10px rgba(15,39,68,.22) !important;

					font-family:inherit !important;
					font-size:11px !important;
					font-weight:800 !important;
					line-height:1 !important;
					letter-spacing:1.4px !important;
					text-align:center !important;
					text-transform:uppercase !important;
					text-decoration:none !important;

					opacity:1 !important;
					visibility:visible !important;

					cursor:pointer !important;

					overflow:hidden !important;

					transform:none !important;

					z-index:1 !important;
				}

		/* =========================================================
		   REMOVE GLOBAL BUTTON DECORATIONS
		   THIS REMOVES THE FLOATING SPEECH BUBBLE / CIRCLE
		========================================================= */
		.testimonial-modal form button[type="submit"]::before,
		.testimonial-modal form button[type="submit"]::after{
			content:none !important;

			display:none !important;

			width:0 !important;
			height:0 !important;

			min-width:0 !important;
			min-height:0 !important;

			margin:0 !important;
			padding:0 !important;

			background:none !important;
			background-image:none !important;

			border:0 !important;
			border-radius:0 !important;

			box-shadow:none !important;

			opacity:0 !important;

			transform:none !important;
		}

		/* =========================================================
		   SUBMIT BUTTON TEXT
		========================================================= */
			.testimonial-modal form button[type="submit"] span{
				display:inline !important;

				margin:0 !important;
				padding:0 !important;

				background:none !important;

				color:#ffffff !important;

				opacity:1 !important;
				visibility:visible !important;

				font:inherit !important;

				transform:none !important;
			}

		/* =========================================================
		   SUBMIT BUTTON ICON
		========================================================= */
			.testimonial-modal form button[type="submit"] i{
				position:static !important;

				display:inline-block !important;

				width:auto !important;
				height:auto !important;

				min-width:0 !important;
				min-height:0 !important;

				margin:0 !important;
				padding:0 !important;

				background:none !important;
				background-image:none !important;

				color:#ffffff !important;

				border:0 !important;
				border-radius:0 !important;

				box-shadow:none !important;

				font-size:11px !important;
				line-height:1 !important;

				opacity:1 !important;
				visibility:visible !important;

				transform:none !important;
			}

		/* =========================================================
		   SUBMIT HOVER
		========================================================= */
			.testimonial-modal form button[type="submit"]:not(:disabled):hover{
				background:#1d426d !important;

				border-color:#6fa9d8 !important;

				box-shadow:
				   	0 6px 14px rgba(15,39,68,.28) !important;

				transform:translateY(-1px) !important;
			}

		/* =========================================================
		   SUBMIT DISABLED
		========================================================= */
			.testimonial-modal form button[type="submit"]:disabled{
				background:#8799aa !important;
				border-color:#8799aa !important;
				color:#ffffff !important;
				opacity:.75 !important;
				cursor:not-allowed !important;
				box-shadow:none !important;
				transform:none !important;
			}

		/* =========================================================
		   REVIEW NOTICE
		========================================================= */
			.testimonial-modal .testimonial-notice,
			.testimonial-modal .testimonial-review-notice{
				display:flex;
				align-items:center;
				justify-content:center;
				gap:7px;

				margin:4px 0 0;

				padding-top:0;

				color:#69798a;

				font-size:11px;
				line-height:1.5;

				text-align:center;
			}

			.testimonial-modal .testimonial-notice i,
			.testimonial-modal .testimonial-review-notice i{
				color:#c52b38;
				font-size:11px;
				background:none !important;
			}

		/* =========================================================
		   TESTIMONIAL FORM MESSAGE
		========================================================= */
		.testimonial-modal #resultmessage{
			display:none;

			width:100%;
			margin:0 0 18px;
			padding:12px 15px;

			border-radius:6px;

			font-size:13px;
			line-height:1.5;

			box-sizing:border-box;
		}

		/* Show message */
			.testimonial-modal #resultmessage.show{
			    	display:block;
			}

		/* Success */
			.testimonial-modal #resultmessage.success{
				color:#1f5c3a;
				background:#edf7f0;
				border:1px solid #b9dfc5;
			}

		/* Error */
			.testimonial-modal #resultmessage.error{
				color:#8a3131;
				background:#fff1f1;
				border:1px solid #e8bcbc;
			}

		/* Submitting / Information */
			.testimonial-modal #resultmessage.info{
				color:#365878;
				background:#eef4f9;
				border:1px solid #c7d9e8;
			}

			/* =========================================================
			   MOBILE
			========================================================= */
				@media (max-width:640px){
				    	.testimonial-modal{
						align-items:flex-start;
						padding:15px;
						overflow-y:auto;
				    	}

					.testimonial-modal > div,
					.testimonial-modal .testimonial-modal-content,
					.testimonial-modal .modal-content{
						max-width:100%;
						margin:20px auto;
						padding:30px 22px 26px;
					}

					.testimonial-modal h2{
						font-size:25px;
					}

					.testimonial-modal-header p,
					.testimonial-modal .testimonial-header p{
						font-size:13px;
					}

					.testimonial-modal .form-row{
						grid-template-columns:1fr;
						gap:18px;
					}

					.testimonial-modal .form-row .form-group{
						margin-bottom:0;
					}

				    	.testimonial-modal textarea{
				        	min-height:115px;
				    	}

					.testimonial-modal form button[type="submit"]{
						width:220px !important;
						min-width:220px !important;
						max-width:220px !important;

						height:42px !important;

						margin-top:18px !important;
					}
				}

	/* =========================================================
	MOBILE
	========================================================= */
		@media (max-width:576px){

		    .testimonial-submit{
		        max-width:100%;
		        margin-top:30px;
		        padding-left:20px;
		        padding-right:20px;
		    }

		    .testimonial-submit-btn,
		    .testimonial-submit .testimonial-submit-btn{
		        min-width:0;
		        width:100%;

		        font-size:12px;
		        padding:14px 18px;
		        gap:10px;
		    }

		    .testimonial-submit p{
		        margin-top:17px;
		        font-size:13px;
		    }
		}

/*	(((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))	*/
/* =========================================================
TESTIMONIAL MODAL
========================================================= */
	.testimonial-modal{
		position:fixed;

		inset:0;

		display:flex;
		align-items:center;
		justify-content:center;

		padding:25px;

		visibility:hidden;
		opacity:0;

		z-index:9999;

		transition:
			opacity .25s ease,
			visibility .25s ease;
	}

	.testimonial-modal.active{
		visibility:visible;
		opacity:1;
	}


	/* =========================================================
	BACKDROP
	========================================================= */
		.testimonial-modal-backdrop{
			position:absolute;

			inset:0;

			background:
				radial-gradient(
					circle at 20% 20%,
					rgba(215,25,46,.18),
					transparent 35%
				),
				radial-gradient(
					circle at 80% 80%,
					rgba(80,130,190,.18),
					transparent 35%
				),
				rgba(3,15,30,.84);

			backdrop-filter:blur(5px);
		}

	/* =========================================================
	MODAL BOX
	========================================================= */
		.testimonial-modal-box{
			position:relative;

			width:100%;
			max-width:620px;

			max-height:90vh;

			overflow-y:auto;

			padding:42px 46px 35px;

			box-sizing:border-box;

			background:
				linear-gradient(
					145deg,
					#ffffff 0%,
					#f4f7fb 100%
				);

			border-radius:12px;

			border:1px solid rgba(255,255,255,.7);

			box-shadow:
				0 30px 90px rgba(0,0,0,.45);

			z-index:2;

			transform:
				translateY(20px)
				scale(.98);

			transition:
				transform .28s ease;
		}

		.testimonial-modal.active .testimonial-modal-box{
			transform:
				translateY(0)
				scale(1);
		}

	/* =========================================================
	TOP ACCENT
	========================================================= */
		.testimonial-modal-box::before{
			content:"";

			position:absolute;

			top:0;
			left:0;
			right:0;

			height:5px;

			background:
				linear-gradient(
					90deg,
					var(--red),
					#ff6a7c,
					#4e8ac5
				);
		}

	/* =========================================================
	CLOSE BUTTON
	========================================================= */
		.testimonial-modal-close{
			position:absolute;

			top:16px;
			right:16px;

			width:36px;
			height:36px;

			display:flex;
			align-items:center;
			justify-content:center;

			border:0;

			border-radius:50%;

			background:#eef2f7;

			color:var(--navy);

			font-size:17px;

			cursor:pointer;

			transition:
				background .2s ease,
				color .2s ease,
				transform .2s ease;
		}

		.testimonial-modal-close:hover{
			background:var(--red);

			color:#fff;

			transform:rotate(90deg);
		}

	/* =========================================================
	HEADER
	========================================================= */
		.testimonial-modal-header{
			margin-bottom:30px;

			text-align:center;
		}

		.testimonial-modal-kicker{
			margin-bottom:8px;

			color:var(--red);

			font-size:12px;
			font-weight:800;

			letter-spacing:2px;

			text-transform:uppercase;
		}

		.testimonial-modal-header h2{
			margin:0 0 12px;

			color:var(--navy);

			font-size:27px;
			line-height:1.2;

			font-weight:800;
		}

		.testimonial-modal-header h2::after{
			content:"";

			display:block;

			width:52px;
			height:2px;

			margin:12px auto 0;

			background:var(--red);
		}

		.testimonial-modal-header p{
			max-width:450px;

			margin:0 auto;

			color:#697888;

			font-size:14px;
			line-height:1.6;
		}

	/* =========================================================
	FORM GRID
	========================================================= */
		.testimonial-form-grid{
			display:grid;

			grid-template-columns:
				repeat(2, 1fr);

			gap:16px;
		}

	/* =========================================================
	FORM FIELD
	========================================================= */
		.testimonial-field{
			margin-bottom:20px;
		}

		.testimonial-field > label{
			display:block;

			margin-bottom:7px;

			color:var(--navy);

			font-size:11px;
			font-weight:800;

			letter-spacing:.8px;
		}

	/* =========================================================
	INPUTS
	========================================================= */
		.testimonial-field input[type="text"],
		.testimonial-field select,
		.testimonial-field textarea{
			width:100%;

			padding:12px 14px;

			box-sizing:border-box;

			border:
				1px solid
				rgba(10,40,75,.16);

			border-radius:6px;

			outline:none;

			background:#fff;

			color:var(--navy);

			font-family:inherit;

			font-size:14px;

			transition:
				border-color .2s ease,
				box-shadow .2s ease;
		}


		.testimonial-field textarea{
			min-height:125px;

			resize:vertical;
		}


		.testimonial-field input:focus,
		.testimonial-field select:focus,
		.testimonial-field textarea:focus{
			border-color:var(--red);

			box-shadow:
				0 0 0 3px
				rgba(215,25,46,.10);
		}

	/* =========================================================
	STAR RATING
	========================================================= */
		.testimonial-rating{
			display:flex;

			align-items:center;

			gap:8px;

			padding-top:3px;
		}

		.testimonial-rating input{
			position:absolute;

			opacity:0;

			pointer-events:none;
		}

		.testimonial-rating label{
			color:#c5ccd4;

			font-size:25px;

			cursor:pointer;

			transition:
				color .15s ease,
				transform .15s ease;
		}

		.testimonial-rating label:hover{
			color:#e4a900;

			transform:scale(1.12);
		}

		.testimonial-rating input:checked + label{
			color:#e4a900;
		}

	/* =========================================================
	CONSENT
	========================================================= */
		.testimonial-consent{
			display:flex;

			align-items:flex-start;

			gap:10px;

			margin:
				2px 0
				22px;

			cursor:pointer;
		}

		.testimonial-consent input{
			margin-top:3px;

			accent-color:var(--red);
		}

		.testimonial-consent span{
			color:#667584;

			font-size:12px;
			line-height:1.5;
		}

	/* =========================================================
	SUBMIT BUTTON
	========================================================= */
		.testimonial-submit{
			width:100%;

			display:flex;

			align-items:center;
			justify-content:center;

			gap:10px;

			padding:14px 20px;

			border:0;

			border-radius:6px;

			background:
				linear-gradient(
					135deg,
					var(--red),
					#b90f26
				);

			color:#fff;

			font-family:inherit;

			font-size:12px;
			font-weight:800;

			letter-spacing:1px;

			cursor:pointer;

			box-shadow:
				0 8px 20px
				rgba(215,25,46,.22);

			transition:
				transform .2s ease,
				box-shadow .2s ease;
		}

		.testimonial-submit:hover{
			transform:translateY(-2px);

			box-shadow:
				0 12px 28px
				rgba(215,25,46,.32);
		}

		.testimonial-submit i{
			font-size:13px;
		}

	/* =========================================================
	FORM NOTE
	========================================================= */
		.testimonial-form-note{
			display:flex;

			align-items:center;
			justify-content:center;

			gap:7px;

			margin:15px 0 0;

			color:#778594;

			font-size:11px;

			text-align:center;
		}

		.testimonial-form-note i{
			color:var(--red);
		}

	/* =========================================================
	SCROLLBAR
	========================================================= */
		.testimonial-modal-box::-webkit-scrollbar{
			width:7px;
		}

		.testimonial-modal-box::-webkit-scrollbar-thumb{
			background:
				rgba(10,40,75,.22);

			border-radius:10px;
		}

	/* =========================================================
	MOBILE
	========================================================= */
		@media (max-width:600px){
			.testimonial-modal{
				align-items:flex-start;

				padding:15px;

				overflow-y:auto;
			}

			.testimonial-modal-box{
				margin:auto 0;

				max-height:none;

				padding:
					38px 22px
					28px;
			}

			.testimonial-form-grid{
				grid-template-columns:1fr;

				gap:0;
			}

			.testimonial-modal-header h2{
				font-size:23px;
			}
		}

/*	(((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))	*/
/* =========================================================
BUSINESS LABEL
========================================================= */
	.testimonial-business{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		min-height:25px;
		padding:0 11px;
		border-radius:3px;
		color:#fff;
		font-size:10px;
		line-height:1;
		font-weight:800;
		letter-spacing:.8px;
	}


.testimonial-business.cleaning{
    background:var(--navy);
}


.testimonial-business.detailing{
    background:var(--red);
}


/* =========================================================
   ARROWS
   ========================================================= */

.testimonial-arrow{
    position:absolute;

    top:50%;

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    transform:translateY(-50%);

    color:#fff;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.45);

    border-radius:50%;

    cursor:pointer;

    z-index:5;

    transition:
        background .2s ease,
        transform .2s ease;
}


.testimonial-arrow:hover{
    background:var(--red);

    border-color:var(--red);
}


.testimonial-arrow:active{
    transform:translateY(-50%) scale(.95);
}


.testimonial-arrow-prev{
    left:0;
}


.testimonial-arrow-next{
    right:0;
}


.testimonial-arrow i{
    font-size:12px;
}


/* =========================================================
   DOTS
   ========================================================= */

.testimonial-dots{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:7px;

    margin-top:20px;
}


.testimonial-dot{
    width:8px;

    height:8px;

    padding:0;

    border:0;

    border-radius:50%;

    background:rgba(255,255,255,.35);

    cursor:pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}


.testimonial-dot.active{
    background:var(--red);

    transform:scale(1.25);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:720px){

    .testimonials{
        padding:60px 0 58px;
    }


    /* -----------------------------------------------------
       Heading
       ----------------------------------------------------- */

    .testimonials-heading{
        margin-bottom:30px;

        padding:0 15px;
    }


    .testimonials-heading .section-kicker{
        font-size:11px;

        letter-spacing:1.4px;
    }


    .testimonials-heading h2{
        font-size:24px;

        line-height:1.2;
    }


    .testimonials-heading p{
        font-size:12px;

        line-height:1.55;
    }


    /* -----------------------------------------------------
       Carousel
       ----------------------------------------------------- */

    .testimonial-carousel{
        width:100%;

        max-width:100%;

        padding:0 38px;

        box-sizing:border-box;
    }


    /* -----------------------------------------------------
       Card
       ----------------------------------------------------- */

    .testimonial-card{
        padding:30px 22px 27px;

        border-radius:7px;
    }


    /* -----------------------------------------------------
       Stars
       ----------------------------------------------------- */

    .testimonial-stars{
        margin-bottom:17px;

        font-size:14px;
    }


    /* -----------------------------------------------------
       Quote
       ----------------------------------------------------- */

    .testimonial-card blockquote{
        margin-bottom:22px;

        padding:0 8px;

        font-size:15px;

        line-height:1.6;
        height:96px;
	   overflow:hidden;

    }


    .testimonial-card blockquote::before{
        left:-4px;

        top:-14px;

        font-size:36px;
    }


    /* -----------------------------------------------------
       Author
       ----------------------------------------------------- */

    .testimonial-author{
        margin-bottom:17px;
    }


    .testimonial-avatar{
        width:34px;

        height:34px;

        font-size:12px;
    }


    .testimonial-author strong{
        font-size:12px;
    }


    .testimonial-author span{
        font-size:10px;
    }


    /* -----------------------------------------------------
       Business
       ----------------------------------------------------- */

    .testimonial-business{
        min-height:23px;

        padding:0 9px;

        font-size:9px;
    }


    /* -----------------------------------------------------
       Arrows
       ----------------------------------------------------- */

    .testimonial-arrow{
        width:32px;

        height:32px;
    }


    .testimonial-arrow-prev{
        left:2px;
    }


    .testimonial-arrow-next{
        right:2px;
    }


    .testimonial-arrow i{
        font-size:10px;
    }


    /* -----------------------------------------------------
       Dots
       ----------------------------------------------------- */

    .testimonial-dots{
        margin-top:16px;
    }

}
/* =========================================================
   FINAL QUOTE CTA
   ========================================================= */

.final-quote{
    position:relative;

    padding:68px 0 64px;

    overflow:hidden;

    background:#f5f7fa;

    color:var(--navy);
}


/* =========================================================
   SOFT CTA BACKGROUND
   ========================================================= */

.final-quote-bg{
    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at 10% 50%,
            rgba(215,25,46,.07) 0,
            rgba(215,25,46,0) 32%
        ),
        radial-gradient(
            circle at 90% 45%,
            rgba(10,39,76,.07) 0,
            rgba(10,39,76,0) 34%
        ),
        #f5f7fa;

    z-index:0;
}


/* =========================================================
   SUBTLE DOT PATTERN
   ========================================================= */

.final-quote-bg::after{
    content:"";

    position:absolute;

    inset:0;

    background-image:
        radial-gradient(
            rgba(10,39,76,.10) 1px,
            transparent 1px
        );

    background-size:24px 24px;

    opacity:.18;
}


/* =========================================================
   REMOVE DARK OVERLAY
   ========================================================= */

.final-quote-overlay{
    display:none;
}


/* =========================================================
   CONTENT
   ========================================================= */

.final-quote .container{
    position:relative;

    z-index:1;
}


.final-quote-content{
    max-width:760px;

    margin:0 auto;

    text-align:center;
}


/* =========================================================
   KICKER
   ========================================================= */

.final-quote .section-kicker{
    margin-bottom:10px;

    color:var(--red);

    font-size:13px;

    line-height:1.2;

    font-weight:800;

    letter-spacing:1.8px;

    text-transform:uppercase;
}


/* =========================================================
   HEADING
   ========================================================= */

.final-quote h2{
    max-width:700px;

    margin:0 auto 15px;

    color:var(--navy);

    font-size:31px;

    line-height:1.15;

    font-weight:800;

    text-transform:uppercase;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.final-quote-content > p{
    max-width:610px;

    margin:0 auto;

    color:#657080;

    font-size:14px;

    line-height:1.6;
}


/* =========================================================
   CTA
   ========================================================= */

.final-quote-actions{
    display:flex;

    justify-content:center;

    margin-top:27px;
}


.final-quote .btn{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    min-height:46px;

    padding:0 27px;

    border-radius:4px;

    font-size:12px;

    font-weight:800;

    letter-spacing:.3px;

    text-decoration:none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.final-quote .btn-red{
    color:#fff;

    background:var(--red);
}


.final-quote .btn-red:hover{
    transform:translateY(-2px);

    box-shadow:0 8px 20px rgba(0,0,0,.16);
}


.final-quote .btn i{
    font-size:11px;
}


/* =========================================================
   TRUST NOTES
   ========================================================= */

.final-quote-note{
    display:flex;

    align-items:center;

    justify-content:center;

    flex-wrap:wrap;

    gap:0;

    margin-top:23px;
}


.final-quote-note span{
    display:flex;

    align-items:center;

    color:#657080;

    font-size:11px;

    line-height:1.4;
}


.final-quote-note span:not(:last-child)::after{
    content:"";

    width:4px;

    height:4px;

    margin:0 13px;

    background:var(--red);

    border-radius:50%;
}


.final-quote-note i{
    margin-right:5px;

    color:var(--red);

    font-size:10px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:720px){

    .final-quote{
        padding:55px 0 52px;
    }


    .final-quote .section-kicker{
        font-size:11px;

        letter-spacing:1.4px;
    }


    .final-quote h2{
        padding:0 15px;

        font-size:24px;

        line-height:1.2;
    }


    .final-quote-content > p{
        padding:0 20px;

        font-size:12px;

        line-height:1.55;
    }


    .final-quote-actions{
        margin-top:23px;
    }


    .final-quote .btn{
        min-height:44px;

        padding:0 23px;

        font-size:11px;
    }


    .final-quote-note{
        flex-direction:column;

        gap:7px;

        margin-top:21px;
    }


    .final-quote-note span{
        font-size:10px;
    }


    .final-quote-note span:not(:last-child)::after{
        display:none;
    }

}

/* =========================================================
   ABOUT US
   ========================================================= */

.about{
    position:relative;

    width:100%;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    padding:78px 0 90px;

    background:#fff;

    overflow:visible !important;

    box-sizing:border-box;
}


/* =========================================================
   ABOUT CONTAINER
   ========================================================= */

.about .container{
    width:100%;

    max-width:1180px;

    height:auto !important;
    min-height:0 !important;

    margin:0 auto;

    padding-left:20px;
    padding-right:20px;

    box-sizing:border-box;
}


/* =========================================================
   ABOUT GRID
   ========================================================= */

.about-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);

    align-items:stretch;

    gap:55px;

    width:100%;

    max-width:1080px;

    height:auto !important;
    min-height:430px !important;

    margin:0 auto;

    padding:0;

    box-sizing:border-box;
}


/* =========================================================
   ABOUT COPY
   ========================================================= */

.about-copy{
    position:relative;

    display:flex;

    flex-direction:column;

    justify-content:center;

    width:100%;

    height:auto !important;
    min-height:430px;

    padding:10px 0;

    box-sizing:border-box;
}


/* =========================================================
   KICKER
   ========================================================= */

.about-kicker{
    margin:0 0 9px;

    color:var(--red);

    font-size:13px;

    line-height:1.2;

    font-weight:800;

    letter-spacing:1.8px;

    text-transform:uppercase;
}


/* =========================================================
   HEADING
   ========================================================= */

.about-copy h2{
    position:relative;

    margin:0 0 20px;

    padding:0 0 13px;

    color:var(--navy);

    font-size:30px;

    line-height:1.15;

    font-weight:800;

    text-transform:uppercase;
}


.about-copy h2::after{
    content:"";

    display:block;

    width:62px;

    height:2px;

    margin-top:13px;

    background:var(--red);
}


/* =========================================================
   PARAGRAPHS
   ========================================================= */

.about-copy > p{
    display:block;

    width:100%;

    max-width:520px;

    height:auto !important;

    margin:0 0 14px;

    color:#5f6c7a;

    font-size:14px;

    line-height:1.7;
}


.about-copy > p:last-of-type{
    margin-bottom:25px;
}


/* =========================================================
   TWO SERVICE IDENTITIES
   ========================================================= */

.about-services{
    display:flex;

    flex-direction:column;

    gap:12px;

    width:100%;

    max-width:500px;

    height:auto !important;

    margin:0 0 25px;
}


.about-service{
    display:flex;

    align-items:center;

    width:100%;

    min-height:60px;

    padding:11px 14px;

    box-sizing:border-box;

    background:#f7f9fb;

    border:1px solid #e3e7eb;

    border-radius:6px;
}


.about-service-icon{
    width:38px;

    height:38px;

    flex:0 0 38px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-right:12px;

    color:#fff;

    border-radius:50%;

    font-size:14px;
}


.about-service-icon.cleaning{
    background:var(--navy);
}


.about-service-icon.detailing{
    background:var(--red);
}


.about-service strong{
    display:block;

    margin:0 0 2px;

    color:var(--navy);

    font-size:12px;

    line-height:1.25;

    font-weight:800;

    letter-spacing:.3px;
}


.about-service span{
    display:block;

    color:#687382;

    font-size:11px;

    line-height:1.35;
}


/* =========================================================
   SIGNATURE
   ========================================================= */

.signature{
    display:flex;

    align-items:flex-end;

    gap:12px;

    width:max-content;

    height:auto !important;

    color:var(--navy);

    font-family:cursive;

    font-size:26px;

    line-height:1;
}


.signature small{
    display:block;

    padding-bottom:2px;

    color:#687382;

    font-family:inherit;

    font-size:10px;

    line-height:1.4;

    font-weight:600;
}


/* =========================================================
   ABOUT PHOTO
   ========================================================= */

.about-photo{
    position:relative;

    width:100%;

    height:430px !important;
    min-height:430px !important;
    max-height:none !important;

    background-image:url("../images/about/about_us.png");

    background-repeat:no-repeat;

    background-position:center;

    background-size:cover;

    border-radius:8px;

    overflow:hidden;

    box-shadow:
        0 8px 25px rgba(0,0,0,.12);

    box-sizing:border-box;
}


/* =========================================================
   PHOTO OVERLAY
   ========================================================= */

.about-photo::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,24,65,0) 45%,
            rgba(0,24,65,.72) 100%
        );

    z-index:1;
}


.about-photo-overlay{
    position:absolute;

    left:25px;

    bottom:23px;

    z-index:2;

    display:flex;

    flex-direction:column;

    gap:3px;
}


.about-photo-overlay strong{
    color:#fff;

    font-size:15px;

    line-height:1.2;

    font-weight:800;

    letter-spacing:.8px;
}


.about-photo-overlay span{
    color:#fff;

    font-size:11px;

    line-height:1.3;

    font-weight:600;

    letter-spacing:1px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:950px) and (min-width:721px){

    .about{
        padding:68px 0 80px;
    }


    .about-grid{
        gap:35px;

        min-height:390px !important;
    }


    .about-copy{
        min-height:390px;
    }


    .about-copy h2{
        font-size:27px;
    }


    .about-copy > p{
        font-size:13px;
    }


    .about-photo{
        height:390px !important;

        min-height:390px !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:720px){

    .about{
        height:auto !important;

        min-height:0 !important;

        max-height:none !important;

        padding:58px 0 75px;

        overflow:visible !important;
    }


    .about .container{
        width:100%;

        height:auto !important;

        padding:0 18px;
    }


    .about-grid{
        display:flex;

        flex-direction:column;

        gap:30px;

        width:100%;

        max-width:none;

        height:auto !important;

        min-height:0 !important;

        margin:0;
    }


    .about-copy{
        width:100%;

        height:auto !important;

        min-height:0;

        padding:0;
    }


    /* -----------------------------------------------------
       KICKER
       ----------------------------------------------------- */

    .about-kicker{
        margin-bottom:8px;

        font-size:11px;

        letter-spacing:1.4px;
    }


    /* -----------------------------------------------------
       HEADING
       ----------------------------------------------------- */

    .about-copy h2{
        margin-bottom:17px;

        padding-bottom:11px;

        font-size:24px;

        line-height:1.2;
    }


    .about-copy h2::after{
        width:55px;

        margin-top:11px;
    }


    /* -----------------------------------------------------
       TEXT
       ----------------------------------------------------- */

    .about-copy > p{
        max-width:none;

        margin-bottom:12px;

        font-size:12px;

        line-height:1.6;
    }


    .about-copy > p:last-of-type{
        margin-bottom:20px;
    }


    /* -----------------------------------------------------
       SERVICE IDENTITIES
       ----------------------------------------------------- */

    .about-services{
        width:100%;

        max-width:none;

        gap:10px;

        margin-bottom:22px;
    }


    .about-service{
        min-height:56px;

        padding:10px 12px;
    }


    .about-service-icon{
        width:36px;

        height:36px;

        flex-basis:36px;

        font-size:13px;
    }


    .about-service strong{
        font-size:11px;
    }


    .about-service span{
        font-size:10px;
    }


    /* -----------------------------------------------------
       SIGNATURE
       ----------------------------------------------------- */

    .signature{
        font-size:23px;
    }


    .signature small{
        font-size:9px;
    }


    /* -----------------------------------------------------
       PHOTO
       ----------------------------------------------------- */

    .about-photo{
        width:100%;

        height:300px !important;

        min-height:300px !important;

        max-height:none !important;

        border-radius:7px;
    }


    .about-photo-overlay{
        left:18px;

        bottom:18px;
    }


    .about-photo-overlay strong{
        font-size:13px;
    }


    .about-photo-overlay span{
        font-size:10px;
    }

}

/* =========================================================
   FAQ
   ========================================================= */

.faq-section{
    position:relative;

    padding:82px 0 80px;

    background:#f7f9fb;

    overflow:hidden;
}


/* =========================================================
   SOFT BACKGROUND
   ========================================================= */

.faq-section::before{
    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at 8% 50%,
            rgba(215,25,46,.055) 0,
            rgba(215,25,46,0) 30%
        ),
        radial-gradient(
            circle at 92% 50%,
            rgba(10,39,76,.065) 0,
            rgba(10,39,76,0) 32%
        );

    pointer-events:none;
}


.faq-container{
    position:relative;

    z-index:1;

    display:grid;

    grid-template-columns:
        minmax(280px,.82fr)
        minmax(0,1.4fr);

    gap:65px;

    align-items:start;

    max-width:1080px;

    margin:0 auto;
}


/* =========================================================
   FAQ INTRO
   ========================================================= */

.faq-intro{
    position:sticky;

    top:100px;
}


.faq-intro .section-kicker{
    margin-bottom:10px;

    color:var(--red);

    font-size:13px;

    line-height:1.2;

    font-weight:800;

    letter-spacing:1.8px;

    text-transform:uppercase;
}


.faq-intro h2{
    margin:0 0 17px;

    color:var(--navy);

    font-size:29px;

    line-height:1.18;

    font-weight:800;

    text-transform:uppercase;
}


.faq-intro h2 span{
    display:block;

    color:var(--red);
}


.faq-intro p{
    max-width:400px;

    margin:0 0 25px;

    color:#657080;

    font-size:14px;

    line-height:1.65;
}


/* =========================================================
   FAQ CONTACT BUTTON
   ========================================================= */

.faq-contact-btn{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    min-height:42px;

    padding:0 20px;

    color:#fff;

    background:var(--navy);

    border-radius:4px;

    font-size:11px;

    font-weight:800;

    text-decoration:none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.faq-contact-btn:hover{
    transform:translateY(-2px);

    box-shadow:0 6px 14px rgba(0,0,0,.14);
}


.faq-contact-btn i{
    font-size:10px;
}


/* =========================================================
   FAQ LIST
   ========================================================= */

.faq-list{
    width:100%;

    border-top:1px solid #dce2e8;
}


/* =========================================================
   FAQ ITEM
   ========================================================= */

.faq-item{
    border-bottom:1px solid #dce2e8;

    background:rgba(255,255,255,.72);
}


.faq-item.active{
    background:#fff;
}


/* =========================================================
   QUESTION
   ========================================================= */

.faq-question{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    width:100%;

    min-height:62px;

    padding:17px 20px;

    color:var(--navy);

    background:transparent;

    border:0;

    font-family:inherit;

    font-size:14px;

    line-height:1.35;

    font-weight:800;

    text-align:left;

    cursor:pointer;
}


.faq-question span{
    flex:1 1 auto;

    min-width:0;
}


.faq-question i{
    flex:0 0 auto;

    width:24px;

    height:24px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--red);

    font-size:11px;

    transition:transform .25s ease;
}


.faq-item.active .faq-question i{
    transform:rotate(45deg);
}


/* =========================================================
   ANSWER
   ========================================================= */

.faq-answer{
    display:grid;

    grid-template-rows:0fr;

    transition:
        grid-template-rows .3s ease;
}


.faq-answer p{
    min-height:0;

    overflow:hidden;

    margin:0;

    padding:0 20px;

    color:#687382;

    font-size:13px;

    line-height:1.65;
}


.faq-item.active .faq-answer{
    grid-template-rows:1fr;
}


.faq-item.active .faq-answer p{
    padding-bottom:19px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:950px) and (min-width:721px){

    .faq-section{
        padding:70px 25px;
    }


    .faq-container{
        gap:40px;
    }


    .faq-intro h2{
        font-size:26px;
    }


    .faq-intro p{
        font-size:13px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:720px){

    .faq-section{
        padding:58px 0 65px;
    }


    .faq-container{
        display:flex;

        flex-direction:column;

        gap:30px;

        width:100%;

        max-width:none;

        padding:0 15px;

        box-sizing:border-box;
    }


    /* -----------------------------------------------------
       Intro
       ----------------------------------------------------- */

    .faq-intro{
        position:relative;

        top:auto;

        width:100%;

        text-align:center;
    }


    .faq-intro .section-kicker{
        font-size:11px;

        letter-spacing:1.4px;
    }


    .faq-intro h2{
        margin-bottom:14px;

        font-size:24px;

        line-height:1.2;
    }


    .faq-intro p{
        max-width:500px;

        margin:0 auto 22px;

        font-size:12px;

        line-height:1.6;
    }


    .faq-contact-btn{
        min-height:40px;

        padding:0 18px;

        font-size:10px;
    }


    /* -----------------------------------------------------
       FAQ List
       ----------------------------------------------------- */

    .faq-list{
        width:100%;
    }


    .faq-question{
        min-height:58px;

        padding:15px 15px;

        gap:12px;

        font-size:12px;

        line-height:1.4;
    }


    .faq-question i{
        width:22px;

        height:22px;

        font-size:10px;
    }


    .faq-answer p{
        padding-left:15px;

        padding-right:15px;

        font-size:11px;

        line-height:1.6;
    }


    .faq-item.active .faq-answer p{
        padding-bottom:16px;
    }

}


/* ---------- QUOTE BAR ---------- */
.quote-bar{
    height:68px;
    background:#f2f6fa;
    border-top:1px solid #dce5ee;
    border-bottom:1px solid #dce5ee;
}

.quote-inner{
    height:100%;
    max-width:1180px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
}

.quote-icon{
    width:47px;
    height:47px;
    border-radius:50%;
    background:#fff;
    border:1px solid #d7e0e9;
    box-shadow:0 2px 7px rgba(0,0,0,.08);
    display:grid;
    place-items:center;
    font-size:24px;
}

.quote-copy{
    min-width:295px;
}

.quote-copy strong{
    display:block;
    font-size:20px;
    text-transform:uppercase;
    color:var(--navy);
}

.quote-copy span{
    display:block;
    font-size:12px;
    color:#506071;
    margin-top:2px;
}

.quote-button{
    height:31px;
    min-width:190px;
    font-size:12px;
}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer{
    position:relative;

    padding:58px 0 0;

    background:#071d38;

    color:#fff;

    overflow:hidden;
}


/* =========================================================
   SUBTLE BACKGROUND
   ========================================================= */

.site-footer::before{
    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(215,25,46,.10),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(255,255,255,.05),
            transparent 32%
        );

    pointer-events:none;
}


.site-footer .container{
    position:relative;

    z-index:1;
}


/* =========================================================
   FOOTER GRID
   ========================================================= */

.footer-grid{
    display:grid;

    grid-template-columns:
        1.5fr
        1fr
        1fr
        1.25fr;

    gap:45px;

    padding-bottom:42px;
}


/* =========================================================
   BRAND
   ========================================================= */

.footer-brand{
    max-width:330px;
}


.footer-logo{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:240px;
    min-height:82px;

    margin-bottom:18px;

    padding:10px 16px;

    background:#fff;

    border:1px solid rgba(255,255,255,.35);

    border-radius:8px;

    box-sizing:border-box;
}


.footer-logo img{
    display:block;

    width:auto;

    max-width:215px;

    max-height:62px;

    object-fit:contain;
}


.footer-brand p{
    max-width:310px;

    margin:0;

    color:#bdcad8;

    font-size:12px;

    line-height:1.65;
}


/* =========================================================
   SOCIAL
   ========================================================= */

.footer-social{
    display:flex;

    gap:8px;

    margin-top:20px;
}


.footer-social a{
    width:32px;

    height:32px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    background:rgba(255,255,255,.09);

    border:1px solid rgba(255,255,255,.15);

    border-radius:50%;

    font-size:12px;

    text-decoration:none;

    transition:
        background .2s ease,
        transform .2s ease;
}


.footer-social a:hover{
    background:var(--red);

    border-color:var(--red);

    transform:translateY(-2px);
}


/* =========================================================
   FOOTER COLUMNS
   ========================================================= */

.footer-column h3{
    margin:2px 0 17px;

    color:#fff;

    font-size:12px;

    line-height:1.2;

    font-weight:800;

    letter-spacing:1.2px;
}


.footer-column ul{
    list-style:none;

    margin:0;

    padding:0;
}


.footer-column li{
    margin:0 0 9px;
}


.footer-column li a{
    color:#bdcad8;

    font-size:12px;

    line-height:1.4;

    text-decoration:none;

    transition:
        color .2s ease,
        padding-left .2s ease;
}


.footer-column li a:hover{
    color:#fff;

    padding-left:3px;
}


/* =========================================================
   CONTACT
   ========================================================= */

.footer-contact-item{
    display:flex;

    align-items:flex-start;

    gap:10px;

    margin-bottom:12px;

    color:#bdcad8;

    font-size:12px;

    line-height:1.45;
}


.footer-contact-item i{
    flex:0 0 15px;

    margin-top:2px;

    color:var(--red);

    font-size:12px;

    text-align:center;
}


.footer-contact-item a{
    color:#bdcad8;

    text-decoration:none;

    transition:color .2s ease;
}


.footer-contact-item a:hover{
    color:#fff;
}


/* =========================================================
   FOOTER QUOTE BUTTON
   ========================================================= */

.footer-quote-btn{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    min-height:38px;

    margin-top:7px;

    padding:0 17px;

    color:#fff;

    background:var(--red);

    border-radius:4px;

    font-size:10px;

    line-height:1;

    font-weight:800;

    text-decoration:none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.footer-quote-btn:hover{
    transform:translateY(-2px);

    box-shadow:0 6px 15px rgba(0,0,0,.20);
}


.footer-quote-btn i{
    font-size:9px;
}


/* =========================================================
   FOOTER BOTTOM
   ========================================================= */

.footer-bottom{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    min-height:58px;

    border-top:1px solid rgba(255,255,255,.12);
}


.footer-copyright{
    color:#8fa0b2;

    font-size:10px;

    line-height:1.4;
}


.footer-legal{
    display:flex;

    align-items:center;

    gap:20px;
}


.footer-legal a{
    color:#8fa0b2;

    font-size:10px;

    line-height:1.4;

    text-decoration:none;

    transition:color .2s ease;
}


.footer-legal a:hover{
    color:#fff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:950px) and (min-width:721px){

    .site-footer{
        padding-top:50px;
    }


    .footer-grid{
        grid-template-columns:
            1.4fr
            1fr
            1fr;

        gap:35px;

        padding-left:25px;

        padding-right:25px;
    }


    .footer-contact{
        grid-column:1 / -1;

        padding-top:10px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:720px){

    .site-footer{
        padding:48px 0 0;
    }


    /* -----------------------------------------------------
       Grid
       ----------------------------------------------------- */

    .footer-grid{
        display:flex;

        flex-direction:column;

        gap:32px;

        padding:0 18px 32px;
    }


    /* -----------------------------------------------------
       Brand
       ----------------------------------------------------- */

    .footer-brand{
        max-width:none;

        text-align:center;
    }


    .footer-logo{
        justify-content:center;

        margin-bottom:14px;
    }


    .footer-logo img{
        max-width:175px;

        max-height:52px;
    }


    .footer-brand p{
        max-width:390px;

        margin:0 auto;

        font-size:11px;

        line-height:1.6;
    }


    .footer-social{
        justify-content:center;

        margin-top:16px;
    }


    /* -----------------------------------------------------
       Columns
       ----------------------------------------------------- */

    .footer-column{
        width:100%;

        text-align:center;
    }


    .footer-column h3{
        margin-bottom:13px;

        font-size:11px;
    }


    .footer-column li{
        margin-bottom:8px;
    }


    .footer-column li a{
        font-size:11px;
    }


    /* -----------------------------------------------------
       Contact
       ----------------------------------------------------- */

    .footer-contact-item{
        justify-content:center;

        font-size:11px;
    }


    .footer-quote-btn{
        min-height:40px;

        padding:0 18px;

        font-size:10px;
    }


    /* -----------------------------------------------------
       Bottom
       ----------------------------------------------------- */

    .footer-bottom{
        flex-direction:column;

        justify-content:center;

        gap:8px;

        min-height:90px;

        padding:15px 18px;

        text-align:center;

        box-sizing:border-box;
    }


    .footer-copyright{
        font-size:9px;
    }


    .footer-legal{
        gap:15px;
    }


    .footer-legal a{
        font-size:9px;
    }

}

/* =========================================================
   MOBILE GALLERY BRAND LOGOS
   ========================================================= */

@media (max-width: 720px) {

	.gallery-brand-heading .gallery-brand-logo {
		width: 200px !important;
		max-width: none !important;
		height: auto !important;
		display: block;
		margin: 0 auto 8px;
	}

}