* {
	box-sizing:border-box;
	margin:0;
	padding:0
}
:root {
--blue:#003d8d;
--dark:#002e73;
--orange:#fa4a16;
--red:#bc2026;
--text:#222
}
body {
	width:100%;
	overflow-x:hidden;
	font-family:Arial, Helvetica, sans-serif;
	color:var(--text);
	line-height:1.55;
	background:#fff
}
img {
	max-width:100%;
	display:block
}
a {
	text-decoration:none
}
h1, h2, h3 {
	font-family:Georgia, 'Times New Roman', serif;
	line-height:1.2
}
.wrap {
	width:min(1350px, 94%);
	margin:auto
}
.site-header {
	width:100%;
	background:#fff;
	position:sticky;
	top:0;
	z-index:999;
	box-shadow:0 2px 14px rgba(0, 0, 0, .08)
}
.top-header {
	width:min(1350px, 94%);
	margin:auto;
	min-height:92px;
	display:flex;
	align-items:center;
	justify-content:space-between
}
.logo img {
	width:145px
}
.phone-btn {
	background:var(--orange);
	color:#fff;
	padding:12px 20px;
	border-radius:4px;
	font-weight:800
}
.mobile-toggle {
	display:none;
	flex-direction:column;
	gap:5px;
	background:var(--dark);
	border:0;
	border-radius:4px;
	padding:10px
}
.mobile-toggle span {
	width:24px;
	height:3px;
	background:#fff
}
.main-nav {
	border-top:1px solid #eee
}
.nav-menu {
	width:min(1280px, 94%);
	margin:auto;
	list-style:none;
	display:flex;
	justify-content:center
}
.nav-menu>li {
	position:relative;
	display:flex;
	align-items:center
}
.nav-menu>li>a {
	color:#051a38;
	text-transform:uppercase;
	font-size:12px;
	font-weight:800;
	padding:15px 10px;
	white-space:nowrap
}
.nav-menu a.active, .nav-menu a:hover {
	color:var(--blue)
}
.drop-btn {
	border:0;
	background:transparent;
	cursor:pointer;
	padding-right:8px
}
.dropdown {
	position:absolute;
	top:100%;
	left:0;
	min-width:220px;
	list-style:none;
	background:#fff;
	border-top:3px solid var(--orange);
	box-shadow:0 8px 28px rgba(0, 0, 0, .12);
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
transition:.22s;
	z-index:2000
}
.has-dropdown:hover .dropdown, .has-dropdown.open .dropdown {
	opacity:1;
	visibility:visible;
	transform:translateY(0)
}
.dropdown a {
	display:block;
	padding:12px 16px;
	color:#061b3d;
	border-bottom:1px solid #eee;
	font-weight:700;
	font-size:13px
}
.dropdown a:hover {
	background:#f5f6fa;
	color:var(--orange)
}
.hero-slider {
	position:relative;
	width:100%;
	height:520px;
	overflow:hidden
}
.slide {
	position:absolute;
	inset:0;
	opacity:0;
transition:opacity .8s
}
.slide.active {
	opacity:1;
	z-index:2
}
.slide img {
	width:100%;
	height:100%;
	object-fit:cover
}
.shade {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(0, 0, 0, .75), rgba(0, 0, 0, .34), rgba(0, 0, 0, .05))
}
.slide-content {
	width:min(1180px, 92%);
	position:absolute;
	z-index:3;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
	color:#fff
}
.slide-content h1 {
	color:#fff;
	font-size:clamp(38px, 5vw, 70px);
	text-transform:uppercase;
	margin-bottom:16px; text-shadow:1px 1px 1px #333;
}
.slide-content p {
	font-size:clamp(18px, 2vw, 24px);
	margin-bottom:24px
}
.btn {
	display:inline-block;
	border-radius:4px;
	padding:13px 24px;
	text-transform:uppercase;
	font-size:14px;
	font-weight:900;
	text-align:center
}
.orange {
	background:var(--orange);
	color:#fff
}
.outline {
	color:#fff;
	border:2px solid #fff;
	margin-left:12px
}
.small {
	padding:10px 20px;
	font-size:12px
}
.big {
	padding:15px 36px
}
.blue-outline {
	border:2px solid var(--dark);
	color:var(--dark);
	margin-top:26px
}
.arrow {
	position:absolute;
	top:48%;
	transform:translateY(-50%);
	z-index:10;
	border:0;
	background:none;
	color:#fff;
	font-size:58px;
	width:54px;
	height:auto;
	cursor:pointer
}
.prev {
	left:18px
}
.next {
	right:18px
}
.dots {
	position:absolute;
	z-index:12;
	bottom:22px;
	left:50%;
	transform:translateX(-50%);
	display:flex;
	gap:9px
}
.dot, .rdot {
	width:11px;
	height:11px;
	border-radius:50%;
	border:0;
	background:#d0d0d0;
	cursor:pointer
}
.dot.active, .rdot.active {
	background:var(--orange)
}
.countdown-section {
	background:#fff;
	padding:20px 0 10px;
	margin-top:40px;
}
.countdown-card {
	width:min(860px, 92%);
	margin:auto;
	text-align:center;
	background:#fff;
	border-radius:8px;
	box-shadow:0 10px 35px rgba(0, 0, 0, .11);
	padding:18px 24px 28px
}
.countdown-card h2 {
	font-family:Arial, Helvetica, sans-serif;
	color:var(--dark);
	font-size:20px;
	margin-bottom:12px
}
.timer {
	background:var(--red);
	color:#fff;
	display:inline-flex;
	gap:34px;
	border-radius:8px;
	padding:12px 34px;
	box-shadow:0 8px 18px rgba(188, 32, 38, .25);
	margin-bottom:18px;
	font-size:clamp(25px, 4vw, 48px);
	font-weight:900;
	letter-spacing:1px
}
.timer b {
	font:inherit
}
.countdown-card p {
	font-size:18px;
	margin-bottom:22px
}
.intro {
	text-align:center;
	padding:38px 0;
	margin-bottom:40px;
}
.intro h2, .projects h2, .associations h2 {
	color:var(--dark);
	font-size:clamp(28px, 3vw, 38px);
	margin-bottom:10px
}
.subtitle {
	max-width:850px;
	margin:0 auto 30px;
	font-size:18px
}
.service-grid {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:36px
}
.service {
	border-radius:6px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 8px 28px rgba(0, 0, 0, .12)
}
.service>img {
	width:100%;
	height:300px;
	object-fit:cover
}
.service-body {
	position:relative;
	padding:46px 28px 32px
}
.icon {
	width:72px;
	height:72px;
	border:5px solid #fff;
	border-radius:50%;
	display:grid;
	place-items:center;
	color:#fff;
	background:var(--blue);
	font-size:34px;
	position:absolute;
	top:-40px;
	left:50%;
	transform:translateX(-50%)
}
.service h3 {
	color:var(--dark);
	font-size:25px;
	margin-bottom:12px;
	text-transform:uppercase
}
.service p {
	max-width:400px;
	margin:0 auto 20px
}
.why {
	background:var(--blue);
	color:#fff;
	text-align:center;
	padding:38px 0 42px
}
.why h2 {
	color:#fff;
	margin-bottom:30px;
	font-size:26px
}
.why-grid {
	display:grid;
	grid-template-columns:repeat(6, 1fr);
	gap:20px
}
.why-grid>div {
	padding:0 14px;
	border-right:1px solid #d8d8d8;
}
.why-grid>div:last-child {
	border-right:0
}
.why span {
	width:72px;
	height:72px;
	background:var(--orange);
	border-radius:50%;
	margin:0 auto 14px;
	display:grid;
	place-items:center;
	font-size:30px;
	font-weight:900
}
.why h3 {
	color:#fff;
	font-size:17px;
	margin-bottom:7px
}
.why p {
	font-size:13px
}
.projects {
	text-align:center;
	padding:38px 0
}
.project-grid {
	margin-top:24px;
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:12px
}
.project-grid img {
	width:100%;
	height:165px;
	object-fit:cover
}
.reviews {
	background:#f8f8f8;
	padding:38px 0
}
.review-layout {
	display:grid;
	grid-template-columns:250px 1fr;
	gap:36px;
	align-items:center
}
.review-intro h2 {
	color:var(--dark);
	font-size:30px;
	margin-bottom:12px
}
.review-intro p {
	margin-bottom:22px
}
.review-slider {
	overflow:hidden
}
.review-track {
	display:flex;
	gap:22px;
transition:transform .55s
}
.review {
	flex:0 0 calc((100% - 44px)/3);
	background:#fff;
	box-shadow:0 5px 20px rgba(0, 0, 0, .08);
	border-radius:8px;
	padding:24px;
	min-height:245px
}
.review i {
	width:45px;
	height:45px;
	display:grid;
	place-items:center;
	border-radius:50%;
	font-size:26px;
	font-style:normal;
	font-weight:900;
	margin-bottom:8px
}
.g {
	color:#4285f4
}
.f {
	background:#1877f2;
	color:#fff
}
.c {
	background:#95459b;
	color:#fff
}
.stars {
	color:#ffbf00;
	font-size:19px;
	letter-spacing:2px;
	margin-bottom:10px
}
.review p {
	font-size:14px;
	margin-bottom:14px
}
.review strong {
	color:var(--dark)
}
.review-dots {
	margin-top:18px;
	display:flex;
	justify-content:center;
	gap:9px
}
.associations {
	text-align:center;
	padding:28px 0 24px
}
.associations h2 {
	font-size:21px
}
.logos {
	margin-top:14px;
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	align-items:center;
	gap:40px
}
.logos img {
	max-height:82px;
	width:auto;
	margin:auto;
	object-fit:contain
}
.warranty {
	background:linear-gradient(rgba(0, 38, 91, .94), rgba(0, 38, 91, .94));
	color:#fff;
	padding:36px 0 46px
}
.warranty-inner {
	display:grid;
	grid-template-columns:140px 1fr auto;
	align-items:center;
	gap:28px
}
.warranty img {
	max-width:130px
}
.warranty h2 {
	color:#fff;
	font-size:24px;
	margin-bottom:5px
}
.site-footer {
	background:#111923;
	color:#fff;
	padding:48px 0 20px
}
.footer-grid {
	display:grid;
	grid-template-columns:1fr 1fr 1.3fr 1fr;
	gap:40px;
	padding-bottom:35px;
	border-bottom:1px solid rgba(255, 255, 255, .16)
}
.footer-logo {
	width:135px;
	filter:brightness(0) invert(1)
}
.site-footer h3 {
	font-family:Arial, Helvetica, sans-serif;
	font-size:17px;
	margin-bottom:14px
}
.site-footer ul {
	list-style:none
}
.site-footer li, .site-footer p {
	font-size:14px; 
	margin-bottom:8px;
	color:#d7d7d7
}
.site-footer p a{color:#FFF;}
.site-footer li a{ color:#FFF;}
.site-footer a:hover {
	color:var(--orange)
}
.footer-bottom {
	width:min(1180px, 92%);
	margin:20px auto 0;
	display:block;
	justify-content:space-between;
	gap:20px;
	color:#d7d7d7;
	font-size:13px
}

.values-hero {
	position:relative;
	overflow:hidden;
	background:linear-gradient(135deg, #00286b, #003d8d 52%, #002c70);
	color:#fff;
	padding:90px 0 80px;
	text-align:center
}
.blueprint-bg {
	position:absolute;
	inset:0;
	background:url('images/banner4.jpg') center/cover;
	opacity:.08;
	filter:grayscale(1)
}
.values-hero:after {
	content:'';
	position:absolute;
	left:-4%;
	right:-4%;
	bottom:-38px;
	height:70px;
	background:#fff;
	transform:rotate(-1.5deg);
	box-shadow:0 -10px 0 rgba(255, 255, 255, .65)
}
.values-hero .wrap {
	position:relative;
	z-index:2
}
.values-hero h1 {
	font-size:clamp(42px, 5vw, 53px);
	color:#fff;
	margin-bottom:18px
}
.orange-line {
	width:85px;
	height:5px;
	background:var(--orange);
	margin:0 auto 58px
}
.values-grid {
	display:grid;
	grid-template-columns:repeat(6, 1fr);
	gap:0
}
.value-card {
	padding:0 28px;
	min-height:340px;
	border-right:1px solid rgba(255, 255, 255, .46);
	display:flex;
	flex-direction:column;
	align-items:center
}
.value-card:last-child {
	border-right:0
}
.value-icon { clear:both; padding-bottom:12px;
}
.value-icon img{ height:90px;}
.value-icon2 { clear:both; padding-bottom:30px;
}
.value-icon2 img{ width:140px;}
.value-card h2 {
	color:#fff;
	font-size:clamp(22px, 2vw, 27px);
	margin-bottom:13px; min-height:96px;
}
.value-card p {
	font-size:16px;
	color:#fff;
	max-width:250px
}
.community-section {
	position:relative;
	background:linear-gradient(135deg, #003d8d, #00357d);
	color:#fff;
	text-align:center;
	padding:95px 0 80px
}
.community-section h2 {
	font-size:clamp(34px, 4vw, 41px);
	color:#fff;
	margin-bottom:16px
}
.small-center {
	margin-bottom:22px
}
.community-section p {
	max-width:1040px;
	margin:auto;
	font-size:18px;
	line-height:1.8
}
.community-section a {
	text-decoration:underline; color:#FFF;
}
.cta-section {
	padding:50px 0;
	background:#fff
}
.cta-wrap {
	display:grid;
	grid-template-columns:1fr auto;
	gap:30px;
	align-items:center
}
.cta-wrap h2 {
	font-size:32px;
	color:var(--dark);
	margin-bottom:6px
}
.cta-wrap p {
	font-size:17px
}

.orange {
	background:var(--orange);
	color:#fff
}
.orange:hover {
	background:#d93e10
}

.finance-hero {
	position:relative;
	min-height:610px;
	overflow:hidden;
	background:#062f79
}
.hero-blue {
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:58%;
	background:linear-gradient(135deg, #002a70, #003d8d);
	z-index:2;
	border-radius:0 0 46% 0
}
.hero-img {
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	width:62%;
	background:url('images/banner5.jpg') center 42%/cover no-repeat
}
.hero-img:after {
	content:'';
	position:absolute;
	inset:0;
	background:rgba(0, 0, 0, .05)
}
.hero-grid {
	position:relative;
	z-index:3;
	display:grid;
	align-items:center;
	min-height:610px
}
.hero-copy {
	max-width:560px;
	color:#fff;
	padding:65px 0
}
.hero-copy h1 {
	font-family:Arial, Helvetica, sans-serif;
	font-size:clamp(38px, 4.2vw, 58px);
	font-weight:900;
	color:#fff;
	margin-bottom:16px;
	line-height:1.18
}
.hero-copy h1 span {
	color:var(--orange)
}
.orange-line {
	width:62px;
	height:4px;
	background:var(--orange);
	margin:0 0 28px
}
.hero-copy p {
	font-size:17px;
	margin-bottom:22px
}
.check-list {
	list-style:none;
	margin:22px 0
}
.check-list li {
	position:relative;
	padding-left:34px;
	margin:13px 0;
	font-size:17px
}
.check-list li:before {
	content:'✓';
	position:absolute;
	left:0;
	top:1px;
	width:21px;
	height:21px;
	background:var(--orange);
	border-radius:50%;
	display:grid;
	place-items:center;
	color:#fff;
	font-size:13px;
	font-weight:900
}
.confidence {
	font-weight:700
}
.finance-brand {
	position:relative;
	margin-top:-72px;
	z-index:5
}
.brand-card {
	width:min(820px, 86%);
	margin:auto;
	background:#fff;
	border-radius:10px;
	box-shadow:0 12px 35px rgba(0, 0, 0, .18);
	padding:28px 50px;
	display:grid;
	grid-template-columns:1fr 2px 1fr;
	gap:34px;
	align-items:center
}
.bt-logo, .nb-logo {
	display:grid;
	align-items:center;
	text-align:center;
	color:#00244f
}
.bt-logo {
	grid-template-columns:62px 1fr;
	column-gap:10px
}
.bt-logo span {
	width:58px;
	height:58px;
	border-radius:50%;
	display:grid;
	place-items:center;
	border:8px solid #14c5c8;
	color:#00244f;
	font-size:45px;
	font-weight:900;
	line-height:1
}
.bt-logo strong {
	font-size:40px;
	line-height:1
}
.bt-logo em {
	grid-column:2;
	font-size:24px;
	font-style:normal;
	text-align:right;
	color:#5d6373
}
.divider {
	height:76px;
	background:#aab1bd
}
.nb-logo small {
	font-size:30px;
	color:#6b6f7e
}
.nb-logo strong {
	font-size:44px;
	color:#111
}
.nb-logo span {
	display:inline-grid;
	place-items:center;
	width:48px;
	height:48px;
	background:#a8cf2a;
	border-radius:50%;
	margin-right:4px;
	color:#111
}
.finance-content {
	padding:58px 0 50px
}
.content-grid {
	display:grid;
grid-template-columns:.9fr 1.1fr;
	gap:70px;
	align-items:start
}
.benefit {
	display:grid;
	grid-template-columns:80px 1fr;
	gap:26px;
	margin-bottom:45px
}
.benefit-icon {
	width:74px;
	height:74px;
	border-radius:50%;
	border:1px solid #dbe3ef;
	background:#fff;
	display:grid;
	place-items:center;
	color:var(--orange);
	font-size:38px
}
.benefit h2 {
	font-family:Arial, Helvetica, sans-serif;
	color:var(--dark);
	font-size:21px;
	margin-bottom:5px
}
.benefit p {
	font-size:16px
}
.disclosure {
	font-style:italic;
	text-decoration:underline;
	color:#555;
	margin:12px 0 32px
}
.btn {
	display:inline-block;
	border:0;
	border-radius:5px;
	padding:14px 24px;
	text-align:center;
	text-transform:uppercase;
	font-weight:900;
	font-size:14px;
	cursor:pointer
}
.orange {
	background:var(--orange);
	color:#fff
}
.orange:hover {
	background:#d93e10
}
.wide {
	width:100%;
	max-width:500px;
	font-size:20px;
	text-transform:none;
	padding:18px 24px
}
.form-card {
	border:1px solid #dbe2ec;
	border-radius:12px;
	box-shadow:0 8px 28px rgba(0, 0, 0, .08);
	padding:30px;
	background:#fff
}
.form-card h2 {
	color:var(--dark);
	font-size:36px;
	margin-bottom:12px
}
.form-line {
	margin-bottom:18px
}
.form-card>p {
	margin-bottom:22px;
	font-weight:700
}
form {
	display:grid;
	gap:14px
}
.form-row {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px
}
label {
	display:grid;
	gap:6px;
	font-size:13px;
	font-weight:900;
	color:#00275e
}
label span {
	color:var(--orange)
}
input, select, textarea {
	width:100%;
	border:1px solid #cfd7e4;
	border-radius:5px;
	padding:12px 13px;
	font-size:15px;
	font-family:Arial, Helvetica, sans-serif;
	background:#fff
}
textarea {
	min-height:108px;
	resize:vertical
}
.full {
	width:100%
}
.bottom-cta {
	background:linear-gradient(rgba(0, 46, 115, .93), rgba(0, 46, 115, .93)), url('images/banner4.jpg') center/cover;
	color:#fff;
	padding:42px 0
}
.cta-inner {
	display:grid;
	grid-template-columns:90px 1fr auto;
	gap:30px;
	align-items:center
}
.cta-icon {
	border-radius:50%;
	display:grid;
	place-items:center;
	font-size:50px
}
.bottom-cta h2 {
	color:#fff;
	font-size:31px;
	margin-bottom:7px
}
.bottom-cta p {
	font-size:17px
}
.size1a{ margin:0px auto; margin-bottom:40px;}
.cta-actions a{ color:#FFF;}
.cta-actions {
	display:grid;
	gap:12px;
	text-align:center
}
.cta-actions a:last-child {
	font-weight:900
}
.color2{ color:#6C0 !important;}
.page-hero {
	position:relative;
	min-height:260px;
	background:url('images/banner6.jpg') center/cover;
	color:#fff;
	display:flex;
	align-items:center
}
.hero-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(0, 46, 115, .94), rgba(0, 46, 115, .82), rgba(0, 46, 115, .55))
}
.hero-content {
	position:relative;
	z-index:1;
	width:min(1180px, 92%);
	margin:auto
}
.hero-content h1 {
	font-size:clamp(44px, 5vw, 68px);
	color:#fff;
	margin-bottom:10px; text-shadow:1px 1px 1px #333;
}
.accent-line, .title-line {
	width:48px;
	height:4px;
	background:var(--orange);
	margin:0 0 22px
}
.hero-content p {
	max-width:630px;
	font-size:19px;
	font-weight:700
}
.contact-section {
	padding:48px 0
}
.contact-grid {
	display:grid;
	grid-template-columns:1fr 1.25fr;
	gap:60px;
	align-items:start
}
.contact-info h2, .contact-form-card h2, .area-copy h2 {
	font-size:34px;
	color:var(--dark);
	margin-bottom:10px
}
.info-item {
	display:grid;
	grid-template-columns:58px 1fr;
	gap:20px;
	align-items:start;
	margin:28px 0
}
.info-item a{ color:#333;}
.info-icon {
	width:58px;
	height:58px;
	border-radius:50%;
	background:var(--dark);
	color:#fff;
	display:grid;
	place-items:center;
	font-size:32px;
	font-weight:800
}
.info-item h3 {
	font-family:Arial, Helvetica, sans-serif;
	font-size:18px;
	margin-bottom:4px
}
.info-item p {
	font-size:17px
}
.contact-form-card {
	background:rgba(255, 255, 255, .94);
	border:1px solid #d9e0ec;
	border-radius:10px;
	box-shadow:0 8px 28px rgba(0, 0, 0, .08);
	padding:28px
}

.full {
	width:100%
}
.service-area {
	padding:50px 0 35px;
	background:linear-gradient(120deg, #f7fbff, #eef7ff)
}
.service-grid {
	display:grid;
grid-template-columns:.9fr 1.1fr;
	gap:50px;
	align-items:center
}
.area-copy p {
	font-size:17px;
	max-width:430px;
	margin-bottom:28px
}
.county-list {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:12px 22px;
	max-width:440px
}
.county-list span {
	display:flex;
	align-items:center;
	gap:9px;
	font-size:16px
}
.county-list i {
	width:13px;
	height:13px;
	border-radius:50%;
	border:1px solid rgba(0, 0, 0, .25);
	display:inline-block
}
.green {
	background:#77c984
}
.coral {
	background:#f28b77
}
.yellow {
	background:#f2eb76
}
.orange-dot {
	background:#f49a4b
}
.lime {
	background:#aada54
}
.map-box img {
	max-height:650px;
	margin:auto
}
.bottom-cta {
	background:linear-gradient(rgba(0, 46, 115, .94), rgba(0, 46, 115, .94));
	color:#fff;
	padding:42px 0
}
.cta-inner {
	display:grid;
	grid-template-columns:90px 1fr auto;
	gap:30px;
	align-items:center
}
.cta-icon {
	font-size:64px;
	color:#fff
}
.bottom-cta h2 {
	color:#fff;
	font-size:31px;
	margin-bottom:7px
}
.bottom-cta p {
	font-size:17px
}
.page-hero2 {
	position:relative;
	min-height:260px;
	background:url('images/banner7.jpg') center/cover;
	color:#fff;
	display:flex;
	align-items:center
}
.hero-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(0, 46, 115, .95), rgba(0, 46, 115, .78), rgba(0, 46, 115, .45))
}
.hero-content {
	position:relative;
	z-index:1;
	width:min(1180px, 92%);
	margin:auto
}
.hero-content h1 {
	font-size:clamp(42px, 5vw, 62px);
	color:#fff;
	margin-bottom:10px
}
.accent-line, .title-line {
	width:55px;
	height:4px;
	background:var(--orange);
	margin:0 0 18px
}
.hero-content p {
	max-width:560px;
	font-size:18px;
	font-weight:700
}
.reviews-section {
	padding:50px 0 50px;
	background:#fff
}
.reviews-section h2 {
	font-size:30px;
	color:var(--dark);
	margin-bottom:10px
}
.reviews-grid {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:18px 22px;
	align-items:start
}
.review-card {
	background:#fff;
	border:1px solid #e1e5eb;
	border-radius:10px;
	padding:22px 22px 24px;
	box-shadow:0 6px 20px rgba(0, 0, 0, .05)
}
.review-card.large {
	min-height:270px
}
.review-header {
	display:grid;
	grid-template-columns:54px 1fr auto;
	gap:14px;
	align-items:start;
	margin-bottom:12px
}
.review-source {
	width:48px;
	height:48px;
	border-radius:50%;
	display:grid;
	place-items:center;
	font-size:30px;
	font-weight:900;
	font-family:Arial, Helvetica, sans-serif
}
.google {
	color:#4285f4;
	background:#fff
}
.facebook {
	background:#1877f2;
	color:#fff
}
.chat {
	background:linear-gradient(135deg, #c76ad1, #72308a);
	color:#fff;
	font-size:21px
}
.review-card h3 {
	font-family:Arial, Helvetica, sans-serif;
	color:var(--dark);
	font-size:17px;
	font-weight:900;
	margin-bottom:3px
}
.stars {
	color:#ffbf00;
	font-size:20px;
	letter-spacing:2px;
	line-height:1
}
.recommended {
	color:#1d5eac;
	font-weight:900;
	font-size:16px
}
.review-card time {
	color:var(--orange);
	font-size:13px;
	font-weight:800;
	white-space:nowrap
}
.review-card p {
	font-size:15px;
	color:#333
}
.gallery-hero {
	position:relative;
	min-height:330px;
	background:url('images/banner8.jpg') center/cover;
	color:#fff;
	display:flex;
	align-items:center
}
.hero-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, .55), rgba(0, 0, 0, .18))
}
.hero-content {
	position:relative;
	z-index:1;
	width:min(1350px, 94%);
	margin:auto
}
.hero-content span {
	color:var(--orange);
	font-weight:900;
	text-transform:uppercase
}
.hero-content h1 {
	font-size:clamp(46px, 6vw, 76px);
	color:#fff;
	margin:0px 0 14px
}
.accent-line {
	width:70px;
	height:4px;
	background:var(--orange);
	margin-bottom:25px
}
.hero-content p {
	max-width:600px;
	font-size:18px;
	font-weight:700; padding-bottom:8px;
}
.gallery-section {
	padding:45px 0 45px;
	background:#fff
}
.filter-tabs {
	display:flex;
	justify-content:center;
	gap:18px;
	flex-wrap:wrap;
	margin-bottom:34px
}
.filter-btn {
	border:0;
	background:#fff;
	color:#111;
	font-weight:800;
	padding:12px 22px;
	border-radius:5px;
	cursor:pointer;
transition:.2s
}
.filter-btn.active, .filter-btn:hover {
	background:var(--orange);
	color:#fff
}
.gallery-grid {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:28px 20px
}
.gallery-card.hide {
	display:none
}
.gallery-card img {
	width:100%;
	height:238px;
	object-fit:cover;
	border-radius:7px;
	box-shadow:0 4px 18px rgba(0, 0, 0, .08);
transition:.25s
}
.gallery-card:hover img {
	transform:translateY(-3px);
	box-shadow:0 10px 28px rgba(0, 0, 0, .18)
}
.gallery-card h2 {
	font-family:Arial, Helvetica, sans-serif;
	font-size:19px;
	margin:12px 0 2px;
	color:#111
}
.gallery-card p {
	color:var(--orange);
	font-size:13px;
	font-weight:800
}
.gallery-cta {
	margin-top:46px;
	background:#f5f5f5;
	border-radius:8px;
	padding:28px 38px;
	display:grid;
	grid-template-columns:70px 1fr auto;
	gap:25px;
	align-items:center
}
.camera-icon {
	width:62px;
	height:62px;
	border:2px solid var(--orange);
	border-radius:50%;
	display:grid;
	place-items:center;
	color:var(--orange);
	font-size:28px;
	background:#fff
}
.gallery-cta h2 {
	font-size:30px;
	color:#111;
	margin-bottom:5px
}

.lightbox {
	position:fixed;
	inset:0;
	background:rgba(0, 0, 0, .86);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:3000;
	padding:30px
}
.lightbox.show {
	display:flex
}
.lightbox img {
	max-width:92vw;
	max-height:86vh;
	border-radius:8px
}
.lightbox-close {
	position:absolute;
	top:18px;
	right:28px;
	background:transparent;
	border:0;
	color:#fff;
	font-size:44px;
	cursor:pointer
}
.hero {
	position:relative;
	min-height:400px;
	background:url('images/banner9.jpg') center/cover;
	color:#fff;
	display:flex;
	align-items:center
}
.hero-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(0, 0, 0, .86), rgba(0, 46, 115, .55), rgba(0, 0, 0, .1))
}
.hero-content {
	position:relative;
	z-index:1
}
.hero span {
	text-transform:uppercase;
	color:var(--orange);
	font-weight:900
}
.hero h1 {
	font-size:clamp(42px, 5vw, 68px);
	color:#fff;
	max-width:560px;
	margin:12px 0
}
.hero p {
	font-size:21px;
	font-weight:700;
	max-width:620px;
	margin-bottom:25px
}
.btn {
	display:inline-block;
	border-radius:4px;
	padding:13px 24px;
	text-align:center;
	text-transform:uppercase;
	font-size:14px;
	font-weight:900
}
.orange {
	background:var(--orange);
	color:#fff
}
.blue {
	background:var(--dark);
	color:#fff
}
.intro {
	padding:45px 0 45px
}
.breadcrumb {
	font-size:13px;
	color:#555;
	margin-bottom:28px
}
.breadcrumb span {
	margin:0 8px;
	color:#999
}
.intro-text {
	text-align:center;
	max-width:900px;
	margin:0 auto;
	font-size:16px;
}
.category-tabs {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:22px;
	margin-bottom:40px
}
.tab {
	border:1px solid #ccd4df;
	padding:17px;
	text-align:center;
	border-radius:4px;
	font-weight:900;
	color:var(--dark);
	background:#fff
}
.tab.active, .tab:hover {
	background:var(--dark);
	color:#fff
}
.category-cards {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px; padding-top:40px;
}
.cat-card {
	border:1px solid #d9dfe7;
	border-radius:7px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 4px 18px rgba(0, 0, 0, .06);
	text-align:center;
	padding-bottom:24px
}
.cat-card img {
	width:100%;
	object-fit:cover
}
.cat-icon {
	width:76px;
	height:76px;
	border-radius:50%;
	background:var(--dark);
	color:#fff;
	display:grid;
	place-items:center;
	margin:-38px auto 18px;
	border:4px solid #fff;
	font-size:32px;
	position:relative
}
.cat-card h2 {
	text-transform:uppercase;
	color:var(--dark);
	font-size:25px;
	margin-bottom:10px
}
.cat-card p {
	padding:0 24px 14px; font-size:14px;
}
.cat-card ul {
	text-align:left;
	display:inline-block;
	margin:6px auto 24px;
	list-style:none
}
.cat-card li {
	margin:8px 0;
	position:relative;
	padding-left:24px;
	font-size:14px
}
.cat-card li:before {
	content:'✓';
	position:absolute;
	left:0;
	color:var(--orange);
	font-weight:900
}
.why-upgrade {
	padding:45px 0;
	background:#f3f5f8
}
.upgrade-grid {
	display:grid;
grid-template-columns:1.15fr .85fr;
	gap:40px;
	align-items:center
}
.why-upgrade h2 {
	color:var(--dark);
	font-size:30px;
	margin-bottom:24px
}
.benefit-grid {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px
}
.benefit-grid span {
	font-size:35px; float:left; padding-right:11px;
	color:var(--orange)
}
.benefit-grid h3 {
	font-family:Arial, Helvetica, sans-serif;
	color:var(--dark);
	font-size:16px;
	margin:8px 0
}
.benefit-grid p {
	font-size:13px; clear:both; padding-top:8px;
}

.detail-section {
	padding:55px 0;
	background:#fff;
	border-bottom:8px solid #e2e4e8
}
.detail-section.alt {
	background:#fafafa
}
.split-row {
	display:grid;
grid-template-columns:1.1fr .9fr;
	gap:45px;
	align-items:center
}
.split-row.reverse {
grid-template-columns:.9fr 1.1fr
}
.reverse .detail-copy {
	order:2
}
.detail-copy h2 {
	font-size:34px;
	color:var(--dark);
	margin-bottom:15px
}
.detail-copy h3 {
	font-size:24px;
	color:var(--dark);
	margin:24px 0 10px
}
.detail-copy p, .detail-copy li {
	font-size:17px
}
.detail-copy ul {
	padding-left:22px
}
.split-row img {
	border-radius:6px;
	box-shadow:0 6px 22px rgba(0, 0, 0, .12);
	width:100%;
	height:360px;
	object-fit:cover
}
.cta {
	padding:35px 0;
	background:var(--dark);
	color:#fff
}

.phone-circle {
	width:68px;
	height:68px;
	border-radius:50%;
	background:#fff;
	color:var(--dark);
	display:grid;
	place-items:center;
	font-size:32px
}
.cta h2 {
	color:#fff;
	font-size:30px; padding-bottom:10px;
}


@media(max-width:1100px) {

.hero-blue {
width:68%
}
.content-grid {
gap:40px
}
.brand-card {
grid-template-columns:1fr;
gap:18px
}
.divider {
display:none
}
.bt-logo strong {
font-size:34px
}
.nb-logo strong {
font-size:36px
}
.gallery-grid {
grid-template-columns:repeat(2, 1fr)
}
.category-cards, .benefit-grid {
grid-template-columns:repeat(1, 1fr)
}
.cat-card p {
  padding: 0 24px 14px;
  font-size: 14px; min-height:auto !important;
}
.size1b{ clear:both;}
.cat-card li{clear:both; text-align:center;}

}
@media(max-width:1400px) {
	.hero-content h1 {
  font-size: clamp(35px, 5vw, 53px);}
  .contact-info h2, .contact-form-card h2, .area-copy h2 {
  font-size: 30px;}
  .bottom-cta h2 {
  font-size:27px;}
.values-grid {
grid-template-columns:repeat(3, 1fr);
gap:45px 0
}
.value-card:nth-child(3) {
border-right:0
}
.value-card {
min-height:300px
}
.value-card h2 {
  font-size: clamp(22px, 2vw, 27px);
  margin-bottom: 13px;
  min-height:auto;
}
.cat-card p {
  padding: 0 24px 14px;
  font-size: 14px; min-height:70px;
}
}

@media(max-width:992px) {
  .top-header {
min-height:78px
}
.logo img {
width:120px
}
.footer-logo{ padding-bottom:15px;}	
.footer-bottom {
flex-direction:column;
text-align:center
}

.footer-grid {
	display:block;
	padding-bottom:25px;

}
.site-footer {
  padding:28px 0 20px;
}
}
@media(max-width:900px) {
	.nav-menu {
flex-wrap:wrap
}
.why-grid {
grid-template-columns:repeat(3, 1fr)
}
.why-grid>div {
border-right:0
}
.phone-btn {
display:none
}
.mobile-toggle {
display:flex; cursor:pointer;
}
  .main-nav {
    display: none;
  }

.phone-btn {
display:none
}

.site-header.menu-open .main-nav {
display:block
}
.nav-menu {
width:100%;
display:block
}
.nav-menu>li {
display:block;
border-bottom:1px solid #eee
}
.nav-menu>li>a {
display:inline-block;
width:calc(100% - 48px);
padding:15px 18px
}
.drop-btn {
width:44px;
height:44px;
font-size:18px
}
.dropdown {
position:static;
box-shadow:none;
border-top:0;
display:none;
opacity:1;
visibility:visible;
transform:none;
background:#f5f6f8
}
.has-dropdown.open .dropdown {
display:block
}
	.hero {
  min-height:300px;}
.size1c{ clear:both; text-align:center; width:100%; }
.size1c img{display:inline-block;}
.gallery-hero {
  min-height:260px;}
	.hero-copy h1 {
  font-size: clamp(32px, 4.2vw, 38px);}
.wide {
  font-size:18px;}
.form-card h2 {
  font-size: 30px;}
.arrow{ width:20px;}
.prev{ left:6px;}
.next{ right:6px;}
.countdown-section{ margin-top:25px;}
.intro{ margin-bottom:25px;}
.hero-slider {
height:460px
}
.slide-content {
padding:0 24px
}
.service-grid, .review-layout, .warranty-inner {
grid-template-columns:1fr;
text-align:center
}
.review {
flex-basis:calc((100% - 22px)/2)
}
.project-grid {
grid-template-columns:repeat(2, 1fr)
}
.warranty img {
margin:auto
}
.values-grid {
grid-template-columns:repeat(2, 1fr)
}
.value-card, .value-card:nth-child(3) {
border-right:0
}
.value-card:nth-child(odd) {
border-right:1px solid rgba(255, 255, 255, .35)
}
.cta-wrap {
grid-template-columns:1fr;
text-align:center
}
.values-hero h1 {
  font-size: clamp(37px, 5vw, 40px);
  margin-bottom: 18px;
}
.community-section h2 {
  font-size: clamp(32px, 4vw, 35px);
}
.cta-wrap h2 {
  font-size:27px;}
  .cta-wrap p {
  font-size: 15px;
}
.cta-section {
  padding:40px 0;}
  .finance-hero, .hero-grid {
min-height:auto
}
.hero-blue {
width:100%;
border-radius:0;
background:linear-gradient(rgba(0, 46, 115, .9), rgba(0, 46, 115, .9))
}
.hero-img {
width:100%;
opacity:.28
}
.hero-copy {
max-width:100%;
padding:50px 0
}
.finance-brand {
margin-top:0;
padding-top:25px
}
.content-grid, .cta-inner, .footer-grid {
grid-template-columns:1fr
}
.cta-inner {
text-align:center
}
.cta-icon {
margin:auto
}
.benefit p {
  font-size:16px;
}
  .check-list li {
  font-size:15px;
}

.contact-grid, .service-grid, .cta-inner {
grid-template-columns:1fr
}
.cta-inner {
text-align:center
}
.cta-icon {
display:none
}
.map-box img {
max-height:560px
}
.contact-grid {
gap:35px
}
.hero-content h1 {
  font-size: clamp(34px, 5vw, 37px);}
  .contact-info h2, .contact-form-card h2, .area-copy h2 {
  font-size: 27px; text-align:left;}
  .bottom-cta h2 {
  font-size:25px;}
  .area-copy p {
  font-size: 15px;
  max-width:100%; text-align:left;
  margin-bottom: 28px;
}
  .hero-content p {
  font-size:17px; padding-bottom:0px;}
  .info-item p {
  font-size: 16px;
}
.info-item h3 {
  font-size:17px;}
  .reviews-grid {
  grid-template-columns: repeat(1, 1fr);

}
.reviews-section {
  padding:40px 0 40px;
}
.gallery-cta{
grid-template-columns:1fr;
text-align:center
}
.camera-icon{
margin:auto
}
.category-tabs, .upgrade-grid, .split-row, .split-row.reverse {
grid-template-columns:1fr
}
.reverse .detail-copy {
order:0
}

.phone-circle {
margin:auto
}
.split-row img {
height:300px
}
.gallery-card h2 {
  font-size:18px;}
  .gallery-cta h2 {
  font-size:25px;}
  .gallery-cta p{ font-size:15px;}
  .why-upgrade {
  padding:30px 0;
}
.intro {
  padding:30px 0 30px;
}
.why-upgrade h2 {
  font-size:27px;
  margin-bottom:18px;
}
}
@media(max-width:640px) {
	.why-upgrade h2 {
  font-size:25px;
  margin-bottom: 14px;
}
	.gallery-cta p{ font-size:14px;}
	.benefit h2 {
  font-size:18px;
  margin-bottom: 5px;
}
	.benefit p {
  font-size:14px;
}
	  .hero-copy {
    max-width: 100%;
    padding:40px 0;
  }
	  .hero-copy h1 {
    font-size: clamp(27px, 4.2vw, 32px);
  }
	.value-icon img {
  height:70px;
}
.value-icon2 {
  clear: both;
  padding-bottom:12px;
}
.value-icon2 img {
  width: 100px;
}
.hero-slider {
height:430px
}
.cta-section {
  padding:30px 0;}
.slide-content h1{ font-size:30px; line-height:32px;}
.slide-content .btn {
display:block;
width:216px;
margin:0 0 12px;font-size:13px;
}
.timer {
flex-direction:column;
gap:0;
padding:12px 28px; font-size:21px;
}
.countdown-card p {
font-size:15px
}
.service-grid, .why-grid, .project-grid, .logos {
grid-template-columns:1fr
}
.service>img {
height:235px
}
.project-grid img {
height:220px
}
.review {
flex-basis:100%
}
.logos img {
max-height:86px
}
.arrow {
width:20px;
font-size:42px
}
.slide-content p{ font-size:15px;}
.btn{font-size:13px;}
.intro h2, .projects h2, .associations h2{font-size:25px;}
.intro-text{ font-size:14px;}
.subtitle {
  font-size:15px;
}
.service h3 {
  font-size: 21px;
  margin-bottom:6px;}
.review-intro h2 {
  font-size:25px;}
  .warranty h2 {
  font-size:20px; line-height:26px;}
  .warranty-inner{ gap:15px;}
  .values-hero {
padding:40px 0 30px
}
.orange-line {
margin-bottom:20px
}
.values-grid {
grid-template-columns:1fr;
gap:30px
}
.value-card, .value-card:nth-child(odd) {
border-right:0;
border-bottom:1px solid rgba(255, 255, 255, .28);
padding-bottom:30px;
min-height:auto
}
.value-card:last-child {
border-bottom:0
}
.value-icon {
font-size:58px
}
.value-card p {
font-size:14px
}
.community-section {
padding:50px 0 35px
}
.community-section p {
font-size:15px
}
.values-hero h1 {
  font-size: clamp(28px, 5vw, 34px);
  margin-bottom: 18px;
}
.community-section h2 {
  font-size: clamp(23px, 4vw, 25px);
}
.cta-wrap h2 {
  font-size:23px;}
.value-card h2 {
    font-size: clamp(18px, 2vw, 20px);}
	  .cta-wrap p {
  font-size:14px;
}
.brand-card {
padding:24px
}
.bt-logo {
grid-template-columns:1fr;
text-align:center
}
.bt-logo span {
margin:auto
}
.bt-logo em {
text-align:center;
grid-column:auto
}
.bt-logo strong, .nb-logo strong {
font-size:28px
}
.nb-logo small {
font-size:22px
}
.form-row, .benefit {
grid-template-columns:1fr
}
.benefit {
text-align:center
}
.benefit-icon {
margin:auto
}
.wide, .btn {
width:100%
}
.finance-content {
padding-top:35px
}
.form-card {
padding:22px
}
.bottom-cta h2 {
font-size:25px
}
 .form-card h2 {
    font-size:27px;
  }
  .check-list li {
  font-size: 14px;
}
.page-hero {
min-height:260px
}
.form-row, .county-list {
grid-template-columns:1fr
}
.contact-section {
padding:35px 0
}
.contact-form-card {
padding:22px
}
.service-area {
padding:35px 0
}
.bottom-cta h2 {
font-size:26px
}
.hero-content h1 {
  font-size: clamp(30px, 5vw, 35px);}
  .contact-info h2, .contact-form-card h2, .area-copy h2 {
  font-size: 23px;}
  .bottom-cta h2 {
  font-size:20px;}
  .hero-content p {
  font-size: 16px;}
    .info-item p {
  font-size:15px;
}
.info-item h3 {
  font-size:16px;}
  .page-hero {
min-height:260px
}
.reviews-section h2 {
font-size:25px
}
.review-card {
padding:18px
}
.review-header {
grid-template-columns:44px 1fr;
gap:12px
}
.review-source {
width:42px;
height:42px;
font-size:25px
}
.review-card time {
grid-column:2;
grid-row:2
}
 .reviews-section h2 {
    font-size:23px;
  }
  .gallery-hero {
min-height:300px
}
.gallery-grid {
grid-template-columns:1fr
}
.gallery-card img {
height:auto;
}
.filter-tabs {
gap:8px
}
.filter-btn {
padding:10px 14px;
font-size:13px
}
.gallery-cta {
padding:25px 20px
}
.hero {
min-height:280px
}
.category-cards, .benefit-grid {
grid-template-columns:1fr
}

.detail-section {
padding:38px 0
}
.detail-copy h2 {
font-size:28px
}

.cta h2 {
font-size:25px
}
.gallery-hero {
  min-height:220px;}
  .gallery-card h2 {
  font-size:16px;}
    .gallery-cta h2 {
  font-size:23px;}
  .intro{ margin-bottom:5px;}
  .category-cards{ padding-top:25px;}
  .hero-content {
  position: relative;
  z-index: 1;
  width: min(1350px, 92%);
}
@media(max-width:380px) {
	.category-cards{ padding-top:20px;}
  .hero {
    min-height:300px;
  }
  .cta h2 {
    font-size:23px;
  }
.intro h2, .projects h2, .associations h2{font-size:23px;}
		.why-upgrade h2 {
  font-size:23px;
  margin-bottom: 14px;
}
	    .gallery-cta h2 {
  font-size:21px;}
	 .reviews-section h2 {
    font-size: 21px;
  }
	.reviews-section {
  padding:30px 0 30px;
}
	  .bottom-cta h2 {
    font-size:23px;
  }
	 .form-card h2 {
    font-size:25px;
  }
	  .hero-copy {
    max-width: 100%;
    padding:30px 0;
  }
		  .hero-copy h1 {
    font-size: clamp(25px, 4.2vw, 30px);
  }
.btn{font-size:13px;}
.slide-content h1{ font-size:23px;}	
.slide-content p{ font-size:14px;}	
.intro h2, .projects h2, .associations h2{font-size:23px;}
.subtitle {
  font-size:14px;
}
.service h3 {
  font-size:18px;
  margin-bottom:6px;
}
.review-intro h2 {
  font-size:23px;}
    .warranty h2 {
  font-size:18px;}
  .values-hero h1 {
  font-size: clamp(25px, 5vw, 28px);
  margin-bottom: 18px;
}
.community-section h2 {
  font-size: clamp(20px, 4vw, 23px);
}
.cta-wrap h2 {
  font-size:20px;}
  .community-section p {
font-size:14px
}
.hero-content h1 {
  font-size: clamp(25px, 5vw, 30px);}
  .contact-info h2, .contact-form-card h2, .area-copy h2 {
  font-size: 21px;}
  .bottom-cta h2 {
  font-size:18px;}
    .hero-content p {
  font-size:15px;}
     .info-item p {
  font-size:14px;
}
.info-item h3 {
  font-size:15px;}
}
