:root {
	--blue:#29aeea;
	--blue2:#0787c8;
	--dark:#06080b;
	--ink:#141820;
	--muted:#6b6f79;
	--gray:#6f7379;
	--light:#f6fbff;
	--white:#fff;
	--shadow:0 24px 70px rgba(0,0,0,.18);
	--radius:24px;
}
* {
	box-sizing:border-box
}
html {
	scroll-behavior:smooth
}
body {
	margin:0;
	font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
	color:var(--ink);
	background:#fff;
	line-height:1.6
}
a {
	color:inherit;
	text-decoration:none
}
img {
	max-width:100%;
	display:block
}
.container {
	width:min(1180px,92vw);
	margin:auto
}
.topbar {
	background:#050608;
	color:#dfe8ef;
	font-size:.92rem
}
.topbar .container {
	display:flex;
	justify-content:space-between;
	gap:16px;
	padding:8px 0
}
.site-header {
	position:sticky;
	top:0;
	z-index:1000;
	background:rgba(6,8,11,.88);
	backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(255,255,255,.08)
}
.nav-wrap {
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:82px
}
.brand img {
	height:62px;
	width:auto
}
.nav {
	display:flex;
	align-items:center;
	gap:4px;
	list-style:none;
	margin:0;
	padding:0
}
.nav>li {
	position:relative
}
.nav a,.nav button {
	font:700 14px/1 Inter,sans-serif;
	color:#fff;
	background:none;
	border:0;
	padding:18px 13px;
	cursor:pointer;
	letter-spacing:.02em
}
.nav a:hover,.nav button:hover {
	color:var(--blue)
}
.dropdown {
	position:absolute;
	top:100%;
	left:0;
	min-width:245px;
	background:#fff;
	color:var(--ink);
	box-shadow:var(--shadow);
	border-radius:16px;
	padding:10px;
	list-style:none;
	opacity:0;
	visibility:hidden;
	transform:translateY(10px);
	transition:.2s
}
.has-menu:hover>.dropdown,.has-menu:focus-within>.dropdown {
	opacity:1;
	visibility:visible;
	transform:translateY(0)
}
.dropdown a,.dropdown button {
	color:var(--ink);
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	padding:12px 14px;
	border-radius:12px
}
.dropdown a:hover,.dropdown button:hover {
	background:#eef9ff
}
.submenu {
	left:100%;
	top:0
}
.cta {
	background:linear-gradient(135deg,var(--blue),var(--blue2));
	color:#fff!important;
	border-radius:999px;
	padding:14px 18px!important;
	box-shadow:0 12px 25px rgba(41,174,234,.25)
}
.menu-toggle {
	display:none;
	background:none;
	border:0;
	color:#fff;
	font-size:28px
}
.hero {
	position:relative;
	min-height:760px;
	display:grid;
	place-items:center;
	overflow:hidden;
	background:#050608;
	color:#fff
}
.hero video {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	opacity:.46
}
.hero::before {
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 20% 30%,rgba(41,174,234,.35),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.48),rgba(0,0,0,.82))
}
.hero-content {
	position:relative;
	z-index:1;
	padding:90px 0
}
.eyebrow {
	color:var(--blue);
	font-weight:900;
	letter-spacing:.18em;
	text-transform:uppercase
}
.hero h1 {
	font-size:clamp(42px,7vw,88px);
	line-height:.96;
	margin:16px 0 22px;
	max-width:900px
}
.hero p {
	font-size:clamp(18px,2vw,23px);
	max-width:720px;
	color:#e7edf2
}
.hero-actions {
	display:flex;
	gap:16px;
	flex-wrap:wrap;
	margin-top:34px
}
.btn {
	display:inline-flex;
	align-items:center;
	gap:10px;
	border-radius:999px;
	padding:16px 23px;
	font-weight:900
}
.btn-primary {
	background:linear-gradient(135deg,var(--blue),var(--blue2));
	color:#fff
}
.btn-secondary {
	background:rgba(255,255,255,.11);
	color:#fff;
	border:1px solid rgba(255,255,255,.25)
}
.stats {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:16px;
	margin-top:60px;
	max-width:820px
}
.stat {
	background:rgba(255,255,255,.1);
	border:1px solid rgba(255,255,255,.16);
	border-radius:20px;
	padding:22px
}
.stat strong {
	font-size:30px;
	color:var(--blue);
	display:block
}
.section {
	padding:95px 0
}
.section.alt {
	background:var(--light)
}
.section-head {
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:36px
}
.section h2 {
	font-size:clamp(32px,4vw,54px);
	line-height:1.04;
	margin:0
}
.section p.lead {
	color:var(--muted);
	font-size:18px;
	max-width:650px
}
.grid {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px
}
.card {
	background:#fff;
	border:1px solid #e8eef4;
	border-radius:var(--radius);
	padding:30px;
	box-shadow:0 12px 40px rgba(20,24,32,.06);
	transition:.25s
}
.card:hover {
	transform:translateY(-6px);
	box-shadow:var(--shadow)
}
.icon {
	height:56px;
	width:56px;
	border-radius:18px;
	display:grid;
	place-items:center;
	background:linear-gradient(135deg,var(--blue),var(--blue2));
	color:#fff;
	font-size:26px
}
.card h3 {
	font-size:22px;
	margin:22px 0 8px
}
.split {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:48px;
	align-items:center
}
.panel {
	border-radius:32px;
	background:linear-gradient(145deg,#071018,#10141b);
	color:#fff;
	padding:44px;
	box-shadow:var(--shadow)
}
.panel ul {
	padding-left:22px
}
.work {
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:24px
}
.work .feature {
	min-height:430px;
	border-radius:32px;
	background:linear-gradient(135deg,rgba(41,174,234,.9),rgba(6,8,11,.92)),url('assets/aqua-pros-logo.png') center/55% no-repeat;
	color:#fff;
	padding:38px;
	display:flex;
	flex-direction:column;
	justify-content:end
}
.mini-grid {
	display:grid;
	gap:24px
}
.mini {
	background:#fff;
	border-radius:24px;
	padding:28px;
	border:1px solid #e8eef4
}
.contact-band {
	background:linear-gradient(135deg,#050608,#0c1720 60%,#063f60);
	color:#fff;
	border-radius:36px;
	padding:48px;
	display:flex;
	justify-content:space-between;
	gap:28px;
	align-items:center
}
.footer {
	background:#050608;
	color:#b9c2cc;
	padding:60px 0 30px
}
.footer-grid {
	display:grid;
	grid-template-columns:1.3fr 1fr 1fr;
	gap:34px
}
.footer-logo-row {
	display:flex;
	gap:22px;
	align-items:center;
	flex-wrap:wrap
}
.footer-logo-row img {
	height:72px;
	width:auto
}
.lic {
	display:inline-block;
	margin-top:18px;
	border:1px solid rgba(255,255,255,.18);
	border-radius:999px;
	padding:9px 14px;
	color:#fff
}
.copyright {
	border-top:1px solid rgba(255,255,255,.1);
	margin-top:36px;
	padding-top:24px;
	font-size:.9rem
}
.page-hero {
	padding:120px 0 70px;
	background:linear-gradient(135deg,#050608,#0e1d28);
	color:#fff
}
.content-page {
	padding:70px 0
}
.content-page h1 {
	font-size:clamp(38px,5vw,66px);
	line-height:1;
	margin:0 0 20px
}
.content-page .box {
	background:#fff;
	border:1px solid #e8eef4;
	border-radius:24px;
	padding:32px;
	box-shadow:0 12px 35px rgba(20,24,32,.06)
}
@media(max-width:900px) {
	.menu-toggle {
		display:block
	}
	.nav {
		position:absolute;
		top:100%;
		left:0;
		right:0;
		display:none;
		flex-direction:column;
		align-items:stretch;
		background:#050608;
		padding:18px
	}
	.nav.open {
		display:flex
	}
	.dropdown {
		position:static;
		opacity:1;
		visibility:visible;
		transform:none;
		display:none;
		margin:0 12px 8px
	}
	.has-menu.open>.dropdown {
		display:block
	}
	.submenu {
		left:auto
	}
	.nav a,.nav button {
		width:100%;
		text-align:left
	}
	.grid,.split,.work,.footer-grid {
		grid-template-columns:1fr
	}
	.stats {
		grid-template-columns:1fr
	}
	.section-head,.contact-band,.topbar .container {
		display:block
	}
	.hero {
		min-height:720px
	}
	.brand img {
		height:52px
	}
}

/* Upgraded glass/neon menu bar */

.site-header {
	background:linear-gradient(180deg,rgba(4,8,13,.96),rgba(6,12,18,.86));
	border-bottom:1px solid rgba(41,174,234,.32);
	box-shadow:0 14px 45px rgba(0,0,0,.34), inset 0 -1px 0 rgba(255,255,255,.06);
}
.site-header::before {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:3px;
	background:linear-gradient(90deg,transparent,var(--blue),#fff,var(--blue2),transparent);
	opacity:.85;
}
.nav-wrap {
	min-height:94px;
	position:relative
}
.brand {
	position:relative;
	z-index:2
}
.brand img {
	height:70px;
	filter:drop-shadow(0 0 16px rgba(41,174,234,.42))
}
.nav {
	gap:10px;
	background:rgba(255,255,255,.065);
	border:1px solid rgba(255,255,255,.12);
	border-radius:999px;
	padding:8px;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 40px rgba(0,0,0,.22)
}
.nav>li>a,.nav>li>button {
	position:relative;
	overflow:hidden;
	border-radius:999px;
	padding:15px 16px;
	text-transform:uppercase;
	font-size:12px;
	letter-spacing:.08em;
	transition:.24s ease
}
.nav>li>a::before,.nav>li>button::before {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(135deg,rgba(41,174,234,.26),rgba(255,255,255,.08));
	opacity:0;
	transition:.24s ease;
	z-index:-1
}
.nav>li>a:hover,.nav>li>button:hover {
	color:#fff;
	transform:translateY(-2px);
	text-shadow:0 0 18px rgba(41,174,234,.9)
}
.nav>li>a:hover::before,.nav>li>button:hover::before {
	opacity:1
}
.nav>li>a::after,.nav>li>button::after {
	content:"";
	position:absolute;
	left:18px;
	right:18px;
	bottom:7px;
	height:2px;
	border-radius:99px;
	background:var(--blue);
	box-shadow:0 0 12px var(--blue);
	transform:scaleX(0);
	transition:.24s ease
}
.nav>li>a:hover::after,.nav>li>button:hover::after {
	transform:scaleX(1)
}
.cta {
	border:1px solid rgba(255,255,255,.28);
	box-shadow:0 0 0 5px rgba(41,174,234,.10),0 14px 32px rgba(41,174,234,.36)!important;
	animation:ctaPulse 2.8s ease-in-out infinite
}
@keyframes ctaPulse {
	0%,100% {
		filter:brightness(1)
	}
	50% {
		filter:brightness(1.18)
	}
}
.dropdown {
	background:rgba(8,15,22,.96);
	color:#fff;
	border:1px solid rgba(41,174,234,.25);
	box-shadow:0 26px 70px rgba(0,0,0,.42),0 0 28px rgba(41,174,234,.12);
	backdrop-filter:blur(18px)
}
.dropdown a,.dropdown button {
	color:#fff
}
.dropdown a:hover,.dropdown button:hover {
	background:linear-gradient(135deg,rgba(41,174,234,.22),rgba(255,255,255,.08));
	color:#fff
}

/* Horizontal hero slides over the MP4 background */

.hero {
	min-height:820px
}
.hero::after {
	content:"";
	position:absolute;
	inset:auto 0 0 0;
	height:35%;
	background:linear-gradient(0deg,rgba(5,6,8,.92),transparent);
	pointer-events:none
}
.hero-slider {
	position:relative;
	z-index:1;
	width:100%;
	min-height:820px;
	display:flex;
	transition:transform .85s cubic-bezier(.19,1,.22,1);
	will-change:transform
}
.hero-slide {
	min-width:100%;
	display:grid;
	place-items:center;
	opacity:.55;
	transform:scale(.985);
	transition:opacity .65s ease,transform .65s ease
}
.hero-slide.active {
	opacity:1;
	transform:scale(1)
}
.hero-content {
	padding:120px 0 110px
}
.hero h1 {
	filter:drop-shadow(0 18px 38px rgba(0,0,0,.55))
}
.slide-dots {
	position:absolute;
	z-index:3;
	left:50%;
	bottom:38px;
	transform:translateX(-50%);
	display:flex;
	gap:12px;
	padding:10px 14px;
	border-radius:999px;
	background:rgba(255,255,255,.11);
	border:1px solid rgba(255,255,255,.18);
	backdrop-filter:blur(14px)
}
.slide-dots button {
	width:42px;
	height:6px;
	border:0;
	border-radius:999px;
	background:rgba(255,255,255,.42);
	cursor:pointer;
	transition:.3s
}
.slide-dots button.active {
	width:72px;
	background:linear-gradient(90deg,var(--blue),#fff);
	box-shadow:0 0 18px rgba(41,174,234,.8)
}
@media(max-width:900px) {
	.nav {
		border-radius:0;
		background:#050608;
		padding:18px
	}
	.nav-wrap {
		min-height:82px
	}
	.brand img {
		height:56px
	}
	.hero,.hero-slider {
		min-height:760px
	}
	.hero-content {
		padding:90px 0
	}
	.slide-dots {
		bottom:22px
	}
	.slide-dots button {
		width:28px
	}
	.slide-dots button.active {
		width:46px
	}
}

/* Final premium header/action upgrades */

.topbar {
	display:none
}
.site-header {
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:50;
	background:linear-gradient(180deg,rgba(3,7,11,.97),rgba(5,12,19,.82));
	backdrop-filter:blur(18px);
}
.nav-wrap {
	min-height:106px;
	gap:18px;
	max-width:1560px
}
.brand img {
	height:78px
}
.mega-nav {
	flex:1;
	justify-content:center;
	max-width:850px
}
.nav-icon {
	font-size:15px;
	color:var(--blue);
	filter:drop-shadow(0 0 8px rgba(41,174,234,.9))
}
.header-actions {
	display:flex;
	align-items:center;
	gap:16px;
	margin-left:auto
}
.header-phone {
	color:#42b7ff;
	font-size:clamp(20px,1.8vw,32px);
	font-weight:900;
	line-height:.95;
	text-decoration:none;
	letter-spacing:-.04em;
	text-shadow:0 0 20px rgba(41,174,234,.48);
	white-space:nowrap
}
.header-phone span {
	display:block;
	color:#fff;
	font-size:10px;
	letter-spacing:.22em;
	margin-bottom:6px
}
.chat-btn {
	background:linear-gradient(135deg,var(--blue),#117fb3);
	color:#fff;
	padding:17px 25px;
	border-radius:999px;
	font-weight:900;
	text-decoration:none;
	box-shadow:0 0 0 6px rgba(41,174,234,.12),0 0 32px rgba(41,174,234,.56);
	border:1px solid rgba(255,255,255,.26);
	white-space:nowrap;
	transition:.25s ease
}
.chat-btn:hover {
	transform:translateY(-3px) scale(1.03);
	box-shadow:0 0 0 8px rgba(41,174,234,.16),0 0 52px rgba(41,174,234,.82)
}
.nav .cta {
	display:none
}
.mega-menu {
	min-width:330px;
	padding:14px;
	display:grid;
	gap:8px;
	border-radius:24px
}
.mega-menu a,.mega-menu button {
	gap:12px;
	align-items:flex-start;
	text-align:left
}
.mega-menu strong {
	display:block
}
.mega-menu small {
	display:block;
	color:#9eb0bf;
	margin-top:2px
}
.mega-heading {
	color:var(--blue);
	font-size:11px;
	font-weight:900;
	letter-spacing:.18em;
	text-transform:uppercase;
	padding:10px 12px 2px
}
.services-menu {
	min-width:390px
}
.submenu {
	min-width:260px
}
.about-menu {
	grid-template-columns:1fr
}
.work-menu {
	min-width:360px
}

/* Left-justified horizontal hero slides + overlays */

.hero {
	padding-top:106px;
	display:block
}
.hero-slider {
	align-items:stretch
}
.hero-slide {
	place-items:stretch;
	align-items:center
}
.hero-content {
	min-height:714px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	text-align:left;
	margin:0 auto;
	padding-left:clamp(24px,6vw,92px);
	padding-right:24px
}
.hero h1,.hero p {
	margin-left:0
}
.hero-badges {
	position:absolute;
	right:clamp(24px,6vw,90px);
	top:150px;
	z-index:4;
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	justify-content:flex-end
}
.emergency-badge,.review-badge {
	border-radius:999px;
	padding:12px 16px;
	color:#fff;
	font-weight:900;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.22);
	backdrop-filter:blur(14px);
	box-shadow:0 14px 34px rgba(0,0,0,.28)
}
.emergency-badge {
	background:linear-gradient(135deg,rgba(41,174,234,.92),rgba(17,127,179,.72))
}
.review-badge {
	color:#f5fbff
}
.stats .stat strong::after {
	content:attr(data-suffix)
}
.stats .stat span {
	display:block;
	color:#fff
}
.service-ribbon {
	position:relative;
	z-index:5;
	display:flex;
	justify-content:center;
	gap:22px;
	flex-wrap:wrap;
	padding:18px 20px;
	background:linear-gradient(90deg,#071018,#0e2e42,#071018);
	color:#fff;
	border-top:1px solid rgba(41,174,234,.24);
	border-bottom:1px solid rgba(41,174,234,.24);
	box-shadow:0 12px 40px rgba(0,0,0,.18)
}
.service-ribbon span {
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.12em;
	font-size:13px
}
.service-ribbon span::before {
	content:"•";
	color:var(--blue);
	margin-right:16px
}
.water-ripples {
	position:absolute;
	inset:0;
	z-index:1;
	pointer-events:none;
	overflow:hidden
}
.water-ripples span {
	position:absolute;
	width:360px;
	height:360px;
	border:1px solid rgba(41,174,234,.28);
	border-radius:50%;
	animation:ripple 8s linear infinite;
	opacity:0
}
.water-ripples span:nth-child(1) {
	left:8%;
	top:24%;
	animation-delay:0s
}
.water-ripples span:nth-child(2) {
	left:54%;
	top:18%;
	animation-delay:2.4s
}
.water-ripples span:nth-child(3) {
	left:72%;
	top:58%;
	animation-delay:4.6s
}
@keyframes ripple {
	0% {
		transform:scale(.25);
		opacity:0
	}
	18% {
		opacity:.55
	}
	100% {
		transform:scale(2.6);
		opacity:0
	}
}
.parallax-section {
	background-attachment:fixed;
	background-image:radial-gradient(circle at var(--px,50%) var(--py,50%),rgba(41,174,234,.12),transparent 28%)
}
@media(max-width:1180px) {
	.nav-wrap {
		flex-wrap:wrap;
		padding-top:10px;
		padding-bottom:10px
	}
	.header-actions {
		order:3;
		width:100%;
		justify-content:center
	}
	.mega-nav {
		max-width:none
	}
	.header-phone {
		font-size:26px
	}
	.chat-btn {
		padding:15px 22px
	}
}
@media(max-width:900px) {
	.site-header {
		position:sticky
	}
	.nav-wrap {
		min-height:88px;
		flex-wrap:nowrap
	}
	.header-actions {
		display:none
	}
	.mega-nav {
		max-width:none
	}
	.mega-menu {
		min-width:auto
	}
	.hero {
		padding-top:0
	}
	.hero-content {
		min-height:760px;
		padding-left:24px
	}
	.hero-badges {
		left:20px;
		right:20px;
		top:112px;
		justify-content:flex-start
	}
	.emergency-badge,.review-badge {
		font-size:12px;
		padding:10px 12px
	}
	.service-ribbon {
		justify-content:flex-start;
		overflow-x:auto;
		flex-wrap:nowrap
	}
	.parallax-section {
		background-attachment:scroll
	}
}

/* Left edge hero alignment correction */

.hero-content {
	margin:0;
	width:100%;
	max-width:1120px;
	padding-left:clamp(24px,6vw,92px);
	padding-right:24px;
	align-items:flex-start;
	text-align:left;
}
.hero-slide {
	justify-items:start;
}
.hero h1, .hero p, .hero-actions, .stats {
	margin-left:0;
	text-align:left;
}


/* No-video hero + right-side transforming slide images */
.hero {
	background:
		radial-gradient(circle at 16% 28%, rgba(41,174,234,.34), transparent 28%),
		radial-gradient(circle at 82% 42%, rgba(7,135,200,.22), transparent 34%),
		linear-gradient(135deg, #03070b 0%, #07121b 46%, #03121c 100%);
}
.hero video {
	display:none !important;
}
.hero::before {
	background:
		linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.56) 46%, rgba(0,0,0,.18) 72%, rgba(0,0,0,.62) 100%);
}
.hero-slide {
	position:relative;
	overflow:hidden;
	justify-items:start;
}
.hero-content {
	position:relative;
	z-index:3;
	max-width:760px;
	margin:0;
	padding-right:clamp(24px, 38vw, 560px);
}
.hero-image-panel {
	position:absolute;
	right:clamp(24px, 6vw, 96px);
	top:50%;
	z-index:2;
	width:clamp(280px, 31vw, 520px);
	min-height:clamp(320px, 38vw, 560px);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:clamp(28px, 4vw, 54px);
	border-radius:42px;
	background:
		linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.045)),
		radial-gradient(circle at 30% 20%, rgba(255,255,255,.26), transparent 30%),
		linear-gradient(135deg, rgba(41,174,234,.38), rgba(7,135,200,.16));
	border:1px solid rgba(255,255,255,.22);
	box-shadow:0 34px 90px rgba(0,0,0,.42), 0 0 70px rgba(41,174,234,.18);
	backdrop-filter:blur(16px);
	opacity:0;
	transform:translateY(-50%) translateX(160px) rotate(4deg) scale(.92);
	transition:opacity .75s ease, transform .9s cubic-bezier(.19,1,.22,1), filter .75s ease;
	filter:blur(6px);
}
.hero-image-panel::before,
.hero-image-panel::after {
	content:"";
	position:absolute;
	border-radius:50%;
	pointer-events:none;
}
.hero-image-panel::before {
	inset:28px;
	border:1px solid rgba(41,174,234,.26);
	animation:heroImageRipple 5.5s ease-in-out infinite;
}
.hero-image-panel::after {
	width:160px;
	height:160px;
	right:-38px;
	bottom:-38px;
	background:rgba(41,174,234,.22);
	filter:blur(18px);
}
.hero-image-panel img {
	position:relative;
	z-index:2;
	width:min(82%, 380px);
	height:auto;
	filter:drop-shadow(0 28px 36px rgba(0,0,0,.4));
}
.hero-image-panel span {
	position:absolute;
	left:28px;
	bottom:28px;
	z-index:3;
	color:#fff;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.14em;
	font-size:12px;
	padding:10px 14px;
	border-radius:999px;
	background:rgba(3,7,11,.64);
	border:1px solid rgba(255,255,255,.18);
}
.hero-slide.active .hero-image-panel {
	opacity:1;
	transform:translateY(-50%) translateX(0) rotate(0deg) scale(1);
	filter:blur(0);
}
.hero-slide:not(.active) .hero-image-panel {
	transform:translateY(-50%) translateX(190px) rotate(6deg) scale(.9);
}
.hero-image-two {
	background:
		linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.045)),
		radial-gradient(circle at 70% 25%, rgba(255,255,255,.22), transparent 30%),
		linear-gradient(135deg, rgba(7,135,200,.46), rgba(41,174,234,.14));
}
.hero-image-three {
	background:
		linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.045)),
		radial-gradient(circle at 40% 70%, rgba(255,255,255,.22), transparent 28%),
		linear-gradient(135deg, rgba(3,37,54,.82), rgba(41,174,234,.22));
}
@keyframes heroImageRipple {
	0%, 100% {
		transform:scale(.96);
		opacity:.55;
	}
	50% {
		transform:scale(1.04);
		opacity:.18;
	}
}
@media(max-width:1180px) {
	.hero-content {
		max-width:700px;
		padding-right:clamp(24px, 30vw, 420px);
	}
	.hero-image-panel {
		width:clamp(240px, 30vw, 390px);
		min-height:clamp(260px, 34vw, 420px);
		right:28px;
	}
}
@media(max-width:900px) {
	.hero-content {
		max-width:none;
		padding-right:24px;
		padding-top:340px;
		justify-content:flex-start;
	}
	.hero-image-panel {
		top:130px;
		left:24px;
		right:auto;
		width:min(78vw, 360px);
		min-height:210px;
		transform:translateX(90px) rotate(4deg) scale(.92);
	}
	.hero-slide.active .hero-image-panel {
		transform:translateX(0) rotate(0deg) scale(1);
	}
	.hero-slide:not(.active) .hero-image-panel {
		transform:translateX(120px) rotate(6deg) scale(.9);
	}
}


/* Image 2 inspired layout + requested header/menu/hero updates */
:root {
	--ap-navy:#071426;
	--ap-deep:#020814;
	--ap-blue:#0969df;
	--ap-sky:#19aef2;
	--ap-text:#061126;
}
body {
	background:#fff;
}
.topbar {
	display:block;
	background:#050a12;
	color:#fff;
	font-weight:800;
	letter-spacing:.02em;
}
.topbar .container {
	max-width:100%;
	width:100%;
	padding:8px 28px;
}
.site-header {
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:1000;
	background:rgba(255,255,255,.97);
	border-bottom:4px solid var(--ap-blue);
	box-shadow:0 10px 34px rgba(4,20,42,.14);
	backdrop-filter:blur(12px);
	overflow:visible;
}
.site-header::before {
	display:none;
}
.nav-wrap {
	min-height:96px;
	width:100%;
	max-width:100%;
	padding:0 34px;
	gap:28px;
	overflow:visible;
}
.brand {
	align-self:flex-start;
	margin-bottom:-56px;
	z-index:10;
	flex:0 0 auto;
}
.brand img {
	height:168px;
	width:auto;
	filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));
}
.mega-nav,
.nav {
	background:transparent;
	border:0;
	box-shadow:none;
	border-radius:0;
	padding:0;
	gap:24px;
	flex-wrap:nowrap;
	justify-content:center;
	max-width:none;
}
.nav>li>a,
.nav>li>button {
	color:var(--ap-text);
	font-size:14px;
	font-weight:900;
	letter-spacing:.02em;
	padding:38px 0;
	white-space:nowrap;
	text-transform:uppercase;
}
.nav>li>a:hover,
.nav>li>button:hover {
	color:var(--ap-blue);
	text-shadow:none;
	transform:none;
}
.nav>li>a::before,
.nav>li>button::before,
.nav>li>a::after,
.nav>li>button::after {
	display:none;
}
.nav-icon,
.nav svg,
.nav i,
.dropdown svg,
.dropdown i,
.dropdown span {
	display:none!important;
}
.header-actions {
	gap:0;
	margin-left:auto;
	flex:0 0 auto;
}
.header-phone {
	color:var(--ap-text);
	font-size:clamp(20px,1.55vw,28px);
	letter-spacing:-.03em;
	text-shadow:none;
	white-space:nowrap;
}
.header-phone span {
	color:var(--ap-blue);
	font-size:13px;
	letter-spacing:.08em;
	margin-bottom:3px;
}
.chat-btn {
	display:none!important;
}
.dropdown {
	background:#fff;
	color:var(--ap-text);
	border:1px solid rgba(9,105,223,.16);
	box-shadow:0 26px 70px rgba(2,8,20,.18);
	backdrop-filter:blur(18px);
}
.dropdown a,
.dropdown button {
	color:var(--ap-text);
}
.dropdown a:hover,
.dropdown button:hover {
	background:#eef7ff;
	color:var(--ap-blue);
}
.mega-menu a,
.mega-menu button {
	gap:0;
}
.hero {
	min-height:760px;
	padding-top:96px;
	background:linear-gradient(100deg,#ffffff 0%,#f7fbff 49%,#edf6ff 100%);
	color:var(--ap-text);
	display:block;
	overflow:hidden;
}
.hero::before {
	content:"";
	position:absolute;
	inset:0;
	background:
		radial-gradient(circle at 4% 70%,rgba(25,174,242,.18),transparent 20%),
		linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 58%,rgba(255,255,255,.08) 100%);
	z-index:0;
}
.hero::after {
	content:"";
	position:absolute;
	left:-8%;
	right:-8%;
	bottom:-130px;
	height:230px;
	background:linear-gradient(135deg,var(--ap-sky),var(--ap-blue) 48%,var(--ap-navy));
	border-radius:50% 50% 0 0;
	box-shadow:0 -16px 0 rgba(25,174,242,.25);
	z-index:2;
}
.water-ripples {
	display:none;
}
.hero-badges {
	display:none;
}
.hero-slider {
	position:relative;
	z-index:1;
	min-height:664px;
	width:100%;
	display:flex;
	transition:transform .85s cubic-bezier(.19,1,.22,1);
	will-change:transform;
}
.hero-slide {
	min-width:100%;
	min-height:664px;
	display:block;
	opacity:.35;
	transform:scale(.985);
	transition:opacity .7s ease,transform .7s ease;
}
.hero-slide.active {
	opacity:1;
	transform:scale(1);
}
.hero-content {
	width:100%;
	max-width:100%;
	min-height:664px;
	margin:0;
	padding:52px 0 90px 7vw;
	display:grid;
	grid-template-columns:minmax(0,66%) minmax(280px,34%);
	align-items:center;
	gap:8px;
	text-align:left;
}
.hero-copy {
	position:relative;
	z-index:3;
	max-width:920px;
}
.eyebrow {
	color:var(--ap-blue);
	font-size:clamp(15px,1.45vw,22px);
	font-weight:900;
	letter-spacing:.12em;
	font-style:italic;
}
.hero h1 {
	color:var(--ap-text);
	font-size:clamp(52px,5.4vw,104px);
	line-height:.94;
	letter-spacing:-.055em;
	max-width:980px;
	margin:18px 0 22px;
	filter:none;
}
.hero h1::first-letter {
	color:var(--ap-blue);
}
.hero p {
	color:#334155;
	font-size:clamp(18px,1.45vw,25px);
	line-height:1.42;
	max-width:760px;
	margin:0;
}
.hero-actions {
	margin-top:32px;
	gap:22px;
}
.btn {
	min-width:190px;
	justify-content:center;
	border-radius:12px;
	padding:18px 28px;
	font-size:15px;
	letter-spacing:.02em;
	box-shadow:0 16px 34px rgba(9,105,223,.18);
}
.btn-primary {
	background:linear-gradient(135deg,var(--ap-blue),var(--ap-sky));
}
.btn-secondary {
	background:#fff;
	color:var(--ap-blue);
	border:2px solid rgba(9,105,223,.9);
}
.trust-row {
	display:flex;
	gap:32px;
	flex-wrap:wrap;
	margin-top:34px;
	color:#334155;
	font-weight:700;
}
.trust-row span {
	position:relative;
	padding-left:30px;
}
.trust-row span::before {
	content:"✓";
	position:absolute;
	left:0;
	top:-1px;
	width:20px;
	height:20px;
	border:2px solid var(--ap-blue);
	border-radius:50%;
	color:var(--ap-blue);
	display:grid;
	place-items:center;
	font-size:12px;
	font-weight:900;
}
.hero-visual {
	position:relative;
	z-index:2;
	height:100%;
	min-height:590px;
	align-self:stretch;
	display:flex;
	align-items:flex-end;
	justify-content:flex-end;
	overflow:visible;
	clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);
	background:linear-gradient(135deg,rgba(9,105,223,.14),rgba(255,255,255,.66));
	border-left:8px solid var(--ap-blue);
	box-shadow:inset 18px 0 0 rgba(25,174,242,.16);
}
.hero-visual img {
	max-width:none;
	width:min(690px,44vw);
	max-height:620px;
	object-fit:contain;
	object-position:right bottom;
	filter:drop-shadow(0 30px 34px rgba(0,0,0,.22));
	transform:translateX(70px) scale(.94);
	opacity:0;
	transition:transform .9s cubic-bezier(.19,1,.22,1),opacity .8s ease;
}
.hero-slide.active .hero-visual img {
	transform:translateX(0) scale(1);
	opacity:1;
}
.slide-dots {
	z-index:5;
	left:50%;
	bottom:38px;
	background:rgba(255,255,255,.76);
	border:1px solid rgba(9,105,223,.15);
	box-shadow:0 12px 32px rgba(2,8,20,.1);
}
.slide-dots button {
	background:#d8e3ee;
}
.slide-dots button.active {
	background:var(--ap-blue);
	box-shadow:0 0 18px rgba(9,105,223,.45);
}
.service-ribbon {
	background:#fff;
	color:var(--ap-text);
	box-shadow:0 12px 36px rgba(2,8,20,.1);
	border-top:1px solid #e5eef7;
	border-bottom:1px solid #e5eef7;
}
.service-ribbon span::before {
	color:var(--ap-blue);
}
@media(max-width:1280px) {
	.nav-wrap {
		gap:18px;
		padding:0 22px;
	}
	.brand img {
		height:140px;
	}
	.nav {
		gap:14px;
	}
	.nav>li>a,
	.nav>li>button {
		font-size:12px;
	}
	.header-phone {
		font-size:20px;
	}
	.hero-content {
		grid-template-columns:minmax(0,62%) minmax(280px,38%);
		padding-left:5vw;
	}
	.hero h1 {
		font-size:clamp(46px,5vw,76px);
	}
}
@media(max-width:900px) {
	.topbar {
		display:none;
	}
	.site-header {
		position:sticky;
	}
	.nav-wrap {
		min-height:86px;
		padding:0 18px;
	}
	.brand {
		margin-bottom:-26px;
	}
	.brand img {
		height:104px;
	}
	.nav {
		background:#fff;
		box-shadow:0 20px 40px rgba(2,8,20,.16);
		border-top:1px solid #dbeafe;
		gap:0;
	}
	.nav>li>a,
	.nav>li>button {
		padding:16px 4px;
		color:var(--ap-text);
	}
	.header-actions {
		display:none;
	}
	.hero {
		padding-top:0;
		min-height:auto;
	}
	.hero-slider,
	.hero-slide,
	.hero-content {
		min-height:auto;
	}
	.hero-content {
		grid-template-columns:1fr;
		padding:56px 24px 120px;
	}
	.hero-visual {
		min-height:320px;
		clip-path:none;
		border-left:0;
		border-top:5px solid var(--ap-blue);
		justify-content:center;
	}
	.hero-visual img {
		width:min(520px,94vw);
		max-height:380px;
	}
	.hero h1 {
		font-size:clamp(42px,13vw,64px);
	}
	.trust-row {
		gap:16px;
	}
}


/* Exact image-style redesign override */
:root {
	--image-blue:#0969df;
	--image-sky:#19aef2;
	--image-navy:#06152f;
	--image-ink:#071229;
	--image-soft:#f7fbff;
}

.topbar,
.hero-badges,
.water-ripples,
.chat-btn,
.nav-icon,
.nav svg,
.nav i,
.dropdown svg,
.dropdown i,
.dropdown > li > a > span,
.dropdown > li > button > span {
	display:none!important;
}

.site-header {
	position:sticky;
	top:0;
	left:0;
	right:0;
	z-index:1000;
	height:136px;
	background:#fff;
	border-bottom:4px solid var(--image-blue);
	box-shadow:0 10px 26px rgba(2,8,20,.18);
	backdrop-filter:none;
	overflow:visible;
}

.site-header::before,
.site-header::after {
	display:none!important;
}

.nav-wrap {
	width:100%;
	max-width:1760px;
	min-height:132px;
	padding:0 clamp(28px,3.6vw,70px);
	display:grid;
	grid-template-columns:minmax(250px,330px) minmax(0,1fr) auto;
	align-items:center;
	gap:28px;
}

.brand {
	position:relative;
	z-index:12;
	align-self:center;
	margin:0 0 -48px 0;
	display:block;
}

.brand img {
	height:158px;
	width:auto;
	filter:drop-shadow(0 14px 18px rgba(0,0,0,.16));
}

.mega-nav,
.nav {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:clamp(18px,2.1vw,38px);
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	border-radius:0!important;
	padding:0!important;
	margin:0!important;
	list-style:none;
	flex-wrap:nowrap;
}

.nav > li {
	position:relative;
	flex:0 0 auto;
}

.nav > li > a,
.nav > li > button {
	color:var(--image-ink)!important;
	font-size:clamp(13px,.88vw,17px)!important;
	font-weight:900!important;
	font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
	letter-spacing:.02em!important;
	line-height:1!important;
	padding:58px 0 52px!important;
	white-space:nowrap;
	text-transform:uppercase;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
}

.nav > li > a:hover,
.nav > li > button:hover {
	color:var(--image-blue)!important;
	transform:none!important;
	text-shadow:none!important;
}

.nav > li > a::before,
.nav > li > a::after,
.nav > li > button::before,
.nav > li > button::after {
	display:none!important;
}

.header-actions {
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:0;
	margin:0;
	white-space:nowrap;
}

.header-phone {
	position:relative;
	padding-left:54px;
	color:var(--image-ink)!important;
	font-size:clamp(22px,1.8vw,34px)!important;
	font-weight:950!important;
	letter-spacing:-.04em!important;
	line-height:.95!important;
	text-shadow:none!important;
	white-space:nowrap;
}

.header-phone::before {
	content:"☎";
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%) rotate(-12deg);
	color:var(--image-blue);
	font-size:42px;
	line-height:1;
}

.header-phone span {
	display:block;
	color:var(--image-blue)!important;
	font-size:clamp(12px,.9vw,18px)!important;
	font-weight:950!important;
	letter-spacing:.04em!important;
	margin:0 0 4px 0!important;
	text-transform:uppercase;
}

.dropdown {
	background:#fff!important;
	color:var(--image-ink)!important;
	border:1px solid #d8e9ff!important;
	box-shadow:0 24px 60px rgba(2,8,20,.18)!important;
	border-radius:12px!important;
	padding:10px!important;
	backdrop-filter:none!important;
}

.dropdown a,
.dropdown button {
	color:var(--image-ink)!important;
	background:transparent!important;
}

.dropdown a:hover,
.dropdown button:hover {
	background:#eef7ff!important;
	color:var(--image-blue)!important;
}

.mega-menu a,
.mega-menu button {
	gap:0!important;
}

.hero {
	position:relative;
	min-height:820px;
	padding-top:0!important;
	background:linear-gradient(90deg,#fff 0%,#f9fcff 54%,#eef7ff 100%)!important;
	color:var(--image-ink);
	overflow:hidden;
	display:block!important;
}

.hero::before {
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	background:
		radial-gradient(circle at 8% 68%,rgba(9,105,223,.08),transparent 19%),
		linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 61%,rgba(255,255,255,.22) 100%);
}

.hero::after {
	content:"";
	position:absolute;
	left:-7%;
	right:-7%;
	bottom:-118px;
	height:235px;
	z-index:3;
	background:
		linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 22%),
		linear-gradient(135deg,#22c4ff 0%,#0969df 52%,#042b6b 100%);
	border-radius:50% 50% 0 0;
	box-shadow:0 -14px 0 rgba(25,174,242,.34),0 -34px 58px rgba(9,105,223,.23);
}

.hero-slider {
	position:relative;
	z-index:1;
	width:100%;
	min-height:820px;
	display:flex;
	transition:transform .85s cubic-bezier(.19,1,.22,1);
	will-change:transform;
}

.hero-slide {
	position:relative;
	min-width:100%;
	min-height:820px;
	display:block!important;
	opacity:.35;
	transform:scale(.992);
	transition:opacity .72s ease,transform .72s ease;
}

.hero-slide.active {
	opacity:1;
	transform:scale(1);
}

.hero-content {
	position:relative;
	z-index:2;
	width:100%;
	max-width:100%;
	min-height:820px;
	margin:0!important;
	padding:80px 0 128px clamp(60px,5.7vw,116px)!important;
	display:grid!important;
	grid-template-columns:minmax(0,65%) minmax(300px,35%)!important;
	align-items:center;
	gap:0;
	text-align:left;
}

.hero-copy {
	position:relative;
	z-index:4;
	max-width:1040px;
	padding-top:14px;
}

.eyebrow {
	position:relative;
	display:inline-block;
	color:var(--image-blue)!important;
	font-size:clamp(18px,1.35vw,27px)!important;
	font-weight:950!important;
	font-style:italic;
	letter-spacing:.13em!important;
	text-transform:uppercase;
	margin-bottom:18px;
}

.eyebrow::after {
	content:"";
	position:absolute;
	left:56%;
	bottom:-9px;
	width:96px;
	height:4px;
	border-radius:99px;
	background:var(--image-sky);
}

.hero h1 {
	color:var(--image-ink)!important;
	font-size:clamp(64px,6.45vw,122px)!important;
	line-height:.93!important;
	letter-spacing:-.065em!important;
	font-weight:950!important;
	max-width:1080px!important;
	margin:18px 0 24px!important;
	filter:none!important;
}

.hero h1::first-letter {
	color:inherit!important;
}

.hero h1 strong,
.hero h1 em {
	color:var(--image-blue);
	font-style:normal;
}

.hero p {
	color:#1d293d!important;
	font-size:clamp(19px,1.35vw,27px)!important;
	line-height:1.38!important;
	max-width:760px!important;
	margin:0!important;
}

.hero-actions {
	display:flex;
	gap:24px!important;
	flex-wrap:wrap;
	margin-top:34px!important;
}

.btn {
	min-width:250px;
	justify-content:center;
	border-radius:999px!important;
	padding:18px 30px!important;
	font-size:clamp(14px,.95vw,18px)!important;
	font-weight:950!important;
	letter-spacing:.02em;
	box-shadow:0 16px 32px rgba(9,105,223,.22)!important;
}

.btn-primary {
	background:linear-gradient(180deg,#1588ff,#075bd1)!important;
	color:#fff!important;
}

.btn-primary::before {
	content:"☎";
	width:42px;
	height:42px;
	border-radius:50%;
	background:#fff;
	color:var(--image-blue);
	display:inline-grid;
	place-items:center;
	margin-left:-12px;
	font-size:23px;
}

.btn-secondary {
	background:#fff!important;
	color:var(--image-blue)!important;
	border:2px solid #d7e9ff!important;
}

.trust-row {
	position:relative;
	z-index:5;
	display:grid!important;
	grid-template-columns:repeat(4,minmax(120px,1fr));
	gap:0!important;
	max-width:900px;
	margin-top:42px!important;
	padding:0;
	background:transparent;
	color:var(--image-ink)!important;
	font-weight:900!important;
}

.trust-row span {
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	text-align:center;
	min-height:116px;
	padding:72px 22px 0!important;
	font-size:clamp(13px,.95vw,18px)!important;
	line-height:1.16;
}

.trust-row span + span {
	border-left:1px solid rgba(9,105,223,.38);
}

.trust-row span::before {
	position:absolute;
	left:50%!important;
	top:0!important;
	transform:translateX(-50%);
	width:58px!important;
	height:58px!important;
	border:0!important;
	border-radius:50%;
	background:linear-gradient(180deg,#18a8ff,#075bd1)!important;
	box-shadow:0 12px 22px rgba(9,105,223,.24);
	color:#fff!important;
	display:grid!important;
	place-items:center!important;
	font-size:30px!important;
	font-weight:900!important;
}

.trust-row span:nth-child(1)::before { content:"↺"; }
.trust-row span:nth-child(2)::before { content:"⌾"; }
.trust-row span:nth-child(3)::before { content:"✦"; }
.trust-row span:nth-child(4)::before { content:"●"; }

.hero-visual {
	position:relative;
	z-index:2;
	height:100%;
	min-height:690px;
	align-self:stretch;
	display:flex!important;
	align-items:flex-end;
	justify-content:flex-end;
	overflow:visible;
	clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);
	background:linear-gradient(135deg,rgba(9,105,223,.12),rgba(255,255,255,.82) 50%,rgba(240,248,255,.92));
	border-left:8px solid var(--image-blue);
	box-shadow:inset 18px 0 0 rgba(25,174,242,.16);
}

.hero-visual::before {
	content:"";
	position:absolute;
	left:-25px;
	top:0;
	bottom:0;
	width:7px;
	background:#39bfff;
	transform:skewX(-11deg);
	box-shadow:0 0 0 7px rgba(9,105,223,.18);
}

.hero-visual img {
	position:relative;
	z-index:2;
	max-width:none!important;
	width:min(720px,38vw)!important;
	max-height:690px!important;
	object-fit:contain;
	object-position:right bottom;
	filter:drop-shadow(0 28px 28px rgba(0,0,0,.22));
	transform:translateX(76px) scale(.95);
	opacity:0;
	transition:transform .92s cubic-bezier(.19,1,.22,1),opacity .8s ease;
}

.hero-slide.active .hero-visual img {
	transform:translateX(0) scale(1);
	opacity:1;
}

.slide-dots {
	position:absolute!important;
	z-index:6!important;
	left:50%!important;
	bottom:34px!important;
	transform:translateX(-50%)!important;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	padding:0!important;
}

.slide-dots button {
	width:18px!important;
	height:18px!important;
	border-radius:50%!important;
	background:#d8e2ec!important;
}

.slide-dots button.active {
	width:18px!important;
	background:var(--image-blue)!important;
	box-shadow:0 0 18px rgba(9,105,223,.45)!important;
}

.service-ribbon {
	display:none!important;
}

@media(max-width:1500px) {
	.nav-wrap {
		grid-template-columns:minmax(210px,270px) minmax(0,1fr) auto;
		gap:22px;
	}
	.brand img {
		height:132px;
	}
	.nav {
		gap:clamp(14px,1.5vw,24px);
	}
	.hero h1 {
		font-size:clamp(56px,5.7vw,92px)!important;
	}
	.hero-content {
		grid-template-columns:minmax(0,64%) minmax(280px,36%)!important;
		padding-left:5vw!important;
	}
	.hero-visual img {
		width:min(630px,39vw)!important;
	}
}

@media(max-width:1120px) {
	.site-header {
		height:auto;
	}
	.nav-wrap {
		min-height:104px;
		grid-template-columns:auto auto;
	}
	.menu-toggle {
		display:block!important;
		justify-self:end;
		color:var(--image-ink)!important;
	}
	.header-actions {
		display:none!important;
	}
	.nav {
		position:absolute;
		top:100%;
		left:0;
		right:0;
		display:none;
		flex-direction:column;
		align-items:stretch;
		background:#fff!important;
		padding:16px 24px!important;
		box-shadow:0 22px 40px rgba(2,8,20,.16)!important;
	}
	.nav.open {
		display:flex!important;
	}
	.nav > li > a,
	.nav > li > button {
		padding:16px 0!important;
		width:100%;
		text-align:left;
	}
	.brand {
		margin-bottom:-32px;
	}
	.brand img {
		height:112px;
	}
}

@media(max-width:900px) {
	.hero {
		min-height:auto;
	}
	.hero-slider,
	.hero-slide,
	.hero-content {
		min-height:auto;
	}
	.hero-content {
		grid-template-columns:1fr!important;
		padding:58px 24px 125px!important;
	}
	.hero-visual {
		min-height:350px;
		clip-path:none;
		border-left:0;
		border-top:6px solid var(--image-blue);
		justify-content:center;
	}
	.hero-visual::before {
		display:none;
	}
	.hero-visual img {
		width:min(540px,94vw)!important;
		max-height:420px!important;
	}
	.hero h1 {
		font-size:clamp(42px,12vw,68px)!important;
	}
	.trust-row {
		grid-template-columns:repeat(2,1fr);
		gap:18px 0!important;
	}
	.trust-row span:nth-child(3) {
		border-left:0;
	}
}

/* Final visual tuning: larger branded logo, cooler aqua/navy palette, smaller hero text, stronger water background */
:root {
	--image-blue:#0572ee;
	--image-sky:#21c2ff;
	--image-cyan:#65dcff;
	--image-navy:#061a3f;
	--image-ink:#061228;
	--image-water:#dff5ff;
}

.site-header {
	height:156px;
	background:linear-gradient(180deg,#ffffff 0%,#f4fbff 100%)!important;
	border-bottom:5px solid var(--image-blue)!important;
	box-shadow:0 14px 34px rgba(4,22,55,.18),0 0 0 1px rgba(33,194,255,.24)!important;
}

.nav-wrap {
	min-height:152px;
	grid-template-columns:minmax(340px,460px) minmax(0,1fr) auto;
	gap:34px;
}

.brand {
	position:relative;
	margin-bottom:-62px;
	padding:10px 18px 12px 10px;
}

.brand::before {
	content:"";
	position:absolute;
	inset:5px -8px 2px -8px;
	z-index:-1;
	border-radius:28px;
	background:radial-gradient(circle at 20% 20%,rgba(101,220,255,.55),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.96),rgba(222,245,255,.82));
	box-shadow:0 22px 40px rgba(6,26,63,.22),0 0 0 1px rgba(33,194,255,.28),0 0 36px rgba(33,194,255,.26);
}

.brand img {
	height:196px!important;
	filter:drop-shadow(0 18px 20px rgba(6,18,40,.22)) drop-shadow(0 0 18px rgba(33,194,255,.30))!important;
}

.nav > li > a,
.nav > li > button {
	color:#071a39!important;
	font-size:clamp(12px,.78vw,15px)!important;
	letter-spacing:.035em!important;
	padding:68px 0 62px!important;
}

.nav > li > a:hover,
.nav > li > button:hover {
	color:var(--image-blue)!important;
}

.header-phone {
	color:#071a39!important;
	font-size:clamp(20px,1.45vw,28px)!important;
}

.header-phone::before {
	color:var(--image-blue)!important;
	text-shadow:0 0 18px rgba(33,194,255,.42);
}

.header-phone span {
	color:var(--image-blue)!important;
}

.hero {
	min-height:780px;
	background:linear-gradient(90deg,#ffffff 0%,#f7fcff 44%,#eaf8ff 72%,#dff3ff 100%)!important;
}

.hero::before {
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	background:
		radial-gradient(circle at 7% 46%,rgba(33,194,255,.42) 0 2px,transparent 3px),
		radial-gradient(circle at 11% 58%,rgba(5,114,238,.30) 0 3px,transparent 4px),
		radial-gradient(circle at 16% 72%,rgba(33,194,255,.26) 0 4px,transparent 5px),
		radial-gradient(circle at 42% 44%,rgba(33,194,255,.18) 0 3px,transparent 4px),
		radial-gradient(circle at 47% 62%,rgba(5,114,238,.16) 0 4px,transparent 5px),
		radial-gradient(circle at 32% 72%,rgba(33,194,255,.20) 0 3px,transparent 4px),
		radial-gradient(ellipse at 0% 78%,rgba(33,194,255,.38),transparent 25%),
		radial-gradient(ellipse at 38% 84%,rgba(5,114,238,.20),transparent 32%),
		linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.92) 58%,rgba(255,255,255,.25) 100%);
	background-size:auto,auto,auto,auto,auto,auto,auto,auto,100% 100%;
}

.hero::after {
	left:-9%;
	right:-9%;
	bottom:-112px;
	height:260px;
	background:
		radial-gradient(ellipse at 18% 7%,rgba(255,255,255,.78),transparent 17%),
		radial-gradient(ellipse at 58% 5%,rgba(255,255,255,.52),transparent 14%),
		linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 25%),
		linear-gradient(135deg,#5bdcff 0%,#0572ee 47%,#031f61 100%)!important;
	border-radius:53% 47% 0 0;
	box-shadow:0 -12px 0 rgba(101,220,255,.36),0 -30px 55px rgba(5,114,238,.25)!important;
}

.hero-slider,
.hero-slide,
.hero-content {
	min-height:780px;
}

.hero-content {
	grid-template-columns:minmax(0,68%) minmax(280px,32%)!important;
	padding:58px 0 126px clamp(58px,5.8vw,118px)!important;
}

.hero-copy {
	max-width:900px;
}

.eyebrow {
	font-size:clamp(15px,1.05vw,22px)!important;
	letter-spacing:.12em!important;
	margin-bottom:14px;
}

.hero h1 {
	font-size:clamp(48px,4.75vw,88px)!important;
	line-height:.96!important;
	letter-spacing:-.055em!important;
	max-width:900px!important;
	margin:14px 0 22px!important;
}

.hero p {
	font-size:clamp(17px,1.05vw,22px)!important;
	line-height:1.42!important;
	max-width:690px!important;
}

.hero-actions {
	margin-top:26px!important;
}

.btn {
	min-width:210px;
	padding:15px 26px!important;
	font-size:clamp(13px,.8vw,16px)!important;
}

.trust-row {
	max-width:820px;
	margin-top:32px!important;
	background:rgba(255,255,255,.82);
	border:1px solid rgba(5,114,238,.13);
	border-radius:22px;
	box-shadow:0 16px 34px rgba(4,22,55,.10);
	padding:18px 8px 14px!important;
	backdrop-filter:blur(10px);
}

.trust-row span {
	min-height:96px;
	padding:58px 18px 0!important;
	font-size:clamp(12px,.78vw,15px)!important;
}

.trust-row span::before {
	width:48px!important;
	height:48px!important;
	font-size:24px!important;
}

.hero-visual {
	min-height:650px;
	clip-path:polygon(23% 0,100% 0,100% 100%,0 100%);
	background:linear-gradient(135deg,rgba(33,194,255,.16),rgba(255,255,255,.9) 55%,rgba(230,247,255,.98));
	border-left:9px solid var(--image-blue);
	box-shadow:inset 18px 0 0 rgba(101,220,255,.18),-20px 0 42px rgba(5,114,238,.12);
}

.hero-visual img {
	width:min(650px,34vw)!important;
	max-height:650px!important;
}

@media(max-width:1500px) {
	.site-header {
		height:138px;
	}

	.nav-wrap {
		min-height:134px;
		grid-template-columns:minmax(270px,350px) minmax(0,1fr) auto;
		gap:20px;
	}

	.brand img {
		height:158px!important;
	}

	.brand {
		margin-bottom:-46px;
	}

	.hero h1 {
		font-size:clamp(46px,4.65vw,76px)!important;
	}

	.hero-visual img {
		width:min(570px,36vw)!important;
	}
}

@media(max-width:1120px) {
	.site-header {
		height:auto;
	}

	.nav-wrap {
		min-height:104px;
		grid-template-columns:auto auto;
	}

	.brand img {
		height:118px!important;
	}

	.brand {
		margin-bottom:-28px;
	}
}

@media(max-width:900px) {
	.hero-content {
		grid-template-columns:1fr!important;
		padding:52px 24px 122px!important;
	}

	.hero-slider,
	.hero-slide,
	.hero-content {
		min-height:auto;
	}

	.hero h1 {
		font-size:clamp(38px,10.5vw,58px)!important;
	}

	.hero-visual {
		min-height:330px;
		clip-path:none;
	}

	.hero-visual img {
		width:min(510px,92vw)!important;
		max-height:390px!important;
	}

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

/* Final Aqua Pros image-match refinements */
:root {
	--ap-blue:#0b75e8;
	--ap-blue-light:#27b7ff;
	--ap-navy:#07152f;
	--ap-ink:#071226;
	--ap-gray:#60646f;
	--ap-water:#eaf8ff;
}

body {
	background:#ffffff;
}

.topbar {
	display:none !important;
}

.site-header {
	position:sticky !important;
	top:0;
	left:0;
	right:0;
	height:132px !important;
	background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%) !important;
	border-bottom:5px solid var(--ap-blue) !important;
	box-shadow:0 10px 32px rgba(7,21,47,.12) !important;
	backdrop-filter:none !important;
	overflow:visible !important;
	z-index:1000 !important;
}

.site-header::before,
.site-header::after {
	display:none !important;
}

.nav-wrap {
	width:min(1720px,96vw) !important;
	max-width:1720px !important;
	min-height:132px !important;
	height:132px !important;
	display:grid !important;
	grid-template-columns:420px minmax(0,1fr) auto !important;
	align-items:center !important;
	gap:30px !important;
	padding:0 !important;
}

.brand {
	position:relative !important;
	z-index:20 !important;
	margin-bottom:-54px !important;
	align-self:center !important;
}

.brand img {
	height:188px !important;
	width:auto !important;
	max-width:420px !important;
	filter:drop-shadow(0 18px 24px rgba(7,21,47,.18)) drop-shadow(0 0 14px rgba(39,183,255,.28)) !important;
}

.nav,
.mega-nav {
	justify-content:center !important;	
	gap:clamp(18px,1.9vw,34px) !important;	
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
	border-radius:0 !important;
	padding:0 !important;
	max-width:none !important;
}

.nav > li > a,
.nav > li > button {
	color:var(--ap-ink) !important;
	font-family:Inter,system-ui,sans-serif !important;
	font-size:clamp(12px,.82vw,15px) !important;
	font-weight:900 !important;
	letter-spacing:.035em !important;
	text-transform:uppercase !important;
	padding:14px 0 !important;
	white-space:nowrap !important;
	text-shadow:none !important;
	transform:none !important;
	border-radius:0 !important;
}

.nav > li > a::before,
.nav > li > button::before,
.nav > li > a::after,
.nav > li > button::after,
.nav-icon,
.nav i,
.nav svg,
.dropdown i,
.dropdown svg,
.mega-menu i,
.mega-menu svg {
	display:none !important;
	content:none !important;
}

.nav > li > a:hover,
.nav > li > button:hover {
	color:var(--ap-blue) !important;
	transform:none !important;
}

.header-actions {
	display:flex !important;
	align-items:center !important;
	justify-content:flex-end !important;
	gap:12px !important;
	margin-left:0 !important;
	min-width:190px !important;
}

.header-phone {
	position:relative !important;
	color:var(--ap-ink) !important;
	font-size:clamp(23px,1.65vw,34px) !important;
	font-weight:900 !important;
	letter-spacing:-.04em !important;
	line-height:.95 !important;
	text-shadow:none !important;
	white-space:nowrap !important;
	padding-left:54px !important;
}

.header-phone::before {
	content:"☎";
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	font-size:42px;
	line-height:1;
	color:var(--ap-blue);
	filter:drop-shadow(0 7px 10px rgba(11,117,232,.18));
}

.header-phone span {
	color:var(--ap-blue) !important;
	font-size:clamp(11px,.82vw,16px) !important;
	font-weight:900 !important;	
	letter-spacing:.04em !important;
	margin-bottom:8px !important;
	text-align:left !important;
}

.chat-btn,
.nav .cta {
	display:none !important;
}

.dropdown,
.mega-menu {
	background:#ffffff !important;
	color:var(--ap-ink) !important;
	border:1px solid rgba(11,117,232,.16) !important;
	box-shadow:0 24px 60px rgba(7,21,47,.16) !important;
	backdrop-filter:none !important;
}

.dropdown a,
.dropdown button {
	color:var(--ap-ink) !important;
	gap:0 !important;
}

.dropdown a:hover,
.dropdown button:hover {
	background:#eff8ff !important;
	color:var(--ap-blue) !important;
}

.mega-menu small {
	color:#667085 !important;
}

.hero {
	position:relative !important;
	min-height:740px !important;
	padding-top:0 !important;
	background:linear-gradient(180deg,#eef9ff 0%,#f9fdff 43%,#ffffff 100%) !important;
	color:var(--ap-ink) !important;
	overflow:hidden !important;
}

.hero::before {
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	background:radial-gradient(circle at 34% 40%,rgba(39,183,255,.13),transparent 35%),linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 56%,rgba(242,249,255,.84) 100%) !important;
	z-index:0 !important;
}

.hero::after {
	content:"" !important;
	position:absolute !important;
	left:0 !important;
	right:0 !important;
	bottom:-18px !important;
	height:230px !important;
	background:url('assets/water-wave.jpg') center bottom / cover no-repeat !important;
	z-index:5 !important;
	pointer-events:none !important;
	opacity:.98 !important;
}

.water-ripples {
	display:none !important;
}

.hero-badges {
	display:none !important;
}

.hero-slider {
	position:relative !important;
	z-index:2 !important;
	min-height:740px !important;
	width:100% !important;
	display:flex !important;
}

.hero-slide {
	min-width:100% !important;
	min-height:740px !important;
	display:grid !important;
	place-items:stretch !important;
	opacity:.0 !important;
	transition:opacity .65s ease !important;
}

.hero-slide.active {
	opacity:1 !important;
}

.hero-content {
	width:min(1640px,96vw) !important;
	max-width:1640px !important;
	min-height:740px !important;
	display:grid !important;
	grid-template-columns:minmax(0,68%) minmax(310px,32%) !important;
	align-items:stretch !important;
	gap:0 !important;
	margin:0 auto !important;
	padding:0 0 0 clamp(28px,5vw,96px) !important;
	position:relative !important;
	z-index:3 !important;
}

.hero-copy {
	position:relative !important;
	z-index:4 !important;
	display:flex !important;
	flex-direction:column !important;
	justify-content:center !important;
	align-items:flex-start !important;
	padding:34px 56px 160px 0 !important;
	text-align:left !important;
}

.eyebrow {
	color:var(--ap-blue) !important;
	font-size:clamp(17px,1.25vw,26px) !important;
	font-weight:900 !important;
	font-style:italic !important;
	letter-spacing:.06em !important;
	line-height:1 !important;
	margin-bottom:22px !important;
	text-shadow:0 1px 0 rgba(255,255,255,.8) !important;
}

.eyebrow::after {
	content:"";
	display:block;
	width:92px;
	height:4px;
	background:linear-gradient(90deg,var(--ap-blue),var(--ap-blue-light));
	border-radius:999px;
	margin:14px auto 0;
}

.hero h1 {
	max-width:880px !important;
	font-size:clamp(48px,4.85vw,82px) !important;
	line-height:.98 !important;
	letter-spacing:-.065em !important;
	margin:0 0 28px !important;
	color:var(--ap-navy) !important;
	filter:none !important;
	text-shadow:0 3px 0 rgba(255,255,255,.45) !important;
}

.hero h1::first-letter {
	color:inherit !important;
}

.hero h1 br + span,
.hero h1 span,
.hero h1 strong {
	color:var(--ap-blue) !important;
}

.hero p {
	max-width:640px !important;
	font-size:clamp(17px,1.15vw,22px) !important;
	line-height:1.42 !important;
	color:#263244 !important;
	margin:0 0 26px !important;
}

.hero-actions {
	gap:26px !important;
	margin:0 0 30px !important;
}

.btn {
	min-width:220px !important;
	justify-content:center !important;
	border-radius:16px !important;
	padding:18px 28px !important;
	font-size:15px !important;
	letter-spacing:.02em !important;
	box-shadow:0 18px 28px rgba(11,117,232,.18) !important;
}

.btn-primary {
	background:linear-gradient(180deg,#158aff,#075bd1) !important;
	color:#fff !important;
}

.btn-secondary {
	background:#ffffff !important;
	color:var(--ap-blue) !important;
	border:2px solid var(--ap-blue) !important;
}

.trust-row {
	position:absolute !important;
	left:0 !important;
	bottom:54px !important;
	z-index:9 !important;
	width:min(900px,92vw) !important;
	display:grid !important;
	grid-template-columns:repeat(4,1fr) !important;
	gap:0 !important;
	padding:24px 30px !important;
	background:rgba(255,255,255,.92) !important;
	border:1px solid rgba(11,117,232,.13) !important;
	border-radius:20px !important;
	box-shadow:0 18px 45px rgba(7,21,47,.16) !important;
	backdrop-filter:blur(8px) !important;
}

.trust-row span {
	position:relative !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:86px !important;
	padding:0 18px !important;
	border-left:1px solid rgba(11,117,232,.28) !important;
	font-size:clamp(13px,.85vw,17px) !important;
	font-weight:900 !important;
	line-height:1.15 !important;
	text-align:center !important;
	color:var(--ap-ink) !important;
}

.trust-row span:first-child {
	border-left:0 !important;
}

.trust-row span::before {
	width:54px !important;
	height:54px !important;
	margin-bottom:12px !important;
	background:linear-gradient(180deg,#18a8ff,#075bd1) !important;
	box-shadow:0 12px 22px rgba(9,105,223,.22) !important;
	font-size:26px !important;
}

.hero-visual {
	position:relative !important;
	z-index:3 !important;
	min-height:740px !important;
	display:flex !important;
	align-items:flex-end !important;
	justify-content:flex-end !important;
	clip-path:polygon(24% 0,100% 0,100% 100%,0 100%) !important;
	background:linear-gradient(135deg,rgba(11,117,232,.12),rgba(255,255,255,.52) 48%,rgba(232,244,255,.72)) !important;
	border-left:8px solid var(--ap-blue) !important;
	box-shadow:inset 18px 0 0 rgba(39,183,255,.16) !important;
	overflow:visible !important;
}

.hero-visual::before {
	content:"" !important;
	position:absolute !important;
	left:-26px !important;
	top:0 !important;
	bottom:0 !important;
	width:8px !important;
	background:var(--ap-blue-light) !important;
	transform:skewX(-11deg) !important;
	box-shadow:0 0 0 8px rgba(11,117,232,.18) !important;
}

.hero-visual img {
	position:relative !important;
	z-index:4 !important;
	max-width:none !important;
	width:min(720px,38vw) !important;
	max-height:690px !important;
	object-fit:contain !important;
	object-position:right bottom !important;
	filter:drop-shadow(0 30px 28px rgba(7,21,47,.22)) !important;
	transform:translateX(80px) scale(.94) !important;
	opacity:0 !important;
	transition:transform .9s cubic-bezier(.19,1,.22,1),opacity .8s ease !important;
}

.hero-slide.active .hero-visual img {
	transform:translateX(0) scale(1) !important;
	opacity:1 !important;
}

.slide-dots {
	z-index:10 !important;
	bottom:26px !important;
}

.service-ribbon {
	display:none !important;
}

@media(max-width:1500px) {
	.site-header {
		height:120px !important;
	}
	.nav-wrap {
		grid-template-columns:350px minmax(0,1fr) auto !important;
		min-height:120px !important;
		height:120px !important;
		gap:22px !important;
	}
	.brand img {
		height:164px !important;
	}
	.hero h1 {
		font-size:clamp(46px,4.6vw,74px) !important;
	}
	.trust-row {
		width:min(810px,92vw) !important;
	}
}

@media(max-width:1180px) {
	.site-header {
		height:auto !important;
	}
	.nav-wrap {
		grid-template-columns:1fr auto !important;
		min-height:104px !important;
		height:auto !important;
		padding:8px 0 !important;
	}
	.brand {
		margin-bottom:-34px !important;
	}
	.brand img {
		height:126px !important;
	}
	.menu-toggle {
		display:block !important;
		color:var(--ap-ink) !important;
	}
	.header-actions {
		display:none !important;
	}
	.nav {
		position:absolute !important;
		top:100% !important;
		left:0 !important;
		right:0 !important;
		display:none !important;
		flex-direction:column !important;
		align-items:stretch !important;
		background:#fff !important;
		padding:16px 24px !important;
		box-shadow:0 22px 40px rgba(7,21,47,.16) !important;
	}
	.nav.open {
		display:flex !important;
	}
	.hero-content {
		grid-template-columns:minmax(0,62%) minmax(300px,38%) !important;
		padding-left:28px !important;
	}
}

@media(max-width:900px) {
	.hero,
	.hero-slider,
	.hero-slide,
	.hero-content {
		min-height:auto !important;
	}
	.hero::after {
		height:150px !important;
	}
	.hero-content {
		grid-template-columns:1fr !important;
		padding:42px 24px 130px !important;
	}
	.hero-copy {
		padding:28px 0 30px !important;
	}
	.hero h1 {
		font-size:clamp(38px,11vw,62px) !important;
	}
	.hero-visual {
		min-height:360px !important;
		clip-path:none !important;
		border-left:0 !important;
		border-top:6px solid var(--ap-blue) !important;
		justify-content:center !important;
	}
	.hero-visual::before {
		display:none !important;
	}
	.hero-visual img {
		width:min(520px,94vw) !important;
		max-height:430px !important;
	}
	.trust-row {
		position:relative !important;
		left:auto !important;
		bottom:auto !important;
		width:100% !important;
		grid-template-columns:repeat(2,1fr) !important;
		margin-top:12px !important;
		padding:18px !important;
	}
	.trust-row span:nth-child(3) {
		border-left:0 !important;
	}
}


/* ------------------------------------------------------------
   Conversion and trust enhancements
------------------------------------------------------------ */
.emergency-ribbon {
	position:relative;
	z-index:40;
	margin-top:124px;
	background:linear-gradient(90deg,#06162f,#087bd2,#29aeea,#087bd2,#06162f);
	color:#fff;
	text-align:center;
	font-weight:900;
	letter-spacing:.16em;
	text-transform:uppercase;
	padding:11px 18px;
	box-shadow:0 12px 28px rgba(0,83,160,.22);
}

.site-header .brand::before,
.site-header .brand::after {
	content:"";
	position:absolute;
	inset:50% auto auto 50%;
	width:190px;
	height:190px;
	border:2px solid rgba(41,174,234,.32);
	border-radius:50%;
	transform:translate(-50%,-50%) scale(.35);
	opacity:0;
	z-index:-1;
	animation:logoRipple 5.2s ease-out infinite;
}

.site-header .brand::after {
	animation-delay:2.6s;
}

@keyframes logoRipple {
	0% {
		transform:translate(-50%,-50%) scale(.35);
		opacity:.36;
	}
	75%,100% {
		transform:translate(-50%,-50%) scale(1.08);
		opacity:0;
	}
}

.hero {
	background-image:linear-gradient(90deg,rgba(242,250,255,.96) 0%,rgba(255,255,255,.94) 54%,rgba(231,246,255,.68) 100%),url('assets/water-background.png') !important;
	background-size:cover !important;
	background-position:center bottom !important;
}

.hero::after {
	background:url('assets/water-background.png') center bottom / cover no-repeat !important;
	height:230px !important;
	opacity:.95 !important;
	filter:saturate(1.15) contrast(1.05);
	animation:waterDrift 14s ease-in-out infinite alternate;
}

.hero::before {
	content:"";
	position:absolute;
	left:-10%;
	right:-10%;
	bottom:0;
	height:245px;
	z-index:3;
	pointer-events:none;
	background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.52) 30%,transparent 54%);
	mix-blend-mode:screen;
	animation:waterShimmer 5.8s linear infinite;
}

@keyframes waterShimmer {
	0% { transform:translateX(-55%); opacity:.18; }
	40% { opacity:.58; }
	100% { transform:translateX(55%); opacity:.18; }
}

@keyframes waterDrift {
	0% { background-position:center bottom; }
	100% { background-position:58% bottom; }
}

.google-reviews,
.trust-badges,
.service-map,
.before-after-section {
	position:relative;
	z-index:6;
}

.google-reviews {
	background:#fff;
	padding:72px 0 48px;
}

.review-grid {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
	margin-top:30px;
}

.review-card,
.trust-badge,
.map-card {
	background:#fff;
	border:1px solid #dceeff;
	box-shadow:0 16px 42px rgba(7,54,102,.09);
	border-radius:24px;
}

.review-card {
	padding:28px;
}

.review-stars {
	color:#087bd2;
	font-size:22px;
	letter-spacing:2px;
	margin-bottom:10px;
}

.review-card strong {
	display:block;
	color:#07152f;
	margin-top:18px;
}

.trust-badges {
	background:linear-gradient(180deg,#fff,#eef8ff);
	padding:36px 0 70px;
}

.trust-badge-grid {
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:16px;
}

.trust-badge {
	padding:22px 16px;
	text-align:center;
	font-weight:900;
	color:#07152f;
}

.trust-badge span {
	display:block;
	font-size:13px;
	font-weight:800;
	color:#087bd2;
	letter-spacing:.12em;
	text-transform:uppercase;
	margin-bottom:4px;
}

.service-map {
	padding:78px 0;
	background:linear-gradient(135deg,#06162f,#0a335d 52%,#087bd2);
	color:#fff;
	overflow:hidden;
}

.service-map::before {
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 72% 42%,rgba(41,174,234,.32),transparent 28%),url('assets/water-background.png') center bottom / cover no-repeat;
	opacity:.18;
}

.service-map .container {
	position:relative;
	z-index:1;
}

.map-layout {
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:32px;
	align-items:center;
}

.map-card {
	min-height:420px;
	background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(232,247,255,.98));
	position:relative;
	overflow:hidden;
}

.map-card::before {
	content:"";
	position:absolute;
	inset:38px;
	border-radius:46% 54% 50% 50%;
	border:3px solid rgba(8,123,210,.22);
	background:radial-gradient(circle at 45% 48%,rgba(41,174,234,.15),transparent 44%);
}

.map-pin {
	position:absolute;
	color:#07152f;
	font-size:13px;
	font-weight:900;
	background:#fff;
	border:2px solid #087bd2;
	border-radius:999px;
	padding:8px 12px;
	box-shadow:0 12px 24px rgba(7,54,102,.14);
}

.map-pin::before {
	content:"";
	display:inline-block;
	width:9px;
	height:9px;
	border-radius:50%;
	background:#29aeea;
	margin-right:7px;
}

.pin-mesa { left:49%; top:47%; }
.pin-gilbert { left:56%; top:60%; }
.pin-chandler { left:42%; top:66%; }
.pin-queen-creek { left:63%; top:76%; }
.pin-scottsdale { left:45%; top:29%; }
.pin-tempe { left:31%; top:48%; }
.pin-phoenix { left:20%; top:36%; }

.before-after-section {
	padding:82px 0;
	background:#f4fbff;
}

.before-after-wrap {
	display:grid;
	grid-template-columns:1fr 1.2fr;
	gap:32px;
	align-items:center;
}

.before-after-slider {
	position:relative;
	min-height:430px;
	border-radius:28px;
	overflow:hidden;
	box-shadow:0 22px 58px rgba(7,54,102,.18);
	background:#dbeaf4;
}

.before-after-slider img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.before-after-after {
	clip-path:inset(0 0 0 50%);
}

.before-after-slider input {
	position:absolute;
	left:24px;
	right:24px;
	bottom:24px;
	width:calc(100% - 48px);
	z-index:4;
	accent-color:#087bd2;
}

.ba-divider {
	position:absolute;
	top:0;
	bottom:0;
	left:50%;
	width:4px;
	background:#fff;
	box-shadow:0 0 0 1px rgba(8,123,210,.38),0 0 24px rgba(8,123,210,.5);
	z-index:3;
}

.ba-label {
	position:absolute;
	top:22px;
	z-index:3;
	background:#07152f;
	color:#fff;
	font-weight:900;
	border-radius:999px;
	padding:8px 14px;
}

.ba-label.before { left:22px; }
.ba-label.after { right:22px; background:#087bd2; }

.mobile-call-now {
	display:none;
}

@media(max-width:900px) {
	.emergency-ribbon {
		margin-top:0;
		font-size:12px;
		letter-spacing:.08em;
	}
	.review-grid,
	.trust-badge-grid,
	.map-layout,
	.before-after-wrap {
		grid-template-columns:1fr;
	}
	.trust-badge-grid {
		grid-template-columns:repeat(2,1fr);
	}
	.map-card {
		min-height:360px;
	}
	.mobile-call-now {
		display:flex;
		position:fixed;
		left:16px;
		right:16px;
		bottom:16px;
		z-index:9999;
		justify-content:center;
		align-items:center;
		gap:10px;
		padding:15px 20px;
		border-radius:999px;
		background:linear-gradient(135deg,#087bd2,#29aeea);
		color:#fff;
		font-weight:900;
		box-shadow:0 18px 38px rgba(7,54,102,.35);
	}
}


/* Exact bright Aqua Pros homepage redesign */
:root {
	--blue:#1178e6;
	--blue2:#08aeee;
	--deep:#06142e;
	--ink:#06142e;
	--soft:#eef9ff;
	--line:#126fe3;
}
body {
	background:#fff;
	color:var(--ink);
}
.container {
	width:min(1710px,92vw);
}
.emergency-ribbon {
	position:relative;
	z-index:2000;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	min-height:38px;
	background:linear-gradient(90deg,#084ab3,#086fe2,#084ab3);
	color:#fff;
	font-size:14px;
	font-weight:900;
	letter-spacing:.03em;
	text-transform:uppercase;
}
.emergency-ribbon em {
	font-style:normal;
	opacity:.85;
}
.site-header {
	position:sticky;
	top:0;
	z-index:1900;
	background:#fff;
	border-bottom:5px solid var(--line);
	box-shadow:0 10px 24px rgba(5,35,85,.14);
	backdrop-filter:none;
}
.site-header::before {
	display:none;
}
.nav-wrap {
	min-height:146px;
	max-width:1810px;
	gap:28px;
	overflow:visible;
}
.brand {
	position:relative;
	z-index:50;
	flex:0 0 auto;
	margin-right:32px;
}
.logo-oval {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:430px;
	height:146px;
	border:6px solid #20aeee;
	border-radius:999px;
	background:linear-gradient(135deg,#fff 0%,#f2fbff 46%,#fff 100%);
	box-shadow:0 12px 28px rgba(6,50,95,.16),0 0 44px rgba(32,174,238,.23);
	overflow:hidden;
}
.logo-oval::before,
.logo-oval::after {
	content:"";
	position:absolute;
	inset:-38%;
	border-radius:50%;
	background:repeating-radial-gradient(circle,rgba(32,174,238,.18) 0 2px,transparent 3px 22px);
	animation:logoRipple 6.5s linear infinite;
	opacity:.65;
}
.logo-oval::after {
	animation-delay:2.5s;
	opacity:.4;
}
.logo-oval img {
	position:relative;
	z-index:2;
	width:335px;
	height:auto;
	filter:drop-shadow(0 8px 10px rgba(0,0,0,.18));
}
@keyframes logoRipple {
	0% { transform:scale(.72); opacity:.55; }
	65% { opacity:.22; }
	100% { transform:scale(1.28); opacity:0; }
}
.mega-nav,
.nav {
	background:transparent;
	border:0;
	box-shadow:none;
	gap:26px;
	max-width:none;
	flex:1;
	justify-content:center;
}
.nav>li>a,
.nav>li>button,
.nav a,
.nav button {
	color:#05122b;
	font-weight:900;
	font-size:14px;
	letter-spacing:.01em;
	text-transform:uppercase;
	padding:13px 0;
	white-space:nowrap;
	text-shadow:none;
}
.nav>li>a:hover,
.nav>li>button:hover {
	color:var(--blue);
	transform:none;
	text-shadow:none;
}
.nav>li>a::before,
.nav>li>button::before,
.nav>li>a::after,
.nav>li>button::after {
	display:none;
}
.dropdown {
	background:#fff;
	color:#05122b;
	border:1px solid rgba(17,120,230,.15);
	box-shadow:0 24px 70px rgba(5,35,85,.18);
}
.dropdown a,
.dropdown button {
	color:#05122b;
}
.dropdown a:hover,
.dropdown button:hover {
	background:#eef8ff;
	color:var(--blue);
}
.mega-menu a,
.mega-menu button {
	gap:0;
}
.nav-icon,
.nav i,
.nav svg,
.dropdown i,
.dropdown svg {
	display:none!important;
}
.header-actions {
	margin-left:10px;
	flex-shrink:0;
}
.header-phone {
	position:relative;
	color:#06142e;
	font-size:28px;
	font-weight:900;
	line-height:.95;
	letter-spacing:-.04em;
	text-shadow:none;
	padding-left:58px;
}
.header-phone::before {
	content:"☎";
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	width:48px;
	height:48px;
	border-radius:50%;
	display:grid;
	place-items:center;
	font-size:30px;
	color:#fff;
	background:linear-gradient(135deg,#08aeee,#0c5ee5);
	box-shadow:0 12px 24px rgba(17,120,230,.22);
}
.header-phone span {
	color:#1178e6;
	font-size:16px;
	font-weight:900;
	letter-spacing:.05em;
	margin-bottom:4px;
}
.exact-hero,
.hero {
	position:relative;
	padding-top:0;
	min-height:575px;
	background:linear-gradient(180deg,#f8fdff 0%,#edf9ff 48%,#fff 100%);
	color:var(--ink);
	overflow:hidden;
}
.hero::before {
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 25% 38%,rgba(17,120,230,.09),transparent 32%),radial-gradient(circle at 48% 62%,rgba(8,174,238,.1),transparent 28%);
	z-index:0;
}
.hero::after {
	display:none;
}
.hero-slider {
	position:relative;
	z-index:2;
	min-height:575px;
	display:flex;
	transition:transform .8s cubic-bezier(.19,1,.22,1);
}
.hero-slide {
	position:relative;
	min-width:100%;
	display:block;
	opacity:.2;
	transition:opacity .45s ease;
	transform:none;
}
.hero-slide.active {
	opacity:1;
	transform:none;
}
.hero-content {
	position:relative;
	z-index:3;
	display:grid;
	grid-template-columns:57% 43%;
	align-items:center;
	min-height:575px;
	max-width:1710px;
	margin:0 auto;
	padding:42px 0 150px;
	width:min(1710px,92vw);
}
.hero-content::after {
	content:"";
	position:absolute;
	top:0;
	bottom:75px;
	left:58%;
	width:9px;
	background:linear-gradient(180deg,#0b6cdf,#18b1f0);
	transform:skewX(-16deg);
	box-shadow:12px 0 0 rgba(17,120,230,.22);
	z-index:4;
}
.hero-copy {
	max-width:810px;
	padding-left:78px;
}
.eyebrow {
	color:#1178e6;
	font-size:24px;
	font-weight:900;
	font-style:italic;
	letter-spacing:.07em;
	text-transform:uppercase;
	line-height:1;
	margin-bottom:20px;
	position:relative;
	display:inline-block;
}
.eyebrow::after {
	content:"";
	position:absolute;
	left:100%;
	bottom:-8px;
	margin-left:12px;
	width:82px;
	height:4px;
	border-radius:999px;
	background:var(--blue2);
}
.hero h1 {
	font-size:clamp(48px,4.8vw,86px);
	line-height:.96;
	margin:0 0 20px;
	max-width:880px;
	font-weight:900;
	letter-spacing:-.06em;
	color:#07142f;
	filter:none;
}
.hero h1 strong {
	color:#0c68e6;
	font-style:normal;
}
.hero p {
	max-width:650px;
	font-size:21px;
	line-height:1.45;
	color:#1e2a40;
	margin:0;
}
.hero-visual {
	position:relative;
	height:575px;
	margin-right:-6vw;
	align-self:stretch;
	overflow:hidden;
	clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);
	background:linear-gradient(90deg,rgba(255,255,255,.75),rgba(255,255,255,.2));
}
.hero-visual::before {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(255,255,255,.85),rgba(255,255,255,.1));
	z-index:1;
}
.hero-visual img {
	position:absolute;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center right;
	transform:translateX(60px) scale(.97);
	opacity:0;
	transition:transform .9s ease,opacity .9s ease;
}
.hero-slide.active .hero-visual img {
	transform:translateX(0) scale(1);
	opacity:1;
}
.hero-water {
	position:absolute;
	left:0;
	right:0;
	bottom:-2px;
	height:210px;
	z-index:8;
	background:url('assets/water-background.png') center 53%/cover no-repeat;
	pointer-events:none;
}
.hero-water::after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,124,218,.24),rgba(255,255,255,.08),rgba(0,118,218,.25));
	mix-blend-mode:screen;
	animation:waterShimmer 5s ease-in-out infinite;
}
@keyframes waterShimmer {
	0%,100% { opacity:.42; transform:translateX(-1.5%); }
	50% { opacity:.72; transform:translateX(1.5%); }
}
.water-ripples {
	z-index:1;
}
.hero-feature-panel {
	position:absolute;
	z-index:12;
	left:50%;
	bottom:34px;
	transform:translateX(-50%);
	width:min(1180px,82vw);
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0;
	background:rgba(255,255,255,.95);
	border:1px solid rgba(17,120,230,.15);
	border-radius:22px;
	box-shadow:0 20px 44px rgba(0,49,119,.2);
	overflow:hidden;
}
.feature-badge {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	min-height:112px;
	padding:14px 24px;
	border-right:1px solid rgba(17,120,230,.24);
	color:#06142e;
}
.feature-badge:last-child {
	border-right:0;
}
.feature-badge span {
	width:62px;
	height:62px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:linear-gradient(135deg,#13b6f2,#0b5ee5);
	color:#fff;
	font-size:26px;
	font-weight:900;
	box-shadow:0 10px 22px rgba(17,120,230,.22);
	flex:0 0 auto;
}
.feature-badge strong {
	font-size:16px;
	line-height:1.16;
	font-weight:900;
}
.hero-arrow {
	position:absolute;
	z-index:14;
	top:50%;
	transform:translateY(-50%);
	width:64px;
	height:64px;
	border-radius:50%;
	border:0;
	background:#fff;
	color:#1178e6;
	font-size:58px;
	line-height:1;
	box-shadow:0 14px 34px rgba(4,42,95,.18);
	cursor:pointer;
}
.hero-prev { left:50.2%; }
.hero-next { right:30px; }
.slide-dots {
	left:auto;
	right:260px;
	bottom:72px;
	transform:none;
	z-index:15;
	background:transparent;
	border:0;
	backdrop-filter:none;
	padding:0;
}
.slide-dots button {
	width:14px;
	height:14px;
	background:rgba(5,18,43,.22);
}
.slide-dots button.active {
	width:28px;
	background:linear-gradient(90deg,#08aeee,#1178e6);
}
.below-hero-dashboard {
	padding:24px 0 8px;
	background:#fff;
}
.dashboard-grid {
	display:grid;
	grid-template-columns:1fr 1.6fr 1.05fr;
	gap:28px;
	align-items:stretch;
}
.google-card,
.credential-card,
.service-area-card {
	background:#fff;
	border:1px solid #e2eaf3;
	border-radius:18px;
	box-shadow:0 12px 34px rgba(13,67,130,.08);
	padding:22px;
}
.google-title,
.credential-card h2,
.service-area-card h2 {
	margin:0 0 12px;
	color:#0b5edc;
	font-size:18px;
	font-weight:900;
	letter-spacing:.04em;
	text-transform:uppercase;
}
.gmark {
	font-weight:900;
	font-size:22px;
	color:#4285f4;
	margin-right:8px;
}
.rating-line {
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:12px;
}
.rating-line strong {
	font-size:34px;
	line-height:1;
}
.rating-line span,
.mini-review div {
	color:#ffb400;
	letter-spacing:.04em;
}
.rating-line small {
	color:#5c6577;
}
.mini-review {
	border:1px solid #e9eef5;
	border-radius:12px;
	padding:14px;
}
.mini-review p {
	margin:8px 0;
	font-size:14px;
	line-height:1.45;
}
.mini-review strong {
	color:#0b5edc;
	font-size:13px;
}
.credential-row {
	display:grid;
	grid-template-columns:repeat(5,1fr);
	min-height:146px;
	border:1px solid #e9eef5;
	border-radius:14px;
	overflow:hidden;
}
.credential-row div {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap:7px;
	border-right:1px solid #dce6f2;
	padding:10px;
}
.credential-row div:last-child { border-right:0; }
.credential-row span {
	font-size:38px;
	font-weight:900;
	color:#0b5edc;
}
.credential-row strong {
	font-size:15px;
	line-height:1;
	text-transform:uppercase;
}
.credential-row small {
	font-size:12px;
	color:#34435f;
}
.map-card {
	position:relative;
	min-height:166px;
	border-radius:14px;
	background:linear-gradient(135deg,#edf3f9,#f8fbff),radial-gradient(circle at 70% 60%,rgba(17,120,230,.18),transparent 35%);
	overflow:hidden;
	border:1px solid #dbe6f0;
}
.map-card::before {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(6,20,46,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(6,20,46,.08) 1px,transparent 1px);
	background-size:38px 38px;
	opacity:.5;
}
.map-card::after {
	content:"";
	position:absolute;
	left:26%;
	top:34%;
	width:56%;
	height:54%;
	background:rgba(17,120,230,.2);
	border-radius:46% 54% 42% 58%;
	filter:blur(2px);
}
.map-pin {
	position:absolute;
	z-index:2;
	font-size:13px;
	font-weight:900;
	color:#06142e;
}
.map-pin::before {
	content:"📍";
	margin-right:3px;
}
.pin-phoenix { left:10%; top:40%; }
.pin-scottsdale { left:42%; top:14%; }
.pin-tempe { left:26%; top:62%; }
.pin-mesa { left:57%; top:46%; }
.pin-gilbert { left:65%; top:66%; }
.pin-chandler { left:55%; top:82%; }
.pin-queen-creek { right:6%; bottom:4%; }
.our-work-exact {
	padding:18px 0 58px;
}
.our-work-exact h2 {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:16px;
	font-size:27px;
	text-transform:uppercase;
	letter-spacing:.04em;
	color:#06142e;
	margin-bottom:24px;
}
.our-work-exact h2 span {
	width:150px;
	height:2px;
	background:#0b5edc;
}
.work-strip {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
.work-before-after {
	position:relative;
	display:grid;
	grid-template-columns:1fr 1fr;
	height:154px;
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 10px 26px rgba(13,67,130,.12);
	background:#ddd;
}
.work-before-after>div:nth-child(3) {
	background:linear-gradient(135deg,#7c4a20,#25180f);
}
.work-before-after>div:nth-child(4) {
	background:linear-gradient(135deg,#d4b065,#f4e5ba);
}
.work-before-after.second>div:nth-child(3) { background:linear-gradient(135deg,#5a3620,#1b1612); }
.work-before-after.second>div:nth-child(4) { background:linear-gradient(135deg,#d7dfea,#f7f9fb); }
.work-before-after.third>div:nth-child(3) { background:linear-gradient(135deg,#806b5a,#d6c2b2); }
.work-before-after.third>div:nth-child(4) { background:linear-gradient(135deg,#e4eef5,#a7d1ee); }
.before-label,
.after-label {
	position:absolute;
	top:10px;
	z-index:2;
	background:#06142e;
	color:#fff;
	font-size:13px;
	font-weight:900;
	text-transform:uppercase;
	padding:4px 10px;
}
.before-label { left:10px; }
.after-label { left:50%; background:#0b5edc; }
.services-summary {
	background:#f7fbff;
}
.mobile-call-now {
	position:fixed;
	right:22px;
	bottom:22px;
	z-index:2000;
	display:none;
	background:linear-gradient(135deg,#08aeee,#0b5edc);
	color:#fff;
	border-radius:999px;
	padding:16px 24px;
	font-weight:900;
	box-shadow:0 14px 30px rgba(17,120,230,.34);
}
@media(max-width:1350px) {
	.logo-oval { width:340px; height:122px; }
	.logo-oval img { width:270px; }
	.nav-wrap { min-height:126px; gap:16px; }
	.nav { gap:16px; }
	.header-phone { font-size:22px; }
	.hero-copy { padding-left:36px; }
	.hero h1 { font-size:clamp(44px,5vw,72px); }
}
@media(max-width:1050px) {
	.menu-toggle { display:block; color:#06142e; }
	.nav {
		position:absolute;
		top:100%;
		left:0;
		right:0;
		display:none;
		flex-direction:column;
		align-items:stretch;
		background:#fff;
		padding:20px 30px;
		box-shadow:0 18px 30px rgba(5,35,85,.14);
	}
	.nav.open { display:flex; }
	.nav a,.nav button { width:100%; text-align:left; color:#06142e; }
	.header-actions { display:none; }
	.hero-content { grid-template-columns:1fr; padding-bottom:260px; }
	.hero-content::after,.hero-visual { display:none; }
	.dashboard-grid,.work-strip { grid-template-columns:1fr; }
	.hero-feature-panel { grid-template-columns:1fr 1fr; width:92vw; }
	.mobile-call-now { display:block; }
}
@media(max-width:700px) {
	.emergency-ribbon { font-size:11px; min-height:34px; }
	.logo-oval { width:250px; height:92px; border-width:4px; }
	.logo-oval img { width:200px; }
	.nav-wrap { min-height:104px; }
	.hero-copy { padding-left:0; }
	.hero h1 { font-size:44px; }
	.hero p { font-size:17px; }
	.eyebrow { font-size:16px; }
	.hero-feature-panel { grid-template-columns:1fr; bottom:18px; }
	.feature-badge { min-height:78px; }
	.hero-water { height:160px; }
	.credential-row { grid-template-columns:1fr; }
}


/* Final oval logo cleanup: remove top ribbon/space and keep the full logo inside the oval */
.emergency-ribbon {
	display:none !important;
	height:0 !important;
	min-height:0 !important;
	padding:0 !important;
	margin:0 !important;
	overflow:hidden !important;
}
.site-header {
	top:0 !important;
}
.nav-wrap {
	min-height:118px !important;
	padding-top:0 !important;
	padding-bottom:0 !important;
	align-items:center !important;
}
.brand {
	margin-top:0 !important;
	margin-bottom:-28px !important;
	align-self:center !important;
}
.logo-oval {
	width:390px !important;
	height:172px !important;
	padding:18px 30px !important;
	border:6px solid #20aeee !important;
	border-radius:999px !important;
	background:linear-gradient(135deg,#fff 0%,#f0fbff 48%,#fff 100%) !important;
	box-shadow:0 14px 30px rgba(6,50,95,.18),0 0 46px rgba(32,174,238,.26) !important;
	overflow:hidden !important;
}
.logo-oval img {
	width:auto !important;
	height:auto !important;
	max-width:100% !important;
	max-height:100% !important;
	object-fit:contain !important;
}
@media(max-width:1350px) {
	.logo-oval {
		width:330px !important;
		height:146px !important;
		padding:14px 24px !important;
	}
	.nav-wrap {
		min-height:108px !important;
	}
}
@media(max-width:700px) {
	.logo-oval {
		width:235px !important;
		height:104px !important;
		padding:10px 18px !important;
		border-width:4px !important;
	}
	.nav-wrap {
		min-height:92px !important;
	}
	.brand {
		margin-bottom:-18px !important;
	}
}

/* ------------------------------------------------------------
   One-screen hero compression: tighter header, smaller hero, higher wave
------------------------------------------------------------ */
.site-header {
	height:104px !important;
	min-height:104px !important;
}

.nav-wrap {
	min-height:104px !important;
	height:104px !important;
	grid-template-columns:330px minmax(0,1fr) auto !important;
	gap:20px !important;
}

.brand {
	margin-bottom:-18px !important;
}

.logo-oval {
	width:320px !important;
	height:118px !important;
	padding:12px 22px !important;
	border-width:5px !important;
}

.logo-oval img {
	max-width:100% !important;
	max-height:100% !important;
	object-fit:contain !important;
}

.nav,
.mega-nav {
	gap:clamp(12px,1.35vw,24px) !important;
}

.nav > li > a,
.nav > li > button {
	font-size:clamp(11px,.72vw,14px) !important;
	padding:8px 0 !important;
}

.header-phone {
	font-size:clamp(19px,1.35vw,27px) !important;
	padding-left:44px !important;
}

.header-phone::before {
	font-size:34px !important;
}

.header-phone span {
	font-size:clamp(10px,.68vw,13px) !important;
	margin-bottom:5px !important;
}

.hero,
.hero-slider,
.hero-slide,
.hero-content {
	min-height:650px !important;
}

.hero-content {
	grid-template-columns:minmax(0,69%) minmax(270px,31%) !important;
	padding:0 0 0 clamp(30px,4.5vw,82px) !important;
}

.hero-copy {
	padding:22px 48px 118px 0 !important;
}

.eyebrow {
	font-size:clamp(14px,1vw,20px) !important;
	margin-bottom:14px !important;
}

.eyebrow::after {
	width:70px !important;
	height:3px !important;
	bottom:-7px !important;
}

.hero h1 {
	font-size:clamp(42px,4.1vw,68px) !important;
	line-height:.96 !important;
	margin:0 0 18px !important;
	max-width:760px !important;
}

.hero p {
	font-size:clamp(15px,1vw,18px) !important;
	line-height:1.42 !important;
	max-width:570px !important;
	margin-bottom:0 !important;
}

.hero-actions {
	margin:18px 0 18px !important;
	gap:18px !important;
}

.btn {
	min-width:185px !important;
	padding:13px 22px !important;
	font-size:13px !important;
}

.hero-visual {
	height:540px !important;
	min-height:540px !important;
}

.hero-visual img {
	max-height:540px !important;
	width:min(560px,31vw) !important;
}

.hero-water {
	bottom:58px !important;
	height:150px !important;
}

.hero::after {
	bottom:58px !important;
	height:150px !important;
}

.hero-feature-panel,
.trust-row {
	bottom:16px !important;
	width:min(1040px,82vw) !important;
	padding:12px 20px !important;
	border-radius:18px !important;
}

.feature-badge,
.trust-row span {
	min-height:66px !important;
	font-size:clamp(11px,.72vw,14px) !important;
	padding:0 12px !important;
}

.feature-icon,
.trust-row span::before {
	width:42px !important;
	height:42px !important;
	font-size:20px !important;
	margin-bottom:8px !important;
}

.slide-dots {
	bottom:18px !important;
}

@media(max-width:1350px) {
	.site-header {
		height:96px !important;
		min-height:96px !important;
	}

	.nav-wrap {
		grid-template-columns:280px minmax(0,1fr) auto !important;
		min-height:96px !important;
		height:96px !important;
		gap:14px !important;
	}

	.logo-oval {
		width:270px !important;
		height:102px !important;
		padding:10px 18px !important;
	}

	.hero,
	.hero-slider,
	.hero-slide,
	.hero-content {
		min-height:620px !important;
	}

	.hero h1 {
		font-size:clamp(40px,4vw,62px) !important;
	}

	.hero-copy {
		padding-bottom:108px !important;
	}

	.hero-visual {
		height:510px !important;
		min-height:510px !important;
	}

	.hero-visual img {
		max-height:510px !important;
	}
}

@media(max-width:1050px) {
	.site-header,
	.nav-wrap {
		height:auto !important;
		min-height:92px !important;
	}

	.hero,
	.hero-slider,
	.hero-slide,
	.hero-content {
		min-height:auto !important;
	}

	.hero-content {
		grid-template-columns:1fr !important;
		padding:34px 24px 150px !important;
	}

	.hero-copy {
		padding:20px 0 28px !important;
	}

	.hero-water,
	.hero::after {
		bottom:0 !important;
		height:130px !important;
	}
}

@media(max-width:700px) {
	.logo-oval {
		width:218px !important;
		height:88px !important;
		padding:9px 16px !important;
		border-width:4px !important;
	}

	.hero h1 {
		font-size:clamp(34px,10vw,48px) !important;
	}

	.hero p {
		font-size:16px !important;
	}
}


#front1{
	transform:translateY(-192px);
}


/* Our Work dropdown menu */
.nav .has-menu{
	position:relative;
}

.nav .has-menu > .dropdown{
	position:absolute;
	top:100%;
	left:0;
	min-width:210px;
	background:#ffffff;
	border:1px solid rgba(0,120,200,.18);
	border-radius:14px;
	box-shadow:0 18px 45px rgba(8,26,51,.14);
	padding:10px;
	list-style:none;
	opacity:0;
	visibility:hidden;
	transform:translateY(10px);
	transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
	z-index:9999;
}

.nav .has-menu:hover > .dropdown,
.nav .has-menu:focus-within > .dropdown{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.nav .has-menu > .dropdown li{
	list-style:none;
	margin:0;
}

.nav .has-menu > .dropdown a{
	display:block;
	padding:12px 14px;
	color:#081a33;
	font-weight:800;
	white-space:nowrap;
	border-radius:10px;
}

.nav .has-menu > .dropdown a:hover{
	background:#eef8ff;
	color:#0078c8;
}

@media(max-width:900px){
	.nav .has-menu > .dropdown{
		position:static;
		min-width:0;
		box-shadow:none;
		border-radius:10px;
		opacity:1;
		visibility:visible;
		transform:none;
		display:block;
		margin:6px 0 0 14px;
	}
}


/* Correct Our Work dropdown */
.nav .has-menu{position:relative}
.nav .has-menu>.dropdown{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid rgba(0,120,200,.18);border-radius:14px;box-shadow:0 18px 45px rgba(8,26,51,.14);padding:10px;list-style:none;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease;z-index:9999}
.nav .has-menu:hover>.dropdown,.nav .has-menu:focus-within>.dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav .has-menu>.dropdown li{list-style:none;margin:0}
.nav .has-menu>.dropdown a{display:block;padding:12px 14px;color:#081a33;font-weight:800;white-space:nowrap;border-radius:10px}
.nav .has-menu>.dropdown a:hover{background:#eef8ff;color:#0078c8}
@media(max-width:900px){.nav .has-menu>.dropdown{position:static;min-width:0;box-shadow:none;border-radius:10px;opacity:1;visibility:visible;transform:none;display:block;margin:6px 0 0 14px}}


/* ===== Wave image proportional sizing ===== */
.hero-water,
.water-wave,
.hero-wave{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    background-image:url('../images/water-background.png');
    background-repeat:no-repeat;
    background-position:center bottom;
    background-size:contain;
    height:clamp(140px,18vw,280px);
    z-index:2;
    pointer-events:none;
}

.hero-water img,
.water-wave img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center bottom;
    display:block;
}

/* ===== Front image positioning ===== */
.hero-image,
.hero-image-container,
.slide-image-container{
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    overflow:visible;
}

.hero-image img,
.slide-image-container img,
.hero-image-container img{
    max-width:100%;
    max-height:650px;
    width:auto;
    height:auto;
    object-fit:contain;
    object-position:top right;
}

#front1{
    position:absolute;
    top:0;
    right:0;
    object-fit:contain;
    object-position:top right;
    transform:translateY(-60px);
    z-index:10;
}


/* ===== Divider aligned with image column ===== */
.hero-divider,
.hero-slash,
.diagonal-divider{
    left:58% !important;
    z-index:5 !important;
}


/* ===== Larger right image panel ===== */
.hero-content{
    grid-template-columns: 50% 50% !important;
}

.hero-visual{
    width:100% !important;
    min-width:0 !important;
}

.hero-visual img{
    width:min(700px, 100%) !important;
    max-width:none !important;
    height:auto !important;
    object-fit:contain !important;
}

@media (max-width: 900px){
    .hero-content{
        grid-template-columns:1fr !important;
    }
}


/* Header phone spacing */
.header-phone,
.phone-number-wrap,
.header-contact{
    gap: 20px !important;
}

.header-phone img,
.phone-icon,
.header-phone i,
.header-phone .fa-phone,
.header-phone .fas{
    margin-right: 20px !important;
}

.phone-number{
    margin-left: 10px !important;
}


/* ===== Targeted header phone spacing fix ===== */
.header-phone-link,
a[href^="tel:"],
.header-phone,
.phone-number-wrap,
.header-contact,
.header-actions a[href^="tel:"],
.main-header a[href^="tel:"],
.site-header a[href^="tel:"]{
	display:inline-flex !important;
	align-items:center !important;
	column-gap:26px !important;
	gap:26px !important;
	white-space:nowrap !important;
}

/* Space any icon, svg, image, or label before the actual number */
.header-phone-link > *:first-child,
a[href^="tel:"] > *:first-child,
.header-phone > *:first-child,
.header-contact > *:first-child{
	margin-right:26px !important;
}

/* If phone icon/label is generated with pseudo-elements */
.header-phone-link::before,
a[href^="tel:"]::before,
.header-phone::before,
.phone-number-wrap::before{
	margin-right:26px !important;
}

/* If number is wrapped separately */
.phone-number,
.header-phone-number,
.phone-text,
.phone-value{
	margin-left:18px !important;
	padding-left:18px !important;
}

/* SVG/icon specific spacing */
.header-phone-link svg,
.header-phone-link i,
.header-phone-link img,
a[href^="tel:"] svg,
a[href^="tel:"] i,
a[href^="tel:"] img,
.phone-icon{
	margin-right:26px !important;
	flex:0 0 auto !important;
}











/* Keep oval logo, border, and internal animation only */
.logo-oval{
	animation:none !important;
}

/* Remove pulsing/glow underneath logo/oval */
.brand::before,
.brand::after,
.logo-oval::after{
	display:none !important;
	content:none !important;
	animation:none !important;
}

/* Keep inside-oval effect active */
.logo-oval::before{
	display:block;
}






/* Reduce spacing on the intro section by 50% */
.content-page {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
}

/* Scale gallery down to 75% size */
.residential-gallery-shell {
    max-width: 75% !important;
    margin: 0 auto !important;
}

.gallery-main {
    min-height: 435px !important; /* 75% of 580px */
}

.gallery-main img {
    min-height: 435px !important;
}

.gallery-thumbs {
    gap: 10px !important;
}

.gallery-thumb {
    max-width: 105px !important;
}

@media (max-width: 900px) {
    .residential-gallery-shell {
        max-width: 100% !important;
    }

    .gallery-main,
    .gallery-main img {
        min-height: 315px !important; /* 75% of 420px */
    }
}

/* ===== Slightly Smaller Tagline ===== */
.header-tagline{
    top:4px !important;
    font-size:28px !important;
    letter-spacing:.06em !important;
}

/* ===== Bring Menu Back Up Slightly ===== */
.nav-wrap{
    align-items:center !important;
    padding-top:6px !important;
}

.nav > li > a,
.nav > li > button{
    padding-top:14px !important;
}

/* Mobile */
@media(max-width:900px){
    .header-tagline{
        font-size:18px !important;
    }
}

.header-tagline::before{
	content:"💧 ";
	filter:drop-shadow(0 0 8px rgba(41,174,234,.85));
}

.header-tagline::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-5px;
	height:3px;
	border-radius:999px;
	background:linear-gradient(90deg,transparent,#29aeea,#0b80df,#29aeea,transparent);
	box-shadow:0 0 14px rgba(41,174,234,.75);
	animation:taglineUnderline 3.4s ease-in-out infinite;
}

@keyframes taglineGlow{
	0%,100%{
		color:#0572ee;
		text-shadow:
			0 1px 0 #ffffff,
			0 0 8px rgba(41,174,234,.70),
			0 0 18px rgba(11,128,223,.48),
			0 0 30px rgba(41,174,234,.30);
	}
	50%{
		color:#08aeee;
		text-shadow:
			0 1px 0 #ffffff,
			0 0 12px rgba(41,174,234,.95),
			0 0 26px rgba(11,128,223,.75),
			0 0 44px rgba(41,174,234,.52);
	}
}

@keyframes taglineUnderline{
	0%,100%{
		opacity:.55;
		transform:scaleX(.86);
	}
	50%{
		opacity:1;
		transform:scaleX(1);
	}
}

@media(max-width:900px){
	.header-tagline{
		font-size:16px;
		top:4px;
		letter-spacing:.03em;
	}
}












.header-phone{
    animation: phoneGlow 3s ease-in-out infinite;
}

@keyframes phoneGlow{
    0%,100%{
        text-shadow:
            0 1px 0 #fff,
            0 0 10px rgba(41,174,234,.55),
            0 0 22px rgba(11,128,223,.35);
    }
    50%{
        text-shadow:
            0 1px 0 #fff,
            0 0 16px rgba(41,174,234,.90),
            0 0 34px rgba(11,128,223,.65),
            0 0 50px rgba(41,174,234,.40);
    }
}

/* ===== Phone icon removed and number tightened ===== */
.header-phone{
    padding-left:0 !important;
}

.header-phone::before{
    display:none !important;
    content:none !important;
}

.header-phone,
.header-phone a,
.phone-link,
.header-actions a[href^="tel:"]{
    gap:4px !important;
    column-gap:4px !important;
}

.phone-number,
.header-phone-number,
.phone-text,
.phone-value{
    margin-left:0 !important;
    padding-left:0 !important;
}

/* ===== Expanded Dashboard Cards: Trust & Service Area ===== */
.dashboard-grid{
	grid-template-columns: 1.2fr 1fr !important;
	gap: 34px !important;
	align-items: stretch !important;
}

.credential-card,
.service-area-card{
	min-height: 360px !important;
	padding: 42px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: stretch !important;
}

.dashboard-title-large,
.credential-card h2,
.service-area-card h2{
	font-size: clamp(30px, 2.7vw, 48px) !important;
	line-height: 1.05 !important;
	font-weight: 950 !important;
	letter-spacing: .02em !important;
	text-align: center !important;
	margin: 0 0 34px !important;
	color: #0572ee !important;
	text-shadow:
		0 1px 0 #ffffff,
		0 0 12px rgba(41,174,234,.35);
}

.credential-row{
	flex: 1 !important;
	min-height: 230px !important;
	grid-template-columns: repeat(5, 1fr) !important;
	border-radius: 22px !important;
}

.credential-row div{
	padding: 24px 16px !important;
	gap: 12px !important;
}

.credential-row span{
	font-size: clamp(38px, 3vw, 58px) !important;
	line-height: 1 !important;
}

.credential-row strong{
	font-size: clamp(16px, 1.15vw, 22px) !important;
	line-height: 1.05 !important;
}

.credential-row small{
	font-size: clamp(12px, .9vw, 16px) !important;
	line-height: 1.25 !important;
}

.service-area-expanded{
	flex: 1 !important;
	min-height: 230px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 36px !important;
	text-align: center !important;
	background:
		radial-gradient(circle at 50% 42%, rgba(41,174,234,.18), transparent 42%),
		linear-gradient(135deg,#edf8ff,#ffffff) !important;
}

.service-area-expanded::before,
.service-area-expanded::after{
	display:none !important;
}

.service-area-message{
	position: relative !important;
	z-index: 3 !important;
	max-width: 760px !important;
	margin: 0 auto !important;
}

.service-area-message strong{
	display: block !important;
	font-size: clamp(28px, 2.5vw, 46px) !important;
	line-height: 1.08 !important;
	font-weight: 950 !important;
	color: #06142e !important;
	margin-bottom: 18px !important;
	text-shadow: 0 1px 0 #ffffff;
}

.service-area-message span{
	display: block !important;
	font-size: clamp(15px, 1.05vw, 19px) !important;
	line-height: 1.55 !important;
	font-weight: 750 !important;
	color: #33435c !important;
}

@media(max-width:1050px){
	.dashboard-grid{
		grid-template-columns: 1fr !important;
	}

	.credential-card,
	.service-area-card{
		min-height:auto !important;
		padding: 30px !important;
	}

	.credential-row{
		grid-template-columns: 1fr !important;
	}
}

/* ===== Simple Text Section Above Services Summary ===== */
.simple-text-section{
	padding:56px 0 42px;
	background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}

.simple-text-box{
    max-width:1400px !important;
    width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
}

.simple-text-box h2{
    margin:12px 0 18px;
    color:#06142e;
    font-size:clamp(34px,4vw,58px) !important;
    line-height:1.04 !important;
    font-weight:950 !important;
    letter-spacing:-.045em !important;
    text-align:center !important;
    text-shadow:0 1px 0 #fff;
}

.simple-text-box p{
    max-width:1200px !important;
    width:100% !important;
    margin:0 auto 18px !important;
    text-align:center !important;
    line-height:1.7 !important;
}

@media(max-width:900px){
	.simple-text-section{
		padding:38px 0 30px;
	}

	.simple-text-box{
		padding:26px 18px;
		text-align:left;
	}

	.simple-text-box p{
		margin:0;
	}
}



/* Header phone number emphasis update */
.header-phone-link{
    display:grid !important;
    place-items:center !important;
    text-align:center !important;

    height:82px !important;
    min-height:82px !important;
    padding:0 46px !important;

    line-height:1 !important;
    font-size:42px !important;
    font-weight:900 !important;
}

.header-phone-link span{
    display:none !important;
}

.header-phone-link::before,
.header-phone-link::after{
    display:none !important;
    content:none !important;
}










/* Phone Number Oval */
.header-phone-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-width:260px;
    height:68px;
    padding:0 34px !important;

    border-radius:999px !important;

    font-size:30px !important;
    font-weight:900 !important;
    letter-spacing:-.03em;

    color:#0572ee !important;
    text-decoration:none !important;

    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,.85), transparent 45%),
        linear-gradient(180deg,#ffffff 0%,#eef8ff 100%) !important;

    border:3px solid #29aeea !important;

    box-shadow:
        inset 0 0 0 2px rgba(255,255,255,.65),
        0 0 12px rgba(41,174,234,.35),
        0 0 24px rgba(11,128,223,.20);

    text-shadow:
        0 1px 0 #ffffff,
        0 0 8px rgba(41,174,234,.45);

    transition:all .25s ease;
}

.header-phone-link:hover{
    transform:translateY(-2px) scale(1.03);
    box-shadow:
        inset 0 0 0 2px rgba(255,255,255,.8),
        0 0 18px rgba(41,174,234,.55),
        0 0 34px rgba(11,128,223,.35);
}

@media(max-width:900px){
    .header-phone-link{
        min-width:190px;
        height:54px;
        font-size:22px !important;
        padding:0 22px !important;
    }
}








/* Vertically center phone oval in header */
.header-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:100% !important;
}

.header-phone-link{
    margin-top:0 !important;
    margin-bottom:0 !important;
    align-self:center !important;
}
.header-phone-link{
    position:relative;
    top:-14px;
}







/* Match Aqua Pros logo oval */
.header-phone-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-width:260px;
    height:68px;
    padding:0 34px !important;

    border-radius:999px !important;

    font-size:30px !important;
    font-weight:900 !important;
    letter-spacing:-.03em;

    color:#0572ee !important;
    text-decoration:none !important;

    background:#ffffff !important;

    /* Match logo border */
    border:4px solid #29aeea !important;

    /* Match logo glow */
    box-shadow:
        0 0 0 2px rgba(255,255,255,.85) inset,
        0 0 12px rgba(41,174,234,.55),
        0 0 28px rgba(41,174,234,.35),
        0 0 42px rgba(11,128,223,.18) !important;

    text-shadow:
        0 1px 0 #ffffff,
        0 0 8px rgba(41,174,234,.45);

    transition:all .25s ease;
}

.header-phone-link:hover{
    transform:translateY(-1px) scale(1.02);

    box-shadow:
        0 0 0 2px rgba(255,255,255,.90) inset,
        0 0 16px rgba(41,174,234,.70),
        0 0 34px rgba(41,174,234,.45),
        0 0 50px rgba(11,128,223,.25) !important;
}

/* ===== Residential services dropdown expansion ===== */
.nav .residential-menu-item > .residential-services-menu,
.residential-services-menu{
	min-width: 720px !important;
	max-width: min(860px, 92vw) !important;
	grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
	gap: 6px 14px !important;
	padding: 16px !important;
}

.residential-services-menu li{
	list-style:none !important;
	margin:0 !important;
}

.residential-services-menu a{
	display:block !important;
	padding:10px 14px !important;
	border-radius:10px !important;
	font-size:13px !important;
	font-weight:850 !important;
	line-height:1.2 !important;
	white-space:normal !important;
}

@media(max-width:1050px){
	.nav .residential-menu-item > .residential-services-menu,
	.residential-services-menu{
		min-width:0 !important;
		max-width:none !important;
		grid-template-columns:1fr !important;
		padding:10px !important;
	}
}







/* MENU SINGLE LINE + LARGER MENU ITEMS */
@media (min-width:1051px){

  .nav-wrap{
    grid-template-columns:300px minmax(0,1fr) 260px !important;
    column-gap:12px !important;
  }

  .nav,
  .mega-nav{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    gap:14px !important;
    overflow:visible !important;
  }

  .nav > li{
    flex:0 0 auto !important;
  }

  .nav > li > a,
  .nav > li > button{
    font-size:16px !important;
    font-weight:900 !important;
    padding:12px 0 !important;
    white-space:nowrap !important;
    letter-spacing:.02em !important;
  }

  .header-phone{
    font-size:24px !important;
  }
}





/* Match menu color to phone number */
.nav > li > a,
.nav > li > button{
    color:#0572ee !important;
    font-weight:900 !important;
}

.nav > li > a:hover,
.nav > li > button:hover{
    color:#29aeea !important;
}



.nav > li > a,
.nav > li > button{
    color:#0572ee !important;
    text-shadow:0 0 6px rgba(41,174,234,.25);
}

/* ===== Horizontal Testimonials Scroller ===== */
.testimonials-scroll-section{
	position:relative;
	padding:72px 0 78px;
	overflow:hidden;
	background:
		radial-gradient(circle at 12% 18%, rgba(41,174,234,.18), transparent 28%),
		linear-gradient(180deg,#ffffff 0%,#eef9ff 52%,#ffffff 100%);
}

.testimonials-scroll-section::before{
	content:"";
	position:absolute;
	left:-12%;
	right:-12%;
	bottom:-120px;
	height:230px;
	background:linear-gradient(135deg,rgba(33,194,255,.35),rgba(5,114,238,.18));
	border-radius:50% 50% 0 0;
	pointer-events:none;
}

.testimonials-head{
	position:relative;
	z-index:2;
	max-width:980px;
	margin:0 auto 36px;
	text-align:center;
}

.testimonials-head h2{
	margin:12px 0 14px;
	color:#06142e;
	font-size:clamp(34px,4vw,58px);
	line-height:1.04;
	font-weight:950;
	letter-spacing:-.045em;
	text-shadow:0 1px 0 #fff;
}

.testimonials-head p{
	max-width:760px;
	margin:0 auto;
	color:#33435c;
	font-size:clamp(16px,1.1vw,20px);
	line-height:1.55;
	font-weight:650;
}

.testimonial-marquee{
	position:relative;
	z-index:2;
	width:100%;
	overflow:hidden;
	padding:8px 0 18px;
	mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
}

.testimonial-track{
	display:flex;
	align-items:stretch;
	gap:24px;
	width:max-content;
	animation:testimonialScroll 42s linear infinite;
	will-change:transform;
}

.testimonial-marquee:hover .testimonial-track,
.testimonial-marquee:focus-within .testimonial-track{
	animation-play-state:paused;
}

.testimonial-card{
	width:clamp(300px,24vw,420px);
	min-height:250px;
	padding:30px;
	border-radius:28px;
	background:
		linear-gradient(145deg,rgba(255,255,255,.96),rgba(241,250,255,.94));
	border:1px solid rgba(17,120,230,.16);
	box-shadow:
		0 18px 46px rgba(7,54,102,.12),
		0 0 0 1px rgba(255,255,255,.78) inset;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}

.testimonial-card::before{
	content:"“";
	width:54px;
	height:54px;
	display:grid;
	place-items:center;
	border-radius:50%;
	margin-bottom:18px;
	color:#fff;
	font-size:42px;
	line-height:1;
	font-weight:950;
	background:linear-gradient(135deg,#08aeee,#0b5edc);
	box-shadow:0 12px 24px rgba(17,120,230,.22);
}

.testimonial-stars{
	color:#0b75e8;
	font-size:20px;
	letter-spacing:2px;
	margin-bottom:12px;
	text-shadow:0 0 12px rgba(41,174,234,.24);
}

.testimonial-card p{
	margin:0 0 22px;
	color:#1e2a40;
	font-size:16px;
	line-height:1.58;
	font-weight:650;
}

.testimonial-card strong{
	display:block;
	color:#06142e;
	font-size:16px;
	font-weight:950;
	margin-top:auto;
}

.testimonial-card span{
	display:block;
	color:#0572ee;
	font-size:13px;
	font-weight:900;
	letter-spacing:.08em;
	text-transform:uppercase;
	margin-top:4px;
}

@keyframes testimonialScroll{
	from{
		transform:translateX(0);
	}
	to{
		transform:translateX(calc(-50% - 12px));
	}
}

@media(max-width:900px){
	.testimonials-scroll-section{
		padding:52px 0 58px;
	}

	.testimonials-head{
		text-align:left;
		margin-bottom:26px;
	}

	.testimonials-head p{
		margin:0;
	}

	.testimonial-marquee{
		mask-image:none;
		-webkit-mask-image:none;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		padding:8px 24px 18px;
	}

	.testimonial-track{
		animation:none;
		width:max-content;
	}

	.testimonial-card{
		width:min(82vw,360px);
		scroll-snap-align:center;
	}
}






.simple-text-section .container{
    width:min(1700px,96vw) !important;
    max-width:1700px !important;
}

.simple-text-box{
    max-width:none !important;
    width:100% !important;
}







.mega-nav,
.nav{
    margin-top:10px !important;
}

.nav > li > a,
.nav > li > button{
    font-size:15px !important;
}







/* Center mobile Call Now button */
.mobile-call-now{
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;

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

    width:min(320px, calc(100vw - 32px)) !important;
    text-align:center !important;
}






/* Enhanced Aqua Pros H2 shadow */
h2{
    text-shadow: 0.5px 0.5px 2px black;			/*MOL added main text shadow */
}



/* Main navigation */
.nav > li > a,
.nav > li > button{
    font-weight:600 !important;
}


/* Dropdown menu items */
.dropdown a,
.mega-menu a{
    font-weight:500 !important;
}

/* Dropdown headings (if used) */
.dropdown strong,
.mega-menu strong{
    font-weight:600 !important;
}


/* ===== Mobile Header Layout ===== */
@media (max-width: 1120px) {

    .nav-wrap{
        display:grid !important;
        grid-template-columns:1fr auto !important;
        grid-template-rows:auto auto !important;
        align-items:center !important;
        position:relative !important;
        min-height:auto !important;
        height:auto !important;
        padding:12px 16px !important;
    }

    /* Center logo */
    .brand{
        grid-column:1 / -1 !important;
        grid-row:1 !important;
        justify-self:center !important;
        align-self:center !important;
        margin:0 auto 10px !important;
        text-align:center !important;
    }

    .brand img{
        margin:0 auto !important;
    }

    /* Hamburger top right */
    .menu-toggle{
        display:block !important;
        position:absolute !important;
        top:18px !important;
        right:16px !important;
        z-index:1001 !important;
        justify-self:end !important;
    }

    /* Phone number centered below logo */
    .header-actions{
        display:flex !important;
        grid-column:1 / -1 !important;
        grid-row:2 !important;
        justify-content:center !important;
        align-items:center !important;
        width:100% !important;
        margin:0 !important;
    }

    .header-phone{
        padding-left:0 !important;
        text-align:center !important;
    }

    .header-phone::before{
        display:none !important;
    }

    /* Mobile menu drops below phone */
    .nav{
        top:100% !important;
    }
}






/* ===== Mobile Panel Size Reduction ===== */
@media (max-width: 900px) {

    /* Hero visual panel */
    .hero-visual{
    min-height:180px !important;
    max-height:180px !important;
}

.hero-visual img{
    max-height:180px !important;
}

    /* Trust panels */
    .trust-row{
        padding:12px 4px !important;
        border-radius:14px !important;
    }

    .trust-row span{
        min-height:72px !important;
        padding:42px 10px 0 !important;
        font-size:12px !important;
    }

    .trust-row span::before{
        width:34px !important;
        height:34px !important;
        font-size:18px !important;
    }

    /* Service / content cards */
    .card,
    .mini,
    .panel{
        padding:18px !important;
        border-radius:16px !important;
    }

    /* Contact CTA band */
    .contact-band{
        padding:24px 20px !important;
        border-radius:20px !important;
    }

    /* General sections */
    .section{
        padding:55px 0 !important;
    }
}







/* Prevent horizontal scrolling site-wide */
html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
}

/* Ensure common layout containers can't exceed viewport width */
.site-wrapper,
.page-wrapper,
main,
section,
.container{
    max-width:100%;
}

/* Prevent images and videos from causing overflow */
img,
video,
iframe{
    max-width:100%;
    height:auto;
}

/* Prevent mobile panels from extending off screen */
.hero-feature-panel,
.hero-visual,
.contact-us-grid,
.testimonials-track,
.gallery-wrapper{
    max-width:100%;
}








/* Dashboard icon colors */
.below-hero-dashboard .credential-row div:nth-child(1) span{
    color:#ff9f1c !important; /* Orange */
}

.below-hero-dashboard .credential-row div:nth-child(2) span{
    color:#2ec4b6 !important; /* Teal */
}

.below-hero-dashboard .credential-row div:nth-child(3) span{
    color:#8338ec !important; /* Purple */
}

.below-hero-dashboard .credential-row div:nth-child(4) span{
    color:#e76f51 !important; /* Coral */
}

.below-hero-dashboard .credential-row div:nth-child(5) span{
    color:#43aa8b !important; /* Green */
}










/* Hero Feature Panel Icons */
.hero-feature-panel .feature-badge span{
    color:#ffffff !important;
}

/* ============================================================
   Aqua Pros Residential Plumbing Projects Gallery
============================================================ */
.ap-gallery-section{
    position:relative;
    padding:72px 0 82px;
    background:
        radial-gradient(circle at 12% 12%, rgba(36,147,212,.16), transparent 30%),
        radial-gradient(circle at 86% 88%, rgba(41,174,234,.14), transparent 34%),
        linear-gradient(180deg,#f6fbff 0%,#ffffff 100%);
    overflow:hidden;
}

.ap-gallery-section::before{
    content:"";
    position:absolute;
    left:-10%;
    right:-10%;
    bottom:-160px;
    height:260px;
    border-radius:50% 50% 0 0;
    background:linear-gradient(135deg,rgba(36,147,212,.18),rgba(41,174,234,.10));
    pointer-events:none;
}

.ap-gallery-section .container{
    position:relative;
    z-index:2;
}

.ap-gallery-header{
    max-width:900px;
    margin:0 auto 34px;
    text-align:center;
}

.ap-gallery-header h2{
    margin:0 0 12px;
    font-size:clamp(34px,4.2vw,62px);
    line-height:.98;
    font-weight:950;
    letter-spacing:-.045em;
    color:#2493d4 !important;
    text-shadow:0 1px 0 #ffffff,0 8px 24px rgba(36,147,212,.18);
}

.ap-gallery-header p{
    margin:0 auto;
    max-width:760px;
    font-size:clamp(16px,1.18vw,20px);
    line-height:1.55;
    font-weight:700;
    color:#2493d4 !important;
}

.ap-gallery-shell{
    --ap-gallery-height:clamp(360px,62vh,680px);
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr);
    gap:24px;
    align-items:start;
    padding:24px;
    border-radius:30px;
    border:1px solid rgba(36,147,212,.22);
    background:linear-gradient(145deg,#ffffff,#f1fbff);
    box-shadow:0 22px 58px rgba(8,26,51,.12);
}

.ap-gallery-thumbs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-content:start;
    max-height:var(--ap-gallery-height);
    overflow-y:auto;
    overflow-x:hidden;
    padding:2px 8px 2px 2px;
    scrollbar-width:thin;
    scrollbar-color:#2493d4 #eaf8ff;
}

.ap-gallery-thumbs::-webkit-scrollbar{
    width:8px;
}

.ap-gallery-thumbs::-webkit-scrollbar-track{
    background:#eaf8ff;
    border-radius:999px;
}

.ap-gallery-thumbs::-webkit-scrollbar-thumb{
    background:#2493d4;
    border-radius:999px;
}

.ap-gallery-thumb{
    position:relative;
    display:block !important;
    width:100%;
    min-width:0;
    padding:0;
    border:3px solid transparent;
    border-radius:16px;
    background:#eef8ff;
    overflow:hidden;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(8,26,51,.08);
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.ap-gallery-thumb:hover,
.ap-gallery-thumb.active{
    border-color:#2493d4 !important;
    transform:translateY(-2px);
    box-shadow:0 12px 32px rgba(36,147,212,.24);
}

.ap-gallery-thumb img,
.ap-gallery-thumb video{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1;
    object-fit:cover !important;
    display:block !important;
    background:#eaf8ff;
}

.ap-gallery-thumb.is-video::after{
    content:"▶";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(8,26,51,.78);
    color:#ffffff !important;
    font-size:14px;
    box-shadow:0 8px 18px rgba(0,0,0,.22);
}

.ap-gallery-main{
    position:relative;
    height:var(--ap-gallery-height);
    min-height:0;
    border-radius:26px;
    overflow:hidden;
    background:#eaf8ff;
    box-shadow:inset 0 0 0 1px rgba(36,147,212,.12);
}

.ap-gallery-stage{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 15% 18%, rgba(36,147,212,.16), transparent 28%),
        linear-gradient(145deg,#eaf8ff,#ffffff);
}

.ap-gallery-main{
    position:relative;
    height:clamp(350px, 65vh, 750px);
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ap-gallery-stage{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ap-gallery-stage img,
.ap-gallery-stage video{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    display:block;
}
@media (max-width: 900px) {
    .ap-gallery-main{
        height:55vh;
    }
}

@media (max-width: 600px) {
    .ap-gallery-main{
        height:45vh;
    }
}

.ap-gallery-caption{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    padding:18px 20px;
    border-radius:20px;
    background:rgba(8,26,51,.82);
    backdrop-filter:blur(12px);
    color:#ffffff !important;
}

.ap-gallery-caption h3,
.ap-gallery-caption p{
    color:#ffffff !important;
}

.ap-gallery-caption h3{
    margin:0 0 6px;
    font-size:clamp(20px,2.2vw,32px);
    line-height:1;
}

.ap-gallery-caption p{
    margin:0;
    font-size:15px;
    line-height:1.35;
}

.ap-gallery-empty{
    max-width:900px;
    margin:0 auto;
    padding:34px 22px;
    border-radius:22px;
    background:#ffffff;
    border:1px dashed rgba(36,147,212,.45);
    text-align:center;
    font-weight:800;
    color:#2493d4 !important;
}

@media(max-width:900px){
    .ap-gallery-section{
        padding:48px 0 58px;
    }

    .ap-gallery-shell{
        --ap-gallery-height:clamp(300px,54vh,520px);
        grid-template-columns:1fr;
        padding:18px;
        gap:18px;
    }

    .ap-gallery-thumbs{
        grid-template-rows:repeat(2,88px);
        grid-auto-flow:column;
        grid-auto-columns:88px;
        grid-template-columns:none;
        max-height:188px;
        overflow-x:auto;
        overflow-y:hidden;
        padding:2px 2px 8px;
        scroll-snap-type:x mandatory;
    }

    .ap-gallery-thumb{
        scroll-snap-align:start;
    }

    .ap-gallery-caption{
        left:16px;
        right:16px;
        bottom:16px;
    }
}

@media(max-width:560px){
    .ap-gallery-shell{
        --ap-gallery-height:clamp(240px,44vh,390px);
        padding:14px;
        border-radius:24px;
    }

    .ap-gallery-thumbs{
        grid-template-rows:repeat(2,76px);
        grid-auto-columns:76px;
        max-height:164px;
    }

    .ap-gallery-main{
        border-radius:20px;
    }

    .ap-gallery-caption{
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        border-radius:0;
        background:#081a33;
    }
}
